CardDemo — Credit Card Management

Migrated from COBOL mainframe (7,650 lines) | 6 programs + 20 copybooks | Access International
Login
Accounts
Account Update
Transactions
Add Transaction
Batch Posting
Daily Cycle
Cards & Xref
Monitoring

Sign On — COSGN00C

CICS RECEIVE MAP → READ VSAM USRSEC → Validate credentials

Account List — COACTVWC

READ CCXREF(AIX) → ACCTDAT → CUSTDAT chain

Account IDStatusBalanceCredit LimitCustomerAction

Account Update — COACTUPC

30+ field validations → REWRITE ACCTDAT + CUSTDAT with SYNCPOINT

Transaction List — COTRN00C

STARTBR → READNEXT/READPREV pagination (10 per page)

Tran IDDateTypeDescriptionAmountCard

Add Transaction — COTRN02C

Validate CCXREF → dates → merchant → auto-increment ID → WRITE TRANSACT

Batch Posting — CBTRN02C

READ DALYTRAN seq → validate (xref+account+overlimit+expiry) → POST or REJECT

Reject Log — DALYREJS

IDReason CodeDescriptionTimestamp

Daily Batch Cycle — JCL Multi-Step Orchestration

CLOSEFIL.jcl → TRANBKP.jcl → POSTTRAN.jcl → TCATBALF.jcl
Pattern B2: Sequential steps with COND codes. Each step runs only if previous step RC ≤ 4.

JCL → REST Mapping:
• TRANBKP (IDCAMS REPRO+DELETE+DEFINE) → Backup transactions to GDG table, clear master
• POSTTRAN (CBTRN02C) → Process daily transactions, validate, post or reject
• TCATBALF (IDCAMS DELETE+DEFINE+REPRO) → Recalculate category balances from transactions
• COND=(4,LT) → Skip step if previous RC > 4

Backup Generations — GDG Equivalent

GenerationTransactionsBackup Time

Cards — CARDDAT

Card NumberAccountCVVEmbossed NameExpiryStatus

Cross-Reference — CCXREF

Card NumberCustomer IDAccount ID

System Monitoring