Oracle Web ADI详细开发步骤上课讲义.docx
《Oracle Web ADI详细开发步骤上课讲义.docx》由会员分享,可在线阅读,更多相关《Oracle Web ADI详细开发步骤上课讲义.docx(26页珍藏版)》请在冰点文库上搜索。
OracleWebADI详细开发步骤上课讲义
OracleWebADI详细开发步骤
OracleWebADI开发步骤
*以下的操作开发步骤是基于实现应付发票EXCEL导入功能的项目案例。
1程序开发部分
1.1新建临时表TEMP,用于暂放EXCEL数据
脚本参考:
脚本说明:
1.表结构中的ID、TRAN_TYPE和WHO栏是必有的栏位,用于实现逻辑控制,其中ID是唯一的,TRAN_TYPE用于控制操作类型,例如新建(Insert)、更新(Update)等;
2.序列器及Synonym的生成脚本。
1.2新建API过程,将EXCEL数据导入临时表TEMP
1、此步骤主要是对EXCEL中数据的正确性进行校验,如果数据正确将导入至临时表TEMP中暂存;如果EXCEL中的数据校验发生错误,数据不允许进入临时表,调用EXCEPTION函数,在EXCEL导入表中报错:
App_Exception.Raise_Exception('CUX'--应用产品,
Cont_Exception_Code--自定义的Exception代码,'ErrorMessage'--错误信息提示
)。
2、脚本参考:
脚本说明:
1、声明Cux_Inv_Temp_Rec为记录类型;
2、过程Valid_Inv_Temp_Ins验证Excel导入临时表的数据,对Cux_Inv_Temp_Rec的记录进行校验;
3、编写EXCEL数据导入临时表的主过程Create_Invoice_Temp,调用验证过程Valid_Inv_Temp_Ins;如果数据正确无误,导入临时表TEMP,反之EXCEPTION处理,全部数据导入不成功。
1.3新建并发请求,将临时表TEMP中的数据导入系统相关的信息表或者接口表INTERFACE中。
1.3.1非主-次表的导入
如果只是单一表的数据导入,则可以通过EXCEL表直接导入系统表或者接口表中。
1.3.2主-次表的导入
1、编写并发请求,将临时表TEMP中的数据整理成主表、明细表的资料,并进行分步导入处理。
2、脚本参考:
脚本说明:
1、从临时表写入接口表主过程Inv_Interface,根据临时表中的Tran_Type,定义主表数据和明细表数据两个CURSOR;
2、按照主次表关系,将数据Insert到相应的主表和明细表;
3、案例中只要求达到新增的功能。
如果要达到更新的功能,需重复2中的操作,按照主次表关系,将相关信息Update到相应记录。
2系统设置部分
2.1新增职责“OracleWebADI”
2.2定义功能CUX_WEB_ADI
2.3将功能CUX_WEB_ADI赋给职责OracleWebADI
2.4切换职责“OracleWebADI”,设置集成器
2.4.1定义集成器
●打开CreateDocument
●选择相应的EXCEL版本。
●选择集成器
●选择内容以便将数据导入文档。
通过选择“无”创建空文档。
●创建设置文档
填写说明:
Ø元数据类型:
分为加载(Create)、上载(Download)和修改(Update),通过双击可以获取这
个栏位的值;
Ø应用简称:
应用产品的简称,例如AP、WIP、CUX等;
Ø集成器用户名:
自定义,必须具有唯一性;
Ø表单名:
GENERAL;
ØAPI程序包名:
即EXCEL数据导入临时表TEMP的包名(Cux_Invoice_Import_Pkg);
ØAPI过程名:
即EXCEL数据导入临时表的主过程名(Create_Invoice_Temp);
Ø界面用户名、界面参数列表名称:
均为自定义,必须具有唯一性;
ØAPI类型:
即EXCEL数据导入临时表的主过程(Create_Invoice_Temp)是FUNCTION还是PROCEDURE;
ØAPI返回类型:
如果API类型为FUNCTION,此项为必填项;如果为PROCEDURE,可为空;
●填写无误之后,点击菜单“Oracle”,选择“加载”,截图如下:
●点击“加载”
●加载成功:
2.4.2定义集成器与功能的关系
●打开CreateDocument
●选择集成器“HR维护集成器表单功能关联”
●查找之前定义的集成器
●“表单功能列表”中输入“CUX_WEB_ADI”
●选择“加载”
2.4.3定义布局
●打开DefineLayout
●选择之前定义的集成器
●点击“定义布局”
●自定义名称和关键字,必须是唯一的
●定义字段的排列方式,也就是主(题头)-明细(行)的关系。
所有的字段是EXCEL表格需要用户输入的信息项。
2.4.4定义映射
●打开DefineMapping
●选择之前定义的集成器
●点击“定义映射”
●自定义名称和关键字,必须是唯一的。
列数是指EXCEL表格中需要输入信息项的个数。
●通过值列表按钮,选择相应的映射值
2.4.5定义独立查询
(注:
若是实现修改功能,并且要使用查询条件进行筛选,则进行此步设置)
●打开CreateDocument
●选择“HR创建独立查询”
●查找之前定义的集成器
●填写设置表格
填写说明:
Ø应用简称:
应用产品的简称,例如AP、WIP、CUX等;
Ø集成器用户名:
自定义,必须具有唯一性;
ØSQLWHERE子句:
更新之前需要对系统数据Download,以此语句作为条件Where语句,
例如:
WhereOrganization_Id=$PARAM$.p_Organization_Id;
Ø第N个参数名:
即SQLWHERE子句中的p_Organization_Id;
Ø第N个参数类型:
例如数值、Varchar2、日期等;
Ø第N个参数提示:
中、英文提示名称。
2.5切换职责“系统管理员”,进行集成器功能设置
2.5.1将功能“CUX_WEB_ADI关联表单”,添加到相应职责的菜单下
2.5.2定义功能
●“类型”设置为SSWAservlet函数
●“参数”为:
bne:
page=BneCreateDoc&bne:
language=ZHS&bne:
reporting=N&bne:
integrator=20003:
GENERAL_21_INTG&bne:
layout=20003:
CUX_TEST_LAYOUT&bne:
content=20003:
GENERAL_21_CNT&bne:
map=20003:
CUX_TEST_MAPPING&bne:
noreview=anything
参数说明:
Ø其中红色部分的“20003”是指应用产品的APPLICATION_ID
SELECTAPPLICATION_IDFROMFND_APPLICATIONWHEREAPPLICATION_SHORT_NAME='CUX';
Ø其中蓝色部分,是通过以下SQL
selectt.integrator_codefrombne.bne_integrators_tlt
wheret.user_name='CUX_TEST'
Ø其中灰色部分,是布局和映射的名称
●“HTML调用”为“BneApplicationService”
2.6定义并发请求
将并发请求赋给相应的请求组,提交请求后,即可将临时表TEMP中的数据导入到系统信息表或者接口表中。
2.7实现效果
汉化WebADI模版:
Updatebne_interface_cols_vl中的两个table