Previous Topic: Demonstration (1): Writing to a Sequential FileNext Topic: Demonstration (3): Writing Complete Records


Demonstration (2): Converting to Packed Decimal Format

Objective

This example writes the report in Demonstration (1) to a sequential file.

Procedure

Complete Code

col. 2
▼
IN 80 F 400
REC CUST-NO       1     9  2
REC GROSS-AMT    10     9  2  DP=2
REC NET          19     9  2  DP=2
REC ITEM-NO      28    10  2
REC TYPE         38     3
010 DIFF DP=2
OUT 29 2900 D PS DD=SYS020  $Less space needed for packed decimal
01SORT CUST-NO
01510001 CUST-NO    FP      $Stored as packed decimal
01510006 GROSS-AMT  FP SZ=5
01510011 NET        FP SZ=5
01510016 ITEM-NO    FP SZ=6
01510022 TYPE
01510025 DIFF       FP SZ=5
017010   IF TYPE = ('E00' TO 'T99') DROP
017015   GROSS-AMT - NET  DIFF

The Hex Dump Output

RECORD BUFFER DUMP             CHAR      /*                A27             ZONE   017650049000220014208CFF00270             DIGIT  0061C0260C0220C04530C1270040C                   O1...5...10....5...20....5....             CHAR      /*   &     *      B44    *             ZONE   017650055000445023541CFF00005             DIGIT  0061C0020C0072C08360C2440057C                   O1...5...10....5...20....5....             CHAR      /*               @B49             ZONE   017650059000370034397CFF00210             DIGIT  0061C0150C0125C02867C2490035C                   O1...5...10....5...20....5....             CHAR             &    &     & B27             ZONE   012980035000350042851CFF00000             DIGIT  0366C0080C0050C02230C2270030C                   O1...5...10....5...20....5....             CHAR                        A27             ZONE   012980290002900014208CFF00000             DIGIT  0366C0350C0150C04530C1270200C                   O1...5...10....5...20....5....             CHAR                        B52             ZONE   012980099000810022730CFF00080             DIGIT  0366C0005C0015C06931C2520090C                   O1...5...10....5...20....5....             CHAR                       %X12             ZONE   058630000000020044046EFF00020             DIGIT  0858C0000C0020C02348C7120020D                   O1...5...10....5...20....5....             CHAR                        B52             ZONE   058630000000800022731CFF00100             DIGIT  0858C0100C0050C06931C2520050C                   O1...5...10....5...20....5....             CHAR                &       C06   &             ZONE   058630000000050069112CFF00450             DIGIT  0858C0450C0400C06017C3060040C                   O1...5...10....5...20....5....