我创建了这个程序
CREATE OR REPLACE PROCEDURE APPS.test_dlv3
IS
BEGIN
DECLARE
-- STANDARD PARAMETERS.
pApiVersion NUMBER := 1.0;
pInitMsgList VARCHAR2(30);
pCommit VARCHAR2(30);
-- PARAMETERS FOR WSH_DELIVERY_DETAILS_PUB.DETAIL_TO_DELIVERY
pDeliveryId NUMBER;
pDeliveryName VARCHAR2(30);
pTabOfDelDet WSH_DELIVERY_DETAILS_PUB.id_tab_type;
pAction VARCHAR2(30);
-- OUT PARAMETERS
xReturnStatus VARCHAR2(10);
xMsgCount NUMBER;
xMsgData VARCHAR2(2000);
xMsgDetails VARCHAR2(3000);
xMsgSummary VARCHAR2(3000);
-- HANDLE EXCEPTIONS
vFailApiException EXCEPTION;
BEGIN
-- INITIALIZE RETURN STATUS
xReturnStatus := WSH_UTIL_CORE.G_RET_STS_SUCCESS;
-- CALL THIS PROCEDURE TO INITIALIZE APPLICATIONS PARAMETERS.
FND_GLOBAL.APPS_INITIALIZE(
user_id => , --hide
resp_id => , --hide
resp_appl_id => ); --hide
-- VALUES FOR WSH_DELIVERY_DETAILS_PUB.DETAIL_TO_DELIVERY
pDeliveryId := 379358;
pDeliveryName := 'Delivery01';
pTabOfDelDet(1) := 354601 ;
pAction := 'ASSIGN';
-- CALL TO WSH_DELIVERY_DETAILS_PUB.DETAIL_TO_DELIVERY.
WSH_DELIVERY_DETAILS_PUB.detail_to_delivery(
p_api_version => pApiVersion,
p_init_msg_list => pInitMsgList,
p_commit => pCommit,
x_return_status => xReturnStatus,
x_msg_count => xMsgCount,
x_msg_data => xMsgData,
p_TabOfDelDets => pTabOfDelDet,
p_action => pAction,
p_delivery_id => pDeliveryId,
p_delivery_name => pDeliveryName );
IF (xReturnStatus <> WSH_UTIL_CORE.G_RET_STS_SUCCESS) THEN RAISE vFailApiException;
ELSE DBMS_OUTPUT.PUT_LINE('Detail '||pTabOfDelDet(1)|| ' assignment to the delivery '|| pDeliveryName ||' is successful');
END IF;
Exception
WHEN vFailApiException THEN WSH_UTIL_CORE.get_messages('Y', xMsgSummary, xMsgDetails, xMsgCount);
IF xMsgCount > 1 THEN xMsgData := xMsgSummary || xMsgDetails;
DBMS_OUTPUT.PUT_LINE('Message Data : '||xMsgData);
ELSE xMsgData := xMsgSummary;
DBMS_OUTPUT.PUT_LINE('Message Data : '||xMsgData);
END IF;
END;
END;
/
但结果总是这样:
Message Data : Error: Error in assigning one or more details to a delivery.
Warning: These entities can not be grouped together as their grouping attributes do not match.
任何人都可以帮助我吗?
答案 0 :(得分:1)
您发货的每个库存组织都具有在订单管理/发货执行设置中定义的装运参数。
该表单的一个区域是&#34;交付分组属性&#34;。有些属性是强制性的 - 从船舶运送到船舶。想想看 - 如果两个订单行从两个不同的地点发货,它们不属于同一交货(它们可能是同一个行程的一部分,但这是一个单独的虽然Oracle Shipping Execution中的相关概念。)
无论如何,如果您运送的组织具有设置的运输参数,指定给定属性是交付分组属性的一部分,那么您添加到的每个交付详细信息(〜订单行,但不总是)交货必须与交货的属性相匹配。
例如,如果&#34; Ship Method&#34;是一个交付分组属性,您尝试添加一个订单行发货&#34;次日空气&#34;到了&#34; LTL卡车&#34;发货,您将收到您遇到的错误。
检查您要从中运送的组织的运输参数,然后检查每个交货分组属性的值,以确保它们在您尝试分配给交货的交货和交货详细信息之间匹配。