35.39 PROCESS_DML_RESPONSE Procedure

This procedure parses the DML request response and load return values to the values context object.

Syntax

APEX_PLUGIN_UTIL.PROCESS_DML_RESPONSE (
    p_web_source_operation IN apex_plugin.t_web_source_operation,
    p_web_source           IN apex_plugin.t_web_source,
    --
    p_response             IN CLOB,
    p_status_code          IN pls_integer,
    p_error_message        IN VARCHAR2,
    --
    p_values_context       IN apex_exec.t_context );

Parameters

Table 35-54 PROCESS_DML_RESPONSE Parameters

Parameter Description
p_web_source_operation REST Data Source operation (Plug-In) meta data.
p_web_source REST Data Source (Plug-In) meta data.
p_response REST response to parse.
p_status_code HTTP status code to use.
p_error_message Error message to use.
p_values_context Values context to store the return values in.

Example

The following example uses PROCESS_DML_RESPONSE within a plug-in DML procedure.

apex_plugin_util.process_dml_response (
    p_plugin     in            apex_plugin.t_plugin,
    p_web_source in            apex_plugin.t_web_source,
    p_params     in            apex_plugin.t_web_source_dml_params,
    p_result     in out nocopy apex_plugin.t_web_source_dml_result )
IS
    l_web_source_operation apex_plugin.t_web_source_operation;
    l_request_body         clob;
    l_response             clob;
    l_return_values_ctx    apex_exec.t_context := p_params.insert_values_context;
BEGIN
    l_web_source_operation := apex_plugin_util.get_web_source_operation(
        p_web_source   => p_web_source,
        p_db_operation => apex_plugin.c_db_operation_insert,
        p_perform_init => true );
    apex_plugin_util.build_request_body(
        p_request_format       => apex_plugin.c_format_json,
        p_profile_columns      => p_web_source.profile_columns,
        p_values_context       => p_params.insert_values_context,
        p_build_when_empty     => true,
        p_request_body         => l_request_body );
    -- continue with APEX_PLUGIN_UTIL.MAKE_REST_REQUEST
    apex_plugin_util.process_dml_response(
        p_web_source_operation => l_web_source_operation,
        p_web_source           => p_web_source,
        --
        p_response             => l_response,
        --
        p_status_code          => apex_web_service.g_status_code,
        p_error_message        => apex_web_service.g_reason_phrase,
        --
        p_values_context       => l_return_values_ctx );
END plugin_dml;