Specification
CREATE OR REPLACE PACKAGE APPS.XXXXX_GME_BATCH_CANCEL_PKG IS
PROCEDURE batch_cancel (errbuf out varchar2,retcode out varchar2, p_plant_Code VARCHAR2, p_batch_no VARCHAR2);
END XXXXX_GME_BATCH_CANCEL_PKG;
/
----Body
CREATE OR REPLACE PACKAGE BODY APPS.XXXXXX_GME_BATCH_CANCEL_PKG AS
PROCEDURE batch_cancel (errbuf out varchar2,retcode out varchar2, p_plant_Code VARCHAR2, p_batch_no VARCHAR2)
IS
p_api_version NUMBER := gme_api_pub.api_version;
p_validation_level NUMBER := gme_api_pub.max_errors;
p_init_msg_list BOOLEAN := FALSE ;
p_commit BOOLEAN := FALSE ;
x_return_status VARCHAR2 (1);
x_msg_count NUMBER;
x_msg_list VARCHAR2 (2000);
x_msg_data VARCHAR2 (2000);
x_msg_index NUMBER;
p_batch_header gme_batch_header%ROWTYPE;
x_batch_header gme_batch_header%ROWTYPE;
ln_user_id NUMBER;
ln_org_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
CURSOR lcur_can_batch (p_plant_code VARCHAR2, p_batch_no VARCHAR2) IS
SELECT batch_id, plant_code, batch_no, batch_type
FROM gme_batch_header
WHERE batch_type = 10
AND plant_code = nvl(p_plant_code,plant_code)
AND batch_no = nvl(p_batch_no,batch_no)
AND batch_status = 1;
BEGIN
--- Initialization values
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_client_info.set_org_context(ln_org_id);
END;
BEGIN
FND_GLOBAL.apps_initialize(ln_user_id,ln_resp_id,ln_resp_app_id);
END;
FOR i IN lcur_can_batch (p_plant_code,p_batch_no) LOOP
EXIT WHEN lcur_can_batch%NOTFOUND;
--- passing batch values for cancellation
p_batch_header.batch_id := i.batch_id;
p_batch_header.plant_code := i.plant_code;
p_batch_header.batch_no := i.batch_no;
p_batch_header.batch_type := i.batch_type;
gme_api_main.cancel_batch (
p_api_version => p_api_version,
p_validation_level => p_validation_level,
p_init_msg_list => p_init_msg_list,
p_commit => p_commit ,
x_message_count => x_msg_count,
x_message_list => x_msg_list,
x_return_status => x_return_status,
p_batch_header => p_batch_header,
x_batch_header => x_batch_header
);
IF x_return_status <> 'S' THEN
gme_api_grp.count_and_get(
p_encoded => 'F',
x_data => x_msg_data,
x_count => x_msg_index);
FND_FILE.PUT_LINE (FND_FILE.LOG, 'Plant Code = ' ||i.plant_code||' '||' Batch No = '||i.batch_no||' '||'has been Errored');
ELSE
FND_FILE.PUT_LINE (FND_FILE.LOG, 'Plant Code = ' ||i.plant_code||' '||' Batch No = '||i.batch_no||' '||'has been cancelled');
END IF;
END LOOP;
COMMIT;
END;
END XXXXXX_GME_BATCH_CANCEL_PKG;
/
CREATE OR REPLACE PACKAGE APPS.XXXXX_GME_BATCH_CANCEL_PKG IS
PROCEDURE batch_cancel (errbuf out varchar2,retcode out varchar2, p_plant_Code VARCHAR2, p_batch_no VARCHAR2);
END XXXXX_GME_BATCH_CANCEL_PKG;
/
----Body
CREATE OR REPLACE PACKAGE BODY APPS.XXXXXX_GME_BATCH_CANCEL_PKG AS
PROCEDURE batch_cancel (errbuf out varchar2,retcode out varchar2, p_plant_Code VARCHAR2, p_batch_no VARCHAR2)
IS
p_api_version NUMBER := gme_api_pub.api_version;
p_validation_level NUMBER := gme_api_pub.max_errors;
p_init_msg_list BOOLEAN := FALSE ;
p_commit BOOLEAN := FALSE ;
x_return_status VARCHAR2 (1);
x_msg_count NUMBER;
x_msg_list VARCHAR2 (2000);
x_msg_data VARCHAR2 (2000);
x_msg_index NUMBER;
p_batch_header gme_batch_header%ROWTYPE;
x_batch_header gme_batch_header%ROWTYPE;
ln_user_id NUMBER;
ln_org_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
CURSOR lcur_can_batch (p_plant_code VARCHAR2, p_batch_no VARCHAR2) IS
SELECT batch_id, plant_code, batch_no, batch_type
FROM gme_batch_header
WHERE batch_type = 10
AND plant_code = nvl(p_plant_code,plant_code)
AND batch_no = nvl(p_batch_no,batch_no)
AND batch_status = 1;
BEGIN
--- Initialization values
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_client_info.set_org_context(ln_org_id);
END;
BEGIN
FND_GLOBAL.apps_initialize(ln_user_id,ln_resp_id,ln_resp_app_id);
END;
FOR i IN lcur_can_batch (p_plant_code,p_batch_no) LOOP
EXIT WHEN lcur_can_batch%NOTFOUND;
--- passing batch values for cancellation
p_batch_header.batch_id := i.batch_id;
p_batch_header.plant_code := i.plant_code;
p_batch_header.batch_no := i.batch_no;
p_batch_header.batch_type := i.batch_type;
gme_api_main.cancel_batch (
p_api_version => p_api_version,
p_validation_level => p_validation_level,
p_init_msg_list => p_init_msg_list,
p_commit => p_commit ,
x_message_count => x_msg_count,
x_message_list => x_msg_list,
x_return_status => x_return_status,
p_batch_header => p_batch_header,
x_batch_header => x_batch_header
);
IF x_return_status <> 'S' THEN
gme_api_grp.count_and_get(
p_encoded => 'F',
x_data => x_msg_data,
x_count => x_msg_index);
FND_FILE.PUT_LINE (FND_FILE.LOG, 'Plant Code = ' ||i.plant_code||' '||' Batch No = '||i.batch_no||' '||'has been Errored');
ELSE
FND_FILE.PUT_LINE (FND_FILE.LOG, 'Plant Code = ' ||i.plant_code||' '||' Batch No = '||i.batch_no||' '||'has been cancelled');
END IF;
END LOOP;
COMMIT;
END;
END XXXXXX_GME_BATCH_CANCEL_PKG;
/
No comments:
Post a Comment