We are using a CFF stage to read a EBCDIC file which is currently loaded in production using SQL loader correctly.
The copybook received was imported into DataStage. Here is the copybook.
Code: Select all
01 XD12.
10 XD12-BR-NUM PIC X(10).
10 XD12-CUST-NUM PIC X(20).
10 XD12-BUS-PHONE-EXT PIC S9(04) PACKED-DECIMAL.
10 XD12-BUS-PHONE-NUM PIC S9(10) PACKED-DECIMAL.
10 XD12-CUST-NAME PIC X(40).
10 XD12-CUST-SSN PIC X(09).
10 XD12-CUST-TYPE PIC X(01).
10 XD12-HOME-PHONE-NUM PIC S9(10) PACKED-DECIMAL.
10 XD12-LANG-PREF-CODE PIC X(02).
10 XD12-NON-SOLIC-IND PIC S9(01) PACKED-DECIMAL.
10 XD12-CUST-EST-DT PIC S9(08) PACKED-DECIMAL.
10 XD12-CUST-DEATH-DT PIC S9(08) PACKED-DECIMAL.
10 XD12-CUST-NICKNAME PIC X(10).
10 XD12-MARITAL-STATUS PIC S9(01) PACKED-DECIMAL.
10 XD12-SPOUSE-NAME PIC X(20).
10 XD12-ORGANIZATIONS PIC X(50).
10 XD12-FAX-PHONE-NUM PIC S9(10) PACKED-DECIMAL.
10 XD12-EFFECTIVE-DT PIC S9(08) PACKED-DECIMAL.
10 XD12-CORP-RES-DT PIC S9(08) PACKED-DECIMAL.
10 XD12-CROS-DEF-COL-DT PIC S9(08) PACKED-DECIMAL.
10 XD12-COMM-CUST-NUM PIC S9(09) VALUE ZERO.
10 XD12-COMM-CUST-ACCT-NUM PIC S9(04) VALUE ZERO.
10 XD12-FAX-EXT-NUM PIC S9(04) PACKED-DECIMAL.
10 XD12-EMAIL-ADDR PIC X(50).
10 XD12-CREDIT-LINE-LEV PIC X(01).
10 XD12-BILLING-LEV-CD PIC X(01).
10 XD12-FOB-CD PIC X(02).
10 XD12-DOB PIC S9(08) PACKED-DECIMAL.
Imported layout matches SQL Loader metadata wrt position and data type
Code: Select all
BR_NUM POSITION(1:10) CHAR,
CUST_NUM POSITION(11:30) CHAR,
BUS_PHONE_EXT POSITION(31:33) DECIMAL(4,0),
BUS_PHONE_NUM POSITION(34:39) DECIMAL(10,0),
CUST_NAME POSITION(40:79) CHAR "nvl(rtrim(:CUST_NAME), ' ')",
CUST_SSN POSITION(80:88) CHAR,
CUST_TYPE POSITION(89) CHAR,
HOME_PHONE_NUM POSITION(90:95) DECIMAL(10,0),
LANG_PREF_CD POSITION(96:97) CHAR,
NON_SOLIC_CD POSITION(98) DECIMAL(1,0),
CUST_EST_DT POSITION(99:103) DECIMAL(8,0),
CUST_DEATH_DT POSITION(104:108) DECIMAL(8,0),
CUST_NICKNAME POSITION(109:118) CHAR "nvl(rtrim(:CUST_NICKNAME), ' ')",
MARITAL_STATUS POSITION(119) DECIMAL(1,0),
SPOUSE_NAME POSITION(120:139) CHAR "nvl(rtrim(:SPOUSE_NAME), ' ')",
ORGANIZATIONS POSITION(140:189) CHAR "nvl(rtrim(:ORGANIZATIONS), ' ')",
FAX_PHONE_NUM POSITION(190:195) DECIMAL(10,0),
EFFECTIVE_DT POSITION(196:200) DECIMAL(8,0),
CORP_RESOL_DT POSITION(201:205) DECIMAL(8,0),
CROSS_DEF_COLL_IND POSITION(206:210) DECIMAL(8,0),
COMM_CUST_NUM POSITION(211:219) INTEGER EXTERNAL,
COMM_CUST_ACCT_NUM POSITION(220:223) INTEGER EXTERNAL,
FAX_EXT_NUM POSITION(224:226) DECIMAL(4,0),
EMAIL_ADDR POSITION(227:276) CHAR "nvl(rtrim(:EMAIL_ADDR), ' ')",
CL_LEVEL_CD POSITION(277) CHAR,
BILLING_LEVEL_CD POSITION(278) CHAR,
FOB_CD POSITION(279:280) CHAR,
CUST_DOB POSITION(281:285) DECIMAL(8,0))
I am able to see 3 records in View Data along with the below error
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).
Analysis
The data files we received were successfully loaded using SQL Loader. SQL Loader does not use the copybook but the metadata above.
Record delimiter is blank. I did not pay much attention to this because I was able to see 3 records correctly.
Thank you in advance
DataStage Sterling