Form 个性化调用自定义程序库实现提交请求自动输出请求结果.docx
- 文档编号:15769879
- 上传时间:2023-07-07
- 格式:DOCX
- 页数:14
- 大小:442.08KB
Form 个性化调用自定义程序库实现提交请求自动输出请求结果.docx
《Form 个性化调用自定义程序库实现提交请求自动输出请求结果.docx》由会员分享,可在线阅读,更多相关《Form 个性化调用自定义程序库实现提交请求自动输出请求结果.docx(14页珍藏版)》请在冰点文库上搜索。
Form个性化调用自定义程序库实现提交请求自动输出请求结果
Form个性化-调用自定义程序库(实现:
提交请求,自动输出请求结果)
分类:
Oracle
需求:
PO发放界面,原有的菜单【查看文档】,标准输出的报表及数据源XML无法明细到Distribution。
解决思路:
客制明细报表,并挂请求,PO发放界面,利用个性化,新增一个菜单项【查看文档-客制】,该菜单项来执行请求并将请求结果自动呈现给用户。
Form个性化中,内置的Action提供一种名为:
“调用自定义程序库”,其实就是CUSTOM.pll,这个文件。
当项目中不允许需改标准Form,且利用个性化又无法达到需求目的的时候,CUSTOM.pll,就是个很好的帮手。
灵活性很大,但是也有缺点。
缺点后面再说。
1.下载CUSTOM.pll文件。
用FTP工具,切换到路径$AU_TOP/resource/目录下,并下载CUSTOM.pll.
2.编辑CUSTOM.pll,新增自己的CODE。
用FormBuilder打开CUSTOM.pll文件
此处需要注意的是,CUSTOM.pll其实就是一个package,Event就是自定义程序库的入口程序,其Event_Name的参数就是,个性化的中设置的变元。
建议呢!
每个自定义代码都加上加上作者的注释,包括作者、用途、及时间。
此次新增的代码为:
1.Procedure Run_Blanket_Release_Pdf Is
2. v_Po_Header_Id Number(30) :
= Name_In('PO_RELEASES.PO_HEADER_ID');
3. v_Release_Id Number(30) :
= Name_In('PO_RELEASES.PO_RELEASE_ID');
4. v_Org_Id Number(30) :
= Name_In('PO_RELEASES.ORG_ID');
5. l_Request_Id Number;
6. l_Bl_Result Boolean;
7. v_Layout Boolean;
8. x_Phase Varchar2(100);
9. x_Status Varchar2(100);
10. x_Dev_Phase Varchar2(100);
11. x_Dev_Status Varchar2(100);
12. x_Message Varchar2(100);
13. v_Template Varchar2(100);
14. v_Organization_Code Varchar2(10);
15. Begin
16. If v_Org_Id Is Not Null Then
17. Begin
18. Select Organization_Code
19. Into v_Organization_Code
20. From Org_Organization_Definitions t
21. Where t.Operating_Unit = v_Org_Id;
22. Exception
23. When Others Then
24. Fnd_Message.Set_String('异常错误,报表输出失败!
');
25. Fnd_Message.Error;
26. Return;
27. End;
28. End If;
29.
30. If v_Organization_Code = 'SZ' Then
31. v_Template :
= 'CUXPOR046_BLK_REL_SZ';
32. Else
33. v_Template :
= 'CUXPOR046_BLK_REL_TS';
34. End If;
35.
36. v_Layout :
= Fnd_Request.Add_Layout('PO'
37. ,v_Template
38. ,Null
39. ,Null
40. ,'PDF');
41.
42. l_Request_Id :
= Fnd_Request.Submit_Request('PO'
43. ,'CUXPOR046_BLK'
44. ,''
45. ,''
46. ,False
47. ,v_Po_Header_Id
48. ,v_Release_Id
49. ,''
50. ,Chr(0)
51. ,''
52. ,''
53. ,''
54. ,''
55. ,''
56. ,''
57. ,''
58. ,''
59. ,''
60. ,''
61. ,''
62. ,''
63. ,''
64. ,''
65. ,''
66. ,''
67. ,''
68. ,''
69. ,''
70. ,''
71. ,''
72. ,''
73. ,''
74. ,''
75. ,''
76. ,''
77. ,''
78. ,''
79. ,''
80. ,''
81. ,''
82. ,''
83. ,''
84. ,''
85. ,''
86. ,''
87. ,''
88. ,''
89. ,''
90. ,''
91. ,''
92. ,''
93. ,''
94. ,''
95. ,''
96. ,''
97. ,''
98. ,''
99. ,''
100. ,''
101. ,''
102. ,''
103. ,''
104. ,''
105. ,''
106. ,''
107. ,''
108. ,''
109. ,''
110. ,''
111. ,''
112. ,''
113. ,''
114. ,''
115. ,''
116. ,''
117. ,''
118. ,''
119. ,''
120. ,''
121. ,''
122. ,''
123. ,''
124. ,''
125. ,''
126. ,''
127. ,''
128. ,''
129. ,''
130. ,''
131. ,''
132. ,''
133. ,''
134. ,''
135. ,''
136. ,''
137. ,''
138. ,''
139. ,''
140. ,''
141. ,''
142. ,''
143. ,''
144. ,''
145. ,''
146. ,'');
147.
148. Commit;
149. If l_Request_Id Is Null Or
150. l_Request_Id = 0 Then
151. Return;
152. End If;
153.
154. fnd_message.set_string('请求提交成功,请稍等!
请求ID:
'||l_Request_Id);
155. fnd_message.show;
156.
157. --更改鼠标式样:
漏斗鼠标(忙状态)
158. SET_APPLICATION_PROPERTY(CURSOR_STYLE, 'BUSY');
159. --显示进度条窗口,并设置进度为0
160. APP_WINDOW.PROGRESS(0);
161.
162. l_Bl_Result :
= Fnd_Concurrent.Wait_For_Request(l_Request_Id
163. ,1
164. ,0
165. ,x_Phase
166. ,x_Status
167. ,x_Dev_Phase
168. ,x_Dev_Status
169. ,x_Message);
170. If x_Dev_Phase = 'COMPLETE' And
171. x_Dev_Status = 'NORMAL' Then
172. Editor_Pkg.Report(l_Request_Id
173. ,'Y'); --使输出的报表pdf文件在浏览器中显示。
174. Else
175. Fnd_File.Put_Line(1
176. ,Rpad('x_phase'
177. ,20
178. ,' ') || '=' || x_Phase);
179. Fnd_File.Put_Line(1
180. ,Rpad('x_status='
181. ,20
182. ,' ') || '=' || x_Status);
183. Fnd_File.Put_Line(1
184. ,Rpad
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Form 个性化调用自定义程序库实现提交请求自动输出请求结果 个性化 调用 自定义 程序库 实现 提交 请求 自动 输出 结果