Oracle APEX Release 20.2.0.00.20 was released on October 21, 2020. You can find the download on this shortcut link: apex.oracle.com/download/
As you know, from previous posts like https://www.oracle-and-apex.com/differences-between-apex-20-1-and-19-2/, my first task is to see what has changed under the hood, like the metadata repository aka Views and on the API Layer.
And I can tell you, many new and good things are in this release !
Biggest new thing, without any doubt, is the new APEX_DATA_EXPORT API, which let’s you export any data source (table/view, query, REST) to one of those formats: CSV, HTML, PDF, XLSX, XML, PXML, JSON, PJSON.
My personal favorite is a small enhancement to APEX_WEB_SERVICE to handle multipart REST calls.
Also the new APEX_AUTOMATION will be super helpful, just like many new views like: APEX_WORKSPACE_PRINT_SERVERS, APEX_REST_SOURCE_SYNC_LOG, APEX_AUTOMATION_LOG, just to name a few.
Just remember, this posting deals with Views and PL/SQL APIs, only !
Now, let’s get started.
General changes
MLE now supported, means we have new attributes telling which coding language is used for code blocks. This also means “PLSQL returning…” is renamed to “Function returning…”.
Web Source Modules are now named REST data source.
BLM hit APEX, it is now Allowlist and Blocklist, instead of … you know
Views
APEX_APPLICATIONS
+ accept_old_checksums – whether apex 20.1 generated checksums are still valid
+ print_server_type/code – Application Level Report Printing settings type
+ print_server_remote* – Identify remote print server
+ print_credential_* – Remote print server credentials
new: APEX_APPL_PAGE_ITEM_GROUPS – Identifies facet groups on a page
APEX_APPLICATION_PAGE_ITEMS
+ item_default_language – Identifies the programming language of ITEM_DEFAULT
+ item_source_language – Identifies the programming language of ITEM_SOURCE
+ lov_language – Identifies the programming language of LOV_DEFINITION
APEX_APPL_PAGE_FACETS
+ facet_group/_id – Identifies the group this facet belongs to
+ show_chart – Identifies whether the facet values can be shown as a chart
+ initial_chart – Identifies whether the chart displaying facet values is initially shown
APEX_APPLICATION_PAGE_REGIONS
+ function_body_language – Identifies the programming language of REGION_SOURCE
+ use_local_sync_table – Whether to use the local synchronization table instead of the REST service
APEX_APPLICATION_PAGE_RPT_COLS
+ lov_language – Identifies the programming language of INLINE_LIST_OF_VALUES
APEX_APPLICATION_PAGE_PROC
+ process_source_language
APEX_APPLICATION_PAGE_COMP
+ computation_language
APEX_APPLICATION_PAGE_BRANCHES
+ branch_language
APEX_APPLICATION_PROCESSES
+ process_language
APEX_APPLICATION_COMPUTATIONS
+ computation_language
APEX_APPLICATION_SHORTCUTS
+ shortcut_language
APEX_APPLICATION_LOVS
+ function_body_language
+ use_local_sync_table – Whether to use the local synchronization table instead of the REST service
APEX_APPLICATION_LISTS
+ list_language
APEX_APPLICATION_LIST_ENTRIES
+ current_for_pages_language
APEX_APPL_PLUGINS
o plugin_type – now supports “WEB SOURCE TYPE” as “REST Data Source Type”
+ wsm_*_function – Function which is called when an APEX component uses the REST Data Source functions
APEX_APPLICATION_PAGE_CHARTS
+ stack_font_* – Defines font family/style/… of the stack label
APEX_APPLICATION_PAGE_CHART_S
+ function_body_language
+ use_local_sync_table – Whether to use the local synchronization table instead of the REST service
APEX_APPL_PAGE_IG_COLUMNS
+ lov_language
+ filter_lov_language
+ default_language
APEX_WORKSPACE_CREDENTIALS
o credential_type – added support for HTTP Header and HTTP Query String
+ valid_for_url – Linefeed-separated list of URLs which this credential can be used for
APEX_APPL_DATA_PROFILE_COLS
+ is_filterable – Identifies (for Plug-In developers) whether the this is a filterable column
new: APEX_WORKSPACE_PRINT_SERVERS – Print servers configured within a workspace
APEX_APPL_WEB_SRC_MODULES
o web_source_type – Prepare for REST source modules and deliver the right description
+ web_source_type_code – Return the internal name of the native type or plugin
+ sync_is_active – Whether the synchronization of the REST Source is active or not
+ sync_* – Several identifiers detailing sync attributes
+ attribute_01-15 – Used for plugins
new: APEX_APPL_WEB_SRC_SYNC_STEPS – Synchronization Steps for REST Data Sources
APEX_APPL_WEB_SRC_PARAMETERS
+ operation_id
APEX_APPL_WEB_SRC_COMP_PARAMS
+ parameter_id
o component_type/id/name – now support REST sync and Automations
+ value_language
APEX_WEBSERVICE_LOG
+ rest_source_sync_id – If the request was done as part of a REST Source synchronization, the internal ID of the synchronization
+ rest_source_id – If the request was done for a REST Data Source, the internal ID of the REST Data Source
new: APEX_REST_SOURCE_SYNC_LOG – Identifies web service sync requests in the APEX instance
new: APEX_AUTOMATION_LOG – Log of automation executions
new: APEX_AUTOMATION_MSG_LOG – Messages of an automation execution
new: APEX_APPL_AUTOMATIONS – Stores the meta data for automations of an application
new: APEX_APPL_AUTOMATION_ACTIONS – Identifies actions associated with an automation
APEX_USAGE_METRICS
+ last_min – Value for last minute
new: APEX_WEB_ENTRY_POINTS – Public procedures that can be called via the web gateway
new: APEX_APPL_PAGE_CARDS – Cards definitions
new: APEX_APPL_PAGE_CARD_ACTIONS – Card actions definitions
PL/SQL API’s
new: APEX_AUTOMATION – New Automations Feature
new: APEX_DATA_EXPORT – exporting data native in APEX as PDF, XLSX, HTML, CSV, XML, JSON, … -> use .export
APEX_DATA_PARSER
- parse
- p_force_trim_whitespace – forces leading and trailing whitespace to be trimmed, even when quoted in CSV
- discover
- nullif
- p_force_trim_whitespace – forces leading and trailing whitespace to be trimmed, even when quoted in CSV
APEX_EXEC
- is_multi_value moved from t_lov to t_column type
- t_language – new type with constants for plsql and javascript
- c_location_rest_source – as replacement for deprecated c_location_web_source
- general renaming of ..web.. to ..rest..
- set_row_status – Sets error status for the current row. Used for REST Data Source Plug-In
- has_more_rows – Returns whether the data source has more data after fetching p_max_rows
APEX_EXPORT
- export_application
- p_type – The type of export: APPLICATION_SOURCE or EMBEDDED_CODE
APEX_INSTANCE_ADMIN
new Instance Parameters
- ALLOW_HASH_FUNCTIONS
- BACKGROUND_JOB_CLASS
- BACKGROUND_MIN_EXECUTION_CADENCE
- CONTENT_CACHE_SIZE_TARGET
- CONTENT_CACHE_MAX_FILE_SIZE
- ENABLE_LEGACY_WEB_ENTRY_POINTS
- MLE_LANGUAGES
- PATH_PREFIX
- PROTECTED_COOKIES
- RESTRICT_RESPONSE_HEADERS
- SELF_SERVICE_SCHEMA_PREFIX
- TRACE_HEADER_NAME
- set_parameter
- p_force – accept value even if it is missing some quality criteria
- add_web_entry_point – Add a public procedure to the list of objects that can be called via the URL
- remove_web_entry_point – Remove a public procedure from the list of objects that can be called via the URL
APEX_LANG
- create_message
- p_used_in_javascript – used directly by javascript code?
APEX_LDAP
- cmu_is_member
APEX_LOV
- evaluate_filter – evaluates a filter on the LOV data
APEX_MAIL
- add_attachment – to add a CLOB attachment to a mail
APEX_PLUGIN
- t_item
- lov_type
- lov_language
- t_item_meta_data_result
- return_display_value
- support for web source module plugins
APEX_PLUGIN_UTIL
- debug_web_source – debug outpu function for web source plugins
- get_web_source_operation – Gets a Web Source Module operation
- make_rest_request – performs the actual REST request respecting all web source module parameters
- build_request_body – builds a request body for a Web Source DML request
- process_dml_response – parse the DML request response and load return values to the values context object
- parse_refetch_response – parse the response from a “DML row refetch”
- current_row_changed – determine whether the current row changed between the two contexts
- db_operation_allowed – checks whether a database operation is allowed
APEX_REGION
- open_query_context
- p_parent_column_values – For the detail grid in an Interactive Grid Master-Detail relationship
- export_data – The function exports current region data. Only native regions!
new: APEX_REST_SOURCE_SYNC – Web source Synchronization API
APEX_STRING
- format – %n can now emit a newline
APEX_STRING_UTIL
- get_file_extension – to be used instead of deprecated find_file_extension
- phrase_exists – to be used instead of deprecated find_phrase
- get_slug – to be used instead of deprecated to_slug
- diff – Compute the difference between tables of lines
APEX_WEB_SERVICES
- t_multiplart_part
- append_to_multipart – appends to the t_multipart_parts
- generate_request_body – generates the multipart/form-data request body from t_multiparts
- set_request_headers – sets HTTP request headers