|
|
发表于 2008/2/16 12:13:02
|
显示全部楼层
正好在写
-- Account Payables ------------------------------------------------------
--############################################################################################################################
--
-- Invoice ----
SELECT AAL.CODE_COMBINATION_ID,
AI.INVOICE_CURRENCY_CODE CURRENCY_CODE,
DECODE(AAE.ACCOUNTING_DATE, _DOC_DATE, 1, 0) SIGN_IND,
AAL.ACCOUNTED_DR DR_BASE_AMT,
AAL.ACCOUNTED_CR CR_BASE_AMT,
NVL(AAL.ACCOUNTED_DR, 0) - NVL(AAL.ACCOUNTED_CR, 0) REMAIN_BASE_AMT,
DECODE(AI.INVOICE_CURRENCY_CODE, :P_BASE_CCY, 0, AAL.ENTERED_DR) DR_AMT,
DECODE(AI.INVOICE_CURRENCY_CODE, :P_BASE_CCY, 0, AAL.ENTERED_CR) CR_AMT,
DECODE(AI.INVOICE_CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(AAL.ENTERED_DR, 0) - NVL(AAL.ENTERED_CR, 0)) REMAIN_AMT
FROM AP_INVOICES_ALL AI,
AP_AE_LINES_ALL AAL,
AP_AE_HEADERS_ALL AAH,
AP_ACCOUNTING_EVENTS_ALL AAE
WHERE AAL.AE_HEADER_ID = AAH.AE_HEADER_ID
AND AI.INVOICE_ID = AAE.SOURCE_ID
AND AAE.SOURCE_TABLE = 'AP_INVOICES'
AND AAH.ACCOUNTING_EVENT_ID = AAE.ACCOUNTING_EVENT_ID
AND NVL(AAL.ACCOUNTED_DR, 0) - NVL(AAL.ACCOUNTED_CR, 0) <> 0
AND AI.CANCELLED_DATE IS NULL
AND AI.ORG_ID = :P_ORG_ID
AND AAE.ACCOUNTING_DATE < TRUNC(:P_DOC_DATE) + 1
AND (AAE.ACCOUNTING_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
AAH.GL_TRANSFER_FLAG = 'N') & _WHERE_AP_INV
UNION ALL
-- Payment ----
SELECT AAL.CODE_COMBINATION_ID,
AC.CURRENCY_CODE CURRENCY_CODE,
DECODE(AAE.ACCOUNTING_DATE, :P_DOC_DATE, 1, 0) SIGN_IND,
AAL.ACCOUNTED_DR DR_BASE_AMT,
AAL.ACCOUNTED_CR CR_BASE_AMT,
NVL(AAL.ACCOUNTED_DR, 0) - NVL(AAL.ACCOUNTED_CR, 0) REMAIN_BASE_AMT,
DECODE(AC.CURRENCY_CODE, :P_BASE_CCY, 0, AAL.ENTERED_DR) DR_AMT,
DECODE(AC.CURRENCY_CODE, :P_BASE_CCY, 0, AAL.ENTERED_CR) CR_AMT,
DECODE(AC.CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(AAL.ENTERED_DR, 0) - NVL(AAL.ENTERED_CR, 0)) REMAIN_AMT
FROM AP_CHECKS_ALL AC,
AP_AE_LINES_ALL AAL,
AP_AE_HEADERS_ALL AAH,
AP_ACCOUNTING_EVENTS_ALL AAE
WHERE AC.CHECK_ID = AAE.SOURCE_ID
AND AAH.ACCOUNTING_EVENT_ID = AAE.ACCOUNTING_EVENT_ID
AND AAL.AE_HEADER_ID = AAH.AE_HEADER_ID
AND AAE.SOURCE_TABLE = 'AP_CHECKS'
AND AC.ORG_ID = :P_ORG_ID
AND AAE.ACCOUNTING_DATE < TRUNC(:P_DOC_DATE) + 1
AND (AAE.ACCOUNTING_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
AAH.GL_TRANSFER_FLAG = 'N') &P_WHERE_AP_PAY
-- Account Receivables ------------------------------------------------------
--############################################################################################################################
--
UNION ALL
-- Transaction ----
SELECT CODE_COMBINATION_ID,
CURRENCY_CODE,
DECODE(ACCOUNTING_DATE, :P_DOC_DATE, 1, 0) SIGN_IND,
NVL(ACCOUNTED_DR, 0) DR_BASE_AMT,
NVL(ACCOUNTED_CR, 0) CR_BASE_AMT,
NVL(ACCOUNTED_DR, 0) - NVL(ACCOUNTED_CR, 0) REMAIN_BASE_AMT,
DECODE(CURRENCY_CODE, :P_BASE_CCY, 0, ENTERED_DR) DR_AMT,
DECODE(CURRENCY_CODE, :P_BASE_CCY, 0, ENTERED_CR) CR_AMT,
DECODE(CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(ENTERED_DR, 0) - NVL(ENTERED_CR, 0)) REMAIN_AMT
FROM AR_AEL_SL_INV_V
WHERE SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID
AND (ACCOUNTING_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
GL_TRANSFER_STATUS = 'N')
AND ACCOUNTING_DATE < TRUNC(:P_DOC_DATE) + 1
AND TRX_HDR_TABLE = 'CT' &P_WHERE_AR_TRX
UNION ALL
-- Receipt ----
SELECT CODE_COMBINATION_ID,
CURRENCY_CODE,
DECODE(ACCOUNTING_DATE, :P_DOC_DATE, 1, 0) SIGN_IND,
NVL(ACCOUNTED_DR, 0) DR_BASE_AMT,
NVL(ACCOUNTED_CR, 0) CR_BASE_AMT,
NVL(ACCOUNTED_DR, 0) - NVL(ACCOUNTED_CR, 0) REMAIN_BASE_AMT,
DECODE(CURRENCY_CODE, :P_BASE_CCY, 0, ENTERED_DR) DR_AMT,
DECODE(CURRENCY_CODE, :P_BASE_CCY, 0, ENTERED_CR) CR_AMT,
DECODE(CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(ENTERED_DR, 0) - NVL(ENTERED_CR, 0)) REMAIN_AMT
FROM AR_AEL_SL_REC_V
WHERE SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID
AND (ACCOUNTING_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
GL_TRANSFER_STATUS = 'N')
AND ACCOUNTING_DATE < TRUNC(:P_DOC_DATE) + 1
AND TRX_HDR_TABLE = 'CR' &P_WHERE_AR_RCV
-- Inventory ------------------------------------------------------
--############################################################################################################################
--
UNION ALL
-- Material Transaction ----
SELECT MTA.REFERENCE_ACCOUNT CODE_COMBINATION_ID,
NVL(MMT.CURRENCY_CODE, :P_BASE_CCY) CURRENCY_CODE,
DECODE(TRUNC(MMT.TRANSACTION_DATE), :P_DOC_DATE, 1, 0) SIGN_IND,
DECODE(SIGN(MTA.BASE_TRANSACTION_VALUE),
1,
ABS(MTA.BASE_TRANSACTION_VALUE),
0) DR_BASE_AMT,
DECODE(SIGN(MTA.BASE_TRANSACTION_VALUE),
-1,
ABS(MTA.BASE_TRANSACTION_VALUE),
0) CR_BASE_AMT,
NVL(MTA.BASE_TRANSACTION_VALUE, 0) REMAIN_BASE_AMT,
DECODE(MMT.CURRENCY_CODE,
:P_BASE_CCY,
0,
DECODE(SIGN(MTA.TRANSACTION_VALUE),
1,
ABS(MTA.TRANSACTION_VALUE),
0)) DR_AMT,
DECODE(MMT.CURRENCY_CODE,
:P_BASE_CCY,
0,
DECODE(SIGN(MTA.TRANSACTION_VALUE),
-1,
ABS(MTA.TRANSACTION_VALUE),
0)) CR_AMT,
DECODE(MMT.CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(MTA.TRANSACTION_VALUE, 0)) REMAIN_AMT
FROM MTL_TRANSACTION_ACCOUNTS MTA,
MTL_MATERIAL_TRANSACTIONS MMT,
ORG_ORGANIZATION_DEFINITIONS OOD
WHERE MMT.TRANSACTION_ID = MTA.TRANSACTION_ID
AND MMT.ORGANIZATION_ID = OOD.ORGANIZATION_ID
AND OOD.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID
AND (MMT.TRANSACTION_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
MTA.GL_BATCH_ID = -1)
AND MMT.TRANSACTION_DATE < TRUNC(:P_DOC_DATE) + 1 &P_WHERE_INV_MTA
UNION ALL
-- WIP Transaction ----
SELECT WTA.REFERENCE_ACCOUNT CODE_COMBINATION_ID,
NVL(WT.CURRENCY_CODE, NVL(WTA.CURRENCY_CODE, :P_BASE_CCY)) CURRENCY_CODE,
DECODE(TRUNC(WT.TRANSACTION_DATE), :P_DOC_DATE, 1, 0) SIGN_IND,
DECODE(SIGN(WTA.BASE_TRANSACTION_VALUE),
1,
ABS(WTA.BASE_TRANSACTION_VALUE),
0) DR_BASE_AMT,
DECODE(SIGN(WTA.BASE_TRANSACTION_VALUE),
-1,
ABS(WTA.BASE_TRANSACTION_VALUE),
0) CR_BASE_AMT,
NVL(WTA.BASE_TRANSACTION_VALUE, 0) REMAIN_BASE_AMT,
DECODE(WT.CURRENCY_CODE,
:P_BASE_CCY,
0,
DECODE(SIGN(WTA.TRANSACTION_VALUE),
1,
ABS(WTA.TRANSACTION_VALUE),
0)) DR_AMT,
DECODE(WT.CURRENCY_CODE,
:P_BASE_CCY,
0,
DECODE(SIGN(WTA.TRANSACTION_VALUE),
-1,
ABS(WTA.TRANSACTION_VALUE),
0)) CR_AMT,
DECODE(WT.CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(WTA.TRANSACTION_VALUE, 0)) REMAIN_AMT
FROM WIP_TRANSACTION_ACCOUNTS WTA,
WIP_TRANSACTIONS WT,
ORG_ORGANIZATION_DEFINITIONS OOD
WHERE WTA.TRANSACTION_ID = WT.TRANSACTION_ID
AND WT.ORGANIZATION_ID = OOD.ORGANIZATION_ID
AND OOD.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID
AND (WT.TRANSACTION_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
WTA.GL_BATCH_ID = -1)
AND WT.TRANSACTION_DATE < TRUNC(:P_DOC_DATE) + 1 &P_WHERE_INV_WIP
-- Journal Entry ------------------------------------------------------
--############################################################################################################################
--
UNION ALL
SELECT JEL.CODE_COMBINATION_ID,
JEH.CURRENCY_CODE,
DECODE(JEL.EFFECTIVE_DATE, :P_DOC_DATE, 1, 0) SIGN_IND,
NVL(JEL.ACCOUNTED_DR, 0) DR_BASE_AMT,
NVL(JEL.ACCOUNTED_CR, 0) CR_BASE_AMT,
NVL(JEL.ACCOUNTED_DR, 0) - NVL(JEL.ACCOUNTED_CR, 0) REMAIN_BASE_AMT,
DECODE(JEH.CURRENCY_CODE, :P_BASE_CCY, 0, JEL.ENTERED_DR) DR_AMT,
DECODE(JEH.CURRENCY_CODE, :P_BASE_CCY, 0, JEL.ENTERED_CR) CR_AMT,
DECODE(JEH.CURRENCY_CODE,
:P_BASE_CCY,
0,
NVL(JEL.ENTERED_DR, 0) - NVL(JEL.ENTERED_CR, 0)) REMAIN_AMT
FROM GL_JE_HEADERS JEH, GL_JE_LINES JEL
WHERE JEH.JE_HEADER_ID = JEL.JE_HEADER_ID
AND (JEL.EFFECTIVE_DATE >= TRUNC(:P_DOC_DATE, 'MM') OR
JEH.POSTED_DATE IS NULL)
AND JEL.EFFECTIVE_DATE < TRUNC(:P_DOC_DATE) + 1
AND JEH.JE_SOURCE NOT IN ('Payables', 'Receivables', 'Inventory')
AND JEH.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID &P_WHERE_GL_JE
-- GL Balance ------------------------------------------------------
--############################################################################################################################
--
UNION ALL
SELECT BAL.CODE_COMBINATION_ID,
BAL.CURRENCY_CODE,
0 SIGN_IND,
NVL(BAL.BEGIN_BALANCE_DR, 0) DR_BASE_AMT,
NVL(BAL.BEGIN_BALANCE_CR, 0) CR_BASE_AMT,
NVL(BAL.BEGIN_BALANCE_DR, 0) - NVL(BAL.BEGIN_BALANCE_CR, 0) REMAIN_BASE_AMT,
0 DR_AMT,
0 CR_AMT,
0 REMAIN_AMT
FROM GL_BALANCES BAL
WHERE BAL.CURRENCY_CODE = :P_BASE_CCY
AND BAL.PERIOD_NAME = :P_PERIOD_NAME
AND BAL.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID &P_WHERE_GL_BAL
UNION ALL
SELECT BAL.CODE_COMBINATION_ID,
:P_BASE_CCY,
0 SIGN_IND,
-NVL(BAL.BEGIN_BALANCE_DR_BEQ, 0) DR_BASE_AMT,
-NVL(BAL.BEGIN_BALANCE_CR_BEQ, 0) CR_BASE_AMT,
- (NVL(BAL.BEGIN_BALANCE_DR_BEQ, 0) -
NVL(BAL.BEGIN_BALANCE_CR_BEQ, 0)) REMAIN_BASE_AMT,
0 DR_AMT,
0 CR_AMT,
0 REMAIN_AMT
FROM GL_BALANCES BAL
WHERE BAL.CURRENCY_CODE <> :P_BASE_CCY
AND BAL.PERIOD_NAME = :P_PERIOD_NAME
AND BAL.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID &P_WHERE_GL_BAL
UNION ALL
-- Foreign Currency -----
SELECT BAL.CODE_COMBINATION_ID,
BAL.CURRENCY_CODE,
0 SIGN_IND,
NVL(BAL.BEGIN_BALANCE_DR_BEQ, 0) DR_BASE_AMT,
NVL(BAL.BEGIN_BALANCE_CR_BEQ, 0) CR_BASE_AMT,
NVL(BAL.BEGIN_BALANCE_DR_BEQ, 0) - NVL(BAL.BEGIN_BALANCE_CR_BEQ, 0) REMAIN_BASE_AMT,
NVL(BAL.BEGIN_BALANCE_DR, 0) DR_AMT,
NVL(BAL.BEGIN_BALANCE_CR, 0) CR_AMT,
NVL(BAL.BEGIN_BALANCE_DR, 0) - NVL(BAL.BEGIN_BALANCE_CR, 0) REMAIN_AMT
FROM GL_BALANCES BAL
WHERE BAL.CURRENCY_CODE <> :P_BASE_CCY
AND BAL.PERIOD_NAME = :P_PERIOD_NAME
AND BAL.SET_OF_BOOKS_ID = :P_SET_OF_BOOKS_ID &P_WHERE_GL_BAL |
|