Friday 26 August 2016

AR invoice API

DECLARE
   l_trx_header_tbl         ar_invoice_api_pub.trx_header_tbl_type;
   l_trx_lines_tbl          ar_invoice_api_pub.trx_line_tbl_type;
   l_trx_dist_tbl           ar_invoice_api_pub.trx_dist_tbl_type;
   l_trx_salescredits_tbl   ar_invoice_api_pub.trx_salescredits_tbl_type;
   l_batch_source_rec       ar_invoice_api_pub.batch_source_rec_type;
   l_msg_count              NUMBER;
   l_msg_dat                VARCHAR2 (2000);
   l_cnt                    NUMBER;
   l_return_status          VARCHAR2 (200);
   l_customer_trx_id        NUMBER;
BEGIN
   BEGIN
      mo_global.set_policy_context ('S', 204);
   END;

   --fnd_global.apps_initialize(1090,20678,222);
   fnd_global.apps_initialize (1318, 50553, 101);
   --mo_global.init('AR');
   l_batch_source_rec.batch_source_id := 1001;
         -- SELECT * FROM RA_BATCH_SOURCES_ALL WHERE NAME LIKE '%ORDER ENTRY%'
   l_trx_header_tbl (1).gl_date := '15-JUL-2016';     --> RECOGNIZED ON AUGUST
   l_trx_header_tbl (1).trx_date := '15-JUL-2016';            --> INVOICE DATE
   l_trx_header_tbl (1).trx_header_id := 568945;
                                                --> UNIQUE VALUE FOR THE TITLE
   l_trx_header_tbl (1).trx_currency := 'USD';            --> INVOICE CURRENCY
   l_trx_header_tbl (1).primary_salesrep_id := 1006;
--> INVOICE SALESREP_ID HAVE SALES REPRESENTATIVES ON (SELECT * FROM JTF_RS_SALESREPS WHERE SALESREP_ID=1006)
   l_trx_header_tbl (1).bill_to_customer_id := 5453;
                                                --> SELECT * FROM RA_CUSTOMERS
   l_trx_header_tbl (1).bill_to_site_use_id := 13056;
--> SELECT * FROM CUSTOMER BILLING ADDRESS SITE_USE_ID I HAVE HZ_CUST_SITE_USES_ALL
   l_trx_header_tbl (1).cust_trx_type_id := 1361;
    --> SELECT * FROM RA_CUST_TRX_TYPES_ALL  WHERE  CUST_TRX_TYPE_ID=1361;1069
   l_trx_header_tbl (1).term_id := 1020;
                           -- -> SELECT * FROM RA_TERMS_B CONDITION OF PAYMENT
   l_trx_header_tbl (1).reference_number := 69402;
                       --> INVOICE WILL BE DISPLAYED ON THE FIELD AS REFEREANS
--L_TRX_HEADER_TBL (1) .FINANCE_CHARGES := 'N';
   l_trx_header_tbl (1).status_trx := 'OP';
   l_trx_header_tbl (1).printing_option := 'NOT';
   l_trx_lines_tbl (1).trx_header_id := 568945;
                    --> THE TITLE SHOULD BE GIVEN THE SAME TRX_HEADER_ID YI !!
   l_trx_lines_tbl (1).trx_line_id := 568945 + 1;
                 --> MADE TO BE DIFFERENT FROM THE OTHER ROWS, EACH ROW NUMBER
   l_trx_lines_tbl (1).line_number := 6226062;                     --> LINE NO
   l_trx_lines_tbl (1).inventory_item_id := 11307;
--> SELECT PRIMARY_UOM_CODE ,ORGANIZATION_ID FROM MTL_SYSTEM_ITEMS_B  WHERE SEGMENT1='75200001'
   l_trx_lines_tbl (1).uom_code := 'Ea';
--> SELECT PRIMARY_UOM_CO IN FROM MTL_SYSTEM_ITEMS_B WHERE 1 = 1 AND INVENTORY_ITEM_ID =: ITEM_ID;
   l_trx_lines_tbl (1).quantity_invoiced := 5;              --> BILLING AMOUNT
   l_trx_lines_tbl (1).unit_selling_price := 15;          --> UNIT SALES PRICE
   l_trx_lines_tbl (1).line_type := 'LINE';                      --> LINE TYPE
--P_TRX_LINES_TBL (1) .VAT_TAX_ID     :=                          L_VAR_TAX_ID; -> SELECT * FROM AR_VAT_TAX_ALL_B TAX RATE
   l_trx_lines_tbl (1).amount := 15 * 5;
         --THE TOTAL AMOUNT OF THE -SATIR UNIT_SELLING_PRI * QUANTITY_INVOICED
   l_trx_lines_tbl (1).warehouse_id := 204;  --> WAREHOUSES HAVE ORGANIZATION_
--> DEPLOYMENT INFORMATION
   l_trx_dist_tbl (1).trx_header_id := 568945;             --> TITLE HEADER_ID
   l_trx_dist_tbl (1).trx_dist_id := 568945 + 1;
                                     --> ID SHOULD BE UNIQUE DISTRIBUTION HAVE
   l_trx_dist_tbl (1).trx_line_id := 568945 + 1;
--> IT SHOULD BE THE SAME AS THE LINE WAS ENTERED FOR THE DISTRIBUTION LINE EVERY INVOICE IS ENTERED FOR THE LINE !!!
   l_trx_dist_tbl (1).account_class := 'REV';
   l_trx_dist_tbl (1).PERCENT := 100;
-- WILL ENTER INTO DISTRIBUTION PERCENTAGE SHALL BE 100 PERCENT OF THE TOTAL DISTRIBUTION LINES IN ASSUMING MULTIPLE DISTRIBUTION LINES TO THE SAME LINE - THE TOTAL SHOULD BE 100 !!
   l_trx_dist_tbl (1).amount := 75;              --> THE TOTAL DISTRIBUTION OF
   l_trx_dist_tbl (1).code_combination_id := 12875;
                          --> SELECT * FROM SALES ACCOUNT GL_CODE_COMBINATIONS
   ar_invoice_api_pub.create_single_invoice
                             (p_api_version               => 1.0,
--P_INIT_MSG_LIST => FND_API.G_TRUE ,
--P_COMMIT => FND_API.G_TRUE,
                              x_return_status             => l_return_status,
                              x_msg_count                 => l_msg_count,
                              x_msg_data                  => l_msg_dat,
                              x_customer_trx_id           => l_customer_trx_id,
                              p_batch_source_rec          => l_batch_source_rec,
                              p_trx_header_tbl            => l_trx_header_tbl,
                              p_trx_lines_tbl             => l_trx_lines_tbl,
                              p_trx_dist_tbl              => l_trx_dist_tbl,
                              p_trx_salescredits_tbl      => l_trx_salescredits_tbl
                             );
END;

No comments:

Post a Comment