Page 1 of 1

error reading EBCDIC file using CFF stage

Posted: Sun Oct 26, 2014 8:46 am
by hargun
hi,

i am reading EBCDIC file using the CFF stage and getting the error.

cff_DEPOSIT_RESTRAINT_DAILY_ACCOUNT,0: Short read encountered on import; this most likely indicates one of the following possibilities:
1) the import schema you specified is incorrect
2) invalid data (the schema is correct, but there is an error in the data).

The parallel layout i defined in CFF stage is given below

Code: Select all

record
  {record_length=325, delim=none, quote=none, binary, ebcdic, big_endian, charset='ASCL_EBCDIC', round=round_inf, fix_zero}
(
    FILE_ACTION:string[3] {default=' '};
    ACCT_ID:int32 {default=0};
    CO_ID:int32 {default=0};
    PROD_CODE:string[3] {default=' '};
    ACCT_NBR:string[20] {default=' '};
    RST_CLASS:string[1] {default=' '};
    RST_TYP_CODE:string[2] {default=' '};
    EXPIRE_DT:string[10] {default=' '};
    PLACED_DATE:string[10] {default=' '};
    SEQ_NO:string[10] {default=' '};
    RST_STATUS:string[1] {default=' '};
    RST_CURR_CODE:string[3] {default=' '};
    PLG_PROD:string[3] {default=' '};
    PLG_ACCT:string[20] {default=' '};
    PLG_REVIEW_FREQ_F:int32 {default=0};
    PLG_REVIEW_FREQ:string[1] {default=' '};
    PLG_AMT:decimal[13,2] {default=0,packed};
    ORIG_PLG_AMT:decimal[13,2] {default=0,packed};
    HOLD_TYP_F:int32 {default=0};
    HOLD_TYP:string[2] {default=' '};
    HOLD_REASON_F:int32 {default=0};
    HOLD_REASON:string[2] {default=' '};
    REASON_DESC_1_F:int32 {default=0};
    REASON_DESC_1:string[30] {default=' '};
    REASON_DESC_2_F:int32 {default=0};
    REASON_DESC_2:string[30] {default=' '};
    PLG_MCHT_CODE:int32 {default=0};
    FILLER:string[26] {default=' '};
    ADD_COMMENT_1_F:int32 {default=0};
    ADD_COMMENT_1:string[30] {default=' '};
    ADD_COMMENT_2_F:int32 {default=0};
    ADD_COMMENT_2:string[30] {default=' '};
    MERCHANT_DESC_F:int32 {default=0};
    MERCHANT_DESC:string[30] {default=' '};
)
i got the below copy book

Code: Select all

 01  EIMPLDGX-RST-DTL-ESS-DB2LD.                                          
           05  EIMPLDGX-DETAIL.                                                 
      *            WILL BE 'ADD' ON THIS FILE                                   
               10  EIMPLDGX-FILE-ACTION    PIC X(03).                           
      *            NOT POPULATED ON THE FILE                                    
               10  EIMPLDGX-ACCT-ID        PIC S9(09)    COMP.                  
      *            VALUE IS 101                                                 
               10  EIMPLDGX-CO-ID          PIC S9(09)    COMP.                  
      *            CDA- CERT OF DEPOSIT                                         
      *            REA- RETIREMENT ACCOUNT                                      
      *            DDA- CHECKING AND MONEY MARKET                               
      *            SAV- SAVINGS                                                 
               10  EIMPLDGX-PROD-CODE      PIC X(03).                           
      *            HOGAN ACCOUNT (LEFT JUSTIFIED FIRST 15 POSITIONS)            
               10  EIMPLDGX-ACCT-NBR       PIC X(20).                           
      *            1-HARD HOLD  2-PLEDGE                                        
               10  EIMPLDGX-RST-CLASS      PIC X.                               
      *            VARIOUS VALUES BY CLASS                                      
               10  EIMPLDGX-RST-TYPE-CODE  PIC X(02).                           
      *            VALUE OF '2099-99-99' MEANS DOES NOT EXPIRE                  
               10  EIMPLDGX-EXPIRE-DATE    PIC X(10).                           
               10  EIMPLDGX-PLACED-DATE    PIC X(10).                           
               10  EIMPLDGX-SEQ-NO         PIC X(10).                           
      *            DONT USE THIS FIELD                                          
               10  EIMPLDGX-RST-STATUS     PIC X(01).                           
      *            DONT USE THIS FIELD                                          
               10  EIMPLDGX-RST-CURR-CODE  PIC X(03).                           
      *            SOMETIMES CONTAINS DATA BASED ON MANUAL INPUT                
               10  EIMPLDGX-PLG-PROD       PIC X(03).                           
      *            SOMETIMES CONTAINS DATA BASED ON MANUAL INPUT                
               10  EIMPLDGX-PLG-ACCT       PIC X(20).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-PLG-REVIEW-FREQ-F PIC S9     COMP.                  
               10  EIMPLDGX-PLG-REVIEW-FREQ PIC X(01).                          
      *            CURRENT PLEDGE AMOUNT                                        
               10  EIMPLDGX-PLG-AMT        PIC S9(11)V99 COMP-3.                
      *            ORIGINAL PLEDGE AMOUNT                                       
               10  EIMPLDGX-ORIG-PLG-AMT   PIC S9(11)V99 COMP-3.                
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-HOLD-TYPE-F    PIC S9        COMP.                  
               10  EIMPLDGX-HOLD-TYPE      PIC X(02).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-HOLD-REASON-F  PIC S9        COMP.                  
               10  EIMPLDGX-HOLD-REASON    PIC X(02).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-REASON-DESC-1-F PIC S9       COMP.                  
               10  EIMPLDGX-REASON-DESC-1  PIC X(30).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-REASON-DESC-2-F PIC S9       COMP.                  
               10  EIMPLDGX-REASON-DESC-2  PIC X(30).                           
               10  FILLER REDEFINES EIMPLDGX-REASON-DESC-2.                     
      *           DONT SEE THE BEING USED                                       
                   15  EIMPLDGX-PLG-MCHT-CODE PIC 9(7)   COMP-3.               
                   15  FILLER                 PIC X(26).                        
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-ADD-COMMENT-1-F PIC S9       COMP.                  
               10  EIMPLDGX-ADD-COMMENT-1  PIC X(30).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
               10  EIMPLDGX-ADD-COMMENT-2-F PIC S9       COMP.                  
               10  EIMPLDGX-ADD-COMMENT-2  PIC X(30).                           
      *          IF VALUE IS 1 THEN NEXT FIELD HAS DATA                         
      *           DONT SEE THE FIELD BEING USED                                 
               10  EIMPLDGX-MERCHANT-DESC-F PIC S9       COMP.                  
               10  EIMPLDGX-MERCHANT-DESC  PIC X(30).                           
      *                                                           

i have checked the length and datatypes again but not able to figure it out.

Posted: Sun Oct 26, 2014 11:50 am
by ray.wurlod
A couple of possibilities.
1. Your data file has an empty last line. If so, get rid of it.
2. The "optional" fields (EIMPLDGX-MERCHANT-DESC-F and EIMPLDGX-MERCHANT-DESC) have been left off by whoever created the file. ("Don't see it being used.")