EBS提交取消请求、请求集程序fnd_request
目录
参考
提交请求
取消请求
提交请求集
参考
Extend Oracle ERP to Preview Report Output and enable Email - Simple Talk
https://support.oracle.com/epmos/faces/DocumentDisplay?id=221542.1&displayIndex=1&_adf.ctrl-state=tfx6dt3x8_176&_afrLoop=422629940422177
提交请求
EBS提交请求主要用到以下api
fnd_global.apps_initialize:初始化用户、职责环境变量
fnd_request.set_print_options:设定报表打印格式,如果只有一种格式可以不使用
fnd_request.submit_request:提交请求,会返回请求id,如果返回0则请求提交失败
第一个参数:请求应用的简称
第二个变量:请求的简称
第三个变量:置空
第四个变量:请求开始时间
第五个变量:是否作为子请求提交,该请求如果是被其它请求调用设为TRUE,否则为FALSE
第六个以后的变量:请求提交的变量,如果后面没有了使用chr(0)作为结尾。
fnd_concurrent.wait_for_request:循环查询请求执行情况,参数会设定循环此时和间隔时间。
在确认请求完成后,会返回请求执行结果状态,如果使用form开发,可以在form中继续调用程序展示报表或继续程序。
PROCEDURE Prc_Do_Price_Request(Prm_User_Number IN VARCHAR2,Prm_Appcode OUT NUMBER,Prm_Appmsg OUT VARCHAR2) ISe_Exception EXCEPTION;Success BOOLEAN;v_Request_Id NUMBER;v_Phase VARCHAR2(30);v_Status VARCHAR2(30);v_Dev_Phase VARCHAR2(30);v_Dev_Status VARCHAR2(30);v_Message VARCHAR2(1000);v_Request_Flag BOOLEAN;v_Start_Time VARCHAR2(30);v_User_Id NUMBER;
BEGINPrm_Appcode := 0;v_User_Id := Fnd_Get_User_Id(Prm_User_Number);--初始化设置 Fnd_Global.Apps_Initialize(v_User_Id, --用户ID g_Resp_Id, --责任ID g_Resp_Appl_Id); --应用ID --设置打印参数 Success := Fnd_Request.Set_Print_Options(g_Printer, g_Style, g_Copies);--显示设置l_Add_Layout := Fnd_Request.Add_Layout(Template_Appl_Name => 'XX',Template_Code => 'XX_DEPOT_RMA',Template_Language => 'en', --Use language from template definitionTemplate_Territory => 'US', --Use territory from template definitionOutput_Format => 'PDF' --Use output format from template definition);--发送邮件l_Add_Delivery := Fnd_Request.Add_Delivery_Option(TYPE => 'E',p_Argument1 => 'Return Material Authorization (RMA) for order#' ||p_Order_Id, -- Email Subjectp_Argument2 => 'admin@red-gate.com', -- From Addressp_Argument3 => p_Email, -- To Addressp_Argument4 => NULL -- CC email address);IF NOT Success THENRAISE e_Exception;END IF;v_Start_Time := To_Char(SYSDATE, 'DD-MON-YYYY HH24:MI:SS');--调用请求 v_Request_Id := Fnd_Request.Submit_Request('QP', --应用 'QPXVBLK', --程序 NULL, --程序说明 v_Start_Time, --开始时间 FALSE, --是否作为子请求提交,该请求如果是被其它请求调用设为TRUE,否则为FALSE 'PRL', --实体--*--1 NULL, --实体名称--2 NULL, --流程标识--3 NULL, --流程类型--4 'N', --流程父项--5 1, --线程数--6 'N', --派生请求--7 NULL, --请求编号--8 'Y', --打开调试--9 Chr(0)); --结束标识 IF v_Request_Id = 0 THENRAISE e_Exception;ELSECOMMIT;END IF;--等待 v_Request_Flag := Fnd_Concurrent.Wait_For_Request(Request_Id => v_Request_Id, --返回的请求ID INTERVAL => 2, --重复检测时间差 Max_Wait => 0, --最长等待时间,0为一直等待 Phase => v_Phase,Status => v_Status,Dev_Phase => v_Dev_Phase,Dev_Status => v_Dev_Status,Message => v_Message);IF v_Request_Flag THENIF v_Dev_Status = 'NORMAL' THEN-- OR v_dev_status = 'WARNING' NULL;ELSERAISE e_Exception;END IF;ELSERAISE e_Exception;END IF;
EXCEPTIONWHEN e_Exception THENROLLBACK;Prm_Appcode := -1;Prm_Appmsg := '错误提示:导入销售订单时出错!(request)' || SQLERRM;RETURN;WHEN OTHERS THENROLLBACK;Prm_Appcode := -1;Prm_Appmsg := '错误提示:导入销售订单时出错!(request)' || SQLERRM;RETURN;
END Prc_Do_Price_Request;
取消请求
强制取消请求
UPDATE FND_CONCURRENT_REQUESTS RSET PHASE_CODE = 'C',STATUS_CODE = 'D',completion_text = user_id || ' 取消请求。'WHERE R.REQUESTED_BY = :user_idAND PHASE_CODE = 'P'AND STATUS_CODE IN ('I', 'Q')AND (nvl(request_type, 'X') != 'S')--commit
取消代码
DECLAREv_request_id NUMBER;v_message VARCHAR2(300);V_TRUE BOOLEAN;--true 成功;false 失败
BEGINfnd_global.apps_initialize(29996, 51714, 555);v_request_id := 3945574;DBMS_OUTPUT.PUT_LINE('TEST BEFORE CANCEL');V_TRUE := fnd_concurrent.cancel_request(Request_Id => v_request_id,Message => v_message);DBMS_OUTPUT.PUT_LINE('TEST AFTER CANCEL ' || v_message);COMMIT;
EXCEPTIONWHEN OTHERS THENDBMS_OUTPUT.PUT_LINE('TEST AFTER exception');
END;
提交请求集
DECLAREreq_id NUMBER := 0;vresult BOOLEAN;BEGINBEGIN--初始化环境fnd_global.apps_initialize(user_id => 8856,resp_id => 20419,resp_appl_id => 0);END;--设置请求集vresult := fnd_submit.set_request_set('CUX', 'FNDRSSUB997');dbms_output.put_line('请求集设置:' || sys.diutil.bool_to_int(vresult));--设置请求集阶段&请求vresult := fnd_submit.submit_program('CUX','CUXBPCDATACLCT','STAGE10','1001','2022-01','BAD',chr(0));dbms_output.put_line('第一阶段第一个请求:' || sys.diutil.bool_to_int(vresult));vresult := fnd_submit.submit_program('CUX','CUXBPCDATACLCT','STAGE10','1001','2022-01','BAD',chr(0));dbms_output.put_line('第一阶段第二个请求:' || sys.diutil.bool_to_int(vresult));vresult := fnd_submit.submit_program('CUX','CUXBPCDATACLCT','STAGE20','1001','2022-01','PPP',chr(0));dbms_output.put_line('第二阶段第一个请求:' || sys.diutil.bool_to_int(vresult));req_id := fnd_submit.submit_set(NULL, FALSE);dbms_output.put_line('req_id:' || req_id);if nvl(req_id ,0) >0 thenDBMS_OUTPUT.PUT_LINE('请求集提交成功:'||req_id);elseDBMS_OUTPUT.PUT_LINE('请求集提交失败!!!');end if ;END;
EBS提交取消请求、请求集程序fnd_request相关推荐
- axios delete有请求体吗_封装 axios 取消重复请求
编者按:本文作者舒丽琦,奇舞团前端开发工程师 在我们web开发过程中,很多地方需要我们取消重复的请求.但是哪种场合需要我们取消呢?我们如何取消呢?带着这些问题我们阅读本文. 阅读完本文,你将了解以下内 ...
- 取消一个请求(Cancel)
CANCEL请求,就像名字所说的,是用来取消客户端发起的上一个请求的. CANCEL请求UAS去终止上一个请求并且对上一个请求产生一个错误的应答.CANCEL对UAS已经给出终结应答的请求无效.所以, ...
- 封装 axios 取消重复请求
编者按:本文作者舒丽琦,奇舞团前端开发工程师 在我们web开发过程中,很多地方需要我们取消重复的请求.但是哪种场合需要我们取消呢?我们如何取消呢?带着这些问题我们阅读本文. 阅读完本文,你将了解以下内 ...
- 关于 axios 取消重复请求的分析
前言 关于取消重复请求,最重要的是这么做的意义,而不在于代码的实现 其实,我觉得,绝大部分能够想到的应用场景,都可以通过防抖.节流方式实现,比如实时搜索,比如重复订单提交.比如上拉获取最新数据等 我们 ...
- 记一次解决 Feign 提交批量添加请求收到 400 报错的经历
上周在实现用 OpenFeign 提交批量添加请求时,遇到一个奇怪的问题,本来 Post 请求的 body 体,因为是批量请求,内容就比较多,准备起来就比较麻烦,仔细检查了很多次,提交时还是各种失败, ...
- 使用RBTool自动提交code review请求
使用RBTool自动提交code review请求 前言 让我们回想一下手工提交review请求的过程: 首先得用 svn diff > filename.diff 生成diff文件. 然后输入 ...
- ASIHTTPRequest取消异步请求
取消异步请求 首先,同步请求是不能取消的. 其次,不管是队列请求,还是简单的异步请求,全部调用[ request cancel ]来取消请求. 取消的请求默认都会按请求失败处理,并调用请求失败dele ...
- 取消Ajax请求 || Ajax重复请求问题
<!DOCTYPE html> <html lang="en"> <head><meta charset="UTF-8" ...
- 单页面axios_Axios封装之取消重复请求和接口缓存
在平时的单页面项目里,大家肯定接触过axios库,一个易用.简洁且高效,使用Promise管理异步,告别传统callback方式的http库. 最近有个项目里接口调取的频率比较高,接口队列长,然后等待 ...
最新文章
- 【廖雪峰python进阶笔记】类的继承
- Landsat 8 OLI_TIRS 卫星数字产品
- 201771010125王瑜《面向对象程序设计(Java)》第六周学习总结
- python 进程池不足_python 进程池pool简单使用
- 手写数字识别中多元分类原理_广告行业中那些趣事系列:从理论到实战BERT知识蒸馏...
- git add 所有修改文件_Git 技术干货!工作中quot;Gitquot;的使用实践和常用命令合集!
- python读取超大csv
- DEV-c++中sort的用法
- CUHK Occlusion Dataset(行人检测数据集)转换为YOLO+VOC数据集
- python题库填空_Python题库
- 计算机组装中如何看硬件型号,如何查看主板型号?(三种方法!)
- Redis中什么是热Key问题?如何解决热Key问题?
- 太平洋电脑网左边菜单的实现
- 上车了!AR摩托车头盔了解一下?
- drf框架图片路径问题
- softlayer iso_在SoftLayer服务器上使用图形界面
- cdn缓存服务器有网站图片,cdn缓存服务器上传图片
- 【NetTopologySuite类库】NTS与JTS一些问题整理
- 优化AWS使用成本系列之预留实例(RI)为您提供大幅折扣
- java实现传入URL下载图片并压缩,导出到excel