0

我正在使用EGO_ITEM_PUB.ASSIGN_ITEM_TO_ORGAPI 将另一个组织的一项分配给我选择的组织。

在程序结束时,我使用以下代码来获取 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 背后的含义,但找不到任何东西。请帮忙。

4

1 回答 1

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);
于 2013-11-02T07:21:34.717 回答