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

Copy from VB to FB with added sequence number


IBM Mainframe Forums -> DFSORT/ICETOOL
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
bommu

New User


Joined: 15 Dec 2006
Posts: 3
Location: India

PostPosted: Thu Sep 24, 2015 2:14 am
Reply with quote

Hi,

I have a input variable file with length of 450(446+4). My requirement is to copy it to a fixed output file with added sequence number for first 8 bytes. I used below code in SORT step, but it is giving me error. Please advise.

INREC BUILD=(SEQNUM,8,ZD,9:1,446)
SORT FIELDS=COPY

Error is below
ICE201I H RECORD TYPE IS V - DATA STARTS IN POSITION 5
ICE251A 2 MISSING RDW OR DATA FOR *INREC : REASON CODE 05, IFTHEN 0

Even I tried with below code, getting same error.

INREC BUILD=(SEQNUM,8,ZD,9:5,446)
SORT FIELDS=COPY
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Sep 24, 2015 3:30 am
Reply with quote

If your input is variable-length and you want the output fixed, you need to convert it.

This is done on OUTFIL, using VTOF. You can also specify the BUILD there.

Code:
BUILD=(SEQNUM,8,ZD,5,446)
Back to top
View user's profile Send private message
bommu

New User


Joined: 15 Dec 2006
Posts: 3
Location: India

PostPosted: Thu Sep 24, 2015 9:45 pm
Reply with quote

Thanks for your info.

I tried with below code, still getting error. Kindly advise.

SORT FIELDS=COPY
OUTFIL FNAMES=SORTOUT,VTOF,BUILD=(SEQNUM,8,ZD,1:5,446)


error:
ICE126A 9 INCONSISTENT REFORMATTING FOR SORTOUT : REASON CODE 04, IFTHEN 0
Back to top
View user's profile Send private message
Bill Woodger

Moderator Emeritus


Joined: 09 Mar 2011
Posts: 7309
Location: Inside the Matrix

PostPosted: Thu Sep 24, 2015 10:00 pm
Reply with quote

Did you look up the message, and see what the reason-code (4) means?

This is what I suggested:

Code:
 BUILD=(SEQNUM,8,ZD,5,446)


That says, "put an 8-digit zoned-decimal sequence number, and follow it with data from the first data-position (5) for a length of 446).

This is what you coded:

Code:
 BUILD=(SEQNUM,8,ZD,1:5,446)


This says, "put an 8-digit zoned-decimal sequence number, and immediately, illegally, try to squish it with the data by attempting to put it at column one".
Back to top
View user's profile Send private message
bommu

New User


Joined: 15 Dec 2006
Posts: 3
Location: India

PostPosted: Thu Sep 24, 2015 10:22 pm
Reply with quote

Hi Bill, It is working fine now. Thank you.

Previously I was making some changes and I overlooked at your code. My apologies.

Thanks
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 -> DFSORT/ICETOOL

 


Similar Topics
Topic Forum Replies
No new posts Pulling a fixed number of records fro... DB2 2
No new posts Substring number between 2 characters... DFSORT/ICETOOL 2
No new posts VB to VB copy - Full length reached SYNCSORT 8
No new posts Generate random number from range of ... COBOL Programming 3
No new posts Increase the number of columns in the... IBM Tools 3
Search our Forums:

Back to Top