Welcome to Dream.In.Code
Getting Help is Easy!

Join 136,582 Programmers for FREE! Get instant access to thousands of experts, tutorials, code snippets, and more! There are 1,916 people online right now. Registration is fast and FREE... Join Now!




Need help with a COBOL program.

 
Reply to this topicStart new topic

Need help with a COBOL program., 163 error

Sharktress
3 Oct, 2008 - 03:35 PM
Post #1

New D.I.C Head
*

Joined: 10 Sep, 2007
Posts: 4


My Contributions
I get it to compile but I get an error message not sure how to correct
this my code but Iget an error message that in the second to the last line I have an alpha in a numeric not sure how to correct can some please help.

CODE

       IDENTIFICATION DIVISION.
       PROGRAM-ID. PROBLEM6QUET1.
       ENVIRONMENT DIVISION.
       INPUT-OUTPUT SECTION.
       FILE-CONTROL.  SELECT CUSTOMER-FILE-IN ASSIGN TO
                       'C:\CUSTTRANS.TXT'
                      ORGANIZATION IS LINE SEQUENTIAL.
                      SELECT PRINT-FILE-OUT
                      ASSIGN TO 'C:\CUSTTRANSOUT'
                      ORGANIZATION IS LINE SEQUENTIAL.
       DATA DIVISION.
       FILE SECTION.
       FD CUSTOMER-FILE-IN.
       01 CUSTOMER-IN-REC.
          05 IN-INITIAL1            PIC X(1).
          05 IN-INITIAL2            PIC X(1).
          05 IN-LAST-NAME           PIC X(10).
          05 IN-MO-TRANSACTION      PIC X(2).
          05 IN-YR-TRANSACTION      PIC X(4).
          05 IN-TRANSACTION-AMT     PIC 9(6)V99.
          05                        PIC X(32).
       FD PRINT-FILE-OUT.
       01 PRINT-REC-OUT             PIC X(57).
       WORKING-STORAGE SECTION.
       01 HEADING-1.
          05                        PIC X(5)    VALUE SPACES.
          05                        PIC X(4)    VALUE 'NAME'.
          05                        PIC X(5)    VALUE SPACES.
          05                        PIC X(19)
                VALUE 'DATE OF TRANSACTION'.
          05                        PIC X(3)    VALUE SPACES.
          05                        PIC X(21)
                VALUE 'AMOUNT OF TRANSACTION'.
       01 WS-PRINT-REC-OUT.
          05 OUT-INITIAL1           PIC X(1).
          05                        PIC X              VALUE '.'.
          05 OUT-INITIAL2           PIC X(1).
          05                        PIC X              VALUE '.'.
          05 OUT-LAST-NAME          PIC X(10).
          05                        PIC XXX.
          05 OUT-MO-TRANSACTION     PIC X(2).
          05                        PIC X              VALUE '/'.
          05 OUT-YR-TRANSACTION     PIC X(4).
          05                        PIC X(11).
          05 OUT-TRANSACTION-AMT    PIC $ZZZ,ZZ9V99.
          05                        PIC 9(14).
       01 ARE-THERE-MORE-RECORDS    PIC X(3) VALUE 'YES'.
       PROCEDURE DIVISION.
       100-MAIN-MODULE.
           OPEN INPUT CUSTOMER-FILE-IN
                OUTPUT PRINT-FILE-OUT
                WRITE PRINT-REC-OUT FROM HEADING-1.
          MOVE SPACES TO PRINT-REC-OUT.
          WRITE PRINT-REC-OUT.
           PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO'
                READ CUSTOMER-FILE-IN
                     AT END
                           MOVE 'NO' TO ARE-THERE-MORE-RECORDS
                     NOT AT END
                           PERFORM 200-PROCESS-ROUTINE
                END-READ
           END-PERFORM
           CLOSE CUSTOMER-FILE-IN
                 PRINT-FILE-OUT
           STOP RUN.
       200-PROCESS-ROUTINE.
           MOVE IN-INITIAL1 TO OUT-INITIAL1
           MOVE IN-INITIAL2 TO OUT-INITIAL2
           MOVE IN-LAST-NAME TO OUT-LAST-NAME
           MOVE IN-MO-TRANSACTION TO OUT-MO-TRANSACTION
           MOVE IN-YR-TRANSACTION TO OUT-YR-TRANSACTION
           MOVE IN-TRANSACTION-AMT TO OUT-TRANSACTION-AMT
           WRITE PRINT-REC-OUT FROM WS-PRINT-REC-OUT.



The file is attached that I use as an input file.

** Edit ** code.gif


Attached File(s)
Attached File  CUSTTRANS.TXT ( 132bytes ) Number of downloads: 16
User is offlineProfile CardPM
+Quote Post

n8wxs
RE: Need Help With A COBOL Program.
4 Oct, 2008 - 07:51 PM
Post #2

D.I.C Regular
***

Joined: 6 Jan, 2008
Posts: 461



Thanked: 44 times
My Contributions
QUOTE(Sharktress @ 3 Oct, 2008 - 04:35 PM) *

I get it to compile but I get an error message not sure how to correct
this my code but Iget an error message that in the second to the last line I have an alpha in a numeric not sure how to correct can some please help.
cobol

IDENTIFICATION DIVISION.
PROGRAM-ID. PROBLEM6QUET1.
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL. SELECT CUSTOMER-FILE-IN ASSIGN TO
'C:\CUSTTRANS.TXT'
ORGANIZATION IS LINE SEQUENTIAL.
SELECT PRINT-FILE-OUT
ASSIGN TO 'C:\CUSTTRANSOUT'
ORGANIZATION IS LINE SEQUENTIAL.
DATA DIVISION.
FILE SECTION.
FD CUSTOMER-FILE-IN.
01 CUSTOMER-IN-REC.
05 IN-INITIAL1 PIC X(1).
05 IN-INITIAL2 PIC X(1).
05 IN-LAST-NAME PIC X(10).
05 IN-MO-TRANSACTION PIC X(2).
05 IN-YR-TRANSACTION PIC X(4).
05 IN-TRANSACTION-AMT PIC 9(6)V99.
05 PIC X(32).
FD PRINT-FILE-OUT.
01 PRINT-REC-OUT PIC X(57).
WORKING-STORAGE SECTION.
01 HEADING-1.
05 PIC X(5) VALUE SPACES.
05 PIC X(4) VALUE 'NAME'.
05 PIC X(5) VALUE SPACES.
05 PIC X(19)
VALUE 'DATE OF TRANSACTION'.
05 PIC X(3) VALUE SPACES.
05 PIC X(21)
VALUE 'AMOUNT OF TRANSACTION'.
01 WS-PRINT-REC-OUT.
05 OUT-INITIAL1 PIC X(1).
05 PIC X VALUE '.'.
05 OUT-INITIAL2 PIC X(1).
05 PIC X VALUE '.'.
05 OUT-LAST-NAME PIC X(10).
05 PIC XXX.
05 OUT-MO-TRANSACTION PIC X(2).
05 PIC X VALUE '/'.
05 OUT-YR-TRANSACTION PIC X(4).
05 PIC X(11).
05 OUT-TRANSACTION-AMT PIC $ZZZ,ZZ9V99.
05 PIC 9(14).
01 ARE-THERE-MORE-RECORDS PIC X(3) VALUE 'YES'.
PROCEDURE DIVISION.
100-MAIN-MODULE.
OPEN INPUT CUSTOMER-FILE-IN
OUTPUT PRINT-FILE-OUT
WRITE PRINT-REC-OUT FROM HEADING-1.
MOVE SPACES TO PRINT-REC-OUT.
WRITE PRINT-REC-OUT.
PERFORM UNTIL ARE-THERE-MORE-RECORDS = 'NO'
READ CUSTOMER-FILE-IN
AT END
MOVE 'NO' TO ARE-THERE-MORE-RECORDS
NOT AT END
PERFORM 200-PROCESS-ROUTINE
END-READ
END-PERFORM
CLOSE CUSTOMER-FILE-IN
PRINT-FILE-OUT
STOP RUN.
200-PROCESS-ROUTINE.
MOVE IN-INITIAL1 TO OUT-INITIAL1
MOVE IN-INITIAL2 TO OUT-INITIAL2
MOVE IN-LAST-NAME TO OUT-LAST-NAME
MOVE IN-MO-TRANSACTION TO OUT-MO-TRANSACTION
MOVE IN-YR-TRANSACTION TO OUT-YR-TRANSACTION
MOVE IN-TRANSACTION-AMT TO OUT-TRANSACTION-AMT
WRITE PRINT-REC-OUT FROM WS-PRINT-REC-OUT.

The file is attached that I use as an input file.


Compiling your code using HP COBOL V2.8-1286 on OpenVMS I get the following
warning:

77 WRITE PRINT-REC-OUT FROM WS-PRINT-REC-OUT.
..........1
%COBOL-I-ANTRUNC, (1) Truncation in alphanumeric move

Checking sizes, PRINT-REC-OUT is defined as 57 bytes in length and
WS-PRINT-REC-OUT is 59 bytes long.

Jeff

This post has been edited by n8wxs: 4 Oct, 2008 - 07:53 PM
User is online!Profile CardPM
+Quote Post

garypastor
RE: Need Help With A COBOL Program.
14 Oct, 2008 - 05:24 AM
Post #3

New D.I.C Head
*

Joined: 14 Oct, 2008
Posts: 1

Looking at your data file the data that corresponds with IN-TRANSACTION-AMT is only 6 bytes whereas it is defined as 8 bytes in the program 9(6)V99. Therefore the data you are trying to move into OUT-TRANSACTION-AMT has spaces at the end, which is not numeric, hence your error message when running the program. Fix the data by making sure that the field is 8 bytes of numeric data.

User is offlineProfile CardPM
+Quote Post

Fast ReplyReply to this topicStart new topic
Time is now: 12/3/08 12:35AM

Live Help!

Tutorials

Programming

Web Development

Reference Sheets

Code Snippets

DIC Chatroom

Bye Bye Ads

Monthly Drawing

Thumb Drive

Top Contributors

Top 10 Kudos This Month