Oracle项目到org API返回状态“E”

时间:2013-11-02 07:07:57

标签: oracle api plsql oracle-apps

我正在使用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背后的含义,却找不到任何东西。请帮忙。

1 个答案:

答案 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);