次の API を使用して、ある組織から別の組織に複数の品目を (1 つずつ) 割り当てました。マスター品目ウィンドウを使用して在庫責任を通じてテスト品目を作成し、次のコードを使用して別の組織に割り当てました。
BEGIN
DECLARE
l_api_version NUMBER := 1.0;
l_init_msg_list VARCHAR2(2) := FND_API.G_TRUE;
l_commit VARCHAR2(2) := FND_API.G_FALSE;
x_message_list error_handler.error_tbl_type;
itemid mtl_system_items_b.inventory_item_id %TYPE;
segment1 mtl_system_items_b.segment1 %TYPE;
primary_uom_code mtl_system_items_b.primary_uom_code %TYPE;
x_return_status VARCHAR2(2);
x_msg_count NUMBER := 0;
BEGIN
SELECT inventory_item_id INTO itemid FROM mtl_system_items_b WHERE inventory_item_id=2447106 and organization_id=116;
SELECT segment1
INTO segment1 FROM mtl_system_items_b WHERE inventory_item_id=2447106 and organization_id=116;
SELECT primary_uom_code INTO primary_uom_code FROM mtl_system_items_b WHERE inventory_item_id=2447106 and organization_id=116;
EGO_ITEM_PUB.ASSIGN_ITEM_TO_ORG(
P_API_VERSION => l_api_version
, P_INIT_MSG_LIST => l_INIT_MSG_LIST
, P_COMMIT => l_COMMIT
, P_INVENTORY_ITEM_ID => itemid --(item id from the above Query)
, P_ITEM_NUMBER => segment1 --(Item Code from the above Query)
, P_ORGANIZATION_ID => 117 --(Organization Id for assingment)
, P_ORGANIZATION_CODE => 'D12'--v_organization_code
, P_PRIMARY_UOM_CODE =>primary_uom_code --(UOM from the above Query)
, X_RETURN_STATUS => X_RETURN_STATUS
, X_MSG_COUNT => X_MSG_COUNT
);
DBMS_OUTPUT.PUT_LINE('Status: '||x_return_status);
IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
DBMS_OUTPUT.PUT_LINE('Error Messages :');
Error_Handler.GET_MESSAGE_LIST(x_message_list=> x_message_list);
FOR j IN 1..x_message_list.COUNT LOOP
DBMS_OUTPUT.PUT_LINE(x_message_list(j).message_tex t);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Exception Occured :');
DBMS_OUTPUT.PUT_LINE(SQLCODE ||':'||SQLERRM);
END;
END;
完了後、データベースにチェックインすると、希望する組織にアイテムが割り当てられました。しかし、これらのアイテムは、割り当てた新しい組織の下で GUI (アイテム情報ウィンドウまたはアイテム検索ウィンドウ) を介して検索しても、どのウィンドウにも表示されませんでした。
異常と思われるいくつかの値を変更してみました (例: 最終更新時刻が「-1」だったのは、おそらく、ユーザー ID とパスワードを使用して GUI ではなく API を使用したためです)。
項目が GUI に表示されないのはなぜですか?上記のコードを正しく実行する以外に、不足している手順はありますか? 助けてください。