error reading EBCDIC file using CFF stage

Post questions here relative to DataStage Enterprise/PX Edition for such areas as Parallel job design, Parallel datasets, BuildOps, Wrappers, etc.

Moderators: chulett, rschirm, roy

Post Reply
hargun
Participant
Posts: 188
Joined: Mon May 16, 2011 7:41 pm
Location: United States

error reading EBCDIC file using CFF stage

Post 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.
ray.wurlod
Participant
Posts: 54607
Joined: Wed Oct 23, 2002 10:52 pm
Location: Sydney, Australia
Contact:

Post 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.")
IBM Software Services Group
Any contribution to this forum is my own opinion and does not necessarily reflect any position that IBM may hold.
Post Reply