无工单完工入库,可以无工单完工入库,我这里做的开发就是直接往mmt表里面插值,
INSERT INTO XXWIP_MES_WO_LESS_COMPL_I3861
(record_id,
item_number,
SUBINVENTORY_CODE,
LOCATOR_NAME,
ORGANIZATION_CODE,
TRANSACTION_DATE,
TRANSACTION_QUANTITY,
TRANSACTION_UOM
)
VALUES
(XXWIP_MES_WO_LESS_COMPL_I3861_S.NEXTVAL,
'E300-03400100A10000AB100',
'IAL_W79',
'IAL_W79.0001..',
'U79',
sysdate,
1,
'EA')
然后调用请求,Process transaction interface (Process transaction interface),程序运行的时候截图,发现调用了子请求Inventory transaction worker,以下代码可以实现子程序执行完,主程序才执行的功能。
v_num_import_req_id :=
fnd_request.submit_request (application => 'INV',
program => 'INCTCM',
description => 'Process transaction interface',
start_time => SYSDATE,
sub_request => FALSE);
IF v_num_import_req_id = 0 THEN
LOG('Error occured while submitting the standard import program'||SQLERRM);
ELSE
COMMIT;
LOG('Import Program submitted successfully, request id :'||v_num_import_req_id);
LOOP
v_wait :=
fnd_concurrent.wait_for_request (request_id => v_num_import_req_id,
INTERVAL => 2,
phase => v_chr_import_phase,
status=> v_chr_import_status,
dev_phase => v_chr_import_dev_phase,
dev_status => v_chr_import_dev_status,
message => v_chr_import_message);
EXIT WHEN upper(v_chr_import_phase) = 'COMPLETED' OR upper(v_chr_import_status) IN (
'CANCELLED',
'ERROR',
'TERMINATED'
);
END LOOP;
IF UPPER(v_chr_import_dev_phase) = 'COMPLETE' AND UPPER(v_chr_import_dev_status) = 'NORMAL' THEN
FOR I IN (select REQUEST_ID from fnd_concurrent_requests where PARENT_REQUEST_ID = v_num_import_req_id)
LOOP
v_num_count := v_num_count + 1;
LOOP
v_wait := fnd_concurrent.wait_for_request(request_id => I.REQUEST_ID,
INTERVAL => 2,
phase => v_chr_import_phase,
status=> v_chr_import_status,
dev_phase => v_chr_import_dev_phase,
dev_status => v_chr_import_dev_status,
message => v_chr_import_message);
EXIT WHEN upper(v_chr_import_phase) = 'COMPLETED' OR upper(v_chr_import_status) IN (
'CANCELLED',
'ERROR',
'TERMINATED'
);
END LOOP;
IF UPPER(v_chr_import_dev_phase) = 'COMPLETE' AND UPPER(v_chr_import_dev_status) = 'NORMAL' THEN
LOG('Sub program '||v_num_count|| 'is finished : Succesfully Completed.');
ELSE
LOG('Error in import the data from the interface table 1.'
|| ' The Program completed with the status '
|| v_chr_import_dev_status
|| '. ');
RAISE CALL_SUBPROGRAM_ERROR;
END IF;
END LOOP;
LOG('Data was imported: Succesfully Completed.');
ELSE
LOG('Error in import the data from the interface table.'
|| ' The Program completed with the status '
|| v_chr_import_dev_status
|| '. ');
RAISE CALL_SUBPROGRAM_ERROR;
END IF;
END IF;