我正在使用EGO_ITEM_PUB.ASSIGN_ITEM_TO_ORG
API将另一个组织的一个项目分配给我选择的组织。
在程序结束时,我使用以下代码来获取API操作的结果:
DBMS_OUTPUT.PUT_LINE('===');
DBMS_OUTPUT.PUT_LINE('Return Status: '||x_return_status);
IF (x_return_status <> FND_API.G_RET_STS_SUCCESS) THEN
DBMS_OUTPUT.PUT_LINE('Error Message Count :'||x_msg_count);
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('===');
在程序结束时,以下是我得到的输出(代码顺利执行):
===
Return Status: E
Error Message Count :1
===
我在数据库中检查了我选择的组织项目,但它不存在。也没有引起任何异常。我很困惑,因为我是初学者。我试着搜索E背后的含义,却找不到任何东西。请帮忙。
答案 0 :(得分:0)
通过添加以下行,我们可以检索错误消息:
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_text);
END LOOP;
END IF;
EXCEPTION
WHEN OTHERS THEN
dbms_output.put_line('Exception Occured :');
DBMS_OUTPUT.PUT_LINE(SQLCODE ||':'||SQLERRM);