IBM Mainframe Forum Index
 
Log In
 
IBM Mainframe Forum Index Mainframe: Search IBM Mainframe Forum: FAQ Register
 

Oncode=613 U4038


IBM Mainframe Forums -> PL/I & Assembler
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
ibmmainframe1

New User


Joined: 26 Jul 2005
Posts: 64
Location: India

PostPosted: Wed Dec 14, 2005 8:15 pm
Reply with quote

I am new to PLI programming. I tried a example from john huges.

The code is

Code:
    CREATE: PROCEDURE OPTIONS (MAIN);                     
       DCL DATA_ERROR              BIT(1);                 
       DCL INVENTORY_RECORD        CHAR (12);             
       DCL MORE_RECORDS            BIT(1);                 
       DCL NO                      BIT(1)  INIT('0'B);     
       DCL YES                     BIT(1)  INIT('1'B);     
                                                           
     ON ENDFILE(SYSIN)                                     
       MORE_RECORDS = NO;                                 
                                                           
  /*  PROGRAM STARTS HERE   */                             
                                                           
     MORE_RECORDS = YES;                                   
     PUT SKIP LIST('READY FOR READ');                     
     GET FILE (SYSIN) LIST (INVENTORY_RECORD);             
     PUT SKIP LIST(INVENTORY_RECORD);                     
     DO WHILE (MORE_RECORDS);                             
        CALL VALIDATE_DATA;                               
        IF DATA_ERROR                                     
         THEN PUT SKIP LIST ('DATA ERROR > ', INVENTORY_RECORD);
         ELSE CALL WRITE_MASTER_DATA;                           
   GET FILE (SYSIN) LIST (INVENTORY_RECORD);                   
   END;                                                         
                                                               
 /*  VALIDATE_DATA */                                           
                                                               
   VALIDATE_DATA: PROCEDURE;                                   
      PUT SKIP LIST('VALIDATE_DATA: PROCEDURE');               
      DATA_ERROR = NO;                                         
   END VALIDATE_DATA;                                           
                                                               
 /*  WRITE_MASTER_DATA    */                                   
                                                               
   WRITE_MASTER_DATA: PROCEDURE;                               
      PUT SKIP LIST('WRITE_MASTER_DATA: PROCEDURE');           
      PUT SKIP LIST(INVENTORY_RECORD);                         
   END WRITE_MASTER_DATA;                                       
                                                               
   END CREATE;                                                 


The JCL to run the program is

Code:
000900 //*****  TO RUN THE JOB                           
001000 //STEP010 EXEC PGM=SAMPLE2,COND=(9,LT)           
001100 //STEPLIB DD DSN=INGSYD.PLI.LOADLIB,DISP=SHR     
001300 //SYSIN DD DSN=INGSYD.PLI.INPUT1,DISP=SHR         
001610 //SYSPRINT DD SYSOUT=*                           
001700 //                                               


The input file is

Code:
EDIT       INGSYD.PLI.INPUT1                                    Data set saved
Command ===>                                                  Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 aaaaaaaaa                                                               
000002 bbbbbbbbb                                                               
000003 ccccccccc                                                               
****** **************************** Bottom of Data ****************************


When I run the JCl I am getting the abend

Code:
20.09.19 JOB04287 $HASP165 INGSYDA  ENDED AT N1 - ABENDED S000 U4038 CN(INTERNA
L)                                                                             
***                                                                           



This is the CEEDUMP


    SDSF OUTPUT DISPLAY INGSYDA JOB04287 DSID 105 LINE 20 COLUMNS 02- 81
    COMMAND INPUT ===> SCROLL ===> PAGE
    Condition Information for Active Routines
    Condition Information for IBMRERRI (DSA address 000306B8)
    CIB Address: 00030EE0
    Current Condition:
    IBM0033S ONCODE=613 The CONVERSION condition was raised because a conve
    arithmetic on input or output.
    Location:
    Program Unit: IBMRERRI Entry: IBMRERRI Statement: Offset: +0000045A
    Onchar= A Character causing conversion error
    Onsource= AAAAAAAAA
    Storage dump near condition, beginning at location: 0001C78A
    +000000 0001C78A 5050D080 58A0C2B8 58F0A01C 4110D080 05EF9108 404F4710 B

    File Status and Attributes:
    Attributes of file: SYSPRINT
    STREAM OUTPUT PRINT ENVIRONMENT( VB BLKSIZE(129) RECSIZE(125) BUFFERS(1) )
    Contents of buffers


Please help me in resolving this abend.

Thanks.
Back to top
View user's profile Send private message
k_vikram07

New User


Joined: 23 Nov 2005
Posts: 35

PostPosted: Fri Feb 03, 2006 5:58 pm
Reply with quote

FOR GET LIST statements, the input data should match the characteristics of the variables into which you are GETting.

In this case, the input file should look something like
Code:
EDIT INGSYD.PLI.INPUT1 Data set saved
Command ===> Scroll ===> CSR
****** ***************************** Top of Data ******************************
000001 'aaaaaaaaa'
000002 'bbbbbbbbb'
000003 'ccccccccc'
****** **************************** Bottom of Data ****************************
Back to top
View user's profile Send private message
ibmmainframe1

New User


Joined: 26 Jul 2005
Posts: 64
Location: India

PostPosted: Mon Feb 06, 2006 11:20 am
Reply with quote

Hi Vikram,

Thanks for your input. Its working now.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic View Bookmarks
All times are GMT + 6 Hours
Forum Index -> PL/I & Assembler

 


Similar Topics
Topic Forum Replies
No new posts writing into VSAM indexed tabl in PL1... PL/I & Assembler 8
No new posts COBOL program error ENDED AT SVSCJES2... COBOL Programming 1
No new posts How to resolve U4038? COBOL Programming 5
No new posts IMS error U4038 while executing my PL... IMS DB/DC 2
No new posts IBM0472S ONCODE=290 The INVALIDOP PL/I & Assembler 18
Search our Forums:

Back to Top