A comprehensive COBOL mainframe credit card management application designed to showcase AWS mainframe modernization technologies and migration patterns.
272
stars
32
commits
COBOL
primary language
Oct 16, 2025
updated
CardDemo is a comprehensive mainframe application that simulates a credit card management system. Designed specifically to showcase AWS and partner technologies for mainframe migration and modernization scenarios, it provides a realistic environment for testing various modernization approaches including discovery, migration, performance testing, service enablement, and more.
CardDemo is a mainframe application designed to test and showcase AWS and partner technology for mainframe migration and modernization use-cases. It provides a realistic environment for:
The application intentionally incorporates various coding styles and patterns to exercise analysis, transformation, and migration tooling across different mainframe programming paradigms.
CardDemo includes several optional modules that extend the base functionality:
Credit Card Authorizations with IMS, DB2, and MQ
Transaction Type Management with DB2
Account Extractions using MQ and VSAM
Additional JCL Utilities
Prepare Your Environment
Create Mainframe Datasets
Define a High Level Qualifier (HLQ) for your datasets
Create the following datasets with the specified formats:
| HLQ | Name | Format | Length |
|---|---|---|---|
| AWS.M2 | CARDDEMO.JCL | FB | 80 |
| AWS.M2 | CARDDEMO.PROC | FB | 80 |
| AWS.M2 | CARDDEMO.CBL | FB | 80 |
| AWS.M2 | CARDDEMO.CPY | FB | 80 |
| AWS.M2 | CARDDEMO.BMS | FB | 80 |
| AWS.M2 | CARDDEMO.ASM | FB | 80 |
| AWS.M2 | CARDDEMO.MACLIB | FB | 80 |
Upload Source Code
Upload Sample Data
Transfer the sample data from the main/-/data/EBCDIC/ folder to the mainframe
Use binary transfer mode to preserve data integrity
Create the following datasets:
| Dataset name | Description | Copybook | Format | Length |
|---|---|---|---|---|
| AWS.M2.CARDDEMO.USRSEC.PS | User Security file | CSUSR01Y | FB | 80 |
| AWS.M2.CARDDEMO.ACCTDATA.PS | Account Data | CVACT01Y | FB | 300 |
| AWS.M2.CARDDEMO.CARDDATA.PS | Card Data | CVACT02Y | FB | 150 |
| AWS.M2.CARDDEMO.CUSTDATA.PS | Customer Data | CVCUS01Y | FB | 500 |
| AWS.M2.CARDDEMO.CARDXREF.PS | Customer Account Card Cross reference | CVACT03Y | FB | 50 |
| AWS.M2.CARDDEMO.DALYTRAN.PS.INIT | Transaction database initialization record | CVTRA06Y | FB | 350 |
| AWS.M2.CARDDEMO.DALYTRAN.PS | Transaction data for posting | CVTRA06Y | FB | 350 |
| AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS | Online transaction data | CVTRA05Y | FB | 350 |
| AWS.M2.CARDDEMO.DISCGRP.PS | Disclosure Groups | CVTRA02Y | FB | 50 |
| AWS.M2.CARDDEMO.TRANCATG.PS | Transaction Category Types | CVTRA04Y | FB | 60 |
| AWS.M2.CARDDEMO.TRANTYPE.PS | Transaction Types | CVTRA03Y | FB | 60 |
| AWS.M2.CARDDEMO.TCATBALF.PS | Transaction Category Balance | CVTRA01Y | FB | 50 |
Initialize the Environment
Execute the following JCLs in sequence:
| Jobname | Purpose | Optional Module |
|---|---|---|
| DUSRSECJ | Sets up user security VSAM file | |
| CLOSEFIL | Closes files opened by CICS | |
| ACCTFILE | Loads Account database using sample data | |
| CARDFILE | Loads Card database with credit card sample data | |
| CUSTFILE | Creates customer database | |
| XREFFILE | Loads Customer Card account cross reference | |
| CREADB21 | Creates CardDemo Db2 database and loads tables | Db2: Transaction Type Mgmt |
| TRANFILE | Copies initial Transaction file to VSAM | |
| TRANEXTR | Extracts TRAN type and category tables from Db2 | Db2: Transaction Type Mgmt |
| DISCGRP | Copies initial Disclosure Group file to VSAM | |
| TCATBALF | Copies initial TCATBALF file to VSAM | |
| TRANCATG | Copies initial transaction category file to VSAM | |
| TRANTYPE | Copies initial transaction type file to VSAM | |
| OPENFIL | Makes files available to CICS | |
| DEFGDGB | Defines GDG Base | |
| DEFGDGD | Defines GDG Bases added for Db2 |
Compile the Programs
Configure CICS Resources
Option 1 (Preferred): Use the DFHCSDUP JCL with the CSD file in the CSD folder
Option 2: Use CEDA transaction to manually define resources:
DEFINE LIBRARY(COM2DOLL) GROUP(CARDDEMO) DSNAME01(&HLQ..LOADLIB)
DEF PROGRAM(COCRDLIC) GROUP(CARDDEMO)
DEF MAPSET(COCRDLI) GROUP(CARDDEMO)
DEFINE PROGRAM(COSGN00C) GROUP(CARDDEMO) DA(ANY) TRANSID(CC00) DESCRIPTION(LOGIN)
DEFINE TRANSACTION(CC00) GROUP(CARDDEMO) PROGRAM(COSGN00C) TASKDATAL(ANY)
Install and Load Resources
Install the resources in your CICS region:
CEDA INSTALL TRANS(CCLI) GROUP(CARDDEMO)
CEDA INSTALL FILE(CARDDAT) GROUP(CARDDEMO)
CECI LOAD PROG(COCRDUP)
CECI LOAD PROG(COCRDUPC)
Execute NEWCOPY for mapsets and programs:
CEMT SET PROG(COCRDUP) NEWCOPY
CEMT SET PROG(COCRDUPC) NEWCOPY
Execute the following JCLs in sequence to run the full batch process:
| Jobname | Purpose | Optional Module |
|---|---|---|
| CLOSEFIL | Closes files opened by CICS | |
| ACCTFILE | Loads Account database using sample data | |
| CARDFILE | Loads Card database with credit card sample data | |
| XREFFILE | Loads Customer Card account cross reference to VSAM | |
| CUSTFILE | Creates customer database | |
| TRANBKP | Creates Transaction database | |
| TRANEXTR | Extracts latest Db2 data for Transaction types | Db2: Transaction Type Mgmt |
| TRANCATG | Copies latest transaction category file to VSAM | |
| TRANTYPE | Copies latest transaction type file to VSAM | |
| DISCGRP | Copies initial disclosure Group file to VSAM | |
| TCATBALF | Copies initial TCATBALF file to VSAM | |
| DUSRSECJ | Sets up user security VSAM file | |
| POSTTRAN | Core transaction processing job | |
| INTCALC | Run interest calculations | |
| TRANBKP | Backup Transaction database | |
| COMBTRAN | Combine system transactions with daily ones | |
| CREASTMT | Produce transaction statement | |
| TRANIDX | Define alternate index on transaction file | |
| OPENFIL | Makes files available to CICS | |
| WAITSTEP | Defines a step to wait job for given time | |
| CBPAUP0J | Purge expired authorizations | IMS-DB2-MQ: Pending Authorizations |
CardDemo is a comprehensive credit card management application built primarily using COBOL. It provides functionality for managing accounts, credit cards, transactions, and bill payments.
The application supports two user roles:

The regular user can perform the following functions:

Admin users can perform the following functions:
| Transaction | BMS Map | Program | Function | Optional Module | Notes |
|---|---|---|---|---|---|
| CC00 | COSGN00 | COSGN00C | Signon Screen | ||
| CM00 | COMEN01 | COMEN01C | Main Menu | ||
| CAVW | COACTVW | COACTVWC | Account View | ||
| CAUP | COACTUP | COACTUPC | Account Update | ||
| CCLI | COCRDLI | COCRDLIC | Credit Card List | ||
| CCDL | COCRDSL | COCRDSLC | Credit Card View | ||
| CCUP | COCRDUP | COCRDUPC | Credit Card Update | ||
| CT00 | COTRN00 | COTRN00C | Transaction List | ||
| CT01 | COTRN01 | COTRN01C | Transaction View | ||
| CT02 | COTRN02 | COTRN02C | Transaction Add | ||
| CR00 | CORPT00 | CORPT00C | Transaction Reports | ||
| CB00 | COBIL00 | COBIL00C | Bill Payment | ||
| CPVS | COPAU00 | COPAUS0C | Pending Authorization Summary | IMS-DB2-MQ: Pending Authorizations | Read IMS and VSAM |
| CPVD | COPAU01 | COPAUS1C | Pending Authorization Details | IMS-DB2-MQ: Pending Authorizations | Update IMS and Insert DB2 |
| CP00 | COPAUA0C | Process Authorization Requests | IMS-DB2-MQ: Pending Authorizations | MQ trigger, request and response; Insert and Update to IMS | |
| CA00 | COADM01 | COADM01C | Admin Menu | Db2: Transaction Type Mgmt | |
| CU00 | COUSR00 | COUSR00C | List Users | ||
| CU01 | COUSR01 | COUSR01C | Add User | ||
| CU02 | COUSR02 | COUSR02C | Update User | ||
| CU03 | COUSR03 | COUSR03C | Delete User | ||
| CTTU | COTRTUP | COTRTUPC | Tran Type add/edit | Db2: Transaction Type Mgmt | Update and insert on Db2 |
| CTLI | COTRTLI | COTRTLIC | Tran Type list/update/delete | Db2: Transaction Type Mgmt | Demonstrates cursor and delete in Db2 |
| CDRD | CODATE01 | Inquire System Date via MQ | MQ Integration | Demonstrates MQ request/response pattern | |
| CDRA | COACCT01 | Inquire account details via MQ | MQ Integration | Demonstrates MQ request/response pattern |
| Job | Program | Function | Optional Module |
|---|---|---|---|
| DUSRSECJ | IEBGENER | Initial Load of User security file | |
| DEFGDGB | IDCAMS | Setup GDG Bases | |
| DEFGDGD | IDCAMS | Setup more GDG Bases for Db2 | |
| ACCTFILE | IDCAMS | Refresh Account Master | |
| CARDFILE | IDCAMS | Refresh Card Master | |
| CUSTFILE | IDCAMS | Refresh Customer Master | |
| CREADB21 | DSNTEP4 | Creates CardDemo Db2 database and loads tables | Db2: Transaction Type Mgmt |
| TRANEXTR | DSNTIAUL | Extracts latest Db2 data for Transaction types | Db2: Transaction Type Mgmt |
| DISCGRP | IDCAMS | Load Disclosure Group File | |
| TRANFILE | IDCAMS | Load Transaction Master file | |
| TRANCATG | IDCAMS | Load Transaction category types | |
| TRANTYPE | IDCAMS | Load Transaction type file | |
| XREFFILE | IDCAMS | Account, Card and Customer cross reference | |
| CLOSEFIL | IEFBR14 | Close VSAM files in CICS | |
| TCATBALF | IDCAMS | Refresh Transaction Category Balance | |
| TRANBKP | IDCAMS | Refresh Transaction Master | |
| POSTTRAN | CBTRN02C | Transaction processing job | |
| TRANIDX | IDCAMS | Define AIX for transaction file | |
| OPENFIL | IEFBR14 | Open files in CICS | |
| INTCALC | CBACT04C | Run interest calculations | |
| COMBTRAN | SORT | Combine transaction files | |
| CREASTMT | CBSTM03A | Produce transaction statement | |
| TRANREPT | CBTRN03C | Transaction Report - Submitted from CICS | |
| ESDSRRDS | IDCAMS | Create ESDS and RRDS VSAM files | |
| CBPAUP0J | CBPAUP0C | Purge Expired Authorizations | IMS-DB2-MQ: Pending Authorizations |
| MNTTRDB2 | COBTUPDT | Maintain Transaction type table | Db2: Transaction Type Mgmt |
| WAITSTEP | COBSWAIT | Wait job for given time |


Note: Option 11 (Pending Authorizations) is only available with the optional Credit Card Authorizations feature. Please refer to the authorization documentation for details.

Note: Options 5 and 6 will be enabled only if you install the Transaction Type Management with DB2 optional feature (transactions CTTU and CTLI).
| Component | Domain Features | Technical Features |
|---|---|---|
| Base Application | Customer Account Card Transaction Bill Payment Statement/Report | COBOL CICS JCL (Batch) VSAM (KSDS with AIX) |
| Optional Features | Authorization Fraud Transaction Type (Extension) | DB2 MQ IMS DB JCL Utilities Complex data formats Various dataset types Advanced copybook structures |
For questions, issues, or improvement requests, please raise an issue in the repository with detailed information about your concern. The maintainers will respond according to availability.
The following features are planned for upcoming releases:
Additional Database Syntax Usage Scenarios
Integration Enhancements
We welcome contributions and enhancements to this codebase from the mainframe community. To contribute:
Feel free to raise issues, create code, and submit merge requests for enhancements to help build this application as a resource for programmers wanting to understand and modernize their mainframes.
This project is intended to be a community resource and is released under the Apache 2.0 license.
The CardDemo application has been enhanced with optional features that extend its functionality:
These optional features make CardDemo an even more useful resource for customers looking to modernize their mainframe applications. With modules for DB2, MQ, IMS DB, JCL utilities, and more data formats now available, customers can leverage CardDemo to test a wider array of mainframe migration, refactoring, replatforming, and augmentation scenarios.
Last updated: April 2025
COBOL
84.0%
PostScript
6.6%
JCL
6.4%
Csound Document
1.5%
A comprehensive COBOL mainframe credit card management application designed to showcase AWS mainframe modernization technologies and migration patterns.
272
stars
32
commits
COBOL
primary language
Oct 16, 2025
updated
CardDemo is a comprehensive mainframe application that simulates a credit card management system. Designed specifically to showcase AWS and partner technologies for mainframe migration and modernization scenarios, it provides a realistic environment for testing various modernization approaches including discovery, migration, performance testing, service enablement, and more.
CardDemo is a mainframe application designed to test and showcase AWS and partner technology for mainframe migration and modernization use-cases. It provides a realistic environment for:
The application intentionally incorporates various coding styles and patterns to exercise analysis, transformation, and migration tooling across different mainframe programming paradigms.
CardDemo includes several optional modules that extend the base functionality:
Credit Card Authorizations with IMS, DB2, and MQ
Transaction Type Management with DB2
Account Extractions using MQ and VSAM
Additional JCL Utilities
Prepare Your Environment
Create Mainframe Datasets
Define a High Level Qualifier (HLQ) for your datasets
Create the following datasets with the specified formats:
| HLQ | Name | Format | Length |
|---|---|---|---|
| AWS.M2 | CARDDEMO.JCL | FB | 80 |
| AWS.M2 | CARDDEMO.PROC | FB | 80 |
| AWS.M2 | CARDDEMO.CBL | FB | 80 |
| AWS.M2 | CARDDEMO.CPY | FB | 80 |
| AWS.M2 | CARDDEMO.BMS | FB | 80 |
| AWS.M2 | CARDDEMO.ASM | FB | 80 |
| AWS.M2 | CARDDEMO.MACLIB | FB | 80 |
Upload Source Code
Upload Sample Data
Transfer the sample data from the main/-/data/EBCDIC/ folder to the mainframe
Use binary transfer mode to preserve data integrity
Create the following datasets:
| Dataset name | Description | Copybook | Format | Length |
|---|---|---|---|---|
| AWS.M2.CARDDEMO.USRSEC.PS | User Security file | CSUSR01Y | FB | 80 |
| AWS.M2.CARDDEMO.ACCTDATA.PS | Account Data | CVACT01Y | FB | 300 |
| AWS.M2.CARDDEMO.CARDDATA.PS | Card Data | CVACT02Y | FB | 150 |
| AWS.M2.CARDDEMO.CUSTDATA.PS | Customer Data | CVCUS01Y | FB | 500 |
| AWS.M2.CARDDEMO.CARDXREF.PS | Customer Account Card Cross reference | CVACT03Y | FB | 50 |
| AWS.M2.CARDDEMO.DALYTRAN.PS.INIT | Transaction database initialization record | CVTRA06Y | FB | 350 |
| AWS.M2.CARDDEMO.DALYTRAN.PS | Transaction data for posting | CVTRA06Y | FB | 350 |
| AWS.M2.CARDDEMO.TRANSACT.VSAM.KSDS | Online transaction data | CVTRA05Y | FB | 350 |
| AWS.M2.CARDDEMO.DISCGRP.PS | Disclosure Groups | CVTRA02Y | FB | 50 |
| AWS.M2.CARDDEMO.TRANCATG.PS | Transaction Category Types | CVTRA04Y | FB | 60 |
| AWS.M2.CARDDEMO.TRANTYPE.PS | Transaction Types | CVTRA03Y | FB | 60 |
| AWS.M2.CARDDEMO.TCATBALF.PS | Transaction Category Balance | CVTRA01Y | FB | 50 |
Initialize the Environment
Execute the following JCLs in sequence:
| Jobname | Purpose | Optional Module |
|---|---|---|
| DUSRSECJ | Sets up user security VSAM file | |
| CLOSEFIL | Closes files opened by CICS | |
| ACCTFILE | Loads Account database using sample data | |
| CARDFILE | Loads Card database with credit card sample data | |
| CUSTFILE | Creates customer database | |
| XREFFILE | Loads Customer Card account cross reference | |
| CREADB21 | Creates CardDemo Db2 database and loads tables | Db2: Transaction Type Mgmt |
| TRANFILE | Copies initial Transaction file to VSAM | |
| TRANEXTR | Extracts TRAN type and category tables from Db2 | Db2: Transaction Type Mgmt |
| DISCGRP | Copies initial Disclosure Group file to VSAM | |
| TCATBALF | Copies initial TCATBALF file to VSAM | |
| TRANCATG | Copies initial transaction category file to VSAM | |
| TRANTYPE | Copies initial transaction type file to VSAM | |
| OPENFIL | Makes files available to CICS | |
| DEFGDGB | Defines GDG Base | |
| DEFGDGD | Defines GDG Bases added for Db2 |
Compile the Programs
Configure CICS Resources
Option 1 (Preferred): Use the DFHCSDUP JCL with the CSD file in the CSD folder
Option 2: Use CEDA transaction to manually define resources:
DEFINE LIBRARY(COM2DOLL) GROUP(CARDDEMO) DSNAME01(&HLQ..LOADLIB)
DEF PROGRAM(COCRDLIC) GROUP(CARDDEMO)
DEF MAPSET(COCRDLI) GROUP(CARDDEMO)
DEFINE PROGRAM(COSGN00C) GROUP(CARDDEMO) DA(ANY) TRANSID(CC00) DESCRIPTION(LOGIN)
DEFINE TRANSACTION(CC00) GROUP(CARDDEMO) PROGRAM(COSGN00C) TASKDATAL(ANY)
Install and Load Resources
Install the resources in your CICS region:
CEDA INSTALL TRANS(CCLI) GROUP(CARDDEMO)
CEDA INSTALL FILE(CARDDAT) GROUP(CARDDEMO)
CECI LOAD PROG(COCRDUP)
CECI LOAD PROG(COCRDUPC)
Execute NEWCOPY for mapsets and programs:
CEMT SET PROG(COCRDUP) NEWCOPY
CEMT SET PROG(COCRDUPC) NEWCOPY
Execute the following JCLs in sequence to run the full batch process:
| Jobname | Purpose | Optional Module |
|---|---|---|
| CLOSEFIL | Closes files opened by CICS | |
| ACCTFILE | Loads Account database using sample data | |
| CARDFILE | Loads Card database with credit card sample data | |
| XREFFILE | Loads Customer Card account cross reference to VSAM | |
| CUSTFILE | Creates customer database | |
| TRANBKP | Creates Transaction database | |
| TRANEXTR | Extracts latest Db2 data for Transaction types | Db2: Transaction Type Mgmt |
| TRANCATG | Copies latest transaction category file to VSAM | |
| TRANTYPE | Copies latest transaction type file to VSAM | |
| DISCGRP | Copies initial disclosure Group file to VSAM | |
| TCATBALF | Copies initial TCATBALF file to VSAM | |
| DUSRSECJ | Sets up user security VSAM file | |
| POSTTRAN | Core transaction processing job | |
| INTCALC | Run interest calculations | |
| TRANBKP | Backup Transaction database | |
| COMBTRAN | Combine system transactions with daily ones | |
| CREASTMT | Produce transaction statement | |
| TRANIDX | Define alternate index on transaction file | |
| OPENFIL | Makes files available to CICS | |
| WAITSTEP | Defines a step to wait job for given time | |
| CBPAUP0J | Purge expired authorizations | IMS-DB2-MQ: Pending Authorizations |
CardDemo is a comprehensive credit card management application built primarily using COBOL. It provides functionality for managing accounts, credit cards, transactions, and bill payments.
The application supports two user roles:

The regular user can perform the following functions:

Admin users can perform the following functions:
| Transaction | BMS Map | Program | Function | Optional Module | Notes |
|---|---|---|---|---|---|
| CC00 | COSGN00 | COSGN00C | Signon Screen | ||
| CM00 | COMEN01 | COMEN01C | Main Menu | ||
| CAVW | COACTVW | COACTVWC | Account View | ||
| CAUP | COACTUP | COACTUPC | Account Update | ||
| CCLI | COCRDLI | COCRDLIC | Credit Card List | ||
| CCDL | COCRDSL | COCRDSLC | Credit Card View | ||
| CCUP | COCRDUP | COCRDUPC | Credit Card Update | ||
| CT00 | COTRN00 | COTRN00C | Transaction List | ||
| CT01 | COTRN01 | COTRN01C | Transaction View | ||
| CT02 | COTRN02 | COTRN02C | Transaction Add | ||
| CR00 | CORPT00 | CORPT00C | Transaction Reports | ||
| CB00 | COBIL00 | COBIL00C | Bill Payment | ||
| CPVS | COPAU00 | COPAUS0C | Pending Authorization Summary | IMS-DB2-MQ: Pending Authorizations | Read IMS and VSAM |
| CPVD | COPAU01 | COPAUS1C | Pending Authorization Details | IMS-DB2-MQ: Pending Authorizations | Update IMS and Insert DB2 |
| CP00 | COPAUA0C | Process Authorization Requests | IMS-DB2-MQ: Pending Authorizations | MQ trigger, request and response; Insert and Update to IMS | |
| CA00 | COADM01 | COADM01C | Admin Menu | Db2: Transaction Type Mgmt | |
| CU00 | COUSR00 | COUSR00C | List Users | ||
| CU01 | COUSR01 | COUSR01C | Add User | ||
| CU02 | COUSR02 | COUSR02C | Update User | ||
| CU03 | COUSR03 | COUSR03C | Delete User | ||
| CTTU | COTRTUP | COTRTUPC | Tran Type add/edit | Db2: Transaction Type Mgmt | Update and insert on Db2 |
| CTLI | COTRTLI | COTRTLIC | Tran Type list/update/delete | Db2: Transaction Type Mgmt | Demonstrates cursor and delete in Db2 |
| CDRD | CODATE01 | Inquire System Date via MQ | MQ Integration | Demonstrates MQ request/response pattern | |
| CDRA | COACCT01 | Inquire account details via MQ | MQ Integration | Demonstrates MQ request/response pattern |
| Job | Program | Function | Optional Module |
|---|---|---|---|
| DUSRSECJ | IEBGENER | Initial Load of User security file | |
| DEFGDGB | IDCAMS | Setup GDG Bases | |
| DEFGDGD | IDCAMS | Setup more GDG Bases for Db2 | |
| ACCTFILE | IDCAMS | Refresh Account Master | |
| CARDFILE | IDCAMS | Refresh Card Master | |
| CUSTFILE | IDCAMS | Refresh Customer Master | |
| CREADB21 | DSNTEP4 | Creates CardDemo Db2 database and loads tables | Db2: Transaction Type Mgmt |
| TRANEXTR | DSNTIAUL | Extracts latest Db2 data for Transaction types | Db2: Transaction Type Mgmt |
| DISCGRP | IDCAMS | Load Disclosure Group File | |
| TRANFILE | IDCAMS | Load Transaction Master file | |
| TRANCATG | IDCAMS | Load Transaction category types | |
| TRANTYPE | IDCAMS | Load Transaction type file | |
| XREFFILE | IDCAMS | Account, Card and Customer cross reference | |
| CLOSEFIL | IEFBR14 | Close VSAM files in CICS | |
| TCATBALF | IDCAMS | Refresh Transaction Category Balance | |
| TRANBKP | IDCAMS | Refresh Transaction Master | |
| POSTTRAN | CBTRN02C | Transaction processing job | |
| TRANIDX | IDCAMS | Define AIX for transaction file | |
| OPENFIL | IEFBR14 | Open files in CICS | |
| INTCALC | CBACT04C | Run interest calculations | |
| COMBTRAN | SORT | Combine transaction files | |
| CREASTMT | CBSTM03A | Produce transaction statement | |
| TRANREPT | CBTRN03C | Transaction Report - Submitted from CICS | |
| ESDSRRDS | IDCAMS | Create ESDS and RRDS VSAM files | |
| CBPAUP0J | CBPAUP0C | Purge Expired Authorizations | IMS-DB2-MQ: Pending Authorizations |
| MNTTRDB2 | COBTUPDT | Maintain Transaction type table | Db2: Transaction Type Mgmt |
| WAITSTEP | COBSWAIT | Wait job for given time |


Note: Option 11 (Pending Authorizations) is only available with the optional Credit Card Authorizations feature. Please refer to the authorization documentation for details.

Note: Options 5 and 6 will be enabled only if you install the Transaction Type Management with DB2 optional feature (transactions CTTU and CTLI).
| Component | Domain Features | Technical Features |
|---|---|---|
| Base Application | Customer Account Card Transaction Bill Payment Statement/Report | COBOL CICS JCL (Batch) VSAM (KSDS with AIX) |
| Optional Features | Authorization Fraud Transaction Type (Extension) | DB2 MQ IMS DB JCL Utilities Complex data formats Various dataset types Advanced copybook structures |
For questions, issues, or improvement requests, please raise an issue in the repository with detailed information about your concern. The maintainers will respond according to availability.
The following features are planned for upcoming releases:
Additional Database Syntax Usage Scenarios
Integration Enhancements
We welcome contributions and enhancements to this codebase from the mainframe community. To contribute:
Feel free to raise issues, create code, and submit merge requests for enhancements to help build this application as a resource for programmers wanting to understand and modernize their mainframes.
This project is intended to be a community resource and is released under the Apache 2.0 license.
The CardDemo application has been enhanced with optional features that extend its functionality:
These optional features make CardDemo an even more useful resource for customers looking to modernize their mainframe applications. With modules for DB2, MQ, IMS DB, JCL utilities, and more data formats now available, customers can leverage CardDemo to test a wider array of mainframe migration, refactoring, replatforming, and augmentation scenarios.
Last updated: April 2025
COBOL
84.0%
PostScript
6.6%
JCL
6.4%
Csound Document
1.5%