Wednesday, July 3, 2024

Item Creation Package Spec & Body

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

EBS : Package Development Process

====================== Package Specification ================================== CREATE OR REPLACE PACKAGE xx_emp_package IS     PROCEDURE lo...