Portal | Manuals | References | Downloads | Info | Programs | JCLs | Master the Mainframes
IBM Mainframe Computers Forums Index
 
Register
 
IBM Mainframe Computers Forums Index Mainframe: Search IBM Mainframe Forum: FAQ Memberlist Usergroups Profile Log in to check your private messages Log in
 

 

ICE126A 0 INCONSISTENT *INREC IFTHEN 0 REFORMATTING FIELD

 
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL
View previous topic :: :: View next topic  
Author Message
vini_srcna

Active User


Joined: 26 May 2005
Posts: 178
Location: Copenhagen, Denmark

PostPosted: Mon Jan 21, 2008 9:22 pm    Post subject: ICE126A 0 INCONSISTENT *INREC IFTHEN 0 REFORMATTING FIELD
Reply with quote

File 1: LRECL= 333,FB
Key: 1 to 10 (customerid CHAR(10)) (File sorted on customerid and duplicates are removed)

Cusotmerid1.......address....etc...
Cusotmerid2.......address....etc...
Cusotmerid3.......address....etc...



FILE 2: LRECL=20,FB (contains only customer id and kobnr)
Key:1 to 10 (customerid).

customerid1kobnr1
customerid1kobnr2
customerid1kobnr3
customerid3kobnr1


we want the output to somehow look like Left outer join results in DB2. (IF it was joined on Customer id)

OUTPUTFILE:

Cusotmerid1.......address....etc...kobnr1
Cusotmerid1.......address....etc...kobnr2
Cusotmerid1.......address....etc...kobnr3
Cusotmerid2.......address....etc...
Cusotmerid3.......address....etc...kobnr1


If the customer number in FILE1 is not in FILE2 then the kobnr (CHAR(10)) should be set as spaces. Customer id can have mulitple kob numbers and all should be in the output file.
ex cutomerid1 has three kob numbers.(kobnr1,kobnr2 and kobnr3)

Please help me with this. I tried the bleow one and it didnt work. I got it from this forum and edited to best of my knowledge. It doesnt work..! it gives the below error.

//TOOLIN DD *
COPY FROM(FILEB) TO(T1) USING(CTL1)
COPY FROM(FILEA) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(T2) ON(1,10,CH) -
WITHALL WITH(5,4) WITH(334,10) KEEPNODUPS
SORT FROM(T2) TO(OUT) USING(CTL3)
/*
//CTL1CNTL DD *
INREC BUILD=(1,10,9:5,6,443:X)
/*
//CTL2CNTL DD *
INREC OVERLAY=(334:SEQNUM,8,ZD)
/*
//CTL3CNTL DD *
SORT FIELDS=(81,8,CH,A)
OUTREC BUILD=(1,433)
/*

----error--

ICE201I E RECORD TYPE IS F - DATA STARTS IN POSITION 1
ICE126A 0 INCONSISTENT *INREC IFTHEN 0 REFORMATTING FIELD FOUND
ICE751I 0 C5-K24705 C6-K90007 C7-K90000 C8-K90007 E9-K90007 E7-K24705
ICE052I 3 END OF DFSORT

Please help...thanks
Back to top
View user's profile Send private message

Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Mon Jan 21, 2008 10:35 pm    Post subject:
Reply with quote

hmmm ... your post is rather confusing. The customerid values you show are 11 bytes whereas you say they're 10 bytes and you have Cusotmeridn in file1 and customeridn in file2 which don't match. Also you seem to be doing something special with 5,4 but I can't tell what considering this would be part of the customerid in 1,10. The reason you got the ICE126A message is because you have 1,10,9:5,6 which means you're trying to put a field at position 9 after you've already put a field at positions 1-10 - that is, you have overlapping fields.

Assuming that your input file1 (FB/133) looks like this:

Code:

customerid1.......address....etc...
customerid2.......address....etc...
customerid3.......address....etc...


and your input file2 (FB/20) looks like this:

Code:

customerid1kobnr1
customerid1kobnr2
customerid1kobnr3
customerid3kobnr1


and you want your output file (FB/343) to look like this:

Code:

customeri1.......address....etc............................kobnr1
customeri1.......address....etc............................kobnr2
customeri1.......address....etc............................kobnr3
customeri2.......address....etc............................
customeri3.......address....etc............................kobnr1


you can use a DFSORT job like this:

Code:

//S1    EXEC  PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG  DD SYSOUT=*
//IN1 DD DSN=...  input file1 (FB/333)
//IN2 DD DSN=...  input file2 (FB/20)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(MOD,PASS)
//OUT DD DSN=...  output file (FB/343)
//TOOLIN DD *
COPY FROM(IN1) TO(T1) USING(CTL1)
COPY FROM(IN2) TO(T1) USING(CTL2)
SPLICE FROM(T1) TO(OUT) ON(1,10,CH) KEEPNODUPS -
  WITHALL WITH(334,10)
/*
//CTL1CNTL DD *
  INREC OVERLAY=(343:X)
/*
//CTL2CNTL DD *
  INREC BUILD=(1,10,334:11,10)
/*
Back to top
View user's profile Send private message
vini_srcna

Active User


Joined: 26 May 2005
Posts: 178
Location: Copenhagen, Denmark

PostPosted: Tue Jan 22, 2008 3:31 pm    Post subject:
Reply with quote

Hi Frank,

Thanks a lot for your help. Great solution..It worked for me.

There are 14 million rows. Do u think this is still a better solution than a program..?. I guess it should perform better than a program written in PL1 and moreover its a one time process.

In fact I was asked this question and I was able to justify. Would like to know your opinion on performance.

Thanks again ..!
Vinay
Back to top
View user's profile Send private message
Frank Yaeger

DFSORT Moderator


Joined: 15 Feb 2005
Posts: 7130
Location: San Jose, CA

PostPosted: Tue Jan 22, 2008 9:09 pm    Post subject:
Reply with quote

I can't tell you which will perform better ... it depends on too many things.

The best way to find out (really, the only way) is to try it both ways and see which performs better based on your own criteria for performance.
Back to top
View user's profile Send private message
View previous topic :: :: View next topic  
Post new topic   Reply to topic    IBMMAINFRAMES.com Support Forums -> DFSORT/ICETOOL All times are GMT + 6 Hours
Page 1 of 1

 

Search our Forum:

Similar Topics
Topic Author Forum Replies Posted
No new posts READ A PACKED "NEGATIVE" FI... jdesouza CA Products 3 Tue May 02, 2017 11:43 pm
No new posts Alter &DATENS field in HEADER1 Angad DFSORT/ICETOOL 4 Mon Apr 24, 2017 11:49 am
No new posts Need Help with : IFTHEN(WHEN=GROUP) Sumanta_89 DFSORT/ICETOOL 1 Wed Apr 19, 2017 5:23 pm
No new posts SORT VSAM file with each field one by... maxsubrat DFSORT/ICETOOL 6 Tue Mar 14, 2017 1:07 pm
No new posts IMS DB-How to update a record (a sing... Nic Clouston IMS DB/DC 9 Thu Mar 09, 2017 4:38 pm


Facebook
Back to Top
 
Mainframe Wiki | Forum Rules | Bookmarks | Subscriptions | FAQ | Tutorials | Contact Us