Friday, 26 August 2016

Inventory Item Creation With API


Oracle Inventory Item Creation With API
-------->>>=========================================================================
DECLARE
   l_inventory_item_id   NUMBER;
   l_organization_id     NUMBER;
   l_return_status       VARCHAR2 (4000);
   l_msg_data            VARCHAR2 (4000);
   l_msg_count           NUMBER;
   l_msg_index           NUMBER;
   API_ERROR             EXCEPTION;
BEGIN
   FND_GLOBAL.APPS_INITIALIZE (USER_ID        => 1318,  --> OPERATIONS
                               RESP_ID        => 50583, --> Inventory, Vision Operations (USA)
                               RESP_APPL_ID   => 401);  --> Inventory

   EGO_ITEM_PUB.PROCESS_ITEM
    (
       p_api_version                  => 1.0
      ,p_init_msg_list                => 'T'
      ,p_commit                       => 'T'
      ,p_Transaction_Type             => 'CREATE'                    -- UPDATE FOR Updating item
      ,p_segment1                     => 'XX_ITEM_ORACLE_APPS-003'   -- ITEM CODE
      ,p_description                  => 'XX Oracle Apps Test Item'  -- ITEM DESCRIPTION
      ,p_long_description             => 'XX Oracle Apps Test Item'  -- ITEM LONG DESCRIPTION
      ,p_organization_id              => 204                         -- Vision Operations
      ,p_template_id                  => 2                           -- Purchased Item -- select * from mtl_item_templates_vl
      ,p_Inventory_Item_Status_Code   => 'Active'
      ,p_approval_status              => 'A'
      ,x_inventory_item_id            => l_inventory_item_id
      ,x_organization_id              => l_organization_id
      ,x_return_status                => l_return_status
      ,x_msg_count                    => l_msg_count
      ,x_msg_data                     => l_msg_data
    );

    IF l_return_status = FND_API.G_RET_STS_SUCCESS
    THEN      
        DBMS_OUTPUT.PUT_LINE ('Item is Created Successfully, Inventory Item ID : '||l_inventory_item_id);
        COMMIT;          
    ELSE
        DBMS_OUTPUT.PUT_LINE ('Item Creation is Failed');
        RAISE API_ERROR;
        ROLLBACK;
    END IF;

-------->>>------------------------------------------------------------------------
--> HANDLE EXCEPTIONS
EXCEPTION
   WHEN API_ERROR
   THEN
      FOR i IN 1 .. l_msg_count
      LOOP
        DBMS_OUTPUT.put_line (SUBSTR (FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE),1,255));
        DBMS_OUTPUT.PUT_LINE ('message is: ' || l_msg_data);
      END LOOP;
   
   WHEN OTHERS
   THEN
      FOR i IN 1 .. l_msg_count
      LOOP
        DBMS_OUTPUT.put_line (SUBSTR (FND_MSG_PUB.Get (p_encoded => FND_API.G_FALSE),1,255));
        DBMS_OUTPUT.PUT_LINE ('message is: ' || l_msg_data);
      END LOOP;
   
END ;

-------->>>=========================================================================

PO Requisition API

CREATE OR REPLACE PROCEDURE apps.xx_req_proc1
IS
   CURSOR hdr_cur
   IS
      SELECT *
        FROM po_req_hdr_stg
       WHERE primary_flag = 'N';

   CURSOR lne_cur
   IS
      SELECT *
        FROM po_req_lne_stg;

   CURSOR distr_cur
   IS
      SELECT *
        FROM po_req_distr_stg;

   l_int_req_ret_sts   VARCHAR2 (100);
   l_req_header_rec    po_create_requisition_sv.header_rec_type;
   l_req_line_tbl      po_create_requisition_sv.line_tbl_type;
   l_req_distr_rec     po_create_requisition_sv.dist_rec_type;
   l_msg_count         NUMBER;
   l_msg_data          VARCHAR2 (2000);
   l_user_id           NUMBER                                   := '1014707';
   l_resp_id           NUMBER                                   := '50578';
   l_resp_appl_id      NUMBER                                   := '201';
   i                   NUMBER                                   := 1;
BEGIN
   mo_global.set_policy_context ('S', 204);
   mo_global.init ('PO');
   -- INITIALIZE DEBUG INFO

   --    INITIALIZE ENVIRONMENT
   fnd_global.apps_initialize (l_user_id, l_resp_id, l_resp_appl_id);
   DBMS_OUTPUT.put_line ('Header Section Begins');

----Header
   FOR hdr_rec IN hdr_cur
   LOOP
      l_req_header_rec.org_id := hdr_rec.org_id;
      l_req_header_rec.requisition_header_id :=
                                             po_requisition_headers_s.NEXTVAL;
      l_req_header_rec.preparer_id := hdr_rec.preparer_id;
      l_req_header_rec.last_update_date := SYSDATE;
      l_req_header_rec.last_updated_by := 1014707;
      l_req_header_rec.segment1 := hdr_rec.segment1;
      l_req_header_rec.summary_flag := 'N';
      l_req_header_rec.enabled_flag := 'Y';
      l_req_header_rec.segment2 := hdr_rec.segment2;
      l_req_header_rec.segment3 := hdr_rec.segment3;
      l_req_header_rec.segment4 := hdr_rec.segment4;
      l_req_header_rec.segment5 := hdr_rec.segment5;
      l_req_header_rec.start_date_active := SYSDATE;
      l_req_header_rec.end_date_active := NULL;
      l_req_header_rec.last_update_login := 1014707;
      l_req_header_rec.creation_date := SYSDATE;
      l_req_header_rec.created_by := 1014707;
      l_req_header_rec.description := hdr_rec.description;
      l_req_header_rec.authorization_status := hdr_rec.authorization_status;
      l_req_header_rec.note_to_authorizer := hdr_rec.note_to_authorizer;
      l_req_header_rec.type_lookup_code := hdr_rec.type_lookup_code;
      l_req_header_rec.transferred_to_oe_flag := 'Y';
      l_req_header_rec.attribute_category := hdr_rec.attribute_category;
      l_req_header_rec.attribute1 := hdr_rec.attribute1;
      l_req_header_rec.attribute2 := hdr_rec.attribute2;
      l_req_header_rec.attribute3 := hdr_rec.attribute3;
      l_req_header_rec.attribute4 := hdr_rec.attribute4;
      l_req_header_rec.attribute5 := hdr_rec.attribute5;
      l_req_header_rec.attribute6 := hdr_rec.attribute6;
      l_req_header_rec.attribute7 := hdr_rec.attribute7;
      l_req_header_rec.attribute8 := hdr_rec.attribute8;
      l_req_header_rec.attribute9 := hdr_rec.attribute9;
      l_req_header_rec.attribute10 := hdr_rec.attribute10;
      l_req_header_rec.attribute11 := hdr_rec.attribute11;
      l_req_header_rec.attribute12 := hdr_rec.attribute12;
      l_req_header_rec.attribute13 := hdr_rec.attribute13;
      l_req_header_rec.attribute14 := hdr_rec.attribute14;
      l_req_header_rec.attribute15 := hdr_rec.attribute15;
      l_req_header_rec.government_context := hdr_rec.government_context;
      l_req_header_rec.closed_code := hdr_rec.closed_code;
      DBMS_OUTPUT.put_line ('Header Section Ends');

      FOR lne_tbl IN lne_cur
      LOOP
         DBMS_OUTPUT.put_line ('Line Section Begins');
         l_req_line_tbl (i).requisition_line_id :=
                                               po_requisition_lines_s.NEXTVAL;
--l_req_line_tbl(1).requisition_header_id:=po_requisition_headers_s.CURRVAL;
         l_req_line_tbl (i).line_num := lne_tbl.line_num;
         l_req_line_tbl (i).line_type_id := lne_tbl.line_type_id;
         l_req_line_tbl (i).category_id := lne_tbl.category_id;
         l_req_line_tbl (i).item_description := lne_tbl.item_description;
         l_req_line_tbl (i).unit_meas_lookup_code :=
                                                lne_tbl.unit_meas_lookup_code;
         l_req_line_tbl (i).unit_price := lne_tbl.unit_price;
         l_req_line_tbl (i).quantity := lne_tbl.quantity;
         l_req_line_tbl (i).deliver_to_location_id :=
                                               lne_tbl.deliver_to_location_id;
         l_req_line_tbl (i).to_person_id := lne_tbl.to_person_id;
         l_req_line_tbl (i).last_update_date := SYSDATE;
         l_req_line_tbl (i).last_updated_by := 1014707;
         l_req_line_tbl (i).source_type_code := lne_tbl.source_type_code;
         l_req_line_tbl (i).last_update_login := 1014707;
         l_req_line_tbl (i).creation_date := SYSDATE;
         l_req_line_tbl (i).created_by := 1014707;
         l_req_line_tbl (i).item_id := lne_tbl.item_id;
         l_req_line_tbl (i).item_revision := lne_tbl.item_revision;
         l_req_line_tbl (i).encumbered_flag := 'N';
         l_req_line_tbl (i).rfq_required_flag := 'N';
         l_req_line_tbl (i).need_by_date := lne_tbl.need_by_date;
         l_req_line_tbl (i).source_organization_id :=
                                               lne_tbl.source_organization_id;
         l_req_line_tbl (i).source_subinventory :=
                                                  lne_tbl.source_subinventory;
         l_req_line_tbl (i).destination_type_code :=
                                                lne_tbl.destination_type_code;
         l_req_line_tbl (i).destination_organization_id :=
                                          lne_tbl.destination_organization_id;
         l_req_line_tbl (i).destination_subinventory :=
                                             lne_tbl.destination_subinventory;
         l_req_line_tbl (i).line_location_id := lne_tbl.line_location_id;
         l_req_line_tbl (i).modified_by_agent_flag :=
                                               lne_tbl.modified_by_agent_flag;
         l_req_line_tbl (i).parent_req_line_id := lne_tbl.parent_req_line_id;
         l_req_line_tbl (i).justification := lne_tbl.justification;
         l_req_line_tbl (i).note_to_agent := lne_tbl.note_to_agent;
         l_req_line_tbl (i).note_to_receiver := lne_tbl.note_to_receiver;
         l_req_line_tbl (i).purchasing_agent_id :=
                                                  lne_tbl.purchasing_agent_id;
         l_req_line_tbl (i).document_type_code := lne_tbl.document_type_code;
         l_req_line_tbl (i).blanket_po_header_id :=
                                                 lne_tbl.blanket_po_header_id;
         l_req_line_tbl (i).blanket_po_line_num :=
                                                  lne_tbl.blanket_po_line_num;
         l_req_line_tbl (i).currency_code := lne_tbl.currency_code;
         l_req_line_tbl (i).rate_type := lne_tbl.rate_type;
         l_req_line_tbl (i).rate_date := lne_tbl.rate_date;
         l_req_line_tbl (i).rate := lne_tbl.rate;
         l_req_line_tbl (i).currency_unit_price :=
                                                  lne_tbl.currency_unit_price;
         l_req_line_tbl (i).suggested_vendor_name :=
                                                lne_tbl.suggested_vendor_name;
         l_req_line_tbl (i).suggested_vendor_location :=
                                            lne_tbl.suggested_vendor_location;
         l_req_line_tbl (i).suggested_vendor_contact :=
                                             lne_tbl.suggested_vendor_contact;
         l_req_line_tbl (i).suggested_vendor_phone :=
                                               lne_tbl.suggested_vendor_phone;
         l_req_line_tbl (i).suggested_vendor_product_code :=
                                        lne_tbl.suggested_vendor_product_code;
         l_req_line_tbl (i).un_number_id := lne_tbl.un_number_id;
         l_req_line_tbl (i).hazard_class_id := lne_tbl.hazard_class_id;
         l_req_line_tbl (i).must_use_sugg_vendor_flag :=
                                            lne_tbl.must_use_sugg_vendor_flag;
         l_req_line_tbl (i).reference_num := lne_tbl.reference_num;
--l_req_line_tbl(1).on_rfq_flag:=LNE_TBL.on_rfq_flag;
--l_req_line_tb(1).urgent_flag:=LNE_TBL.urgent_flag;
         l_req_line_tbl (i).cancel_flag := 'N';
         l_req_line_tbl (i).quantity_cancelled := lne_tbl.quantity_cancelled;
         l_req_line_tbl (i).cancel_date := lne_tbl.cancel_date;
         l_req_line_tbl (i).cancel_reason := lne_tbl.cancel_reason;
         l_req_line_tbl (i).closed_code := lne_tbl.closed_code;
         l_req_line_tbl (i).agent_return_note := lne_tbl.agent_return_note;
         l_req_line_tbl (i).changed_after_research_flag :=
                                          lne_tbl.changed_after_research_flag;
         l_req_line_tbl (i).vendor_id := lne_tbl.vendor_id;
         l_req_line_tbl (i).vendor_site_id := lne_tbl.vendor_site_id;
         l_req_line_tbl (i).vendor_contact_id := lne_tbl.vendor_contact_id;
         l_req_line_tbl (i).research_agent_id := lne_tbl.research_agent_id;
         l_req_line_tbl (i).wip_entity_id := lne_tbl.research_agent_id;
         l_req_line_tbl (i).wip_line_id := lne_tbl.wip_line_id;
         l_req_line_tbl (i).wip_repetitive_schedule_id :=
                                           lne_tbl.wip_repetitive_schedule_id;
         l_req_line_tbl (i).wip_operation_seq_num :=
                                                lne_tbl.wip_operation_seq_num;
         l_req_line_tbl (i).wip_resource_seq_num :=
                                                 lne_tbl.wip_resource_seq_num;
         l_req_line_tbl (i).attribute_category := lne_tbl.attribute_category;
         l_req_line_tbl (i).destination_context :=
                                                  lne_tbl.destination_context;
         l_req_line_tbl (i).inventory_source_context :=
                                             lne_tbl.inventory_source_context;
         l_req_line_tbl (i).vendor_source_context :=
                                                lne_tbl.vendor_source_context;
         l_req_line_tbl (i).attribute1 := lne_tbl.attribute1;
         l_req_line_tbl (i).attribute2 := lne_tbl.attribute2;
         l_req_line_tbl (i).attribute3 := lne_tbl.attribute3;
         l_req_line_tbl (i).attribute4 := lne_tbl.attribute4;
         l_req_line_tbl (i).attribute5 := lne_tbl.attribute5;
         l_req_line_tbl (i).attribute6 := lne_tbl.attribute6;
         l_req_line_tbl (i).attribute7 := lne_tbl.attribute7;
         l_req_line_tbl (i).attribute8 := lne_tbl.attribute8;
         l_req_line_tbl (i).attribute9 := lne_tbl.attribute9;
         l_req_line_tbl (i).attribute10 := lne_tbl.attribute10;
         l_req_line_tbl (i).attribute11 := lne_tbl.attribute11;
         l_req_line_tbl (i).attribute12 := lne_tbl.attribute12;
         l_req_line_tbl (i).attribute13 := lne_tbl.attribute13;
         l_req_line_tbl (i).attribute14 := lne_tbl.attribute14;
         l_req_line_tbl (i).attribute15 := lne_tbl.attribute15;
         l_req_line_tbl (i).bom_resource_id := lne_tbl.bom_resource_id;
--l_req_line_tbl(1).government_context:=LNE_TBL.government_context;
         l_req_line_tbl (i).closed_reason := lne_tbl.closed_reason;
         l_req_line_tbl (i).closed_date := lne_tbl.closed_date;
         l_req_line_tbl (i).transaction_reason_code :=
                                              lne_tbl.transaction_reason_code;
         l_req_line_tbl (i).quantity_received := lne_tbl.quantity_received;
         l_req_line_tbl (i).order_type_lookup_code :=
                                               lne_tbl.order_type_lookup_code;
         l_req_line_tbl (i).purchase_basis := lne_tbl.purchase_basis;
         l_req_line_tbl (i).matching_basis := lne_tbl.matching_basis;
         l_req_line_tbl (i).org_id := lne_tbl.org_id;
--l_req_line_tbl(1).tax_attribute_update_code:=LNE_TBL.tax_attribute_update_code;
         l_req_line_tbl (i).manufacturer_id := lne_tbl.manufacturer_id;
         l_req_line_tbl (i).manufacturer_name := lne_tbl.manufacturer_name;
         l_req_line_tbl (i).manufacturer_part_number :=
                                             lne_tbl.manufacturer_part_number;
         l_req_line_tbl (i).uom_code := lne_tbl.uom_code;
         DBMS_OUTPUT.put_line ('Line Section Ends');
         i := i + 1;
      END LOOP;

      FOR distr_rec IN distr_cur
      LOOP
         DBMS_OUTPUT.put_line ('Distribution Section Begins');
---distributions
         l_req_distr_rec.distribution_id := po_req_distributions_s.NEXTVAL;
         l_req_distr_rec.last_update_date := SYSDATE;
         l_req_distr_rec.last_updated_by := 1014707;
         l_req_distr_rec.requisition_line_id :=
                                               po_requisition_lines_s.CURRVAL;
         l_req_distr_rec.set_of_books_id := distr_rec.set_of_books_id;
         l_req_distr_rec.code_combination_id := distr_rec.code_combination_id;
         l_req_distr_rec.req_line_quantity := distr_rec.req_line_quantity;
         l_req_distr_rec.last_update_login := 1014707;
         l_req_distr_rec.creation_date := SYSDATE;
         l_req_distr_rec.created_by := 1014707;
         l_req_distr_rec.encumbered_flag := 'N';
         l_req_distr_rec.gl_encumbered_date := SYSDATE;
         l_req_distr_rec.gl_encumbered_period_name :=
                                          distr_rec.gl_encumbered_period_name;
         l_req_distr_rec.gl_cancelled_date := distr_rec.gl_cancelled_date;
         l_req_distr_rec.failed_funds_lookup_code :=
                                           distr_rec.failed_funds_lookup_code;
         l_req_distr_rec.encumbered_amount := distr_rec.encumbered_amount;
         l_req_distr_rec.budget_account_id := distr_rec.budget_account_id;
         l_req_distr_rec.accrual_account_id := distr_rec.accrual_account_id;
         l_req_distr_rec.variance_account_id := distr_rec.variance_account_id;
         l_req_distr_rec.prevent_encumbrance_flag := 'N';
         l_req_distr_rec.attribute_category := distr_rec.attribute_category;
         l_req_distr_rec.attribute1 := distr_rec.attribute1;
         l_req_distr_rec.attribute2 := distr_rec.attribute2;
         l_req_distr_rec.attribute3 := distr_rec.attribute3;
         l_req_distr_rec.attribute4 := distr_rec.attribute4;
         l_req_distr_rec.attribute5 := distr_rec.attribute5;
         l_req_distr_rec.attribute6 := distr_rec.attribute6;
         l_req_distr_rec.attribute7 := distr_rec.attribute7;
         l_req_distr_rec.attribute8 := distr_rec.attribute8;
         l_req_distr_rec.attribute9 := distr_rec.attribute9;
         l_req_distr_rec.attribute10 := distr_rec.attribute10;
         l_req_distr_rec.attribute11 := distr_rec.attribute11;
         l_req_distr_rec.attribute12 := distr_rec.attribute12;
         l_req_distr_rec.attribute13 := distr_rec.attribute13;
         l_req_distr_rec.attribute14 := distr_rec.attribute14;
         l_req_distr_rec.attribute15 := distr_rec.attribute15;
         l_req_distr_rec.government_context := distr_rec.government_context;
         l_req_distr_rec.project_id := distr_rec.project_id;
         l_req_distr_rec.task_id := distr_rec.task_id;
         l_req_distr_rec.expenditure_type := distr_rec.expenditure_type;
         l_req_distr_rec.expenditure_type :=
                                         distr_rec.project_accounting_context;
         l_req_distr_rec.expenditure_organization_id :=
                                        distr_rec.expenditure_organization_id;
         l_req_distr_rec.gl_closed_date := distr_rec.gl_closed_date;
         l_req_distr_rec.source_req_distribution_id :=
                                         distr_rec.source_req_distribution_id;
         l_req_distr_rec.project_accounting_context :=
                                         distr_rec.project_accounting_context;
         l_req_distr_rec.distribution_num := distr_rec.distribution_num;
         l_req_distr_rec.project_related_flag :=
                                               distr_rec.project_related_flag;
         l_req_distr_rec.expenditure_item_date :=
                                              distr_rec.expenditure_item_date;
         l_req_distr_rec.org_id := distr_rec.org_id;
         l_req_distr_rec.allocation_type := distr_rec.allocation_type;
         l_req_distr_rec.allocation_value := distr_rec.allocation_value;
         l_req_distr_rec.award_id := distr_rec.award_id;
         l_req_distr_rec.end_item_unit_number :=
                                               distr_rec.end_item_unit_number;
         l_req_distr_rec.recoverable_tax := distr_rec.recoverable_tax;
         l_req_distr_rec.nonrecoverable_tax := distr_rec.nonrecoverable_tax;
         l_req_distr_rec.recovery_rate := distr_rec.recovery_rate;
         l_req_distr_rec.tax_recovery_override_flag :=
                                         distr_rec.tax_recovery_override_flag;
         l_req_distr_rec.oke_contract_line_id :=
                                               distr_rec.oke_contract_line_id;
         l_req_distr_rec.oke_contract_deliverable_id :=
                                        distr_rec.oke_contract_deliverable_id;
         DBMS_OUTPUT.put_line ('Distribution Section Ends');
      END LOOP;

      DBMS_OUTPUT.put_line ('Before Process Req');
      po_create_requisition_sv.process_requisition
                                     (px_header_rec             => l_req_header_rec,
                                      px_line_table             => l_req_line_tbl,
                                      px_disribution_table      => l_req_distr_rec,
                                      x_return_status           => l_int_req_ret_sts,
                                      x_msg_count               => l_msg_count,
                                      x_msg_data                => l_msg_data
                                     );
      DBMS_OUTPUT.put_line ('After Process Req');

      IF l_int_req_ret_sts = fnd_api.g_ret_sts_success
      THEN
         DBMS_OUTPUT.put_line ('Success');
      END IF;

      DBMS_OUTPUT.put_line (l_msg_data);
   END LOOP;
END xx_req_proc1;
/

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;

Friday, 29 July 2016


BOM Level Based Query

BOM  Explosion  Query:
select  distinct
       level,msib.segment1 "parent item",msib.description,bom.ALTERNATE_BOM_DESIGNATOR,
       mir1.REVISION "Assembly Item Revision",bic.OPERATION_SEQ_NUM,
       msib2.segment1 as "component",bic.ITEM_NUM,msib2.description,mir2.revision "Component revision",ml.Meaning
from   bom_components_b bic,
       bom_structures_b bom,
       mtl_system_items_b msib,
       mtl_system_items_b msib2,
       mtl_item_revisions mir1,
       mtl_item_revisions mir2,
       mfg_lookups  ml
where  1=1
       and bic.bill_sequence_id = bom.bill_sequence_id
       and bic.disable_date is null
       and bom.assembly_item_id = msib.inventory_item_id
       and bom.organization_id = msib.organization_id
       and bic.component_item_id = msib2.inventory_item_id
       and bom.organization_id = msib2.organization_id
       and bom.organization_id = 144/* organization id here */
       and bic.effectivity_date < sysdate
       and mir1.inventory_item_id=msib.inventory_item_id
       and mir2.inventory_item_id=msib2.inventory_item_id
       and ml.lookup_type='WIP_SUPPLY'
       and ml.lookup_code=bic.WIP_SUPPLY_TYPE
start with msib.segment1 = 'FG-AXI30001' /* top parent item here */
connect by nocycle prior bic.component_item_id = msib.inventory_item_id
order by level