Source-derived document; review findings and open questions with the application owner.
Business Rules and Decisions
In this document
Scope and evidence status
The supplied evidence describes a partially reconstructed CardDemo mainframe system. It establishes artifacts and intended behavior, but not successful execution, complete topology, compiler semantics, sequencing, or production behavior. Conflicting evidence also leaves it unresolved whether all identified artifacts execute together. E0001 E0010 E0017 E0020 E0021 E0002 E0003 E0005 E0006 E0018
Observed business rules
Credential handling includes login validation and role-sensitive routing. Validated administrator credentials route to an administrative component, while validated non-administrator credentials route to a menu component. Authentication and security-related artifacts include a security file, RACF, and a security-data job; ownership, permissions, enforcement, masking, encryption, auditing, and network boundaries are not established. E0034 E0038 E0001 E0016 E0032 E0033 E0036
Input validation is an explicit processing concern. Validated transaction input is written to the transaction file, while failed validations are reported to a rejects file. Inference: this indicates an intended separation between accepted processing and rejection handling, but the complete validation criteria and whether rejection is atomic with processing are unknown. E0007 E0008 E0015 E0017
Account payment processing uses account data for lookup and balance validation, and the described journey includes confirmation before completion. The evidence does not establish balance rules, payment limits, calculation formulas, concurrency behavior, or whether confirmation guarantees persistence. E0029 E0013 E0018 E0029
Date handling includes a dedicated date-conversion program that invokes the CEEDAYS API. Date rules, accepted formats, timezone behavior, invalid-date handling, and the effect of conversion on interest, expiry, statements, or batch processing are unknown. E0035 E0013 E0021
The evidence identifies rules or intended controls for expiry, limits, duplicate handling, referential integrity, paging, retention, return codes, interest, fees, and deletion. It does not establish the values, formulas, ordering, enforcement points, or complete semantics of those controls. Fraud criteria, rates, checksums, filtering rules, and complete return-code meanings are specifically unknown. E0011 E0013 E0017 E0026 E0027 E0041 E0042
A category record references a transaction-type record, with deletion restricted by the stated foreign-key rule. This establishes a referential-integrity constraint in the described data model, but not whether the relevant database is deployed or enforced at runtime. E0011 E0010 E0018
Decisions and outcomes
The observed decision vocabulary includes add, update, delete, view, list, cancel, page, submit, approve, decline, accept, and reject. A fraud flow is described as choosing between inserting a new record and updating on a duplicate key. The evidence does not establish decision ownership, approval authority, rationale, precedence, or audit behavior. E0003 E0010 E0022 E0025 E0028 E0038
User maintenance decisions are represented by separate add, update, and delete flows. The add flow writes a security record, the update flow reads and rewrites one, and the delete flow reads and deletes one. Inference: these flows imply distinct lifecycle operations, but they do not prove authorization, transaction boundaries, rollback behavior, or successful completion. E0017 E0016 E0045
Administrative dispatch is selected after successful credential validation, while non-administrative dispatch follows the alternate route. Inference: routing appears to be a role-based decision, but the evidence does not establish how roles are assigned, whether RACF participates in this decision, or whether the application independently enforces authorization. E0034 E0036 E0016
Reporting includes a program that submits batch jobs through an extra-partition transient data queue, and a reporting procedure invokes another procedure. The evidence does not establish report authorization, parameter validation, job completion criteria, duplicate submission handling, or result delivery guarantees. E0025 E0042 E0039
Data and integration decisions
The transaction-type management capability is described as an optional extension that maintains data in both DB2 and VSAM. The evidence does not establish whether both stores are authoritative, how synchronization occurs, or what happens when one update succeeds and the other fails. E0010 E0039 E0045
The system includes decisions and interfaces involving CICS, BMS, XCTL, commareas, VSAM, MQ, IMS, DB2, JCL, transient data queues, REXX, FTP, sorting, and reporting tools. Contracts, keys, transformations, queue behavior, compatibility, and end-to-end sequencing remain unresolved. E0001 E0003 E0007 E0035 E0039 E0046
The evidence identifies customer and card cross-reference reads, account extraction, transaction-file operations, IMS segments, unloads, backups, indexing, and REPRO input/output files. Layouts, encoding, timestamps, index offsets, naming conventions, and a six-byte unload discrepancy remain unresolved, so these observations do not establish complete data rules. E0020 E0021 E0022 E0024 E0004 E0006 E0043 E0046
Batch and operational decisions
Batch behavior includes posting, waits, monthly processing, compilation, migration, backups, generation data groups, reporting, reruns, error handling, and internal-reader submission. A monthly flow identifies a wait step triggering file opening, and another flow passes a control block to an assembly wait program. Monitoring, alerting, restart, disaster recovery, ownership, atomicity, and completion guarantees are unknown. E0031 E0041 E0015 E0028 E0039 E0044 E0045
Compilation decisions distinguish batch, online, DB2-oriented, and BMS-oriented build jobs. BMS processing and a `NEWCOPY` operation are stated; the `NEWCOPY` behavior in the online compilation job is disputed. E0026 E0027
`COND=(4,LT)` is disputed under ordinary JCL interpretation. Consequently, the intended versus effective condition for subsequent job steps is unknown, and no conclusion about actual execution or bypass behavior is established. E0041 E0026
Risks and unresolved decisions
Potential hazards include destructive replacement or recreation, partial updates, ineffective conditions, malformed input, unstable paging, duplicate identifiers, inconsistent indexes, exposed credentials, FTP failure, critical VSAM errors, and abends. No incident is established by the supplied evidence. E0001 E0006 E0014 E0018 E0019 E0026 E0037 E0040 E0042
Unknown: Complete business-rule values, calculations, validation matrices, state transitions, authorization decisions, retention periods, recovery decisions, external contracts, deployment status, version alignment, and production suitability are not established by the supplied evidence. Conflicts concerning PF7, maps, copybooks, deployed artifacts, source coverage, and diagram meaning remain unresolved. E0009 E0011 E0014 E0017 E0020 E0021 E0025 E0036 E0039 E0047
Harten analysis of AWS Samples CardDemo, a public demonstration application. The retained source content matches AWS revision 59cc6c2fd7ebd7ef7925cad552a01a4b8b6e4d5e. The documents describe source analysis and a proposed modernisation plan, not an implemented migration. No AWS endorsement is implied.
Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. Apache 2.0 source licence · Amazon notice. Read the case study and source measurement.