SAIF.Services.Appworx operations and processes¶
This page is the operation catalog and cross-operation hub for this library. Each operation's detailed, step-by-step logic lives in its own page under operations/.
Operation catalog¶
| Operation | Intent | Trigger | Inputs | Outputs | Rules | Tables | SQL |
|---|---|---|---|---|---|---|---|
| Submit Appworx batch job (instance) | Submit a configured Appworx batch-job request to Oracle | Caller calls SubmitBatchJob() on a constructed clsRequestAppworxJob |
ModuleName, Requestor, Printer, Arg1–Arg20 |
Stored-procedure submission (fire-and-forget); ApplicationException on failure |
BR-APX-001, BR-APX-002 | JOB_QUEUE |
SQL-APPWORX-001 |
| Reset job arguments | Clear all 20 argument slots before reuse | Constructor, or explicit call to InitArgs() |
None | Arg1–Arg20 reset to empty |
None | N/A | N/A |
| Submit Appworx batch job (shared overload) | Convenience one-call wrapper to construct, populate, and submit an Appworx job | Caller invokes the shared SubmitBatchJob(...) overload |
inDPI, inModule, optional inRequestor/inPrinter/inArg1–inArg20/inUseWCISDEV1AppworxForAllDevEnv |
Delegates to the instance SubmitBatchJob() operation |
BR-APX-003, BR-APX-004 | JOB_QUEUE |
SQL-APPWORX-001 |
Process flow diagram¶
The following diagram visualizes the primary operational flow from caller through the environment-override decision to the Appworx stored procedure.
flowchart TD
Start([Caller invokes shared SubmitBatchJob]) --> Decision{inUseWCISDEV1AppworxForAllDevEnv = True?}
Decision -->|Yes, Prod env| Prod[Use clsMSOracleDataLayer PRADT/WCISPROD]
Decision -->|Yes, non-Prod env| Dev[Use clsMSOracleDataLayer PRADT/WCISDEV1]
Decision -->|No| CallerDPI[Use caller-supplied IDataPortalInfo]
Prod --> Construct[Construct clsRequestAppworxJob and InitArgs]
Dev --> Construct
CallerDPI --> Construct
Construct --> SetProps[Set ModuleName, Requestor, Printer, Arg1..Arg20]
SetProps --> Instance[Instance SubmitBatchJob executes stored procedure]
Instance --> Result{Exception?}
Result -->|Yes| Wrap([Throw ApplicationException])
Result -->|No| Done([Job submitted])
Database interactions¶
| Operation | SQL | Tables | Type |
|---|---|---|---|
| Submit Appworx batch job (instance) | SQL-APPWORX-001 | JOB_QUEUE |
Write |
| Submit Appworx batch job (shared overload) | SQL-APPWORX-001 | JOB_QUEUE |
Write |
Failure and edge-case behavior¶
- Any exception from
DPI.ProcessPortalRequestin the instanceSubmitBatchJob()is caught and rethrown asApplicationException(BR-APX-002). - Argument slots left empty/
Nothingby the caller are never sent to the stored procedure (BR-APX-001, BR-APX-004).
Stored procedure operations¶
The retrieved Oracle source for WCIS_DBA.submit_appworx_job exposes the following internal procedure operations.
| Operation | Description | Source | Link |
|---|---|---|---|
Allocate next job ID from so_max_jobid |
Select SO_MAX_JOBID.NEXTVAL into v_jobid before the queue insert. |
WCIS_DBA.submit_appworx_job |
Details |
Insert JOB_QUEUE request row |
Insert one JOB_QUEUE row with MODULE, REQUESTOR, fixed MASTER_JOB_NUMBER = -1, generated JOBID, and ARG_1 through ARG_20; inprinter is not referenced in the retrieved body. |
WCIS_DBA.submit_appworx_job |
Details |
| Handle exception outcomes | Swallow NO_DATA_FOUND and re-raise every other exception. |
WCIS_DBA.submit_appworx_job |
Details |
Related documentation¶
- Index
- Overview
- Architecture
- Dependencies
- Business rules
- Database tables
- Configuration
- SQL catalog
- Stored procedures
- API reference
Sources¶
SAIF.Services.Appworx\clsRequestAppworxJob.vb- Oracle retrieval:
C:\Users\chrfre\AppData\Local\Temp\oracle-sources\submit_appworx_job.json