Problem Description
I am encountering a persistent internal error when executing a Dynamic Action (Print Report) in my Oracle APEX application, which is hosted on Oracle Cloud Infrastructure (OCI) using an Autonomous Database (specifically, a Transaction Processing workload, version 26c AI).
The error occurs when the dynamic action attempts to generate a report, utilizing the built-in Print Report functionality that relies on Report Layouts and Report Queries defined in Shared Components. I suspect the issue is related to the integration with the Oracle Document Generator functions, but the traceback points to internal database errors related to identifiers.
Technical Info from Error Screen
The following details were captured from the error screen:
is_internal_error: true
apex_error_code: APEX.DBMS_CLOUD_INT.DBMS_CLOUD_ERROR
ora_sqlcode: -6550
ora_sqlerrm: ORA-06550: line 2, column 9: PLS-00182: Identifier cannot be an empty string
The error message PLS-00182: Identifier cannot be an empty string appears twice, originating from:
ORA-06550: line 5, column 2:
ORA-06512: at "SYS.DBMS_SQL", line 1251
Environment Details
- Platform: Oracle Cloud Infrastructure (OCI)
- Database: Autonomous Database (Transaction Processing, 26c AI)
- APEX Version: Oracle APEX 24.2.10
- Component Causing Error: Dynamic Action -> Action: Print Report
- APEX Component Type:
APEX_APPLICATION_PAGE_DA_ACTS
- Component Name:
NATIVE_PRINT_REPORT
Specific Context & Troubleshooting Steps Taken
- Print Mechanism: The Print Report action is configured to use the definitions in Shared Components (Report Layouts and Report Queries).
- Document Generator: The application is leveraging the Oracle Document Generator (likely using
DBMS_CLOUD_INT functions internally, as suggested by APEX.DBMS_CLOUD_INT.DBMS_CLOUD_ERROR).
- Layout/Query Check: I have verified that the names of the Report Layout and the Report Query in Shared Components are valid, non-empty identifiers.
- Database Connection: The OCI and APEX setup seem generally operational for other data access.
- Schema Privileges: The parsing schema has the necessary privileges, but the error seems to be internal to the APEX/DB interface or document generation package.
Hypothesis
The PLS-00182: Identifier cannot be an empty string error, coupled with the DBMS_CLOUD_INT.DBMS_CLOUD_ERROR, strongly suggests that during the process of preparing the report (likely compiling the SQL from the Report Query or accessing the Report Layout template), an internal APEX or DBMS_CLOUD package is trying to use a null or empty string where a PL/SQL or SQL identifier (like a column name, query name, or schema name) is required.
Request for Assistance
Has anyone encountered this specific combination of ORA-06550, PLS-00182, and APEX.DBMS_CLOUD_INT.DBMS_CLOUD_ERROR when using the Print Report Dynamic Action in APEX 24.2 on OCI?
Any guidance on where to look for an empty or invalid identifier would be highly appreciated.
- Could this be a known issue in APEX 24.2.10 with the Document Generator integration?
- Are there any hidden parameters or identifiers (e.g., in the Report Query or Template SQL) that could inadvertently be empty?
- Is there a specific privilege missing for the
**DBMS_CLOUD** calls?
Thank you in advance for your insights!