Pages

OracleEBSpro is purely for knowledge sharing and learning purpose, with the main focus on Oracle E-Business Suite Product and other related Oracle Technologies.

I'm NOT responsible for any damages in whatever form caused by the usage of the content of this blog.

I share my Oracle knowledge through this blog. All my posts in this blog are based on my experience, reading oracle websites, books, forums and other blogs. I invite people to read and suggest ways to improve this blog.


Wednesday, October 15, 2014

API to Create/Update/Delete the System Items and Item Attributes

DECLARE
   l_item_tbl_typ                               ego_item_pub.item_tbl_type;
   x_item_tbl_typ                               ego_item_pub.item_tbl_type;
   x_return_status                              VARCHAR2 (100);
   x_msg_count                                  NUMBER;
   x_message_list                               error_handler.error_tbl_type;
BEGIN
   fnd_global.apps_initialize (11224
                             , 20634
                             , 401
                              );
   l_item_tbl_typ (1).transaction_type := ego_item_pub.g_ttype_update;
   l_item_tbl_typ (1).inventory_item_id := 646;
   l_item_tbl_typ (1).organization_id := 103;
   l_item_tbl_typ (1).pick_components_flag := 'Y';
   ego_item_pub.process_items (p_api_version         => 1.0
                             , p_init_msg_list       => fnd_api.g_false
                             , p_commit              => fnd_api.g_true
                             , p_item_tbl            => l_item_tbl_typ
                             , x_item_tbl            => x_item_tbl_typ
                             , p_role_grant_tbl      => ego_item_pub.g_miss_role_grant_tbl
                             , x_return_status       => x_return_status
                             , x_msg_count           => x_msg_count
                              );
   DBMS_OUTPUT.put_line ('x_return_status : ' || x_return_status);
   error_handler.get_message_list (x_message_list);

   FOR i IN 1 .. x_message_list.COUNT
   LOOP
      DBMS_OUTPUT.put_line (x_message_list (i).MESSAGE_TEXT);
   END LOOP;

   COMMIT;
END;
===============================================================
SET SERVEROUTPUT ON

DECLARE
   l_item_tbl_typ                               ego_item_pub.item_tbl_type;
   x_item_table                                 ego_item_pub.item_tbl_type;
   x_inventory_item_id                          mtl_system_items_b.inventory_item_id%TYPE;
   x_organization_id                            mtl_system_items_b.organization_id%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
   --Setting FND global variables.
   --Replace MFG user name with appropriate user name.
   fnd_global.apps_initialize (11224
                             , 20634
                             , 401
                              );
   --FIRST Item definition
   l_item_tbl_typ (1).transaction_type := 'UPDATE';   -- Replace this with 'UPDATE' for update transaction.
   l_item_tbl_typ (1).inventory_item_id := 646;
   l_item_tbl_typ (1).organization_id := 103;
   l_item_tbl_typ (1).pick_components_flag := 'N';
   DBMS_OUTPUT.put_line ('=====================================');
   DBMS_OUTPUT.put_line ('Calling EGO_ITEM_PUB.Process_Items API');
   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_tbl_typ
                             , x_item_tbl           => x_item_table
                             , x_return_status      => x_return_status
                             , x_msg_count          => x_msg_count
                              );
   DBMS_OUTPUT.put_line ('==================================');
   DBMS_OUTPUT.put_line ('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
         DBMS_OUTPUT.put_line ('Inventory Item Id :' || TO_CHAR (x_item_table (i).inventory_item_id));
         DBMS_OUTPUT.put_line ('Organization Id   :' || TO_CHAR (x_item_table (i).organization_id));
      END LOOP;
   ELSE
      DBMS_OUTPUT.put_line ('Error Messages :');
      error_handler.get_message_list (x_message_list      => x_message_list);

      FOR i IN 1 .. x_message_list.COUNT
      LOOP
         DBMS_OUTPUT.put_line (x_message_list (i).MESSAGE_TEXT);
      END LOOP;
   END IF;

   DBMS_OUTPUT.put_line ('==================================');
EXCEPTION
   WHEN OTHERS
   THEN
      DBMS_OUTPUT.put_line ('Exception Occured :');
      DBMS_OUTPUT.put_line (SQLCODE || ':' || SQLERRM);
      DBMS_OUTPUT.put_line ('=====================================');
END;

3 comments:

  1. This comment has been removed by the author.

    ReplyDelete
  2. Is first block for deleting Items from inventory organization?
    Please let me know.
    awaiting your response

    ReplyDelete
  3. or Can you please let me know that is there any API to delete or unassign items from Inventory Organizations?

    ReplyDelete