Differences between APEX 20.1 and 20.2

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

Leave a Reply

Your email address will not be published. Required fields are marked *