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;
Related Documentation¶
Sources¶
- Oracle retrieval:
C:\Users\chrfre\AppData\Local\Temp\oracle-sources\submit_appworx_job.json SAIF.Services.Appworx\clsRequestAppworxJob.vb