Tuesday 6 October 2015

ORA-04063: package body "APPS.AP_ACCTG_DATA_FIX_PKG" has errors

ORA-04063: package body "APPS.AP_ACCTG_DATA_FIX_PKG" has errors

Symptoms

After applying GDF patch 11787050:R12.AP.B or any other patch requiring undo accounting, running the script "ap_undo_acctg.sql" throws the below error:

ERROR
-----------------------
ORA-04063: package body "APPS.AP_ACCTG_DATA_FIX_PKG" has errors
ORA-06508: PL/SQL: could not find program unit being called:
"APPS.AP_ACCTG_DATA_FIX_PKG"
ORA-06512: at line 38

When trying to compile "APPS.AP_ACCTG_DATA_FIX_PKG", following errors are shown:

AP_ACCTG_DATA_FIX_PKG PLS-00394: wrong number of values in the INTO list of a FETCH statement

Cause

A technical dependency has been introduced between the
files apacpays.pls, apacpayb.pls and apgdfalb.pls with the
bugfix 9716573.

Due to the technical dependency introduced, the AP_ACCTG_DATA_FIX_PKG does not compile when there's a descrepancy between the datafix package and other packages.
Hence results in the package being invalid.

This is explained in the below internal bug:
Internal BUG 11772495 - RCA: REMOVING TECHNICAL DEP BETWEEN APACPAYB.PLS & APGDFALB.PLS

Solution

1. Download and review the readme and pre-requisites for Patch 11772495:R12.AP.B (to fix the package apacpayb.pls) and Patch.12582979:R12.AP.B (to upgrade the version of apgdfalb.pls).

2. Ensure that you have taken a backup of your system before applying
the recommended patch.

3. Apply the patch in a test environment.
4. Confirm the following file versions:
ap patch/115/sql apacpayb.pls 120.12.12010000.28
ap patch/115/sql apacpays.pls 120.6.12010000.10
ap patch/115/sql apgdfalb.pls 120.1.12010000.39
ap patch/115/sql apgdfals.pls 120.1.12010000.13
You can use the commands like the following:
strings -a $XX_TOP/filename |grep '$Header'

5. Check if the AP_ACCTG_DATA_FIX_PKG is now valid and retest running the script.

6. Migrate the solution as appropriate to other environments.
 
 
Thanks
Srini

No comments:

Post a Comment


No one has ever become poor by giving