COBOL Copybook
cobol
Generate COBOL copybook record definitions from SQL schema
Example Output
Generated from the pet-store sample schema:
cobol
*> Generated by @sqldoc/templates/cobol-copybook
*> DO NOT EDIT
01 ADOPTIONS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 PET-ID PIC S9(9) COMP.
05 OWNER-ID PIC S9(9) COMP.
05 ADOPTED-AT PIC X(26).
05 ADOPTION-FEE PIC S9(8)V9(2) COMP-3.
01 ADOPTIONS-AUDIT-LOG-RECORD.
05 WS-ID PIC S9(18) COMP.
05 TABLE-NAME PIC X(255).
05 OPERATION PIC X(255).
05 OLD-DATA PIC X(4096).
05 NEW-DATA PIC X(4096).
05 CHANGED-AT PIC X(26).
01 CATEGORIES-RECORD.
05 WS-ID PIC S9(9) COMP.
05 WS-NAME PIC X(255).
05 DESCRIPTION PIC X(255).
01 LEGACY-INVENTORY-RECORD.
05 WS-ID PIC S9(9) COMP.
05 ITEM-NAME PIC X(255).
05 OLD-SKU PIC X(255).
05 QUANTITY PIC S9(9) COMP.
01 LOCATIONS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 WS-NAME PIC X(255).
05 WS-ADDRESS PIC X(255).
05 CITY PIC X(255).
05 ZIP PIC X(255).
01 MEDICAL-RECORDS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 PET-ID PIC S9(9) COMP.
05 VISIT-DATE PIC 9(8).
05 DIAGNOSIS PIC X(255).
05 TREATMENT PIC X(255).
05 VET-NAME PIC X(255).
01 OWNERS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 WS-NAME PIC X(255).
05 EMAIL PIC X(255).
05 PHONE PIC X(255).
05 CREATED-AT PIC X(26).
01 PETS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 CATEGORY-ID PIC S9(9) COMP.
05 WS-NAME PIC X(255).
05 SKU PIC X(255).
05 PRICE PIC S9(8)V9(2) COMP-3.
05 INTERNAL-NOTES PIC X(255).
05 WS-STATUS PIC X(255).
05 CREATED-AT PIC X(26).
01 REVIEWS-RECORD.
05 WS-ID PIC S9(9) COMP.
05 PET-ID PIC S9(9) COMP.
05 OWNER-ID PIC S9(9) COMP.
05 RATING PIC S9(9) COMP.
05 BODY PIC X(255).
05 LOCATION-ID PIC S9(9) COMP.
05 CREATED-AT PIC X(26).
01 STAFF-AUDIT-LOG-RECORD.
05 WS-ID PIC S9(18) COMP.
05 TABLE-NAME PIC X(255).
05 OPERATION PIC X(255).
05 OLD-DATA PIC X(4096).
05 NEW-DATA PIC X(4096).
05 CHANGED-AT PIC X(26).Usage
Add to your sqldoc.config.ts:
typescript
export default {
dialect: 'postgres',
schema: ['./schema.sql'],
codegen: [
{
template: 'cobol-copybook',
output: './generated/COPYBOOK.cpy',
},
],
}Then run:
bash
sqldoc codegen