Item Creation Package Spec & Body
create or replace
PACKAGE XX_ITEM_CREATION_PKG
AS
PROCEDURE xxab_log_message (
p_procedure VARCHAR2,
p_message VARCHAR2
);
PROCEDURE xx_create_inv_item(P_ITEM_NUMBER MTL_SYSTEM_ITEMS_B.segment1%type
,P_ITEM_DESC MTL_SYSTEM_ITEMS_B.DESCRIPTION%type
,P_PRIMARY_UNIT_OF_MEASURE MTL_SYSTEM_ITEMS_B.PRIMARY_UNIT_OF_MEASURE%type
,P_Long_Description MTL_SYSTEM_ITEMS_TL.LONG_DESCRIPTION%type);
END XX_ITEM_CREATION_PKG;
create or replace
PACKAGE BODY XX_ITEM_CREATION_PKG
-- Global Variable --
g_user_id NUMBER := apps.fnd_profile.VALUE ('USER_ID');
g_resp_id NUMBER := apps.fnd_profile.VALUE ('RESP_ID');
g_resp_appl_id NUMBER := apps.fnd_profile.VALUE ('RESP_APPL_ID');
g_org_id NUMBER := apps.fnd_profile.VALUE ('ORG_ID');
PROCEDURE xxab_log_message (
p_procedure VARCHAR2,
p_message VARCHAR2
) IS
l_err_msg varchar2(2000);
BEGIN
l_err_msg:='<<'|| p_procedure
|| ' - '
|| p_message
|| '>>'
;
dbms_output.put_line('<<'
|| p_procedure
|| ' - '
|| p_message
|| '>>');
fnd_file.put_line (fnd_file.log, l_err_msg);
END xxab_log_message;
PROCEDURE xx_create_inv_item(P_ITEM_NUMBER MTL_SYSTEM_ITEMS_B.segment1%type
,P_ITEM_DESC MTL_SYSTEM_ITEMS_B.DESCRIPTION%type,
P_PRIMARY_UNIT_OF_MEASURE MTL_SYSTEM_ITEMS_B.PRIMARY_UNIT_OF_MEASURE%type
,P_Long_Description MTL_SYSTEM_ITEMS_TL.LONG_DESCRIPTION%type)
IS
l_item_table EGO_Item_PUB.Item_Tbl_Type;
x_item_table EGO_Item_PUB.Item_Tbl_Type;
x_return_status VARCHAR2(1);
x_msg_count NUMBER(10);
x_msg_data VARCHAR2(1000);
x_message_list Error_Handler.Error_Tbl_Type;
BEGIN
--Apps Initialization
FND_GLOBAL.APPS_INITIALIZE(USER_ID=>0,RESP_ID=>50757,RESP_APPL_ID=>401);
--FIRST Item definition
l_item_table(1).Transaction_Type := 'CREATE'; -- Replace this with 'UPDATE' for update transaction.
l_item_table(1).Segment1 := P_ITEM_NUMBER;
l_item_table(1).Description :=P_ITEM_DESC;
l_item_table(1).Primary_Uom_Code:=P_PRIMARY_UNIT_OF_MEASURE;
l_item_table(1).Long_Description:=P_Long_Description;
l_item_table(1).Organization_Code := 'MSB'; --masterorg--
l_item_table(1).Template_Name := 'Inventory Items'; --template
xxab_log_message ('Step1','Calling API to Create Item') ;
EGO_ITEM_PUB.Process_Items(
p_api_version => 1.0
,p_init_msg_list => FND_API.g_TRUE
,p_commit => FND_API.g_TRUE
,p_Item_Tbl => l_item_table
,x_Item_Tbl => x_item_table
,x_return_status => x_return_status
,x_msg_count => x_msg_count);
xxab_log_message ('Step1','Sucess') ;
xxab_log_message ('Return Status ==>',x_return_status) ;
IF (x_return_status = FND_API.G_RET_STS_SUCCESS) THEN
FOR i IN 1..x_item_table.COUNT LOOP
xxab_log_message ('Inventory Item Id Created:',to_char(x_item_table(i).Inventory_Item_Id)) ;
xxab_log_message ('Organization Id :',to_char(x_item_table(i).Organization_Id)) ;
END LOOP;
ELSE
xxab_log_message ('Error','Messages') ;
Error_Handler.GET_MESSAGE_LIST(x_message_list=>x_message_list);
FOR i IN 1..x_message_list.COUNT LOOP
xxab_log_message ('Error',x_message_list(i).message_text) ;
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
xxab_log_message ('Error has Occured and error is',SUBSTR(SQLERRM,1,200)) ;
END xx_create_inv_item;
END XX_ITEM_CREATION_PKG;
No comments:
Post a Comment