Wayfinder / Case study / Current-system documentation

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

System Context and Components

In this document

Scope and system context

The supplied evidence describes a partially reconstructed CardDemo mainframe system using COBOL, CICS, BMS, VSAM, DB2, IMS, MQ, JCL, REXX, and utilities. It establishes artifacts and intended behavior, but not successful execution, complete topology, compiler semantics, sequencing, or production behavior. Inference: the evidence most strongly indicates a configured or reconstructed IBM mainframe architecture rather than a complete behavioral model. E0001 E0010 E0017 E0020 E0021 E0023 E0037 E0038 E0045 E0046

Observed business areas include accounts, customers, cards, transactions, security, authorization, fraud, reporting, migration, statements, interest, fees, and rejection handling. The artifacts do not establish that all of these functions execute together; the complete lifecycle, recovery model, and production suitability remain unknown. E0002 E0003 E0005 E0006 E0018 E0017 E0039

Identified actors and operating contexts include regular users, administrators, operators, and a Control-M scheduler environment on UNIX at `MY-HOST`. Ownership, role definitions, permissions, authorization enforcement, and the relationship between these environments are not established. E0026 E0028 E0035 E0036 E0044 E0047

Application and transaction components

The online application includes CICS programs and BMS maps for login, account inquiry, account maintenance, payment, administration, reporting, and related processing. `CC00` invokes `COSGN00C`; validated `ADMIN` credentials are routed by `XCTL` to `COADM01C`, while other validated credentials are routed to `COMEN01C`. `COACTUPC` handles account update, and `COACTVWC` retrieves and displays account and customer details for account view. E0001 E0002 E0034 E0038

Security-related components include the `USRSEC` store and user-maintenance programs. The add flow writes a record, the update flow reads and rewrites one, and the delete flow reads and deletes one. A CardDemo relationship to `USRSEC` is identified, but encryption, masking, audit, network boundaries, queue permissions, and effective authorization controls are unknown. E0016 E0017 E0032 E0033 E0036 E0040

Transaction processing includes `COTRN02C`, which writes validated input to the `TRANSACT` file, and `CBTRN02C`, which writes failed validations to `DALYREJS`. `COPAUS1C.cbl` links to `COPAUS2C.cbl`, and IMS evidence identifies `PAUTSUM0` with child segment `PAUTDTL1`. The evidence does not establish complete copybook, commarea, map, or IMS-to-application mappings. E0004 E0007 E0008 E0011

Transaction Type Management is explicitly described as an optional CardDemo extension maintaining data in both DB2 and VSAM. `CTTU` maps to `COTRTUPC`, `CTLI` maps to `COTRTLIC`, and `TRANSACTION_TYPE_CATEGORY` references `TRANSACTION_TYPE` with `ON DELETE RESTRICT`. Whether this extension is deployed and how its stores are synchronized are unknown. E0010 E0011

Data and batch components

VSAM components include customer and card-cross-reference KSDSs. `CBCUS01C` reads the customer KSDS, `CBACT03C` reads the card-cross-reference KSDS, and `COACCT01` extracts records from `ACCTDAT`. `CBSTM03B.CBL` opens, reads, and closes `TRNXFILE`. Layouts, encodings, keys, index offsets, naming conventions, and the reported six-byte unload discrepancy remain unresolved. E0020 E0021 E0022 E0024 E0037 E0043 E0045

Batch components include posting, deletion, reporting, loading, indexing, migration, backup, date conversion, and compilation utilities. `CBPAUP0J` executes `CBPAUP0C`; `UNLDPADB.JCL` invokes `PAUDBUNL`; and `CORPT00C` submits batch jobs by writing JCL records to an extra-partition TDQ. `WAITSTEP` triggers `OPENFIL` in a monthly flow, while `CSUTLDTC.cbl` calls the `CEEDAYS` API. E0005 E0006 E0025 E0031 E0035

Build and deployment artifacts include JCL that invokes `BUILDBAT`, `BUILDONL`, `BLDCIDB2`, and `BUILDBMS`. BMS processing and `NEWCOPY` are stated for the BMS job, while `NEWCOPY` is disputed for the online compilation job. Deployment within a CICS region is stated for CARDDEMO but remains unverified. E0018 E0026 E0027

Reporting and file-transfer components include `TRANREPT.prc`, which invokes `REPROC.prc`, and a `REPRO` command reading from `FILEIN` and writing to `FILEOUT`. REXX, FTP, sorting, reporting tools, GDGs, internal-reader submission, and backup processes are identified, but their contracts, return-code semantics, restart behavior, and completion guarantees are not established. E0042 E0046 E0039 E0044 E0045

Interfaces and external context

Interfaces include CICS, BMS, `XCTL`, commareas, VSAM, DB2, IMS, MQ, JCL, TDQs, REXX, FTP, sorting, and reporting tools. External dependencies include RACF, JES/TSO, SDSF, IDCAMS, UNIX, Control-M, CEEDAYS, and an Ensono-hosted mainframe. Keys, transformations, queue contracts, topology, ownership, availability, and runtime compatibility are unknown; z/OS and AWS interpretations are inferences rather than established facts. E0001 E0003 E0026 E0035 E0038 E0039 E0042 E0046

The data model includes accounts, customers, cards, users, transactions, authorization and fraud records, classifications, cross-references, reports, statements, and import or export data. `CARDDEMO-DataModel.drawio` contains pages named `ER Diagram` and `IMS`, but the visuals were not parsed, so their meaning and completeness are unknown. E0004 E0009 E0047

Operational and security boundaries

Observed operational states include validation, confirmation, routing, acceptance, rejection, approval, decline, end-of-file, concurrent update, backup, error, abend, deployment, and generation increments. Potential hazards include destructive replacement or recreation, partial updates, ineffective conditions, malformed input, unstable paging, duplicate IDs, inconsistent indexes, exposed credentials, FTP failure, critical VSAM errors, and uncertain atomicity. No incident is established. E0014 E0015 E0018 E0019 E0026 E0037 E0040 E0042 E0045

Authentication and security artifacts include `USRSEC`, RACF, and `DUSRSECJ`, and the evidence contains literal or example credentials and sensitive-looking fields. Encryption, masking, audit, retention, monitoring, alerting, restart, disaster recovery, ownership, and enforcement boundaries are unknown. E0001 E0009 E0016 E0032 E0033 E0036 E0040 E0044

Inference: validation appears intended to separate accepted processing from rejection, while observed decisions include add, update, delete, view, list, cancel, page, submit, approve, decline, accept, reject, and fraud insertion versus duplicate-key update. Decision ownership, rationale, rate calculations, fraud criteria, checksums, filtering, and complete return-code semantics are unknown. E0003 E0010 E0011 E0013 E0017 E0022 E0025 E0027 E0028 E0038 E0041 E0042

Completeness boundary

Unknown: Complete schemas, mappings, sequencing, actor permissions, deployment topology, configuration, version alignment, external contracts, balance and interest calculations, retention, restart and recovery, rollback, and production behavior are not established by the supplied evidence. Conflicts concerning PF7, maps, copybooks, deployed artifacts, source coverage, diagram meaning, and `COND=(4,LT)` under ordinary JCL interpretation remain unresolved. E0009 E0011 E0014 E0017 E0020 E0021 E0025 E0036 E0039 E0041 E0047