Modernization track · Elective · self-paced ~16h with labs (2 days as a cohort) · prerequisite: CS510-level Java and CS310 Sessions 1–2 (or equivalent ISO 20022 literacy)
Parse, validate, map and produce ISO 20022 messages in Java against the schemas — camt.053 and camt.054 statements and notifications out of CardDemo’s transaction records, pacs.008 credit transfers in and pacs.002 status back — with byte-true decoding of the legacy records, mapping provenance for every element, the BSP Circular 1223 rule pack as tests cited verbatim, the posting hand-off into the ledger and the per-type control totals that prove completeness, all proven against the SEAM toolkit and the mainframe’s own control report. 22 short videos (about 2h50m); every message starts or ends in a CardDemo record whose bytes are on screen.
Self-paced available Cohort
Open for enrollment now. The lesson videos for this course are in production — release order across the track: CS510 → CS520 → CS530 → CS521 → CS535 → CS500 → CS550 → CS525 → CS540 → CS545 — and every session below is published as its lessons and lab now and marked Coming soon until its videos are released. CS545 is last in the release order.
Plans: Free individual at no cost, or Paid individual at $349 per course, one-time — code review, extra exercises, grading and priority support.
Every session ends in a lab on your own environment. Labs are machine-checked against expected outputs — you and your L&D team always know exactly where you stand.
Coming soon The videos for this session are being produced; its lessons and lab are published here now.
Four videos. Why ISO 20022, the message families a card issuer meets, and the principle that every element is carried by a legacy field — a TRANSACT record in BROWSE HEX whose bytes become camt.053 entries; XSD to Java classes, namespaces and the subset we validate, with CVTRA05Y beside the generated class; schema validation as the first gate and what a schema cannot check, with the thousands separator that fails it.
LAB Gate 1: a schema-valid camt.053 per account from your own export_state of the postings — header, statement, balances, entries — with the toolkit’s validator agreeing on all 50.
Coming soon The videos for this session are being produced; its lessons and lab are published here now.
Five videos. The SEAM layout IR consumed from Java with provenance for every element, proven field by field against decode_records; amounts — zoned and packed to BigDecimal to Amt with CdtDbtInd from the sign, and the D-zoned negative that arrives positive; party, merchant and remittance fields from EBCDIC with the PAN masked; timestamps and the explicit time-zone decision.
LAB Gate 2: the full TRANSACT-to-camt.053 mapping with provenance for all 50 accounts, element-by-element equal to the toolkit’s output.
Coming soon The videos for this session are being produced; its lessons and lab are published here now.
Four videos. Schema vs business rules — the circular’s requirements as a rule pack, each a test with its citation, over the extract POSTTRAN produces; the rule pack run and read as a compliance officer would; the code list that drifted — a transaction type added through CTTU on 3270 that the mapping did not know, fixed by reading the reference data from the mainframe at mapping time.
LAB Gate 3: the rule pack green on all 50 statements and on the inbound pacs.008 set, the toolkit agreeing, the report generated.
Coming soon The videos for this session are being produced; its lessons and lab are published here now.
Five videos. pacs.008 in — a credit transfer becomes a DALYTRAN-shaped record in your private copy, posted by POSTTRAN like everything else, through a provider-agnostic PaymentInstruction; pacs.002 out with ACSP/RJCT and the reject classes mapped to reason codes from the DALYREJS trailer; camt.054 notifications and the per-type control totals — the bench finding that a grand total hides what per-type totals show; the statement that balanced and missed a posting.
LAB Gate 4: camt.053 totals per account and per type equal to the SteelFrame control report; every inbound pacs.008 accounted for in pacs.002.
Coming soon The videos for this session are being produced; its lessons and lab are published here now.
Four videos. The hidden extract produced by the posting job under your HLQ; the pipeline end to end on the hidden set with all four gates; the compliance report — schema and rule results with citations, provenance, per-type totals, capture ids; the certificate.
LAB Capstone: a hidden DALYTRAN variant and a hidden pacs.008 set — camt.053, camt.054 and pacs.002 produced, XSD-valid, rule-pack green, mapping equal to the toolkit, totals reconciled; the compliance report.
CobolStack Certificate — ISO 20022 Engineering (CS545) is issued from the lab harness’s own record of your runs — not from attendance. To earn it you must clear every gate below:
The certificate attests that you can implement ISO 20022 messaging in Java against real legacy payment records — byte-true, schema-valid, rule-compliant and reconciled per type — the implementation half of what payments and core-replacement teams need.
Your seat is a private, full z/OS-compatible environment with the AWS CardDemo estate (COBOL, JCL, CICS/BMS, VSAM, DB2) and the SteelFrame oracle tools (run_capture, export_state, cics_run_script), beside your own Java 21 + Maven + PostgreSQL toolchain; the published ISO 20022 schemas, JAXB/Jackson-XML, the SEAM ISO 20022 toolkit as the oracle in the browser — nothing to install, snapshot and reset per exercise. By the end of the course the lab harness will have verified: four lab gates — schema-valid camt.053 statements for all 50 CardDemo accounts, element-by-element mapping equivalence to the SEAM toolkit with provenance, the rule pack green with citations, and per-type reconciliation to the SteelFrame control report with every inbound pacs.008 accounted for in pacs.002 — and the capstone on a hidden extract produced by the posting job under your HLQ.