CREATE OR REPLACE PROCEDURE APPS.XXXX_AUTO_LOT_CREATION(
p_item_number VARCHAR2,
p_lot_number VARCHAR2,
p_qc_grade VARCHAR2,
p_batch_id VARCHAR2,
p_plant_code VARCHAR2)
--p_ic_lots_mst_rec OUT ic_lots_mst%ROWTYPE,
--p_return_status OUT VARCHAR2)
IS
l_lot_rec GMIGAPI.lot_rec_typ;
x_ic_lots_mst_row ic_lots_mst%ROWTYPE;
x_ic_lots_cpg_row ic_lots_cpg%ROWTYPE;
x_return_status VARCHAR2(10);
x_msg_count NUMBER;
x_msg_data VARCHAR2(2000);
l_setup_api BOOLEAN;
l_pub_message varchar2(4000);
l_loop_cnt NUMBER;
l_dummy_cnt NUMBER;
l_user_name varchar2(50);
v_lot_id Number;
ln_user_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
ln_org_id NUMBER;
BEGIN
BEGIN
FND_client_info.set_org_context(ln_org_id);
END;
ln_user_id := APPS.FND_PROFILE.VALUE('USER_ID');
ln_resp_id := APPS.FND_PROFILE.VALUE('RESP_ID');
ln_resp_app_id := APPS.FND_PROFILE.VALUE('RESP_APPL_ID');
ln_org_id := APPS.FND_PROFILE.VALUE('ORG_ID');
BEGIN
FND_GLOBAL.apps_initialize(ln_user_id,ln_resp_id,ln_resp_app_id);
END;
l_lot_rec.item_no := p_item_number;
l_lot_rec.lot_no := p_lot_number;
l_lot_rec.QC_GRADE := p_qc_grade;
l_lot_rec.lot_created := sysdate;
l_lot_rec.attribute11 := p_batch_id;
l_lot_rec.attribute12 := p_plant_code;
BEGIN
SELECT user_name
INTO l_user_name
FROM fnd_user
WHERE user_id = fnd_global.user_id; Exception
WHEN NO_DATA_FOUND THEN
fnd_file.put_line (fnd_file.LOG,' Not a Valid User.');
WHEN OTHERS THEN
fnd_file.put_line (fnd_file.LOG,' Not a Valid User.');
End;
l_setup_api := GMIGUTL.SETUP(p_user_name =>l_user_name);
GMIPAPI.Create_lot(p_api_version => 3.0
, p_init_msg_list => 'T'
, p_commit => 'T'
, p_validation_level => FND_API.G_VALID_LEVEL_FULL
, p_lot_rec => l_lot_rec
, x_ic_lots_mst_row => x_ic_lots_mst_row
, x_ic_lots_cpg_row => x_ic_lots_cpg_row
, x_return_status => x_return_status
, x_msg_count => x_msg_count
, x_msg_data => x_msg_data);
IF x_msg_count > 0 THEN
l_loop_cnt :=1;
<>
LOOP
FND_MSG_PUB.Get
(p_msg_index => l_loop_cnt,
p_data => x_msg_data,
p_encoded => FND_API.G_FALSE,
p_msg_index_out => l_dummy_cnt);
l_pub_message := l_pub_message||x_msg_data;
l_loop_cnt := l_loop_cnt + 1;
IF l_loop_cnt > x_msg_count THEN
EXIT error_msg_loop;
END IF;
-- DBMS_OUTPUT.PUT_LINE('11Not Created'||l_pub_message);
END LOOP error_msg_loop;
END IF;
IF x_return_status = 'S' THEN
fnd_file.put_line(fnd_file.LOG,'Lot Created For Item :'||p_item_number||' and Lot Id is : '||x_ic_lots_mst_row.lot_id);
--DBMS_OUTPUT.PUT_LINE('Created');
ELSE
fnd_file.put_line(fnd_file.LOG,'Lot Not Created For Item :'||p_item_number||' For the Reason : '||l_pub_message);
--DBMS_OUTPUT.PUT_LINE('Not Created'||l_pub_message);
END IF;
END XXXX_AUTO_LOT_CREATION;
/
Hi Srinu,
ReplyDeleteI was trying to change the lot status using GMIPAAPI Pub, but was facing issue regarding user name, and your blog has helped me to resolve the issue, thanks alot.
GMIGUTL.SETUP
Thanks,
Venkat
Hi Venkat,
DeleteDid you use GMIPAPI API to change the lot status?
Regards..
Hi Ritu Kalra,
ReplyDeleteyes we can change the lot status using GMIGUTL.SETUP in GMIPAPI AP
hi srini,
ReplyDeleteplease provide me a link which can direct me to sample creation API (need new release API)