Hello I solved this problem I suffer several years.
Most of wrapped procedures compiles, but some of them do not. Here is one
example
(on 12c)
Problem: you can't compile a wrapped procedure
SQL> alter package DAZ.PCK_GEN_XLS compile;
Warning: Package altered with compilation errors.
1) solution recreating fails.
SQL> CREATE OR REPLACE PACKAGE BODY DAZ.PCK_GEN_XLS wrapped
2 a000000
3 b2
61
dX6ImnUV6bAb5NjrivfS9fIUxpM/2S8TOmTjAh4tQDBW0t8k+8qDk3pliM7693JDiiy5VPy/
62
5qCkVBE6cRkIq5XsWHtastu80Xg8xRGSf0JR7TaGjhUQkUQjvXOuWELvBJrd/Zr5m6oGeMyj
63 /
Warning: Package Body created with compilation errors.
2) Adding a blank line: works temporarily you have to do this each time
SQL> CREATE OR REPLACE PACKAGE BODY DAZ.PCK_GEN_XLS wrapped
2 a000000
3 b2
61
dX6ImnUV6bAb5NjrivfS9fIUxpM/2S8TOmTjAh4tQDBW0t8k+8qDk3pliM7693JDiiy5VPy/
62
5qCkVBE6cRkIq5XsWHtastu80Xg8xRGSf0JR7TaGjhUQkUQjvXOuWELvBJrd/Zr5m6oGeMyj
63
64 /
Package body created.
But if you try to recompile it fails again
alter package DAZ.PCK_GEN_XLS compile;
Warning: Package altered with compilation errors.
You can get this using a query like this
SELECT
REPLACE
(REPLACE
(REPLACE
(
TRIM(LTRIM( DBMS_METADATA.GET_DDL (CASE WHEN OBJECT_TYPE ='PACKAGE BODY'
THEN 'PACKAGE' ELSE OBJECT_TYPE END, OBJECT_NAME,OWNER),CHR(10)))
||CHR(10)||CHR(10)||'/'||CHR(10)||CHR (10),
' EDITIONABLE', NULL ),
' NONEDITIONABLE', NULL ),
'CREATE OR REPLACE PACKAGE BODY',
CHR (10)||CHR (10)||'/'|| CHR (10)||CHR(10)|| 'CREATE OR REPLACE
PACKAGE BODY'
) CMD
FROM SYS.PROCEDURE$, DBA_OBJECTS A
WHERE OBJECT_ID = OBJ#
AND STATUS =
'INVALID'
--AND OBJECT_TYPE IN ('FUNCTION',
'PROCEDURE','PACKAGE')
AND NOT BITAND (OPTIONS, 2) = 0
/*WRAPPED*/
/
3) Adding two / gives a permanent solution: but you have to add the two
lineas each time you re-wrap the procedure
SQL> CREATE OR REPLACE PACKAGE BODY DAZ.PCK_GEN_XLS wrapped
2 a000000
3 b2
61
dX6ImnUV6bAb5NjrivfS9fIUxpM/2S8TOmTjAh4tQDBW0t8k+8qDk3pliM7693JDiiy5VPy/
62
5qCkVBE6cRkIq5XsWHtastu80Xg8xRGSf0JR7TaGjhUQkUQjvXOuWELvBJrd/Zr5m6oGeMyj
63 //
64 /
SQL> alter package DAZ.PCK_GEN_XLS compile;
Package altered.
SQL>