本节实现将并发请求输出PDF文件添加到工作流附件

省去了工作流中其他部分,只对附件部分介绍

1.       建立一个类型为Document的Attribute

2.       通知界面上创建附件链接

找到Notification下对应的Message;

将第一步中创建的Attribute复制到这个Message下面:

修改复制后的Attribute的属性

至此,Notification页面便存在一个附件链接。

3.       工作流中为附件Attribute赋值

在工作流执行过程中,代码实现对attribute进行赋值:

使用API:

wf_engine.setitemattrdocument

(itemtype        => l_itemtype,

itemkey         => l_itemkey,

aname           => 'TCL_PDF_ATTACH',

documentid      =>    'PLSQLBLOB:KS_OM_TEMP_CREDIT_LIMIT_PKG.READ_REPORT/KSOMTCLA:' || l_itemkey || ':'  || l_tcl_pdf

);

此处API中documentid  参数的固定格式为以下三种:

PLSQL:<procedure>/<document_identifier>;

PLSQLCLOB:<procedure>/<document_identifier>;

PLSQLBLOB:<procedure>/<document_identifier>;

4.       实现读取PDF文件的Procedure

该procedure的传入参数存在固定的格式:

/*

procedure <procedure name>

(document_id in varchar2,

display_type in varchar2,

document in out nocopy varchar2,

document_type in out nocopy varchar2);

procedure <procedure name>

(document_id in varchar2,

display_type in varchar2,

document in out nocopy clob,

document_type in out nocopy varchar2);

procedure <procedure name>

(document_id in varchar2,

display_type in varchar2,

document in out nocopy blob,

document_type in out nocopy varchar2);

*/

读取文件的代码:

PROCEDURE read_report (

document_id     IN       VARCHAR2,

display_type    IN       VARCHAR2,

document        IN OUT   BLOB,

document_type   IN OUT   VARCHAR2

)

IS

lfile_name   VARCHAR2 (240); --读取的目标文件名

lfile        BFILE;

BEGIN

/*从传入的参数中提取目标文件的名称*/

SELECT SUBSTR (document_id, INSTR (document_id, ':', -1) + 1)

INTO lfile_name

FROM DUAL;

/*BFILENAME是读取目录KS_FND_CONC_OUT下的文件lfile_name*/

lfile := BFILENAME ('KS_FND_CONC_OUT', lfile_name);

DBMS_LOB.OPEN (lfile, DBMS_LOB.lob_readonly);

DBMS_LOB.OPEN (document, DBMS_LOB.lob_readwrite);

document_type := 'application/pdf';

/*将lfile写入document*/

DBMS_LOB.loadfromfile (dest_lob => document,

    src_lob => lfile,

    amount => DBMS_LOB.getlength (lfile)

    );

DBMS_LOB.CLOSE (lfile);

DBMS_LOB.CLOSE (document);

END read_report;

添加并发请求PDF到工作流附件的更多相关文章

  1. Dynamics 365触发Microsoft Flow自动生成PDF并作为附件送邮件

    我是微软Dynamics 365 & Power Platform方面的工程师罗勇,也是2015年7月到2018年6月连续三年Dynamics CRM/Business Solutions方面 ...

  2. Jexus 高并发请求的优化技巧 笔记

    Jexus web server 5.1 每个工作进程的最大并发数固定为1万,最多可以同时开启4个工作进程,因此,每台Jexus V5.1服务器最多可以到支持4万个并发连接.但是,按照linux系统的 ...

  3. 开源个.NetCore写的 - 并发请求工具PressureTool

    本篇和大家分享的是一个 并发请求工具,并发往往代表的就是压力,对于一些订单量比较多的公司这种情况很普遍,也因此出现了很多应对并发的解决方案如:分布式,队列,数据库锁等: 对于没有遇到过或者不可能线上来 ...

  4. Asp.net并发请求导致的数据重复插入问题

    前段时间工作中,有客户反应了系统中某类待办重复出现两次的情况.我核实了数据之后,分析认为是并发请求下导致的数据不一致性问题,并做了重现.其实这并不是一个需要频繁调用的功能,但是客户连续点击了两次,导致 ...

  5. 达达O2O后台架构演进实践:从0到4000高并发请求背后的努力

    1.引言   达达创立于2014年5月,业务覆盖全国37个城市,拥有130万注册众包配送员,日均配送百万单,是全国领先的最后三公里物流配送平台. 达达的业务模式与滴滴以及Uber很相似,以众包的方式利 ...

  6. 使用HttpClient实现并发请求

    在.Net 4.0之前,一直是依靠HttpWebRequest实现Http操作的.它默认有一个非常保守的同一站点下最大2并发数限制,导致默认情况下HttpWebRequest往往得不到理想的速度,必须 ...

  7. 初学Jmeter添加Http请求,执行接口测试

    最近测试并发,刚开始使用的是录制方法,后面发现录制后无任何界面,加参数也不知从何着手,于是查了很多文章,终于慢慢的着手从http请求来测试并发了. 当然这是个遗留问题,先放在这里后面清楚了再回来补充: ...

  8. PHP实现并发请求

    后端服务开发中经常会有并发请求的需求,比如你需要获取10家供应商的带宽数据(每个都提供不同的url),然后返回一个整合后的数据,你会怎么做呢? 在PHP中,最直观的做法foreach遍历urls,并保 ...

  9. 支持10W高并发请求的IIS Web服务器常用设置

    支持高并发的IIS Web服务器常用设置   适用的IIS版本:IIS 7.0, IIS 7.5, IIS 8.0 适用的Windows版本:Windows Server 2008, Windows ...

随机推荐

  1. USACO 1.1.1 YOUR RIDE IS HERE

    众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走.他们为每 ...

  2. git ignore文件

    创建.gitignore文件来设置git要忽略的文件模式: 官方文件列列表:https://github.com/github/gitignore 1. 所有空行或者以 # 开头的行都会被 Git 忽 ...

  3. springboot整合mybatis,redis,代码(五)

    redis注解开发过程中包含许多注解 1.@Cacheable 可以标记在方法上,也可以标记在类上.当标记在方法上时表示该方法是支持缓存的,当标记在类上时则表示该类所有的方法都是支持缓存的.应用到读取 ...

  4. crm web ui

    1:View中的field对应于model中的attribute. 2:custom controller具有更长的生存时间,能够在view中共享一些数据. 3:window是component的一个 ...

  5. Jenkins自动化CI CD流水线之5--pipeline

    一.概览 二.安装 在对jenkins进行初始化安装时,默认已经安装了jenkins的相关插件,如下图所示: 三.实操 新建任务: 编写pipeline脚本: 我们可以借助流水线语法去做. test流 ...

  6. idea(3)-jetty配置

    1.jetty&jdk版本 9.3----->1.8 9.2----->1.7 8------->1.6 2.pom.xml <plugin> <group ...

  7. VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试

    1.VS2015+NUnit+OpenCover 完成单元测试代码覆盖率测试 https://download.csdn.net/download/qq_39441918/10522539 2.*注意 ...

  8. 8php字符串的方法

    <?php/** * Created by PhpStorm. * User: DY040 * Date: 2017/9/8 * Time: 16:46 *//*php也有转义字符/*///ec ...

  9. 15-----BBS论坛

    BBS论坛(十五) 15.1.登录界面完成 (1)front/signbase.html {% from 'common/_macros.html' import static %} <!DOC ...

  10. 07-----nodejs 中 npm的使用

    npm是什么? 简单的说,npm就是JavaScript的包管理工具.类似Java语法中的maven,gradle,python中的pip. 安装 傻瓜式的安装. 第一步:打开https://node ...