我将使用以下代码通过API OE_ORDER_PUB
取消销售订单标题
但总是返回Validation failed for the field - Change Reason
DECLARE
--variable declare
BEGIN
-- Setting the Enviroment --
FOR I
IN (SELECT oh.header_id order_header_id
FROM oe_order_headers_all oh
WHERE oh.order_number IN (12301000013) AND oh.org_id = v_org_id)
LOOP
BEGIN
-- CANCEL HEADER --
v_header_rec.cancelled_flag := 'Y';
v_header_rec.change_reason := 'Not Provided';
DBMS_OUTPUT.put_line ('Starting cancel of API');
-- CALLING THE API TO CANCEL AN ORDER --
OE_ORDER_PUB.PROCESS_ORDER (
x_header_rec => v_header_rec_out
--... using the parameter
);
END LOOP;
EXCEPTION
WHEN OTHERS
THEN
DBMS_OUTPUT.put_line ('error in block. reason is :' || SQLERRM);
END;
如何在OE_ORDER_HEADERS
中找到变更原因字段的需求规则?
1条答案
按热度按时间zxlwwiss1#
没有太多的信息在这里工作,但这里是你可以尝试
1.检查页面上是否有验证。此错误最可能的原因是标签为“取消原因”的页面项上有验证。该验证失败,从而引发此验证错误
1.检查过程
OE_ORDER_PUB.PROCESS_ORDER
是否有任何代码来验证订单是否可以取消。此外,
DBMS_OUTPUT.put_line
不能用于apex pl/sql代码。DBMS_OUTPUT将消息打印到客户端(sqlplus/sqldeveloper/apex sql workshop)的缓冲区。在apex中,这些调用不会执行任何操作,但应将其从代码中删除,因为它们可能导致缓冲区溢出。若要正确检测代码,请使用APEX_DEBUG添加可在调试模式下看到的注解,并使用APEX_ERROR处理错误。
对于您的代码,这将类似于