Wayfinder / Case study / Current-system documentation

Source-derived document; review findings and open questions with the application owner.

Journeys and State Machines

In this document

Scope and interpretation

The evidence describes intended journeys and transition points across a partially reconstructed CardDemo mainframe system. It does not establish successful execution, complete sequencing, semantic completeness, deployment consistency, or production behavior. The journeys below therefore distinguish observed behavior from inference and unresolved states. E0001 E0010 E0017 E0018 E0020 E0021

Online sign-on and routing

Observed journey

  • A user initiates sign-on through the `CC00` login transaction, which invokes `COSGN00C`. E0034 E0038
  • `COSGN00C` validates credentials and routes an `ADMIN` user through `XCTL` to `COADM01C`. E0034
  • Validated non-`ADMIN` credentials route through `XCTL` to `COMEN01C`. E0034
  • Security-related artifacts include `USRSEC`, RACF, and `DUSRSECJ`; the evidence does not establish how authorization is enforced after routing. E0016 E0032 E0036

State machine

  • Start: The user enters the login journey through `CC00`. E0038
  • Validation: `COSGN00C` evaluates the supplied credentials. E0034
  • Accepted administrator: The flow routes to `COADM01C` through `XCTL`. E0034
  • Accepted regular user: The flow routes to `COMEN01C` through `XCTL`. E0034
  • Rejected or failed validation: A rejection state is identified generally, but its message, retry policy, logging, and terminal destination are unknown. E0015 E0017 E0034

Inference: Validation appears intended to separate authenticated administrative and non-administrative processing, but ownership of the decision and the effective permission model are unknown. E0026 E0034 E0036

Account inquiry and payment

Observed journey

  • Account view is associated with `COACTVWC`, which retrieves and displays account and customer details. E0001 E0002
  • Account update is associated with `COACTUPC`. E0001 E0002
  • The payment program `COBIL00C.cbl` uses `ACCTDAT` for account lookup and balance validation. E0029
  • The account-payment journey includes confirmation before processing, although the precise screen map, commarea, and commit behavior are not established. E0029 E0030
  • Validated transaction input is written by `COTRN02C.cbl` to the `TRANSACT` file; failed validations are written to `DALYREJS`. E0007 E0008

State machine

  • Entry: The user selects inquiry, maintenance, or payment. E0002 E0029
  • Lookup: Account information is read from the relevant data source. E0020 E0021 E0029
  • Validation: Account existence, balance, dates, or other payment constraints are evaluated. E0011 E0013 E0029
  • Confirmation: The payment awaits user confirmation before submission. E0030
  • Accepted: Validated input is written to the transaction file. E0007
  • Rejected: Failed validation is recorded in `DALYREJS`; the user-facing recovery path is unknown. E0008 E0015
  • Concurrent or partial update: Concurrent update, error, and abend states are identified, but locking, rollback, and atomicity are unresolved. E0018 E0045

Administrative user management

Observed journey

  • The administrative route leads to `COADM01C`, where decisions include add, update, delete, and view or list operations. E0034 E0022
  • `COUSR01C.cbl` writes a new record to `USRSEC`; `COUSR02C.cbl` reads and rewrites a record; `COUSR03C.cbl` reads and deletes a record. E0017
  • Validation, confirmation, acceptance, rejection, and cancellation are observed states, but the complete administrative screen sequence is not established. E0015 E0017

State machine

  • Request: An administrator selects an operation. E0022 E0028
  • Validate: Input and applicable credentials or record conditions are checked. E0017 E0026
  • Confirm: The operation may require confirmation before mutation. E0015 E0030
  • Commit operation: Add writes, update rewrites, and delete removes a `USRSEC` record. E0017
  • Reject or cancel: The request can be rejected or cancelled, but return codes and recovery behavior are unknown. E0015 E0042
  • Duplicate or referential conflict: Duplicate-key update and referential-integrity constraints are identified; their user-visible handling is unknown. E0011 E0017

Batch posting, reporting, and file processing

Observed journeys

  • A monthly flow includes `WAITSTEP` triggering `OPENFIL`; scheduling, waits, reruns, and batch posting are described without an established end-to-end outcome. E0031 E0044
  • `CORPT00C` submits batch jobs by writing JCL records to an extra-partition TDQ. E0025
  • `TRANREPT.prc` invokes `REPROC.prc` for reporting. E0042
  • `CBSTM03B.CBL` opens, reads, and closes `TRNXFILE`. E0024
  • `REPRO` reads from `FILEIN` and writes to `FILEOUT`; the evidence does not establish whether this is a production journey or an isolated utility operation. E0046

State machine

  • Scheduled or submitted: A scheduler or program initiates work. E0025 E0031 E0044
  • Waiting: The flow pauses at a wait or trigger boundary. E0031 E0041
  • Opening: A batch program opens the required file. E0024
  • Processing: Records are read, posted, sorted, or reported. E0024 E0042
  • End-of-file: End-of-file is an observed state; post-EOF handling is unknown. E0015
  • Complete, error, or abend: Completion, error, and abend states are identified, but restart, rollback, alerting, and rerun semantics are unknown. E0015 E0045

Build, migration, backup, and deployment

Observed journeys

  • Batch, online, DB2, and BMS compilation are initiated through `BATCMP.jcl`, `CICCMP.jcl`, `CICDBCMP.jcl`, and `BMSCMP.jcl`; `NEWCOPY` is disputed for online compilation but stated for BMS processing. E0026 E0027
  • `CSUTLDTC.cbl` invokes the `CEEDAYS` API for date conversion. E0035
  • Migration and unload activities include `UNLDPADB.JCL` invoking `PAUDBUNL`, while backup and generation-increment states are identified without a complete restoration path. E0006 E0045
  • `CARDDEMO` is described as deployed within a CICS region, but deployment remains unverified. E0018

State machine

  • Source or artifact selection: A build, migration, backup, or deployment activity is selected. E0026 E0027
  • Generation: Compilation, BMS processing, unload, or backup produces an artifact or data generation. E0006 E0027 E0045
  • Deployment or replacement: An artifact may be deployed or replaced; version alignment and replacement safety are unknown. E0018 E0026
  • Failure: Compile errors, critical VSAM errors, ineffective conditions, and abends are possible hazards, not confirmed incidents. E0006 E0026 E0045
  • Recovery: Restoration, restart points, and disaster-recovery behavior are unknown. E0039 E0045

Cross-cutting unknowns

Unknown: The evidence does not establish complete lifecycle state machines, exact screen and map sequencing, commarea contracts, transaction boundaries, return-code semantics, locking, rollback, restartability, or successful end-to-end execution. E0001 E0003 E0015 E0018 E0039 E0045

Unknown: The evidence does not establish whether all online, batch, VSAM, DB2, IMS, MQ, scheduler, and reporting artifacts execute together, nor whether named source artifacts match deployed versions. E0002 E0003 E0018 E0023 E0037 E0047