Static Table Driver Allocation Fails for Multi Currency Enabled Instance with ORA- 00938: not enough arguments for function Errors (Doc ID 1620336.1)

Last updated on NOVEMBER 10, 2016

Applies to:

Oracle Financial Services Profitability Management - Version 6.1.0.2 to 8.0.0 [Release 6 to 8]
Information in this document applies to any platform.
Oracle Financial Services Analytical Applications (OFSAA)

Symptoms

On Oracle Financial Services Profitability Management (PFT) 6.1.0.2, static ledger stat table driver allocations fails with the following error thrown in the merge statement:

ERROR

Module Logging OFS errors: (203105) Oracle drv_oci error: OCI Function: [4] - oexec(),
oexn() SQL Function: [189] - SQL function not found! Oracle
Error: ORA- 00938: not enough arguments for function Driver
Function: drv_oci::Execute() SQL Statement: MERGE INTO
LEDGER_STAT TARGET USING (SELECT *
FROM (
SELECT 11860.000000 identity_code, 2013 year_s , 'D'
accum_type_cd , 100 consolidation_cd , 101 balance_type_cd,
ISO_CURRENCY_CD , 14250.000000 FINANCIAL_ELEM_ID, ORG_UNIT_ID,
0.000000 GL_ACCOUNT_ID, 0.000000 COMMON_COA_ID, 0.000000
PRODUCT_ID, GL_SUBHEAD_ID, GL_CODE_ID, CODE1_ID, CODE2_ID,
OFFICE_ACCT_ID, SEGMENT_ID, EXTRA_INFO_ID, SUM( (src_amount *
DECODE( ISO_CURRENCY_CD, 1 ) ) * IVW_SOURCE2.AMOUNT ) * 1
BALANCE_AMOUNT , IVW_SOURCE2.LEAF_1 CP_CENTER_ID
FROM (
SELECT *
FROM (
SELECT SUM(DECODE(a.year_s, 2013, a.month_12, 0) ) src_amount ,
CODE1_ID, CODE2_ID, EXTRA_INFO_ID, GL_CODE_ID, GL_SUBHEAD_ID,
ISO_CURRENCY_CD, OFFICE_ACCT_ID, ORG_UNIT_ID, SEGMENT_ID
FROM (GLBL6745TMP)a
GROUP BY CODE1_ID, CODE2_ID, EXTRA_INFO_ID, GL_CODE_ID,
GL_SUBHEAD_ID, ISO_CURRENCY_CD, OFFICE_ACCT_ID, ORG_UNIT_ID,
SEGMENT_ID ) Src , (
SELECT *
FROM VW_TID_LS_6745
WHERE LEAF_TYPE = 'K' ) Drv
WHERE Src.EXTRA_INFO_ID = Drv.LEAF_1 ) IVW_SOURCE1 , (
SELECT LEAF_1 , AMOUNT * 1 / SUM(AMOUNT) OVER (PARTITION BY
PARENT_ROW_NUM) AMOUNT, PARENT_ROW_NUM
FROM VW_TID_LS_6745
WHERE LEAF_TYPE = 'T'
AND AMOUNT <> 0 ) IVW_SOURCE2
WHERE src_amount <> 0
AND IVW_SOURCE1.PARENT_ROW_NUM = IVW_SOURCE2.PARENT_ROW_NUM
GROUP BY ISO_CURRENCY_CD , ORG_UNIT_ID, GL_CODE_ID, CODE1_ID,
CODE2_ID, OFFICE_ACCT_ID, SEGMENT_ID, EXTRA_INFO_ID,
GL_SUBHEAD_ID , IVW_SOURCE2.LEAF_1 )
WHERE BALANCE_AMOUNT IS NOT NULL
and round ( BALANCE_AMOUNT, 4) <> 0 ) SOURCE ON
(TARGET.FINANCIAL_ELEM_ID = 14250.000000
AND TARGET.ORG_UNIT_ID = SOURCE.ORG_UNIT_ID
AND TARGET.GL_ACCOUNT_ID = 0.000000
AND TARGET.COMMON_COA_ID = 0.000000
AND TARGET.PRODUCT_ID = 0.000000
AND TARGET.GL_SUBHEAD_ID = SOURCE.GL_SUBHEAD_ID
AND TARGET.GL_CODE_ID = SOURCE.GL_CODE_ID
AND TARGET.CODE1_ID = SOURCE.CODE1_ID
AND TARGET.CODE2_ID = SOURCE.CODE2_ID
AND TARGET.OFFICE_ACCT_ID = SOURCE.OFFICE_ACCT_ID
AND TARGET.CP_CENTER_ID = SOURCE.CP_CENTER_ID
AND TARGET.SEGMENT_ID = SOURCE.SEGMENT_ID
AND TARGET.EXTRA_INFO_ID = SOURCE.EXTRA_INFO_ID
AND TARGET.YEAR_S = 2013
AND TARGET.IDENTITY_CODE = 11860.000000
AND TARGET.ISO_CURRENCY_CD = SOURCE.ISO_CURRENCY_CD
AND TARGET.CONSOLIDATION_CD = 100
AND TARGET.ACCUM_TYPE_CD = 'D'
AND TARGET.BALANCE_TYPE_CD = 101 ) WHEN MATCHED THEN
UPDATE
SET TARGET.MONTH_12 = TARGET.MONTH_12 + SOURCE.BALANCE_AMOUNT,
ytd_12 = ytd_11 + SOURCE.BALANCE_AMOUNT WHEN NOT MATCHED THEN
INSERT (FINANCIAL_ELEM_ID, ORG_UNIT_ID, GL_ACCOUNT_ID,
COMMON_COA_ID, PRODUCT_ID, GL_SUBHEAD_ID, GL_CODE_ID, CODE1_ID,
CODE2_ID, OFFICE_ACCT_ID, CP_CENTER_ID, SEGMENT_ID,
EXTRA_INFO_ID, ACCUM_TYPE_CD, BALANCE_TYPE_CD, CONSOLIDATION_CD,
CURRENCY_TYPE_CD, IDENTITY_CODE, ISO_CURRENCY_CD, MONTH_01,
MONTH_02, MONTH_03, MONTH_04, MONTH_05, MONTH_06, MONTH_07,
MONTH_08, MONTH_09, MONTH_10, MONTH_11, MONTH_12, YEAR_S, YTD_01,
YTD_02, YTD_03, YTD_04, YTD_05, YTD_06, YTD_07, YTD_08, YTD_09,
YTD_10, YTD_11, YTD_12 )
VALUES ( 14250.000000, SOURCE.ORG_UNIT_ID, 0.000000, 0.000000,
0.000000, SOURCE.GL_SUBHEAD_ID, SOURCE.GL_CODE_ID,
SOURCE.CODE1_ID, SOURCE.CODE2_ID, SOURCE.OFFICE_ACCT_ID,
SOURCE.CP_CENTER_ID, SOURCE.SEGMENT_ID, SOURCE.EXTRA_INFO_ID, 'D'
, 101 , 100 , 0 , 11860.000000 , SOURCE.ISO_CURRENCY_CD, 0.0,
0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0,
SOURCE.BALANCE_AMOUNT, 2013, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
SOURCE.BALANCE_AMOUNT )

Module Logging OFS errors: (908001) Fatal error during processing.

The issue can be reproduced at will with the following steps:
1. Run Static Driver Allocation on Ledger Stat

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms