Oracle ERP Customization-Web ADI(3)

2018-12-29 23:46

QQ:886922 MSN:Johnson_hsz@hotmail.com

3.2 Form Function

可以使用Form Function控制权;当有多支Web ADI时,为达到权限的控制,就需要通过Function的方式来实现了。开发Form时需要先建立一Form,再建立一Form Function与该Form Mapping。Web ADI程式在安全控管上,只需要建立一Form Function,并通过HR Maintain Integrator Form Function Associations将Form Function与Web ADI建立relationship,再将该Form Function Assign给不同的Menu即可

一个Form Function可以assign一个Integrator,也可以assign多个Integrator;同样,一个Integrator也可以Assign给多个Form Function。

4. Web ADI程式开发 开发步骤

1. Create Database Object(Required) 2. Register Table and column(Required) 3. Create Package(Required) 4. Create Integrator(Required)

5. Associate Integrator and Function(Required) 6. Define Layout(Required) 7. Define Mapping(Optional) 8. Modify Excel Prompt(Optional) 4.1 Create Database Object(Required)

一般Web ADI程式是将Excel中的资料Import到客户化的Temp table中,然后根据需要,将Temp table的

资料抛至系统标准的接口或做其他用途。本文将举例,如何通过Web ADI实现料号接口的导入。需要建立以下Database Object:

1. Table:CUX_ITEM_IMPORT_TEMP

Oracle EBS Customization—Web ADI

11

QQ:886922

该table用来保存Web ADI import到系统中的料号 CREATE TABLE CUX_ITEM_IMPORT_TEMP( BATCH_ID NUMBER, ORGANIZATION_CODE VARCHAR2(3), ITEM_NO VARCHAR2(30), PRIMARY_UOM_CODE VARCHAR2(3), ITEM_TEMPLATE VARCHAR2(20), DESCRIPTION VARCHAR2(240), STATUS VARCHAR2(1), ERROR_MESSAGE VARCHAR2(240), CREATION_DATE DATE NOT NULL, CREATED_BY NUMBER NOT NULL, LAST_UPDATED_BY NUMBER NOT NULL, LAST_UPDATE_DATE DATE NOT NULL, LAST_UPDATE_LOGIN NUMBER );

MSN:Johnson_hsz@hotmail.com

2. Sequence:CUX_ITEM_IMPORT_TEMP _S

Create Sequence CUX_ITEM_IMPORT_TEMP_S; 3. View:CUX_ITEM_IMPORT_TEMP_V

Create view CUX_ITEM_IMPORT_TEMP_V as Select *from CUX_ITEM_IMPORT_TEMP;

4.2 Register Table and column(Required)

使用下列SQL进行table及column的注册:

BEGIN

--register table

AD_DD.REGISTER_TABLE('INV','CUX_ITEM_IMPORT_TEMP','T'); --register column

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','BATCH_ID',1,'NUMBER',3,'N','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','ORGANIZATION_CODE',2,'VARCHAR2',3,'N','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','ITEM_NO',3,'VARCHAR2',30,'N','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','PRIMARY_UOM_CODE',4,'VARCHAR2',3,'N','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','ITEM_TEMPLATE',5,'VARCHAR2',20,'N','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','DESCRIPTION',6,'VARCHAR2',240,'Y','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','STATUS',7,'VARCHAR2',1,'Y','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','ERROR_MESSAGE',8,'VARCHAR2',240,'Y','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','CREATION_DATE',9,'DATE',20,'N','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','CREATED_BY',10,'NUMBER',20,'N','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','LAST_UPDATED_BY',11,'NUMBER',20,'N','N'); AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','LAST_UPDATE_DATE',12,'DATE',20,'N','N');

AD_DD.REGISTER_COLUMN('INV','CUX_ITEM_IMPORT_TEMP','LAST_UPDATE_LOGIN',13,'NUMBER',20,'N','N');

COMMIT; END;

Oracle EBS Customization—Web ADI 12

QQ:886922

注:参数中的第一个Y/N代表该栏位是否可为Null

MSN:Johnson_hsz@hotmail.com

4.3 Create Package(Required)

Web ADI在设置Layout时,可以设定Header Line的样式。但是时间在import时,Header与Line其实是作

为同一笔数据Import进去的,是无法分Header、Line去调用不同的Import Procedure。若需要Import有主从关系的资料时,需要在Import的Procedure中自行处理【Header Import一次、Line Import多次】,这个在后面的章节,将会详细介绍。

本例在做Item Import时,没有使用到主从关系的table,即使用单一table。需要建立一procedure,供Web ADI调用。通过这个Procedure做数据正确性的Check、将数据insert到对应的table,具体如下:

CREATE OR REPLACE PACKAGE CUX_ITEM_IMPORT_PKG IS

-- $Header: CUX_ITEM_IMPORT_PKG.pck 120.1.1 2011/03/20 16:53:01 $ --

--+=======================================================================+

--| Copyright (c) 2011 AdvancedTek Shanghai | --| All rights reserved. |

--+=======================================================================+

--| FILENAME | --| CUX_ITEM_IMPORT_PKG.pck | --| | --| DESCRIPTION | --| Item Import Procedure For Web ADI Test | --| HISTORY | --| 03/20/2011 Johnson Huang Created |

--+========================================================================

PROCEDURE CUX_ITEM_IMPORT_P(P_ORGANIZATION_CODE VARCHAR2, P_ITEM_NO VARCHAR2, P_PRIMARY_UOM_CODE VARCHAR2, P_ITEM_TEMPLATE VARCHAR2, P_DESCRIPTION VARCHAR2);

END CUX_ITEM_IMPORT_PKG; /

CREATE OR REPLACE PACKAGE BODY CUX_ITEM_IMPORT_PKG IS

/*参数的名字为TABLE COLUMN前加'_P',在DEFINE LAYOUT时,可挑到的栏位, 即为这个PROCEDURE中所列的参数,系统会自动将参数前的'_P'删除*/ V_BATCH_ID NUMBER := CUX_ITEM_IMPORT_TEMP_S.NEXTVAL;

PROCEDURE CUX_ITEM_IMPORT_P(P_ORGANIZATION_CODE VARCHAR2, P_ITEM_NO VARCHAR2, P_PRIMARY_UOM_CODE VARCHAR2, P_ITEM_TEMPLATE VARCHAR2, P_DESCRIPTION VARCHAR2) IS V_TEMPLATE_ID NUMBER; V_COUNT NUMBER; V_ERROR_MESSAGE VARCHAR2(240); BEGIN BEGIN

Oracle EBS Customization—Web ADI 13

QQ:886922

SELECT TEMPLATE_ID INTO V_TEMPLATE_ID FROM MTL_ITEM_TEMPLATES

WHERE TEMPLATE_NAME = P_ITEM_TEMPLATE; EXCEPTION

WHEN OTHERS THEN

V_ERROR_MESSAGE := 'ITEM TEMPLATE IS ERROR!;'; END;

SELECT COUNT(*) INTO V_COUNT

FROM MTL_UNITS_OF_MEASURE

WHERE UOM_CODE = P_PRIMARY_UOM_CODE; IF V_COUNT = 0 THEN

V_ERROR_MESSAGE := V_ERROR_MESSAGE || 'UOM IS ERROR!;'; END IF;

--CHECK 是否为MASTER ORG SELECT COUNT(*) INTO V_COUNT

FROM MTL_PARAMETERS MP

WHERE MP.ORGANIZATION_CODE = P_ORGANIZATION_CODE AND MP.MASTER_ORGANIZATION_ID = MP.ORGANIZATION_ID; IF V_COUNT = 0 THEN

MSN:Johnson_hsz@hotmail.com

V_ERROR_MESSAGE := V_ERROR_MESSAGE || 'ORGANIZATION CODE IS ERROR!;'; END IF;

--如果有错,则抛出Error Message.该Error Message会显示在Excel中 IF V_ERROR_MESSAGE IS NOT NULL THEN

RAISE_APPLICATION_ERROR(-20000, V_ERROR_MESSAGE); END IF;

INSERT INTO CUX_ITEM_IMPORT_TEMP (BATCH_ID,

ORGANIZATION_CODE, ITEM_NO,

PRIMARY_UOM_CODE, ITEM_TEMPLATE, DESCRIPTION, CREATION_DATE, CREATED_BY, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN) VALUES (V_BATCH_ID,

P_ORGANIZATION_CODE, P_ITEM_NO,

P_PRIMARY_UOM_CODE, P_ITEM_TEMPLATE,

Oracle EBS Customization—Web ADI 14

QQ:886922

P_DESCRIPTION, SYSDATE,

FND_GLOBAL.USER_ID, FND_GLOBAL.USER_ID, SYSDATE,

FND_GLOBAL.LOGIN_ID); END;

END CUX_ITEM_IMPORT_PKG;

MSN:Johnson_hsz@hotmail.com

4.4 Create Integrator(Required)

使用系统自带的Web ADI程式HR Integrator Setup 建立客户化的Integrator

1. Path: Desktop Integrator->Create Document:

如上图,选择HR Integrator Setup,然后点击Next按钮

2. 在这一步,需要选择Client端电脑上的Excel版本:

如上图,Reporting的Check Box不要打钩 3. Content选择None

若Content选择Text File,需要实现准备好csv文档,在csv档内维护好下面第5个步骤要填写的资料,这样在执行到第5个步骤时,Excel会自动把csv档导入到Excel中

4. 接下来点击Create Document按钮,系统自动生成Setup Integrator的Excel档

Oracle EBS Customization—Web ADI 15


Oracle ERP Customization-Web ADI(3).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:机关服务基层活动工作方案

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: