Skip to content

submit_appworx_job

Overview

Field Value
Schema WCIS_DBA
Type Standalone procedure
Database Oracle
Calling libraries SAIF.Services.Appworx
Calling classes clsRequestAppworxJob

Purpose

submit_appworx_job enqueues an Appworx request by allocating a new JOBID from SO_MAX_JOBID, inserting one row into JOB_QUEUE, and persisting the submitted module, requestor, and 20 positional argument slots. The retrieved body accepts inprinter in the signature but does not reference that parameter in the executable statements.

Procedures / Methods

submit_appworx_job

Field Value
Returns No return value
Called by clsRequestAppworxJob.SubmitBatchJob()
clsRequestAppworxJob.SubmitBatchJob(...)
Description Allocates a queue job ID, inserts one JOB_QUEUE row, ignores NO_DATA_FOUND, and re-raises all other exceptions.

Parameters

Parameter Direction Type Default Description
inmodule IN VARCHAR2 — Module name written to JOB_QUEUE.MODULE.
inrequestor IN VARCHAR2 — Requestor value written to JOB_QUEUE.REQUESTOR.
inprinter IN VARCHAR2 — Accepted by the procedure signature but not referenced in the retrieved body.
inarg1 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_1.
inarg2 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_2.
inarg3 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_3.
inarg4 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_4.
inarg5 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_5.
inarg6 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_6.
inarg7 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_7.
inarg8 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_8.
inarg9 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_9.
inarg10 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_10.
inarg11 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_11.
inarg12 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_12.
inarg13 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_13.
inarg14 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_14.
inarg15 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_15.
inarg16 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_16.
inarg17 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_17.
inarg18 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_18.
inarg19 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_19.
inarg20 IN VARCHAR2 '' Value written to JOB_QUEUE.ARG_20.

Business Rules

The retrieved Oracle procedure body embeds the following server-side rules.

Rule ID Summary
BR-APX-005 Every execution assigns JOB_QUEUE.JOBID from SO_MAX_JOBID.NEXTVAL.
BR-APX-006 Every inserted row uses a fixed MASTER_JOB_NUMBER value of -1.
BR-APX-007 inarg1 through inarg20 default to '' when callers omit them.
BR-APX-008 NO_DATA_FOUND is swallowed without raising an error to the caller.
BR-APX-009 All non-NO_DATA_FOUND exceptions are re-raised.

BR-APX-005 Job ID comes from so_max_jobid sequence

Field Value
Statement Each execution selects SO_MAX_JOBID.NEXTVAL into v_jobid and inserts that value into JOB_QUEUE.JOBID.
Trigger Procedure execution.
Enforcement SELECT so_max_jobid.NEXTVAL INTO v_jobid FROM DUAL; followed by INSERT INTO job_queue (..., jobid, ...) VALUES (..., v_jobid, ...).
Outcome Every queue row created by this procedure receives a sequence-generated job identifier before insertion.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

BR-APX-006 Queue rows use a fixed master_job_number

Field Value
Statement The procedure always inserts MASTER_JOB_NUMBER = -1.
Trigger Queue-row insertion inside submit_appworx_job.
Enforcement The INSERT INTO job_queue statement hard-codes master_job_number to -1.
Outcome Rows inserted by this procedure always store the same MASTER_JOB_NUMBER value.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

BR-APX-007 Optional arguments default to empty strings

Field Value
Statement Each optional argument parameter inarg1 through inarg20 defaults to '' in the procedure signature.
Trigger A caller omits one or more optional argument parameters.
Enforcement The procedure declaration assigns DEFAULT '' to every inargN parameter.
Outcome The insert statement always has values available for ARG_1 through ARG_20, using either caller-supplied values or the signature defaults.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

BR-APX-008 NO_DATA_FOUND is ignored

Field Value
Statement The procedure handles NO_DATA_FOUND by executing NULL.
Trigger Oracle raises NO_DATA_FOUND during procedure execution.
Enforcement EXCEPTION WHEN NO_DATA_FOUND THEN NULL;
Outcome The procedure exits without propagating an error when NO_DATA_FOUND is raised.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

BR-APX-009 Other exceptions are re-raised

Field Value
Statement All exceptions other than NO_DATA_FOUND are re-raised.
Trigger Oracle raises any exception that is caught by WHEN OTHERS.
Enforcement WHEN OTHERS THEN RAISE;
Outcome The original Oracle error propagates to the caller unchanged by this procedure.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

Operations

The retrieved Oracle procedure implements the following internal operations.

Operation Description Trigger
Allocate next job ID from so_max_jobid Select the next sequence value into v_jobid. Procedure execution
Insert job_queue request row Insert one queue row with module, requestor, fixed MASTER_JOB_NUMBER, generated JOBID, and ARG_1 through ARG_20. Successful sequence retrieval
Handle exception outcomes Ignore NO_DATA_FOUND and re-raise all other exceptions. Exception handling

Allocate next job ID from so_max_jobid

Field Value
Description Retrieve the next value from SO_MAX_JOBID and store it in v_jobid for the queue insert.
Trigger Start of procedure execution.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

Insert job_queue request row

Field Value
Description Insert one JOB_QUEUE row containing MODULE, REQUESTOR, fixed MASTER_JOB_NUMBER = -1, generated JOBID, and ARG_1 through ARG_20. The retrieved body does not reference inprinter.
Trigger Completion of the sequence fetch into v_jobid.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

Handle exception outcomes

Field Value
Description Swallow NO_DATA_FOUND with NULL; re-raise every other exception through WHEN OTHERS.
Trigger Any exception raised during the procedure body.
Source Oracle retrieval: WCIS_DBA.submit_appworx_job

Calling Code References

The following .NET code paths invoke this procedure through the library's request builder.

Class Method Source File
clsRequestAppworxJob SubmitBatchJob (instance method) SAIF.Services.Appworx\clsRequestAppworxJob.vb
clsRequestAppworxJob SubmitBatchJob (shared/static overload) SAIF.Services.Appworx\clsRequestAppworxJob.vb

Source Code

PL/SQL procedure body
PROCEDURE          submit_appworx_job (
   inmodule      IN   VARCHAR2,
   inrequestor   IN   VARCHAR2,
   inprinter     IN   VARCHAR2,
   inarg1        IN   VARCHAR2 DEFAULT '',
   inarg2        IN   VARCHAR2 DEFAULT '',
   inarg3        IN   VARCHAR2 DEFAULT '',
   inarg4        IN   VARCHAR2 DEFAULT '',
   inarg5        IN   VARCHAR2 DEFAULT '',
   inarg6        IN   VARCHAR2 DEFAULT '',
   inarg7        IN   VARCHAR2 DEFAULT '',
   inarg8        IN   VARCHAR2 DEFAULT '',
   inarg9        IN   VARCHAR2 DEFAULT '',
   inarg10       IN   VARCHAR2 DEFAULT '',
   inarg11       IN   VARCHAR2 DEFAULT '',
   inarg12       IN   VARCHAR2 DEFAULT '',
   inarg13       IN   VARCHAR2 DEFAULT '',
   inarg14       IN   VARCHAR2 DEFAULT '',
   inarg15       IN   VARCHAR2 DEFAULT '',
   inarg16       IN   VARCHAR2 DEFAULT '',
   inarg17       IN   VARCHAR2 DEFAULT '',
   inarg18       IN   VARCHAR2 DEFAULT '',
   inarg19       IN   VARCHAR2 DEFAULT '',
   inarg20       IN   VARCHAR2 DEFAULT ''
)
AS
   v_jobid   NUMBER;

BEGIN
   SELECT so_max_jobid.NEXTVAL
     INTO v_jobid
     FROM DUAL;

   INSERT INTO job_queue
               (module,
                requestor,
                master_job_number,
                jobid,
                arg_1,
                arg_2,
                arg_3,
               arg_4,
                arg_5,
                arg_6,
                arg_7,
                arg_8,
               arg_9,
                arg_10,
                arg_11,
                arg_12,
               arg_13,
                arg_14,
               arg_15,
               arg_16,
               arg_17,
              arg_18,
              arg_19,
              arg_20)
        VALUES (inmodule,
                inrequestor,
                                -1,
                                v_jobid,
                                inarg1,
                                inarg2,
                                inarg3,
                                inarg4,
                                inarg5,
                                inarg6,
                                inarg7,
                                inarg8,
                                inarg9,
                                inarg10,
                                inarg11,
                                inarg12,
                                inarg13,
                                inarg14,
                                inarg15,
                                inarg16,
                                inarg17,
                                inarg18,
                                inarg19,
                                inarg20);
EXCEPTION
   WHEN NO_DATA_FOUND
   THEN
      NULL;
   WHEN OTHERS
   THEN
      -- Consider logging the error and then re-raise
      RAISE;
END submit_appworx_job;

Sources

  • Oracle retrieval: C:\Users\chrfre\AppData\Local\Temp\oracle-sources\submit_appworx_job.json
  • SAIF.Services.Appworx\clsRequestAppworxJob.vb