Spec
---
PROCEDURE inventory_open_api ( Errbuf OUT VARCHAR2
,Retcode OUT NUMBER
, p_company IN VARCHAR2
, p_fiscal_year IN NUMBER
, p_period_nm IN VARCHAR2)
---------------------------------------------
PROCEDURE inventory_open_api ( Errbuf OUT VARCHAR2
,Retcode OUT NUMBER
, p_company IN VARCHAR2
, p_fiscal_year IN NUMBER
, p_period_nm IN VARCHAR2)
AS
CURSOR ls_period_open( lc_company VARCHAR2
, ln_fiscal_year NUMBER
, lc_period_nm VARCHAR2) is
SELECT a.organization_id,b.ORGANIZATION_CODE,b.ORGANIZATION_NAME,a.created_by,a.last_update_login,a.period_close_date,a.open_flag
FROM org_acct_periods a,org_organization_definitions b
WHERE a.period_set_name = lc_company
AND a.period_year = (ln_fiscal_year)
AND a.organization_id not in (select organization_id from org_acct_periods where period_name = p_period_nm)
-- AND a.period_name = lc_period_nm
AND to_char(a.period_name) = to_char((ADD_MONTHS(sysdate,-1)),'MON-YY')
-- AND a.organization_id = 44
-- AND a.open_flag = 'Y'
AND a.organization_id = b.organization_id;
i ls_period_open%rowtype;
CURSOR ls_slct_for_data (lc_prd_nm VARCHAR2
,ln_org_id NUMBER
,ln_prd_yr NUMBER) is
SELECT
GLP.period_set_name,
GLP.period_year,
GLP.period_num,
GLP.period_name,
GLP.description,
GLP.end_date,
'Y',
-1
FROM gl_periods GLP
WHERE GLP.period_set_name = 'AGROCAL'
AND GLP.period_name = lc_prd_nm
AND GLP.period_type = '1'
AND GLP.adjustment_period_flag = 'N'
AND (GLP.period_name, GLP.period_year)
NOT IN
(SELECT period_name, period_year
FROM org_acct_periods
WHERE organization_id = ln_org_id)
AND NOT EXISTS
(SELECT period_start_date
FROM org_acct_periods
WHERE organization_id = ln_org_id
AND period_year = ln_prd_yr
AND period_name = lc_prd_nm);
j ls_slct_for_data%rowtype;
lc_return_status VARCHAR2(1);
lc_msg_data VARCHAR2(2000);
lc_errbuf VARCHAR2(2000);
ln_msg_count NUMBER;
p_closing_rowid VARCHAR2(100);
x_wip_failed BOOLEAN;
x_close_failed BOOLEAN;
x_download_failed BOOLEAN;
x_req_id NUMBER;
x_return_status VARCHAR2(100);
x_prior_period_open BOOLEAN;
x_new_acct_period_id NUMBER;
x_duplicate_open_period BOOLEAN;
x_commit_complete BOOLEAN;
x_last_scheduled_close_date DATE;
ln_user_id NUMBER;
ln_org_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
lc_curr_per VARCHAR2(30);
ln_fsc_yr NUMBER;
ln_prd_nm NUMBER;
lc_last_day DATE;
Begin
-- fnd_file.put_line(fnd_file.log,'1st parameter - '||p_company||' - 2nd Parameter - '||p_fiscal_year||' - 3rd Parameter - '||p_period_num);
fnd_file.put_line(fnd_file.output,'WHSE'||' '||'PERIOD NUM'||' '||'PERIOD YR');
ln_user_id := 1738; --:=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(1738,ln_resp_id,ln_resp_app_id);
END;
For i in ls_period_open(p_company, p_fiscal_year,p_period_nm) loop
Exit when ls_period_open%notfound;
For j in ls_slct_for_data(p_period_nm,i.organization_id,p_fiscal_year) loop
Exit when ls_slct_for_data%notfound;
Select last_day(to_char('01-'||j.period_name)) into lc_last_day
From dual;
FND_FILE.PUT_LINE(FND_FILE.LOG,'period_set_name is -'||j.period_year||'-'||i.organization_id||'-'||j.period_name||'-'||lc_last_day);
CST_ACCOUNTINGPERIOD_PUB.Open_Period(
p_api_version => 1.0,
p_org_id => i.organization_id,
p_user_id => i.created_by,
p_login_id => i.LAST_UPDATE_LOGIN,
p_acct_period_type => '1',
p_org_period_set_name => 'AGROCAL',
p_open_period_name => j.period_name,--ln_period_close.period_name,
p_open_period_year => j.period_year,--p_fiscal_year,
p_open_period_num => j.period_num,--p_period_num,
x_last_scheduled_close_date => x_last_scheduled_close_date,
p_period_end_date => lc_last_day,-- '30-NOV-2010',--to_char(last_day(sysdate),'DD-MON-RRRR'),
x_prior_period_open => x_prior_period_open,
x_new_acct_period_id => x_new_acct_period_id,
x_duplicate_open_period => x_duplicate_open_period,
x_commit_complete => x_commit_complete,
x_return_status => x_return_status);
FND_FILE.PUT_LINE(fnd_file.output,i.ORGANIZATION_CODE||' '||j.period_num||' '||j.period_year);
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_return_status);
IF lc_return_status <> 'S' THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_return_status);
COMMIT;
IF ln_msg_count <= 1 THEN
lc_errbuf := lc_errbuf || lc_msg_data;
ELSE
FOR ln_i IN 1 .. ln_msg_count LOOP
lc_errbuf := lc_errbuf ||' '|| FND_MSG_PUB.GET ( ln_i, 'F' );
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_errbuf);
END LOOP;
END IF;
END IF;
IF i.period_close_date is not null and i.open_flag = 'Y' Then
FND_FILE.PUT_LINE(FND_FILE.LOG,'Inventory period cannot open for - '||i.organization_code|| 'as there is problem.');
ELSE
FND_FILE.PUT_LINE(FND_FILE.LOG,'Inventory period opened for organization - '||i.organization_code);
End If;
End loop;
END LOOP;
Commit;
EXCEPTION
WHEN OTHERS THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'Exception - Inventory Close API'||sqlerrm);
End;
---
---
PROCEDURE inventory_open_api ( Errbuf OUT VARCHAR2
,Retcode OUT NUMBER
, p_company IN VARCHAR2
, p_fiscal_year IN NUMBER
, p_period_nm IN VARCHAR2)
---------------------------------------------
PROCEDURE inventory_open_api ( Errbuf OUT VARCHAR2
,Retcode OUT NUMBER
, p_company IN VARCHAR2
, p_fiscal_year IN NUMBER
, p_period_nm IN VARCHAR2)
AS
CURSOR ls_period_open( lc_company VARCHAR2
, ln_fiscal_year NUMBER
, lc_period_nm VARCHAR2) is
SELECT a.organization_id,b.ORGANIZATION_CODE,b.ORGANIZATION_NAME,a.created_by,a.last_update_login,a.period_close_date,a.open_flag
FROM org_acct_periods a,org_organization_definitions b
WHERE a.period_set_name = lc_company
AND a.period_year = (ln_fiscal_year)
AND a.organization_id not in (select organization_id from org_acct_periods where period_name = p_period_nm)
-- AND a.period_name = lc_period_nm
AND to_char(a.period_name) = to_char((ADD_MONTHS(sysdate,-1)),'MON-YY')
-- AND a.organization_id = 44
-- AND a.open_flag = 'Y'
AND a.organization_id = b.organization_id;
i ls_period_open%rowtype;
CURSOR ls_slct_for_data (lc_prd_nm VARCHAR2
,ln_org_id NUMBER
,ln_prd_yr NUMBER) is
SELECT
GLP.period_set_name,
GLP.period_year,
GLP.period_num,
GLP.period_name,
GLP.description,
GLP.end_date,
'Y',
-1
FROM gl_periods GLP
WHERE GLP.period_set_name = 'AGROCAL'
AND GLP.period_name = lc_prd_nm
AND GLP.period_type = '1'
AND GLP.adjustment_period_flag = 'N'
AND (GLP.period_name, GLP.period_year)
NOT IN
(SELECT period_name, period_year
FROM org_acct_periods
WHERE organization_id = ln_org_id)
AND NOT EXISTS
(SELECT period_start_date
FROM org_acct_periods
WHERE organization_id = ln_org_id
AND period_year = ln_prd_yr
AND period_name = lc_prd_nm);
j ls_slct_for_data%rowtype;
lc_return_status VARCHAR2(1);
lc_msg_data VARCHAR2(2000);
lc_errbuf VARCHAR2(2000);
ln_msg_count NUMBER;
p_closing_rowid VARCHAR2(100);
x_wip_failed BOOLEAN;
x_close_failed BOOLEAN;
x_download_failed BOOLEAN;
x_req_id NUMBER;
x_return_status VARCHAR2(100);
x_prior_period_open BOOLEAN;
x_new_acct_period_id NUMBER;
x_duplicate_open_period BOOLEAN;
x_commit_complete BOOLEAN;
x_last_scheduled_close_date DATE;
ln_user_id NUMBER;
ln_org_id NUMBER;
ln_resp_id NUMBER;
ln_resp_app_id NUMBER;
lc_curr_per VARCHAR2(30);
ln_fsc_yr NUMBER;
ln_prd_nm NUMBER;
lc_last_day DATE;
Begin
-- fnd_file.put_line(fnd_file.log,'1st parameter - '||p_company||' - 2nd Parameter - '||p_fiscal_year||' - 3rd Parameter - '||p_period_num);
fnd_file.put_line(fnd_file.output,'WHSE'||' '||'PERIOD NUM'||' '||'PERIOD YR');
ln_user_id := 1738; --:=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(1738,ln_resp_id,ln_resp_app_id);
END;
For i in ls_period_open(p_company, p_fiscal_year,p_period_nm) loop
Exit when ls_period_open%notfound;
For j in ls_slct_for_data(p_period_nm,i.organization_id,p_fiscal_year) loop
Exit when ls_slct_for_data%notfound;
Select last_day(to_char('01-'||j.period_name)) into lc_last_day
From dual;
FND_FILE.PUT_LINE(FND_FILE.LOG,'period_set_name is -'||j.period_year||'-'||i.organization_id||'-'||j.period_name||'-'||lc_last_day);
CST_ACCOUNTINGPERIOD_PUB.Open_Period(
p_api_version => 1.0,
p_org_id => i.organization_id,
p_user_id => i.created_by,
p_login_id => i.LAST_UPDATE_LOGIN,
p_acct_period_type => '1',
p_org_period_set_name => 'AGROCAL',
p_open_period_name => j.period_name,--ln_period_close.period_name,
p_open_period_year => j.period_year,--p_fiscal_year,
p_open_period_num => j.period_num,--p_period_num,
x_last_scheduled_close_date => x_last_scheduled_close_date,
p_period_end_date => lc_last_day,-- '30-NOV-2010',--to_char(last_day(sysdate),'DD-MON-RRRR'),
x_prior_period_open => x_prior_period_open,
x_new_acct_period_id => x_new_acct_period_id,
x_duplicate_open_period => x_duplicate_open_period,
x_commit_complete => x_commit_complete,
x_return_status => x_return_status);
FND_FILE.PUT_LINE(fnd_file.output,i.ORGANIZATION_CODE||' '||j.period_num||' '||j.period_year);
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_return_status);
IF lc_return_status <> 'S' THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_return_status);
COMMIT;
IF ln_msg_count <= 1 THEN
lc_errbuf := lc_errbuf || lc_msg_data;
ELSE
FOR ln_i IN 1 .. ln_msg_count LOOP
lc_errbuf := lc_errbuf ||' '|| FND_MSG_PUB.GET ( ln_i, 'F' );
FND_FILE.PUT_LINE(FND_FILE.LOG,'STATUS : ' || lc_errbuf);
END LOOP;
END IF;
END IF;
IF i.period_close_date is not null and i.open_flag = 'Y' Then
FND_FILE.PUT_LINE(FND_FILE.LOG,'Inventory period cannot open for - '||i.organization_code|| 'as there is problem.');
ELSE
FND_FILE.PUT_LINE(FND_FILE.LOG,'Inventory period opened for organization - '||i.organization_code);
End If;
End loop;
END LOOP;
Commit;
EXCEPTION
WHEN OTHERS THEN
FND_FILE.PUT_LINE(FND_FILE.LOG,'Exception - Inventory Close API'||sqlerrm);
End;
---
No comments:
Post a Comment