采购接收会计期间未打开报错分析
错误信息:
APP-PO-14230: The GL date is not in an open period (code error name = PO_CNL_NO_PERIOD)
APP-PO-14376: Please enter a GL date within an open purchasing period (code error name = PO_PO_ENTER_OPEN_GL_DATE)--错误: 请输入处于打开采购会计期内的 GL 日期。
Please enter a GL Date within an open inventory accounting period (code error name = PO_INV_NO_OPEN_PERIOD)
Message Token
|
Message Text |
---|---|
PO_CNL_NO_PERIOD
|
The GL date is not in an open period. |
PO_INV_NO_OPEN_PERIOD
|
Please enter a GL Date within an open inventory accounting period. |
PO_PO_ENTER_OPEN_GL_DATE
|
Please enter a GL date that is within an open purchasing accounting period. |
解决办法:打开相应会计期间
方法一:
1. Ensure the Receipt Date falls into a GL Period that has Status=Open or Future:
Setup / Financials / Accounting / Open and Close periods
-OR- Setup / Open and Close periods
2. Ensure the Purchasing Period has Status=Open or Future:
Setup / Financials / Accounting / Control Purchasing Period
3. Please note that the Inventory Period has Status=Open or Future:
Accounting close cycle / Inventory Accounting Periods
用SQL查看后台数据
GL Period:
select set_of_books_id, period_name, decode(closing_status,'O','Open', 'C','Closed', 'F','Future', 'N','Never', closing_status) gl_status, start_date, end_date from gl_period_statuses where trunc(start_date) > sysdate-40 --adjust date as needed and trunc(start_date) < sysdate+1 and application_id = 101 order by application_id,start_date desc
PO Period:
select set_of_books_id, application_id, period_name, decode(closing_status,'O','Open', 'C','Closed', 'F','Future', 'N','Never', closing_status) po_status, start_date, end_date from gl_period_statuses where trunc(start_date) > sysdate-40 --adjust date as needed and trunc(start_date) < sysdate+1 and application_id = 201 order by application_id,start_date descINV Period must be open (even when transacting Expense Items) if Inventory is Fully Installed (not required for Shared Install)
select set_of_books_id, application_id, period_name, decode(closing_status,'O','Open', 'C','Closed', 'F','Future', 'N','Never', closing_status) po_status, start_date, end_date from gl_period_statuses where trunc(start_date) > sysdate-40 --adjust date as needed and trunc(start_date) < sysdate+1 and application_id = 401 order by application_id,start_date desc
方法二:
The function RCV_DATES_S.val_trx_date makes the following call passing the Product IDs for GL, INV and PO
- PO_DATES_S.val_open_period
The PO_DATES_S.val_open_period then makes the following calls for each of the three products:
- PO_DATES_S.get_closing_status (GL)
- PO_DATES_S.get_acct_period_status (INV)
- PO_DATES_S.get_closing_status (PO)
The following SQL may be used to check for valid periods applicable to GL and PO:
SELECT sob.name "Set of Books" ,fnd.product_code "Porduct Code" ,ps.PERIOD_NAME "Period Name" ,ps.START_DATE "Period Start Date" ,ps.END_DATE "Period End Date" ,decode(ps.closing_status, 'O','O - Open' ,'N','N - Never Opened' ,'F','F - Future Enterable' ,'C','C - Closed' ,'Unknown') "Period Status" FROM gl_period_statuses ps ,GL_SETS_OF_BOOKS sob ,FND_APPLICATION_VL fnd WHERE ps.application_id in (101,201,401) and sob.SET_OF_BOOKS_ID = ps.SET_OF_BOOKS_ID and fnd.application_id = ps.application_id AND ps.adjustment_period_flag = 'N' AND (trunc(sysdate) -- Comment line if a a date other than SYSDATE is being tested. --AND ('01-APR-2011' -- Uncomment line if a date other than SYSDATE is being tested. BETWEEN trunc(ps.start_date) AND trunc (ps.end_date)) order by ps.SET_OF_BOOKS_ID,fnd.product_code, ps.start_date;
For GL if the Period Status is neither 'O' or 'F' then the message text associated with the token PO_CNL_NO_PERIOD is displayed
For PO if the Period Status is neither 'O' or 'F' then the message text associated with the token PO_PO_ENTER_OPEN_GL_DATE is displayed
The following SQL may be used to check for valid periods applicable to INV:
SELECT ood.organization_id "Organization ID" ,ood.ORGANIZATION_CODE "Organization Code" ,ood.ORGANIZATION_NAME "Organization Name" ,oap.period_name "Period Name" ,oap.period_start_date "Start Date" ,oap.PERIOD_CLOSE_DATE "Closed Date" ,oap.schedule_close_date "Scheduled Close" ,decode(oap.open_flag, 'P','P - Period Close is processing' ,'N','N - Period Close process is completed' ,'Y','Y - Period is open if Closed Date is NULL' ,'Unknown') "Period Status" FROM org_acct_periods oap ,org_organization_definitions ood WHERE oap.organization_id = ood.organization_id AND (trunc(sysdate) -- Comment line if a a date other than SYSDATE is being tested. --AND ('01-APR-2011' -- Uncomment line if a date other than SYSDATE is being tested. BETWEEN trunc(oap.period_start_date) AND trunc (oap.schedule_close_date)) order by ood.organization_id,oap.period_start_date; -- If Period Status is 'Y' and Closed Date is not NULL then the closing of the INV period failed.
For INV if the Period Status is not 'Y' then the message text associated with the token PO_INV_NO_OPEN_PERIOD is displayed