Monday 26 March 2018

Reverse Year Wise Data

                                                   
                                                     input a date and an year number



I want to input a date and an year number in integer want the below output.

--10 is year as input
--30-Sep-2017 is input date (I need 30-sep-2017,30-Sep-2016,30-Sep-2015 till the number of year i.e. 10 in this case )

CREATE OR REPLACE PROCEDURE XXHRS_FB_DATES(P_START_DATE DATE,P_NUMBER_YEARS NUMBER)
AS
L_START_DATE DATE:=P_START_DATE;
L_RETRIVE_DATA DATE;
BEGIN
SELECT ADD_MONTHS(L_START_DATE,12) INTO L_RETRIVE_DATA FROM DUAL;
FOR LION IN 1..P_NUMBER_YEARS LOOP
DBMS_OUTPUT.PUT_LINE(L_RETRIVE_DATA);
L_RETRIVE_DATA :=ADD_MONTHS(L_RETRIVE_DATA,-12);
END LOOP;
END;


EXEC XXHRS_FB_DATES('15-JAN-2018',5)

Function Queries(Return More Than one Rows)

                                           Function Queries(Return More Than one Rows)



1.In table ABC i have columns like
name gender sal
------ ------- -----
a M 1000
b F 
c F 2000
d M 
e F 3000
I want to change gender from 'M' to 'F' and 'F' to 'M
where ever salary is null.How its possible??


create or replace type xxorc_fb as object
(gender varchar2(20));

create or replace type xxorc_fb_ta as table of xxorc_fb;

CREATE OR REPLACE function XXHRS_FB3 
RETURN xxorc_fb_ta
as
p_gen1 xxorc_fb_ta;
p_gen xxorc_fb_ta;
begin
--select xxorc_fb(GENDER)bulk collect into p_gen FROM XXHRS_FB2 WHERE id is null;
SELECT xxorc_fb( CASE GENDER WHEN 'M' THEN 'F'
WHEN 'F' THEN 'M'
ELSE 'G' END )bulk collect into p_gen1
FROM XXHRS_FB2 WHERE id is null;
return p_gen1;
end;


select XXHRS_FB3 from dual

                                         Any Queries Mail Me vivekexpertize@gmail.com

Sunday 25 March 2018

Customer Transaction Interface

                                         AR Customer Transaction Interface:

INSERT INTO ra_interface_lines_all
                    (INTERFACE_LINE_ID " must if not error occured in main program",interface_line_context,
                     interface_line_attribute1,
                     batch_source_name "RA_BATCH_SOURCES_ALL"
                     , set_of_books_id,
                     description, taxable_flag,
                     amount_includes_tax_flag, line_type,
                     currency_code, amount,
                     cust_trx_type_name, term_name,
                     orig_system_bill_customer_id "pARTY_ID",
                     orig_system_bill_address_id "HZ_CUST_ACCT_SITES_ALL.ORIG_SYSTEM_REFERENCE.user_org_id.user_present_using_responsibility",
                     orig_system_bill_customer_ref,
                     orig_system_bill_address_ref,
                     conversion_type, conversion_rate,
                     trx_date, gl_date "MUST_BE_OPEN", trx_number,
                     quantity, unit_selling_price,
                     created_by, creation_date,
                     last_updated_by, last_update_date,
                     last_update_login, org_id,CUST_TRX_TYPE_ID) VALUES
                     (54454544,'CONVERSION',RA_CUST_TRX_LINE_SALESREPS_S.NEXTVAL,'LEGACY',
                     1,'Ar_Defense_Cust1',NULL,'N','LINE','USD',100,'Invoice','IMMEDIATE',
                     1146,4041,NULL,NULL,'User',1,SYSDATE,'25-MAR-2017',NULL,3,
                     200,FND_GLOBAL.LOGIN_ID,SYSDATE,FND_GLOBAL.LOGIN_ID,SYSDATE,FND_GLOBAL.LOGIN_ID,204,1)




---------------------------------------------------------------------------------------------------------------------------

         SELECT RECEIPT_METHOD_ID FROM RA_interface_lines_all where INTERFACE_LINE_ID=1296256  
         
        
     
          SELECT * FROM RA_interface_lines_all where INTERFACE_LINE_ID=54454544 
          
          WHERE --INTERFACE_LINE_ATTRIBUTE1='700538'
           batch_source_name='LEGACY' ORDER BY CREATION_DATE DESC
                     
                     
                     SELECT FND_GLOBAL.LOGIN_ID FROM DUAL
                     
                     SELECT FND_PROFILE.VALUE('USER_ID') FROM DUAL
                     
                     SELECT * FROM RA_INTERFACE_ERRORS
          
                     SELECT * FROM DBA_SEQUENCES WHERE SEQUENCE_NAME LIKE 'RA_%'
                     
                     SELECT * FROM RA_BATCH_SOURCES_ALL WHERE NAME LIKE 'CONVERSION'
                     
                     SELECT * FROM GL_LEDGERS WHERE NAME LIKE 'Visi%Op%'
                     
                     SELECT * FROM HZ_PARTIES WHERE PARTY_NAME LIKE 'Department of Defense%'
                     
                     SELECT * FROM HZ_CUST_ACCT_SITES_ALL WHERE CUST_ACCOUNT_ID=1146 and org_id=204
                     
                     SELECT * FROM HZ_CUST_ACCOUNTS WHERE CUST_ACCOUNT_ID=1146
                     
                     SELECT * FROM RA_CUST_TRX_TYPES_ALL-- where CUST_TRX_TYPE_ID=1923
                     
                     SELECT * FROM HZ_LOCATIONS --WHERE LOCATION_ID=4403
                     
                     SELECT * FROM RA_CUSTOMER_TRX_ALL WHERE BILL_TO_CUSTOMER_ID=1146 AND TRX_NUMBER='11064'
                     
                     SELECT * FROM RA_TERMS WHERE NAME LIKE '2/10, Net 30%'
                     
                     SELECT CUST_TRX_TYPE_ID FROM RA_INTERFACE_LINES_ALL
                     

                     SELECT * FROM AR_RECEIPT_METHODS WHERE NAME LIKE 'Automatic Receipts%'  --  1363

--------------------------------------------------------------------------------------------------------

Single Insertion Script :


SET DEFINE OFF;
Insert into AR.RA_INTERFACE_LINES_ALL
   (INTERFACE_LINE_ID, INTERFACE_LINE_CONTEXT, INTERFACE_LINE_ATTRIBUTE1, INTERFACE_LINE_ATTRIBUTE2, INTERFACE_LINE_ATTRIBUTE3, INTERFACE_LINE_ATTRIBUTE4, INTERFACE_LINE_ATTRIBUTE5, INTERFACE_LINE_ATTRIBUTE6, INTERFACE_LINE_ATTRIBUTE7, INTERFACE_LINE_ATTRIBUTE8, BATCH_SOURCE_NAME, SET_OF_BOOKS_ID, LINE_TYPE, DESCRIPTION, CURRENCY_CODE, AMOUNT, CUST_TRX_TYPE_NAME, CUST_TRX_TYPE_ID, TERM_NAME, TERM_ID, ORIG_SYSTEM_BATCH_NAME, ORIG_SYSTEM_BILL_CUSTOMER_REF, ORIG_SYSTEM_BILL_CUSTOMER_ID, ORIG_SYSTEM_BILL_ADDRESS_REF, ORIG_SYSTEM_BILL_ADDRESS_ID, ORIG_SYSTEM_BILL_CONTACT_REF, ORIG_SYSTEM_BILL_CONTACT_ID, ORIG_SYSTEM_SHIP_CUSTOMER_REF, ORIG_SYSTEM_SHIP_CUSTOMER_ID, ORIG_SYSTEM_SHIP_ADDRESS_REF, ORIG_SYSTEM_SHIP_ADDRESS_ID, ORIG_SYSTEM_SHIP_CONTACT_REF, ORIG_SYSTEM_SHIP_CONTACT_ID, ORIG_SYSTEM_SOLD_CUSTOMER_REF, ORIG_SYSTEM_SOLD_CUSTOMER_ID, LINK_TO_LINE_ID, LINK_TO_LINE_CONTEXT, LINK_TO_LINE_ATTRIBUTE1, LINK_TO_LINE_ATTRIBUTE2, LINK_TO_LINE_ATTRIBUTE3, LINK_TO_LINE_ATTRIBUTE4, LINK_TO_LINE_ATTRIBUTE5, LINK_TO_LINE_ATTRIBUTE6, LINK_TO_LINE_ATTRIBUTE7, RECEIPT_METHOD_NAME, RECEIPT_METHOD_ID, CONVERSION_TYPE, CONVERSION_DATE, CONVERSION_RATE, CUSTOMER_TRX_ID, TRX_DATE, GL_DATE, DOCUMENT_NUMBER, TRX_NUMBER, LINE_NUMBER, QUANTITY, QUANTITY_ORDERED, UNIT_SELLING_PRICE, UNIT_STANDARD_PRICE, PRINTING_OPTION, INTERFACE_STATUS, REQUEST_ID, RELATED_BATCH_SOURCE_NAME, RELATED_TRX_NUMBER, RELATED_CUSTOMER_TRX_ID, PREVIOUS_CUSTOMER_TRX_ID, CREDIT_METHOD_FOR_ACCT_RULE, CREDIT_METHOD_FOR_INSTALLMENTS, REASON_CODE, TAX_RATE, TAX_CODE, TAX_PRECEDENCE, EXCEPTION_ID, EXEMPTION_ID, SHIP_DATE_ACTUAL, FOB_POINT, SHIP_VIA, WAYBILL_NUMBER, INVOICING_RULE_NAME, INVOICING_RULE_ID, ACCOUNTING_RULE_NAME, ACCOUNTING_RULE_ID, ACCOUNTING_RULE_DURATION, RULE_START_DATE, PRIMARY_SALESREP_NUMBER, PRIMARY_SALESREP_ID, SALES_ORDER, SALES_ORDER_LINE, SALES_ORDER_DATE, SALES_ORDER_SOURCE, SALES_ORDER_REVISION, PURCHASE_ORDER, PURCHASE_ORDER_REVISION, PURCHASE_ORDER_DATE, AGREEMENT_NAME, AGREEMENT_ID, MEMO_LINE_NAME, MEMO_LINE_ID, INVENTORY_ITEM_ID, MTL_SYSTEM_ITEMS_SEG1, MTL_SYSTEM_ITEMS_SEG2, MTL_SYSTEM_ITEMS_SEG3, MTL_SYSTEM_ITEMS_SEG4, MTL_SYSTEM_ITEMS_SEG5, MTL_SYSTEM_ITEMS_SEG6, MTL_SYSTEM_ITEMS_SEG7, MTL_SYSTEM_ITEMS_SEG8, MTL_SYSTEM_ITEMS_SEG9, MTL_SYSTEM_ITEMS_SEG10, MTL_SYSTEM_ITEMS_SEG11, MTL_SYSTEM_ITEMS_SEG12, MTL_SYSTEM_ITEMS_SEG13, MTL_SYSTEM_ITEMS_SEG14, MTL_SYSTEM_ITEMS_SEG15, MTL_SYSTEM_ITEMS_SEG16, MTL_SYSTEM_ITEMS_SEG17, MTL_SYSTEM_ITEMS_SEG18, MTL_SYSTEM_ITEMS_SEG19, MTL_SYSTEM_ITEMS_SEG20, REFERENCE_LINE_ID, REFERENCE_LINE_CONTEXT, REFERENCE_LINE_ATTRIBUTE1, REFERENCE_LINE_ATTRIBUTE2, REFERENCE_LINE_ATTRIBUTE3, REFERENCE_LINE_ATTRIBUTE4, REFERENCE_LINE_ATTRIBUTE5, REFERENCE_LINE_ATTRIBUTE6, REFERENCE_LINE_ATTRIBUTE7, TERRITORY_ID, TERRITORY_SEGMENT1, TERRITORY_SEGMENT2, TERRITORY_SEGMENT3, TERRITORY_SEGMENT4, TERRITORY_SEGMENT5, TERRITORY_SEGMENT6, TERRITORY_SEGMENT7, TERRITORY_SEGMENT8, TERRITORY_SEGMENT9, TERRITORY_SEGMENT10, TERRITORY_SEGMENT11, TERRITORY_SEGMENT12, TERRITORY_SEGMENT13, TERRITORY_SEGMENT14, TERRITORY_SEGMENT15, TERRITORY_SEGMENT16, TERRITORY_SEGMENT17, TERRITORY_SEGMENT18, TERRITORY_SEGMENT19, TERRITORY_SEGMENT20, ATTRIBUTE_CATEGORY, ATTRIBUTE1, ATTRIBUTE2, ATTRIBUTE3, ATTRIBUTE4, ATTRIBUTE5, ATTRIBUTE6, ATTRIBUTE7, ATTRIBUTE8, ATTRIBUTE9, ATTRIBUTE10, ATTRIBUTE11, ATTRIBUTE12, ATTRIBUTE13, ATTRIBUTE14, ATTRIBUTE15, HEADER_ATTRIBUTE_CATEGORY, HEADER_ATTRIBUTE1, HEADER_ATTRIBUTE2, HEADER_ATTRIBUTE3, HEADER_ATTRIBUTE4, HEADER_ATTRIBUTE5, HEADER_ATTRIBUTE6, HEADER_ATTRIBUTE7, HEADER_ATTRIBUTE8, HEADER_ATTRIBUTE9, HEADER_ATTRIBUTE10, HEADER_ATTRIBUTE11, HEADER_ATTRIBUTE12, HEADER_ATTRIBUTE13, HEADER_ATTRIBUTE14, HEADER_ATTRIBUTE15, COMMENTS, INTERNAL_NOTES, INITIAL_CUSTOMER_TRX_ID, USSGL_TRANSACTION_CODE_CONTEXT, USSGL_TRANSACTION_CODE, ACCTD_AMOUNT, CUSTOMER_BANK_ACCOUNT_ID, CUSTOMER_BANK_ACCOUNT_NAME, UOM_CODE, UOM_NAME, DOCUMENT_NUMBER_SEQUENCE_ID, LINK_TO_LINE_ATTRIBUTE10, LINK_TO_LINE_ATTRIBUTE11, LINK_TO_LINE_ATTRIBUTE12, LINK_TO_LINE_ATTRIBUTE13, LINK_TO_LINE_ATTRIBUTE14, LINK_TO_LINE_ATTRIBUTE15, LINK_TO_LINE_ATTRIBUTE8, LINK_TO_LINE_ATTRIBUTE9, REFERENCE_LINE_ATTRIBUTE10, REFERENCE_LINE_ATTRIBUTE11, REFERENCE_LINE_ATTRIBUTE12, REFERENCE_LINE_ATTRIBUTE13, REFERENCE_LINE_ATTRIBUTE14, REFERENCE_LINE_ATTRIBUTE15, REFERENCE_LINE_ATTRIBUTE8, REFERENCE_LINE_ATTRIBUTE9, INTERFACE_LINE_ATTRIBUTE10, INTERFACE_LINE_ATTRIBUTE11, INTERFACE_LINE_ATTRIBUTE12, INTERFACE_LINE_ATTRIBUTE13, INTERFACE_LINE_ATTRIBUTE14, INTERFACE_LINE_ATTRIBUTE15, INTERFACE_LINE_ATTRIBUTE9, VAT_TAX_ID, REASON_CODE_MEANING, LAST_PERIOD_TO_CREDIT, PAYING_CUSTOMER_ID, PAYING_SITE_USE_ID, TAX_EXEMPT_FLAG, TAX_EXEMPT_REASON_CODE, TAX_EXEMPT_REASON_CODE_MEANING, TAX_EXEMPT_NUMBER, SALES_TAX_ID, CREATED_BY, CREATION_DATE, LAST_UPDATED_BY, LAST_UPDATE_DATE, LAST_UPDATE_LOGIN, LOCATION_SEGMENT_ID, MOVEMENT_ID, ORG_ID, AMOUNT_INCLUDES_TAX_FLAG, HEADER_GDF_ATTR_CATEGORY, HEADER_GDF_ATTRIBUTE1, HEADER_GDF_ATTRIBUTE2, HEADER_GDF_ATTRIBUTE3, HEADER_GDF_ATTRIBUTE4, HEADER_GDF_ATTRIBUTE5, HEADER_GDF_ATTRIBUTE6, HEADER_GDF_ATTRIBUTE7, HEADER_GDF_ATTRIBUTE8, HEADER_GDF_ATTRIBUTE9, HEADER_GDF_ATTRIBUTE10, HEADER_GDF_ATTRIBUTE11, HEADER_GDF_ATTRIBUTE12, HEADER_GDF_ATTRIBUTE13, HEADER_GDF_ATTRIBUTE14, HEADER_GDF_ATTRIBUTE15, HEADER_GDF_ATTRIBUTE16, HEADER_GDF_ATTRIBUTE17, HEADER_GDF_ATTRIBUTE18, HEADER_GDF_ATTRIBUTE19, HEADER_GDF_ATTRIBUTE20, HEADER_GDF_ATTRIBUTE21, HEADER_GDF_ATTRIBUTE22, HEADER_GDF_ATTRIBUTE23, HEADER_GDF_ATTRIBUTE24, HEADER_GDF_ATTRIBUTE25, HEADER_GDF_ATTRIBUTE26, HEADER_GDF_ATTRIBUTE27, HEADER_GDF_ATTRIBUTE28, HEADER_GDF_ATTRIBUTE29, HEADER_GDF_ATTRIBUTE30, LINE_GDF_ATTR_CATEGORY, LINE_GDF_ATTRIBUTE1, LINE_GDF_ATTRIBUTE2, LINE_GDF_ATTRIBUTE3, LINE_GDF_ATTRIBUTE4, LINE_GDF_ATTRIBUTE5, LINE_GDF_ATTRIBUTE6, LINE_GDF_ATTRIBUTE7, LINE_GDF_ATTRIBUTE8, LINE_GDF_ATTRIBUTE9, LINE_GDF_ATTRIBUTE10, LINE_GDF_ATTRIBUTE11, LINE_GDF_ATTRIBUTE12, LINE_GDF_ATTRIBUTE13, LINE_GDF_ATTRIBUTE14, LINE_GDF_ATTRIBUTE15, LINE_GDF_ATTRIBUTE16, LINE_GDF_ATTRIBUTE17, LINE_GDF_ATTRIBUTE18, LINE_GDF_ATTRIBUTE19, LINE_GDF_ATTRIBUTE20, RESET_TRX_DATE_FLAG, PAYMENT_SERVER_ORDER_NUM, APPROVAL_CODE, ADDRESS_VERIFICATION_CODE, WAREHOUSE_ID, TRANSLATED_DESCRIPTION, CONS_BILLING_NUMBER, PROMISED_COMMITMENT_AMOUNT, PAYMENT_SET_ID, ORIGINAL_GL_DATE, CONTRACT_LINE_ID, CONTRACT_ID, SOURCE_DATA_KEY1, SOURCE_DATA_KEY2, SOURCE_DATA_KEY3, SOURCE_DATA_KEY4, SOURCE_DATA_KEY5, INVOICED_LINE_ACCTG_LEVEL, OVERRIDE_AUTO_ACCOUNTING_FLAG, SOURCE_APPLICATION_ID, SOURCE_EVENT_CLASS_CODE, SOURCE_ENTITY_CODE, SOURCE_TRX_ID, SOURCE_TRX_LINE_ID, SOURCE_TRX_LINE_TYPE, SOURCE_TRX_DETAIL_TAX_LINE_ID, HISTORICAL_FLAG, TAX_REGIME_CODE, TAX, TAX_STATUS_CODE, TAX_RATE_CODE, TAX_JURISDICTION_CODE, TAXABLE_AMOUNT, TAXABLE_FLAG, LEGAL_ENTITY_ID, PARENT_LINE_ID, DEFERRAL_EXCLUSION_FLAG, PAYMENT_TRXN_EXTENSION_ID, RULE_END_DATE, PAYMENT_ATTRIBUTES, APPLICATION_ID, BILLING_DATE, TRX_BUSINESS_CATEGORY, PRODUCT_FISC_CLASSIFICATION, PRODUCT_CATEGORY, PRODUCT_TYPE, LINE_INTENDED_USE, ASSESSABLE_VALUE, DOCUMENT_SUB_TYPE, DEFAULT_TAXATION_COUNTRY, USER_DEFINED_FISC_CLASS, TAXED_UPSTREAM_FLAG, TAX_INVOICE_DATE, TAX_INVOICE_NUMBER, PAYMENT_TYPE_CODE, MANDATE_LAST_TRX_FLAG)
 Values
   (54454544, 'CONVERSION', '700542', NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    'LEGACY', 1, 'LINE', 'Ar_Defense_Cust1', 'USD', 
    100, 'Invoice', 1, 'IMMEDIATE', 5, 
    NULL, NULL, 1146, NULL, 4041, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, 'User', NULL, 1, NULL, 
    TO_DATE('03/21/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('12/20/2017 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), NULL, NULL, NULL, 
    3, NULL, 200, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    -1, TO_DATE('03/21/2018 11:46:37', 'MM/DD/YYYY HH24:MI:SS'), 1013497, TO_DATE('03/21/2018 11:48:05', 'MM/DD/YYYY HH24:MI:SS'), 5614889, 
    NULL, NULL, 204, 'N', NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL, NULL, NULL, NULL, 
    NULL, NULL);

COMMIT;

                                               Any Queries Mail Me vivekexpertize@gmail.com

Monday 19 March 2018

Mass Additions Interface

                                                         Asset Interface

Data File:

CREATE TABLE APPS.XXORC_ASSETS_INSERT
(
  STG_ID                        NUMBER,
  ASSET_NUMBER                  VARCHAR2(50 BYTE),
  TAG_NUMBER                    VARCHAR2(50 BYTE),
  SERIAL_NUMBER                 VARCHAR2(50 BYTE),
  IN_USE_FLAG                   VARCHAR2(50 BYTE),
  NEW_USED                      VARCHAR2(50 BYTE),
  OWNED_LEASED                  VARCHAR2(50 BYTE),
  CURRENT_UNITS                 NUMBER,
  ASSET_DESCRIPTION             VARCHAR2(50 BYTE),
  ASSET_KEY_CCID                NUMBER,
  CATEGORY_ID                   NUMBER,
  ASSET_TYPE                    VARCHAR2(50 BYTE),
  SET_OF_BOOKS_ID               NUMBER,
  DATE_PLACED_IN_SERVICE        DATE,
  DEPRN_START_DATE              DATE,
  DEPRN_METHOD_CODE             VARCHAR2(50 BYTE),
  PRORATE_CONVENTION_CODE       VARCHAR2(50 BYTE),
  LIFE_IN_MONTHS                NUMBER,
  ORIGINAL_COST                 NUMBER,
  BOOK_TYPE_CODE                VARCHAR2(50 BYTE),
  UNITS_ASSIGNED                NUMBER,
  EXPENSE_CCID                  NUMBER,
  LOCATION_CCID                 NUMBER,
  INVOICE_LINE_NUMBER           NUMBER,
  AP_DISTRIBUTION_LINE_NUMBER   NUMBER,
  DESCRIPTION                   VARCHAR2(50 BYTE),
  PO_VENDOR_ID                  NUMBER,
  PO_NUMBER                     NUMBER,
  EMPLOYEE_NUM                  NUMBER,
  PAYABLES_BATCH_NAME           VARCHAR2(50 BYTE),
  FIXED_ASSETS_COST             NUMBER,
  DELETED_FLAG                  VARCHAR2(50 BYTE),
  BATCH_ID                      NUMBER,
  PAYABLES_CODE_COMBINATION_ID  NUMBER,
  CONCATENATED_SEG              VARCHAR2(50 BYTE),
  FEEDER_SYSTEM_NAME            VARCHAR2(50 BYTE),
  PAYABLES_COST                 NUMBER,
  INV_INDICATOR                 NUMBER,
  CREATION_DATE                 DATE,
  CREATED_BY                    NUMBER,
  LAST_UPDATE_DATE              DATE,
  LAST_UPDATED_BY               NUMBER,
  LAST_UPDATE_LOGIN             NUMBER,
  VENDOR_ID                     NUMBER,
  VENDOR_NAME                   VARCHAR2(50 BYTE),
  INVOICE_ID                    NUMBER,
  INVOICE_NUMBER                VARCHAR2(50 BYTE),
  ATTRIBUT1                     NUMBER,
  ATTRIBUT2                     NUMBER,
  ATTRIBUT3                     NUMBER
)

Insert Data Into Custom Table :

Insert into APPS.XXORC_ASSETS_INSERT
   (STG_ID, ASSET_NUMBER, TAG_NUMBER, SERIAL_NUMBER, IN_USE_FLAG, NEW_USED, OWNED_LEASED, CURRENT_UNITS, ASSET_DESCRIPTION, ASSET_KEY_CCID, CATEGORY_ID, ASSET_TYPE, SET_OF_BOOKS_ID, DATE_PLACED_IN_SERVICE, DEPRN_START_DATE, DEPRN_METHOD_CODE, PRORATE_CONVENTION_CODE, LIFE_IN_MONTHS, ORIGINAL_COST, BOOK_TYPE_CODE, UNITS_ASSIGNED, EXPENSE_CCID, LOCATION_CCID, INVOICE_LINE_NUMBER, AP_DISTRIBUTION_LINE_NUMBER, DESCRIPTION, PO_VENDOR_ID, PO_NUMBER, EMPLOYEE_NUM, PAYABLES_BATCH_NAME, FIXED_ASSETS_COST, DELETED_FLAG, BATCH_ID, PAYABLES_CODE_COMBINATION_ID, CONCATENATED_SEG, FEEDER_SYSTEM_NAME, PAYABLES_COST, INV_INDICATOR, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, VENDOR_ID, VENDOR_NAME, INVOICE_ID, INVOICE_NUMBER, ATTRIBUT1, ATTRIBUT2, ATTRIBUT3)
 Values
   (1, NULL, '6845412', '87542', 'YES', 
    'NEW', 'OWNED', 2, 'VIVEK CORP', 2, 
    33, 'CAPITALIZED', 1024, TO_DATE('09/30/2007 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('09/30/2007 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 
    'STL', 'MID-MONTH', 240, 50000, 'OPS CORP', 
    1, 17021, 2, 1, 1, 
    'MRF CORP', NULL, 962, NULL, 'SRT CORP', 
    2000, 'NO', 1000, 13528, NULL, 
    'ACK', 9000, 1, TO_DATE('03/01/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1013497, 
    TO_DATE('03/01/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1013497, 1013497, 1014, 'Consolidated Supplies', 
    NULL, '1176223', NULL, NULL, NULL);
Insert into APPS.XXORC_ASSETS_INSERT
   (STG_ID, ASSET_NUMBER, TAG_NUMBER, SERIAL_NUMBER, IN_USE_FLAG, NEW_USED, OWNED_LEASED, CURRENT_UNITS, ASSET_DESCRIPTION, ASSET_KEY_CCID, CATEGORY_ID, ASSET_TYPE, SET_OF_BOOKS_ID, DATE_PLACED_IN_SERVICE, DEPRN_START_DATE, DEPRN_METHOD_CODE, PRORATE_CONVENTION_CODE, LIFE_IN_MONTHS, ORIGINAL_COST, BOOK_TYPE_CODE, UNITS_ASSIGNED, EXPENSE_CCID, LOCATION_CCID, INVOICE_LINE_NUMBER, AP_DISTRIBUTION_LINE_NUMBER, DESCRIPTION, PO_VENDOR_ID, PO_NUMBER, EMPLOYEE_NUM, PAYABLES_BATCH_NAME, FIXED_ASSETS_COST, DELETED_FLAG, BATCH_ID, PAYABLES_CODE_COMBINATION_ID, CONCATENATED_SEG, FEEDER_SYSTEM_NAME, PAYABLES_COST, INV_INDICATOR, CREATION_DATE, CREATED_BY, LAST_UPDATE_DATE, LAST_UPDATED_BY, LAST_UPDATE_LOGIN, VENDOR_ID, VENDOR_NAME, INVOICE_ID, INVOICE_NUMBER, ATTRIBUT1, ATTRIBUT2, ATTRIBUT3)
 Values
   (1, NULL, '6845412', '87542', 'YES', 
    'NEW', 'OWNED', 2, 'VIVEK CORP', 2, 
    33, 'CAPITALIZED', 1024, TO_DATE('09/30/2007 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), TO_DATE('09/30/2007 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 
    'STL', 'MID-MONTH', 240, 50000, 'OPS CORP', 
    1, 17021, 2, 1, 1, 
    'MRF CORP', NULL, 962, NULL, 'SRT CORP', 
    2000, 'NO', 1000, 13528, NULL, 
    'ACK', 9000, 1, TO_DATE('03/01/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1013497, 
    TO_DATE('03/01/2018 00:00:00', 'MM/DD/YYYY HH24:MI:SS'), 1013497, 1013497, 1014, 'Consolidated Supplies', 

    NULL, '1176223', NULL, NULL, NULL);

Like This U Can As Many Record :

Step 3:


CREATE OR REPLACE PACKAGE BODY APPS.xxHRS_assets_webadi_package
AS
   PROCEDURE xxHRS_load_procedure (
      p_stg_id                         NUMBER,
      p_asset_number                   VARCHAR2,
      p_tag_number                     VARCHAR2,
      p_serial_number                  VARCHAR2,
      p_in_use_flag                    VARCHAR2,
      p_new_used                       VARCHAR2,
      p_owned_leased                   VARCHAR2,
      p_current_units                  NUMBER,
      p_asset_description              VARCHAR2,
      p_asset_key_ccid                 NUMBER,
      p_category_id                    NUMBER,
      p_asset_type                     VARCHAR2,
      p_set_of_books_id                NUMBER,
      p_date_placed_in_service         DATE,
      p_deprn_start_date               DATE,
      p_deprn_method_code              VARCHAR2,
      p_prorate_convention_code        VARCHAR2,
      p_life_in_months                 NUMBER,
      p_original_cost                  NUMBER,
      p_book_type_code                 VARCHAR2,
      p_units_assigned                 NUMBER,
      p_expense_ccid                   NUMBER,
      p_location_ccid                  NUMBER,
      p_invoice_line_number            NUMBER,
      p_ap_distribution_line_number    NUMBER,
      p_description                    VARCHAR2,
      p_po_vendor_id                   NUMBER,
      p_po_number                      NUMBER,
      p_employee_num                   NUMBER,
      p_payables_batch_name            VARCHAR2,
      p_fixed_assets_cost              NUMBER,
      p_deleted_flag                   VARCHAR2,
      p_batch_id                       NUMBER,
      p_payables_code_combination_id   NUMBER,
      p_concatenated_seg               VARCHAR2,
      p_feeder_system_name             VARCHAR2,
      p_payables_cost                  NUMBER,
      p_inv_indicator                  NUMBER,
      creation_date                    DATE,
      created_by                       NUMBER,
      last_update_date                 DATE,
      last_updated_by                  NUMBER,
      last_update_login                NUMBER,
      p_vendor_id                      NUMBER,
      p_vendor_name                    VARCHAR2,
      p_invoice_id                     NUMBER,
      p_invoice_number                 VARCHAR2,
      p_attribut1                      NUMBER,
      p_attribut2                      NUMBER,
      p_attribut3                      NUMBER
      
   )
  
   IS
      l_error_message         VARCHAR2 (3000);
      l_error_code            VARCHAR2 (2) DEFAULT 'V';
      l_org_id                NUMBER;
      l_invoice_num           VARCHAR2 (60);
      l_vendor_id             NUMBER;
      l_code_combination_id   NUMBER;
      l_category_id           NUMBER;
      l_tag_number            NUMBER;
      l_serial_number         NUMBER;
      l_method_code           VARCHAR2 (80);
      l_prorate_convention    VARCHAR2 (80);
      l_life_in_months        NUMBER;
      l_payable_code_id       NUMBER;
      l_in_use_flag           VARCHAR2 (30);
      l_owned_leased          VARCHAR2 (30);
      l_person_id             NUMBER;
      PS_COUNT                          NUMBER;
      l_raise_error           EXCEPTION;
   BEGIN
      l_error_message := '';
      
      --Invoice Number Validations
----------------------------invoice validation-------------------------------------------------
--           BEGIN
--         if p_invoice_number is null then
--         L_ERROR_CODE :='E';
--          l_error_message :=
--                  l_error_message
--               || ','
--               || 'Invoice number Should Not Be Null ';
--            l_error_code := 'E';
--         end if;
--        begin
--         SELECT DISTINCT api.invoice_num
--           INTO l_invoice_num
--           FROM ap_invoices_all api
--          WHERE UPPER (api.invoice_num) = UPPER (p_invoice_number);
--           exception
--       when no_data_found then
--            NULL;
--         WHEN OTHERS
--         THEN
--l_error_code := 'E';
--            l_error_message :=
--                  l_error_message
--               || ','
--               || 'Other Errors with invoice number '
--               || SQLCODE
--               || SQLERRM;
--            
--      END;
--          IF l_invoice_num =p_invoice_number THEN
--- l_error_code := 'E';
--            l_error_message :=
--                  l_error_message
--               || ','
--               || 'Invoice number already exist in oracle ';
--           
--         END IF;
--      END; 
 ----------------invoice validation-------------------------------------------------
     l_invoice_num := NULL;

      BEGIN
         SELECT invoice_num
          INTO l_invoice_num
           FROM ap_invoices_all
          WHERE invoice_num = p_invoice_number
           AND 
            org_id = fnd_profile.VALUE ('ORG_ID');

         IF l_invoice_num IS NULL
         THEN
            l_error_message :=
               l_error_message || ','
               || ' Invoice number Should Not Be Null ';
            l_error_code := 'E';
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
               l_error_message || ','
               || ' Please enter valid invoice number ';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' other exception for given invoice number '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;
-----------------------invoice validation error-------------------------
      --Supplier Name Validation
      l_vendor_id := NULL;

      BEGIN
         SELECT distinct vendor_id
           INTO l_vendor_id
           FROM ap_suppliers aps
          WHERE (   UPPER (aps.vendor_name) = UPPER (p_vendor_name)
                 OR UPPER (aps.segment1) = UPPER (p_vendor_id)
                );
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                            l_error_message || ',' || 'Supplier not defined ';
            l_error_code := 'E';
         WHEN TOO_MANY_ROWS
         THEN
            l_error_message :=
                   l_error_message || ',' || 'Too Many Records for Supplier ';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'Other Errors with Supplier '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

      --Category ID Validations
      l_category_id := NULL;

      BEGIN
         SELECT distinct category_id
          INTO l_category_id
           FROM fa_categories 
            where category_id=p_category_id; 
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'no data found for given Asset Category';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' others exception for given Asset Category '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

       --Tag Number Validations
--      BEGIN
--         SELECT tag_number
--           INTO l_tag_number
--           FROM fa_additions_b fab
--          WHERE UPPER (fab.tag_number) = UPPER (p_tag_number);

--         IF l_tag_number > 0
--         THEN
--            RAISE l_raise_error;
--         END IF;
--      EXCEPTION
--         WHEN l_raise_error
--         THEN
--            l_error_message :=
--               l_error_message || ','
--               || 'Tag Number Already Exist in Oracle ';
--            l_error_code := 'E';
--      END;
----------------------tag validation------------------
     begin        
  if p_tag_number is null then
         L_ERROR_CODE :='E';
          l_error_message :=
                  l_error_message
               || ','
               || 'Tag number Should Not Be Null ';
            l_error_code := 'E';
         end if;
         begin
         SELECT distinct tag_number
           INTO l_tag_number
           FROM fa_additions_b 
          WHERE UPPER (tag_number) = UPPER (p_tag_number);
exception
       when no_data_found then
           NULL;
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'Other Errors with Tag number '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;
          IF l_tag_number =p_tag_number THEN
           l_error_code := 'E';
            l_error_message :=
                  l_error_message
               || ','
               || 'Tag number already exist in oracle ';
         END IF;
         END;
       
      ---------------------tag----------------

      --Serial Number Validations
--      BEGIN
--         SELECT serial_number
--           INTO l_serial_number
--           FROM fa_additions_b fab
--          WHERE UPPER (serial_number) = UPPER (p_serial_number);

--         IF l_serial_number > 0
--         THEN
--            RAISE l_raise_error;
--         END IF;
--      EXCEPTION
--         WHEN l_raise_error
--         THEN
--            l_error_message :=
--                  l_error_message
--               || ','
--               || 'Serial Number Already Exist in Oracle ';
--            l_error_code := 'E';
--      END;  
 BEGIN
  if p_serial_number is null then
         L_ERROR_CODE :='E';
          l_error_message :=
                  l_error_message
               || ','
               || 'Serial number Should Not Be Null ';
            l_error_code := 'E';
            end if;
            begin
         SELECT distinct serial_number
           INTO l_serial_number
           FROM fa_additions_b 
          WHERE UPPER (serial_number) = UPPER (p_serial_number);
exception
       when no_data_found then
           NULL;
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'Other Errors with Serial number '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;
          IF l_serial_number =p_serial_number THEN
           l_error_code := 'E';
            l_error_message :=
                  l_error_message
               || ','
               || 'Serial number already exist in oracle ';
         END IF;
         END; 

      --validation of  Depreciation Method
      l_method_code := NULL;

      BEGIN
         SELECT DISTINCT method_code
           INTO l_method_code
           FROM fa_methods
          WHERE method_code = p_deprn_method_code;

         IF l_method_code IS NULL
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' Please enter valid DEPRN_METHOD_CODE';
            l_error_code := 'E';
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                  l_error_message || ',' || ' Please enter DEPRN_METHOD_CODES';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' Please enter DEPRN_METHOD_CODE'
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

      --validation of prorate_convention_code
      l_prorate_convention := NULL;

      BEGIN
         SELECT DISTINCT prorate_convention_code
           INTO l_prorate_convention
           FROM fa_books
          WHERE prorate_convention_code = p_prorate_convention_code;

         IF l_prorate_convention IS NULL
         THEN
            l_error_message :=
                  l_error_message || ',' || ' Please PRORATE_CONVENTION_CODES';
            l_error_code := 'E';
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                  l_error_message || ',' || ' Please PRORATE_CONVENTION_CODE NO DATA';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' Please PRORATE_CONVENTION_CODE'
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

      --Validation for LIFE_IN_MONTHS
      l_life_in_months := NULL;

      BEGIN
         SELECT DISTINCT life_in_months
           INTO l_life_in_months
           FROM fa_books
          WHERE life_in_months = p_life_in_months;

         IF l_life_in_months IS NULL
         THEN
            l_error_message :=
               l_error_message || ','
               || '  LIFE_IN_MONTHS not be null ';
            l_error_code := 'E';
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
               l_error_message || ',' || ' Please enter valid LIFE_IN_MONTHS';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' Please enter valid LIFE_IN_MONTHS'
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

      --Validation of PAYABLES_CODE_COMBINATION_ID
      l_payable_code_id := NULL;

      BEGIN
         SELECT code_combination_id
           INTO l_payable_code_id
           FROM gl_code_combinations_kfv
          WHERE code_combination_id = p_payables_code_combination_id;
           IF l_payable_code_id IS NULL
         THEN
            l_error_message :=
               l_error_message || ','
               || 'payable code not be null ';
            l_error_code := 'E';
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                          l_error_message || ',' || 'Enter a Valid Segments ';
            l_error_code := 'E';
         WHEN TOO_MANY_ROWS
         THEN
            l_error_message := l_error_message || ',' || 'Too Many Segments';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'Other Errors with Segments'
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

      --Validation of In Use Flag
      l_in_use_flag := NULL;

      BEGIN
         SELECT in_use_flag
           INTO l_in_use_flag
           FROM fa_additions
          WHERE UPPER (in_use_flag) = UPPER (p_in_use_flag) AND ROWNUM <= 1;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || 'no data found for given FLAG';
            l_error_code := 'E';
         WHEN OTHERS
         THEN
            l_error_message :=
                  l_error_message
               || ','
               || ' others exception for given FLAG '
               || SQLCODE
               || SQLERRM;
            l_error_code := 'E';
      END;

--      --Validation of Own Leased
--      l_owned_leased := NULL;

--      BEGIN
--         SELECT owned_leased
--           INTO l_owned_leased
--           FROM fa_additions fa, fa_asset_invoices fai, ap_invoices_all aia
--          WHERE 1 = 1
--            AND fa.asset_id = fai.asset_id
--            AND fai.invoice_id = aia.invoice_id
--            AND aia.invoice_num = l_invoice_num
--            AND owned_leased = p_owned_leased
--            AND ROWNUM <= 1;
--      EXCEPTION
--         WHEN NO_DATA_FOUND
--         THEN
--            l_error_message :=
--                  l_error_message
--               || ','
--               || 'no data found for given owned_leased';
--            l_error_code := 'E';
--         WHEN OTHERS
--         THEN
--            l_error_message :=
--                  l_error_message
--               || ','
--               || ' others exception for given owned_leased '
--               || SQLCODE
--               || SQLERRM;
--            l_error_code := 'E';
--      END;

      l_person_id := NULL;

      --Validations of Employee number
--      BEGIN
--         SELECT papf.person_id
--           INTO l_person_id
--           FROM per_all_people_f papf
--          WHERE papf.employee_number = p_employee_num;
--      EXCEPTION
--         WHEN NO_DATA_FOUND
--         THEN
--            l_error_message :=
--                   l_error_message || ',' || 'Enter a Valid employee number ';
--            l_error_code := 'E';
--         WHEN OTHERS
--         THEN
--            l_error_message :=
--                  l_error_message
--               || ','
--               || 'Other Errors with employee number '
--               || SQLCODE
--               || SQLERRM;
--            l_error_code := 'E';
--            DBMS_OUTPUT.put_line (l_person_id);
--      END;

      --INSERTING RECORDS INTO STAGING TABLE
    BEGIN
    SELECT COUNT(STG_ID) 
    INTO PS_COUNT 
     FROM XXORC_ASSETS_INSERT;
    if l_error_code != 'E' 
    AND PS_COUNT>0 
    then
         INSERT INTO XXORC_ASSETS_INSERT
                   VALUES (p_stg_id                         
                          ,p_asset_number                   
                          ,p_tag_number                     
                          ,p_serial_number                  
                          ,p_in_use_flag                    
                          ,p_new_used                       
                          ,p_owned_leased                   
                          ,p_current_units                  
                          ,p_asset_description              
                          ,p_asset_key_ccid                 
                          ,p_category_id                    
                          ,p_asset_type                     
                          ,p_set_of_books_id                
                          ,p_date_placed_in_service         
                          ,p_deprn_start_date               
                          ,p_deprn_method_code              
                          ,p_prorate_convention_code        
                          ,p_life_in_months                 
                          ,p_original_cost                  
                          ,p_book_type_code                 
                          ,p_units_assigned                 
                          ,p_expense_ccid                   
                          ,p_location_ccid                  
                          ,p_invoice_line_number            
                          ,p_ap_distribution_line_number    
                          ,p_description                    
                          ,p_po_vendor_id                   
                          ,p_po_number                      
                          ,p_employee_num                   
                          ,p_payables_batch_name            
                          ,p_fixed_assets_cost              
                          ,p_deleted_flag                   
                          ,p_batch_id                       
                          ,l_payable_code_id  
                          ,p_concatenated_seg               
                          ,p_feeder_system_name             
                          ,p_payables_cost                  
                          ,p_inv_indicator                  
                          ,creation_date                    
                          ,created_by                       
                          ,last_update_date                 
                          ,last_updated_by                  
                          ,last_update_login                
                          ,p_vendor_id                      
                          ,p_vendor_name                    
                          ,p_invoice_id                     
                          ,l_invoice_num                 
                          ,p_attribut1                      
                          ,p_attribut2                      
                          ,p_attribut3); 
      commit;
      end if;
    EXCEPTION
    WHEN OTHERS
         THEN
            raise_application_error (-20002,
                                     'Error -' || SQLCODE || '-' || SQLERRM
                                    );
                                    END;  
      IF (l_error_code = 'E')
      THEN
         raise_application_error (-20102, SUBSTR (l_error_message, 2));
      end if;
--          IF(l_error_code !='E')
--         THEN
--         UPDATE XXORC_ASSETS_INSERT SET Upl=1;
--         ELSE
--         UPDATE XXORC_ASSETS_INSERT SET Upl=NULL; 
--           
                          
   END;

END;

Step 4: Transfer From Custom table To Base Table 



CREATE OR REPLACE PACKAGE BODY XXHRS_assets_src_line_package
AS
-- +================================================================================+
-- |                           +
-- +================================================================================+
-- | Project        : FIXED ASSET                                                   |
-- | Created By     : Vivek                                                  |
-- | $Id: xx_assets_src_line_package.pkb                                            |
-- |                                                                                |
-- | Description : Package for                                                      |
-- |               Creating a Fixed Asset                                           |
-- |                                                                                |
-- |                                                                                |
-- |                                                                                |
-- |Version   Date         Author           Remarks                                 |
-- +=======   ===========  =============    ========================================+
-- |1.0       21-FEB-2018  Vivek     Initial Version.                        |
-- |                                                                                |
--+=================================================================================+
   PROCEDURE LOG (p_message IN VARCHAR2)
   IS
   BEGIN
      fnd_file.put_line (fnd_file.LOG, p_message);
      DBMS_OUTPUT.put_line (p_message);
   EXCEPTION
      WHEN OTHERS
      THEN
         fnd_file.put_line (fnd_file.LOG, 'Check Error In LOG:' || SQLERRM);
         DBMS_OUTPUT.put_line ('Check Error In LOG:' || SQLERRM);
   END;

   PROCEDURE XXHRS_asset_src_line_procedure (
      p_errbuf    OUT      VARCHAR2,
      p_retcode   OUT      VARCHAR2,
      p_stg_id    IN       NUMBER
   )
   AS
      CURSOR c1
      IS
         SELECT *
           FROM XXORC_ASSETS_INSERT
          WHERE stg_id = p_stg_id;

      l_trans_rec             fa_api_types.trans_rec_type;
      l_dist_trans_rec        fa_api_types.trans_rec_type;
      l_asset_hdr_rec         fa_api_types.asset_hdr_rec_type;
      l_asset_desc_rec        fa_api_types.asset_desc_rec_type;
      l_asset_cat_rec         fa_api_types.asset_cat_rec_type;
      l_asset_type_rec        fa_api_types.asset_type_rec_type;
      l_asset_hierarchy_rec   fa_api_types.asset_hierarchy_rec_type;
      l_asset_fin_rec         fa_api_types.asset_fin_rec_type;
      l_asset_deprn_rec       fa_api_types.asset_deprn_rec_type;
      l_asset_dist_rec        fa_api_types.asset_dist_rec_type;
      l_asset_dist_tbl        fa_api_types.asset_dist_tbl_type;
      l_inv_tbl               fa_api_types.inv_tbl_type;
      l_inv_rate_tbl          fa_api_types.inv_rate_tbl_type;
      l_inv_rec_type          fa_api_types.inv_rec_type;
      l_return_status         VARCHAR2 (1);
      l_mesg_count            NUMBER;
      l_mesg                  VARCHAR2 (4000);
      l_user_id               NUMBER;
      n                       NUMBER                                := 1;
      l_stg_id                NUMBER;
   BEGIN
      fnd_file.put_line (fnd_file.LOG, 'setting the context');
      LOG ('==========PROGRAM STARTS HERE===========');
--         mo_global.init ('FA');
      fnd_global.apps_initialize (user_id           => fnd_global.user_id,
                                  --1013497 ,  --l_user_id
                                  resp_id           => fnd_global.resp_id,
                                  --20563   --l_resp_id = Fixed Asset Manager
                                  resp_appl_id      => fnd_global.resp_appl_id
                                 -- 140    --l_resp_app_id  -- 222);
                                 );
--        mo_global.set_policy_context ('S', 204);
      mo_global.set_policy_context ('S', fnd_profile.VALUE ('ORG_ID'));
      DBMS_OUTPUT.ENABLE (10000000);
      fa_srvr_msg.init_server_message;

      --Stage ID Validations
      BEGIN
         l_stg_id := NULL;

         SELECT COUNT (stg_id)
           INTO l_stg_id
           FROM xx_fixed_assets_stg
          WHERE stg_id = p_stg_id AND status = 'Y';

         IF l_stg_id > 0
         THEN
            LOG (p_stg_id || '  STAGE ID  already Processed');
         END IF;
      EXCEPTION
         WHEN NO_DATA_FOUND
         THEN
            LOG (l_stg_id || 'STAGE ID NOT FOUND');
         WHEN OTHERS
         THEN
            LOG ('STAGE ID NOT FOUND' || SQLERRM);
      END;

      BEGIN
         FOR r1 IN c1
         LOOP
            -- desc info
            l_asset_desc_rec.asset_number := r1.asset_number;
            l_asset_desc_rec.tag_number := r1.tag_number;
            l_asset_desc_rec.serial_number := r1.serial_number;
            l_asset_desc_rec.in_use_flag := r1.in_use_flag;
            l_asset_desc_rec.new_used := r1.new_used;
            l_asset_desc_rec.owned_leased := r1.owned_leased;
            l_asset_desc_rec.current_units := r1.current_units;
            l_asset_desc_rec.description := r1.asset_description;
            l_asset_desc_rec.asset_key_ccid := r1.asset_key_ccid;
            -- cat info
            -- Valid Value in FA_CATEGORIES
            l_asset_cat_rec.category_id := r1.category_id;
            --type info
            l_asset_type_rec.asset_type := r1.asset_type;
            -- Asset Financial Information --
            l_asset_fin_rec.date_placed_in_service :=
                                                    r1.date_placed_in_service;
            l_asset_fin_rec.deprn_start_date := r1.deprn_start_date;
            l_asset_fin_rec.life_in_months := r1.life_in_months;
            l_asset_fin_rec.original_cost := r1.original_cost;
            --l_asset_fin_rec.COST := r1.costs;
            -- deprn info
            l_asset_deprn_rec.set_of_books_id := r1.set_of_books_id;
            -- book / trans info
            -- Valid value in FA_BOOK_CONTROLS
            l_asset_hdr_rec.book_type_code := r1.book_type_code;
            -- distribution info
            l_asset_dist_rec.units_assigned := r1.units_assigned;
            -- Valid Record from GL Code cominations with record type = 'E' (Expense)
            l_asset_dist_rec.expense_ccid := r1.expense_ccid;
            -- Valid Value in FA Locations
            l_asset_dist_rec.location_ccid := r1.location_ccid;
           -- l_asset_dist_rec.assigned_to := r1.assigned_to;
            l_asset_dist_tbl (1) := l_asset_dist_rec;
            ----Inv Information
          --  l_inv_rec_type.invoice_number := r1.invoice_num;
           -- l_inv_rec_type.attribute1 := r1.attribute1;
          --  l_inv_rec_type.attribute2 := r1.attribute2;
          --  l_inv_rec_type.attribute3 := r1.attribute3;
            l_inv_rec_type.invoice_id := r1.invoice_id;
            l_inv_rec_type.invoice_line_number := r1.invoice_line_number;
            l_inv_rec_type.ap_distribution_line_number :=
                                               r1.ap_distribution_line_number;
            l_inv_rec_type.description := r1.description;
            l_inv_rec_type.po_vendor_id := r1.po_vendor_id;
            l_inv_rec_type.po_number := r1.po_number;
            l_inv_rec_type.payables_batch_name := r1.payables_batch_name;
            l_inv_rec_type.fixed_assets_cost := r1.fixed_assets_cost;
            l_inv_rec_type.deleted_flag := r1.deleted_flag;
            l_inv_rec_type.create_batch_id := r1.batch_id;
            l_inv_rec_type.payables_code_combination_id :=
                                              r1.payables_code_combination_id;
            l_inv_rec_type.feeder_system_name := r1.feeder_system_name;
            l_inv_rec_type.payables_cost := r1.payables_cost;
            l_inv_rec_type.inv_indicator := r1.inv_indicator;
            l_inv_tbl (n) := l_inv_rec_type;
            n := n + 1;
            LOG ('Invoice_ID: ' || l_inv_rec_type.invoice_id);
            LOG ('Invoice_Number: ' || l_inv_rec_type.invoice_number);
         END LOOP;

         -- call the api
         fa_addition_pub.do_addition
                            (
                             -- std parameters
                             p_api_version               => 1.0,
                             p_init_msg_list             => fnd_api.g_false,
                             p_commit                    => fnd_api.g_false,
                             p_validation_level          => fnd_api.g_valid_level_full,
                             p_calling_fn                => NULL,
                             x_return_status             => l_return_status,
                             x_msg_count                 => l_mesg_count,
                             x_msg_data                  => l_mesg,
                             -- api parameters
                             px_trans_rec                => l_trans_rec,
                             px_dist_trans_rec           => l_dist_trans_rec,
                             px_asset_hdr_rec            => l_asset_hdr_rec,
                             px_asset_desc_rec           => l_asset_desc_rec,
                             px_asset_type_rec           => l_asset_type_rec,
                             px_asset_cat_rec            => l_asset_cat_rec,
                             px_asset_hierarchy_rec      => l_asset_hierarchy_rec,
                             px_asset_fin_rec            => l_asset_fin_rec,
                             px_asset_deprn_rec          => l_asset_deprn_rec,
                             px_asset_dist_tbl           => l_asset_dist_tbl,
                             px_inv_tbl                  => l_inv_tbl
                            );
         DBMS_OUTPUT.put_line (l_return_status);
         --dump messages
         l_mesg_count := fnd_msg_pub.count_msg;

         IF l_mesg_count > 0
         THEN
            l_mesg :=
                  CHR (10)
               || SUBSTR (fnd_msg_pub.get (fnd_msg_pub.g_first,
                                           fnd_api.g_false
                                          ),
                          1,
                          250
                         );
            DBMS_OUTPUT.put_line (l_mesg);

            FOR i IN 1 .. (l_mesg_count - 1)
            LOOP
               l_mesg :=
                  SUBSTR (fnd_msg_pub.get (fnd_msg_pub.g_next,
                                           fnd_api.g_false),
                          1,
                          250
                         );
               DBMS_OUTPUT.put_line (l_mesg);
            END LOOP;

            fnd_msg_pub.delete_msg ();
         END IF;

         IF (l_return_status <> fnd_api.g_ret_sts_success)
         THEN
            LOG ('FAILURE');
         ELSE
            LOG ('SUCCESS');
            LOG ('THID  ' || TO_CHAR (l_trans_rec.transaction_header_id));
            LOG ('STG_ID  ' || p_stg_id);
            LOG ('ASSET_ID  ' || TO_CHAR (l_asset_hdr_rec.asset_id));
            LOG ('ASSET_NUMBER  ' || l_asset_desc_rec.asset_number);

            UPDATE xx_fixed_assets_stg
               SET status = 'Y'
             WHERE stg_id = p_stg_id;
         END IF;

         COMMIT;
      END xx_assets_src_line_procdure;
   END;
END;

Effected Tables:

fa_additions_b
fa_books 
Note :(asset_number,tag_num,serial_num take sequences)

                                                               Any Queries Mail Me vivekexpertize@gmail.com

Calling Different Language Layout Based On Conditions :

API For Calling Layout : 1.fnd_request.add_layout CREATE OR REPLACE procedure APPSLSPO_Calling_Templates1(ERRBUFF OUT VARCHAR,RETCODE O...