TEC1701.WebADI开发技术总结 - 第五章 通过API自动创建Web ADI(5/6)
来源:互联网 发布:淘宝查假冒伪劣的规律 编辑:程序博客网 时间:2024/06/07 18:46
第五章 通过API自动创建Web ADI
在创建一些不是很复杂的WebADI时,使用标准的API来创建会非常方便。通过API生成的WebADI在界面上是无法修改的。
客制化的Integrator后台表bne_integrators_b中的source为'C',因此我们可以在桌面集成管理器职责中修改,如果不想让人改,把C删了;同样,如果想修改oracle标准的Integrator,可把source改为C,这样就可以修改了,不过不建议修改,因为升级不支持。不过改成C后,你可以直观的在manager职责中看到它的详细的setup,比在后台看方便一点。
1. 创建Integrator(Required)
实现代码:
--1.创建IntergratorDECLARE o_integrator_code VARCHAR2(30);BEGIN bne_integrator_utils.create_integrator(p_application_id => '20003', --应用id p_object_code => 'CUXWBAT01',--内部名称,API会自动添加'_INTG'的后缀 p_integrator_user_name => 'CUX_WEBADI_TEST01',--集成器名称 p_language => userenv('LANG'), p_source_language => userenv('LANG'), p_user_id => fnd_global.user_id, p_integrator_code => o_integrator_code); --返回生成的integrator_code dbms_output.put_line(o_integrator_code);END;
2. 创建Interface(Required)
实现代码:
--2.创建InterfaceDECLARE o_param_list_code VARCHAR2(30); o_interface_code VARCHAR2(30);BEGIN bne_integrator_utils.create_interface_for_api(p_application_id => '20003', p_object_code => 'CUXWBAT01', p_integrator_code => 'CUXWBAT01_INTG', p_api_package_name => 'CUX_WBA_TEST01_PKG', p_api_procedure_name => 'IMPORT_REC', p_interface_user_name => 'CUXWBAT01', p_param_list_name => 'CUXWBAT01_PLIST', p_api_type => 'PROCEDURE', p_api_return_type => '', p_upload_type => '2', --1= upload to Table. 2 = Upload to PL/SQL API p_language => userenv('LANG'), p_source_lang => userenv('LANG'), p_user_id => fnd_global.user_id, p_param_list_code => o_param_list_code, p_interface_code => o_interface_code); dbms_output.put_line(o_param_list_code || ',' || o_interface_code);END;
3. 创建Layout(Required)
实现代码:
--3.创建LayoutDECLARE o_layout_code VARCHAR2(30);BEGIN bne_integrator_utils.create_default_layout(p_application_id => '20003', p_object_code => 'CUXWBAT01', p_integrator_code => 'CUXWBAT01_INTG', p_interface_code => 'CUXWBAT01_INTF', p_user_id => fnd_global.user_id, p_force => FALSE, p_all_columns => TRUE, p_layout_code => o_layout_code); dbms_output.put_line(o_layout_code);END;
到目前为止WebADI已经创建完毕,可以使用了。可以通过预览查看效果的,不过template上的字段提示都还是代码,可以通过直接更新bne_interface_cols_vl表来修改成中文提示。
4. 定义功能(Required)
实现代码:
DECLARE l_parameters VARCHAR2(500) := 'bne:page=BneCreateDoc' || chr(38) || 'bne:'; l_function_id NUMBER; l_rowid VARCHAR2(20); BEGIN l_parameters := l_parameters || chr(38) || 'bne:integrator=' || 20003 || ':' || 'CUXWBAT01_INTG' || chr(38) || 'bne:noreview=true'; dbms_output.put_line('parameters:' || l_parameters); SELECT fnd_form_functions_s.nextval INTO l_function_id FROM sys.dual; fnd_form_functions_pkg.insert_row(x_rowid => l_rowid, x_function_id => l_function_id, x_web_host_name => '', x_web_agent_name => '', x_web_html_call => 'BneApplicationService', x_web_encrypt_parameters => '', x_web_secured => '', x_object_id => '', x_region_application_id => '', x_region_code => '', x_web_icon => '', x_function_name => 'CUXWBAT01_INTG', x_application_id => '', x_form_id => '', x_parameters => l_parameters, x_type => 'SERVLET', x_user_function_name => 'CUX:API生成WebADI导入', x_description => '', x_creation_date => SYSDATE, x_created_by => fnd_global.user_id, x_last_update_date => SYSDATE, x_last_updated_by => fnd_global.user_id, x_last_update_login => fnd_global.login_id, x_maintenance_mode_support => '', x_context_dependence => '', x_jrad_ref_path => ''); dbms_output.put_line('function_id:' || l_function_id);END;
5. 实现List功能
实现代码:
6. 实现Lov功能
注意:
使用桌面集成管理器在页面配置出来的集成器,使用此API自动创建Lov是可以成功使用的。
使用API自动创建集成器和接口,再使用API自动创建Lov,Template会报错。具体原因待查。
参考代码:
BEGIN bne_integrator_utils.create_table_lov(p_application_id => 20003, p_interface_code => 'CUXWBAT01_INTF', p_interface_col_name => 'P_USER_ID', --LOV创建字段 --以下为LOV定义参数 p_id_col => 'USER_ID', --表id p_mean_col => 'USER_NAME', p_desc_col => 'USER_NAME', p_table => 'FND_USER', --表名 p_addl_w_c => 'ROWNUM<10', --WHERE条件 p_window_caption => 'USER', --LOV窗口title p_window_width => NULL, p_window_height => NULL, p_table_block_size => NULL, p_table_sort_order => NULL, p_user_id => 0, --以下为component的定义参数 p_table_columns => 'USER_ID,USER_NAME', --提取的表的实际字段,即LOV的显示字段 p_table_select_columns => 'P_USER_ID', --需要提取到template上的字段,需与interface的字段名一致 p_table_column_alias => 'P_USER_ID', --如果提取的LOV字段名与interface的字段名不一样,需要在此为LOV的字段定义别名,与interface字段名一致即可 p_table_headers => 'userNAME,userID'); --LOV字段titleEND;
7. 实现日期Lov功能
实现代码:
BEGIN bne_integrator_utils.create_calendar_lov(p_application_id => 20003, --Your custom application p_interface_code => 'CUXWBAT01_INTF', --Your custom interface code p_interface_col_name => 'P_DATE', --Your date_item ininterface p_window_caption => '选择日期', --Window Prompt p_window_width => NULL, --Use default p_window_height => NULL, --Use default p_table_columns => 'ADI_DATE', --Your table date_fields p_user_id => 0);END;
0 0
- TEC1701.WebADI开发技术总结 - 第五章 通过API自动创建Web ADI(5/6)
- TEC1701.WebADI开发技术总结 - 第六章 Web ADI开发常见问题(6/6)
- TEC1701.WebADI开发技术总结 - 第三章 Step3 - 配置Web ADI(3/6)
- TEC1701.WebADI开发技术总结 - 第四章 Web ADI相关后台表结构(4/6)
- TEC1701.WebADI开发技术总结 - 第一章 Step1 - Web ADI客户化开发设置(1/6)
- TEC1701.WebADI开发技术总结 - 第二章 Step2 - 创建数据库对象(2/6)
- 0202.EBS-2TEC1701.WebADI开发技术总结(1/6)
- 0202.EBS-2TEC1701.WebADI开发技术总结(2/6)
- 【简记】大规模Web开发技术(第五章)
- web开发技术总结
- ORACLE WEBADI 开发示例
- webadi开发实例
- ORACLE WEBADI 开发示例
- SP2010开发和VS2010专家"食谱"--第五章节—Web部件(6)--创建Silverlight Web部件
- SP2010开发和VS2010专家"食谱"--第五章节—Web部件(5)--创建可连接的Web部件
- AP发票导入程序(WEB ADI)
- Oracle Web ADI无法打开创建的EXCEL问题
- WEB ADI模版中相关栏位LOV的创建
- mybaits 基础
- BP神经网络算法学习---处理流程(伪代码)
- Unity5.x实现简易语音聊天(三)Client-Server通信
- android 复习之路之Activity
- 勤奋是一种被逼无奈,热爱是一种情不自禁
- TEC1701.WebADI开发技术总结 - 第五章 通过API自动创建Web ADI(5/6)
- 【Codeforces 652 C Foe Pairs 】
- jssdk实现自定义分享到微信好友和微信朋友圈
- Java中文分词组件 - word分词
- 【Silverlight】模仿Windows资源管理器的folder项目
- sqlyog-数据库同步
- VMWare+Ubuntu所遇问题解决之总结
- 深入了解 CSS3 新特性
- redis中的事务、lua脚本和管道的使用场景