OracleEBS订单发运过程中分配物料搬运单API示例
(2024-10-21 10:48:19)
标签:
分配物料搬运单api示 |
分类: OracleEBS分销模块 |
Oracle EBS 订单发运过程中分配物料搬运单API示例
-- 分配物料搬运单
CREATE OR REPLACE PROCEDURE CUX_ALLOC_MOVE_ORDER_SAMPLE
AS
-- Common
Declarations
l_api_version NUMBER :=
1.0;
l_init_msg_list VARCHAR2(2)
:= FND_API.G_TRUE;
l_return_values VARCHAR2(2)
:= FND_API.G_FALSE;
l_commit VARCHAR2(2) :=
FND_API.G_FALSE;
x_return_status
VARCHAR2(2);
x_msg_count NUMBER :=
0;
x_msg_data
VARCHAR2(255);
-- WHO
columns
l_user_id NUMBER :=
-1;
l_resp_id NUMBER :=
-1;
l_application_id NUMBER :=
-1;
l_row_cnt NUMBER :=
1;
l_user_name VARCHAR2(30) :=
'MFG';
-- API specific
declarations
l_trohdr_rec
INV_MOVE_ORDER_PUB.TROHDR_REC_TYPE;
l_trohdr_val_rec
INV_MOVE_ORDER_PUB.TROHDR_VAL_REC_TYPE;
x_trohdr_rec
INV_MOVE_ORDER_PUB.TROHDR_REC_TYPE;
x_trohdr_val_rec
INV_MOVE_ORDER_PUB.TROHDR_VAL_REC_TYPE;
l_validation_flag
VARCHAR2(2) :=
INV_MOVE_ORDER_PUB.G_VALIDATION_YES;
l_trolin_tbl
INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
l_trolin_val_tbl
INV_MOVE_ORDER_PUB.TROLIN_VAL_TBL_TYPE;
x_trolin_tbl
INV_MOVE_ORDER_PUB.TROLIN_TBL_TYPE;
x_trolin_val_tbl
INV_MOVE_ORDER_PUB.TROLIN_VAL_TBL_TYPE;
--l_validation_flag
VARCHAR2(2) :=
INV_MOVE_ORDER_PUB.G_VALIDATION_YES;
l_move_order_type
MTL_TXN_REQUEST_HEADERS.MOVE_ORDER_TYPE%TYPE :=
3;
x_detailed_qty NUMBER :=
5;
x_number_of_rows NUMBER :=
0;
x_revision VARCHAR2(3)
;
x_locator_id NUMBER :=
0;
x_transfer_to_location
NUMBER := 0;
x_lot_number VARCHAR2(30)
;
x_expiration_date DATE
;
x_transaction_temp_id
NUMBER := 0;
l_line_id
MTL_TXN_REQUEST_LINES.LINE_ID%TYPE :=
0;
BEGIN
-- Get the
user_id
SELECT
user_id
INTO
l_user_id
FROM
fnd_user
WHERE user_name =
l_user_name;
FND_GLOBAL.APPS_INITIALIZE(l_user_id,
l_resp_id, l_application_id); -- MFG / Mfg Dist Mgr /
INV
dbms_output.put_line('Initialized
applications context: '|| l_user_id || ' '|| l_resp_id ||' '||
l_application_id );
-- Allocate each line of
the Move Order
INV_REPLENISH_DETAIL_PUB.line_details_pub(
p_line_id
=> l_line_id
,
x_number_of_rows
=>
x_number_of_rows
,
x_detailed_qty
=>
x_detailed_qty
,
x_return_status
=>
x_return_status
,
x_msg_count
=>
x_msg_count
,
x_msg_data
=> x_msg_data
,
x_revision
=> x_revision
,
x_locator_id
=> x_locator_id
, x_transfer_to_location
=> x_transfer_to_location
, x_lot_number
=>
x_lot_number
,
x_expiration_date
=>
x_expiration_date
,
x_transaction_temp_id =>
x_transaction_temp_id
, p_transaction_header_id
=> NULL
,
p_transaction_mode
=> NULL
,
p_move_order_type
=>
l_move_order_type
,
p_serial_flag
=>
FND_API.G_FALSE
,
p_plan_tasks
=> FALSE
--FND_API.G_FALSE
,
p_auto_pick_confirm
=> FALSE
--FND_API.G_FALSE
,
p_commit
=> FALSE
--FND_API.G_FALSE
);
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 :'||x_msg_data);
END
IF;
IF (x_return_status =
FND_API.G_RET_STS_SUCCESS) THEN
DBMS_OUTPUT.PUT_LINE('Detailed Qty:
'||x_detailed_qty);
DBMS_OUTPUT.PUT_LINE('Number of rows:
'||x_number_of_rows);
DBMS_OUTPUT.PUT_LINE('Trx
temp ID: '||x_transaction_temp_id);
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('=======================================================');
END CUX_ALLOC_MOVE_ORDER_SAMPLE;
-- 刘轶鹤