Home      Mainframe Forum      Mainfarme Tutorials      IBM Manuals      Mainframe Interview Questions      Mainframe Books      IT News     SiteMap     Downloads


     
 
MAINFRAME - TIP OF THE DAY : programming pearls - Good judgement comes from experience, and experience comes from bad judgement.

Google
 
Web mainframegurukul.com

Programmers Voted for below topics.      Please Vote for good Posts. Votes Salutes
Topic Title Votes Salutes
EJECT Verb in COBOL 21
Cobol Multiple Choice Questions By Shravan Wipro 16
what is index or subscript in cobol. please give me brief ex 14
jcl sort to add leading zeroes 13
SOC 7 abend - interview question 13
what is static or dynamic call in cobol 13
Hexadecimal to decimal conversion - SORT JCL INREC OUTREC 12
How to resolve soc7? 12
HOW TO FIND LINKAGE LENGTH 10
Infosys Training Program for freshers 10
VSAM File status 23 ,but records are present in the file 7
splitting of records using cobol 6
JOIN UNPAIRED,F1,F2,ONLY 6
Endevor 6
Changes in copybook 6
Difference Between XCTL and LINK 5
Frequently used commands in FileAid. 5
Comparing two files 4
JCL return codes 4
COBOL Program performance tuning tips 4
Interview questions - 3 years Exp - BOA, HCL and CTS 4
Various Locking mechanism for cursors and other SQL? 4
GDG interview question 4
How to Display COMP-3 value in report 3 3
JOIN UNPAIRED,F1,F2,ONLY 3 3
alphanumeric to numeric value padding with ZEROS in COBOL 3 3
static and dynamic calls 3
restart question 3
What are the issues related with correlated subqueries? 3
Eliminate duplicate records in file 3
What is the difference between Copy and Include? 3
JCL SORT - Count number of records in a file 3
Regarding TSQ 3
JCL to Purge All Held output? 3
S322 abend while sorting records 3
IKJ56500I COMMAND DSN NOT FOUND 3
Call & Execute a COBOL-DB2 from a COBOL program? 3
compare two files using SORT 3
Submit a JCL thru Cobol - sysout=(INTRDR,*) 3
Comparing 2 files based on Acct number without using tables 3
Sort fields difference 3
Sending an Email from JCL with attachment 3
Control flow from one STEP to another 3
Recently faced mainframe cobol Interview Questions. 3
RESTART - Executing 2 and 3 rd step in 5 step jcl 3
sort two files with same sort condition 3
what is index or subscript in cobol. please give me brief ex 2 2
static and dynamic calls 2 2
DB2 Certification Guidelines 2 2
Cobol Multiple Choice Questions By Shravan Wipro 2 2
JCL Errors 2 2
Hexadecimal to decimal conversion - SORT JCL INREC OUTREC 2 2
What is the difference between SYNONYM and ALIAS? 2 2
How to copy only one record after sorting to SORTOUT. 2 2
What is the difference between Copy and Include? 2 2
Difference between sysprint, sysout 2 2
Various Locking mechanism for cursors and other SQL? 2 2
When you specify mutiple datasets in a JOBLIB or STEPLIB 2 2
Merging two files into one based on certain key fields: 2 2
CA7 scheduling 1 1
Difference Between XCTL and LINK 1 1
Regarding EXEC CICS ENQ / DEQ 1 1
Use of CHNG and PURGE ? 1 1
Ways to merge the parts of different rows in the single row. 1 1
Copy GDG to GDG (one to one). 1 1
File STatus 41 1 1
CICS ABEND CODES 1 1
Display WITH NO ADVANCING 1 1
Interview questions - 3 years Exp - BOA, HCL and CTS 1 1
What are the valid DSORG values ? 1 1
EJECT Verb in COBOL 1 1
Merging Datasets with removing duplicates 1 1
pls give me answers these are may help for jobhunters.. 1 1
How to fetch and compare the system date in JCL 1 1
what is the diff btw jcl error, maxcc=12 or 8 and abend? 1 1
OVERRIDING A DD CARD IN JCL FOR A MULTIPLE PROC JOB 1 1
REXX Tools 1 1
JCL interview question answer Ebook 1 1
Someone please explain this COMPUTE statement 1 1
Infosys Training Program for freshers 1 1
JCL to run the DB2 Query - IKJEFT01 1 1
Help in Multiplcation of decimal constant 1 1
ICETOOL & DFSORT 1 1
How to write - 'Hello world' program through JCL 1 1
Symbolic Parameters 1 1
JCL to interact with Oracle DB 1 1
SOC 7 abend - interview question 1 1
PROCLIB 1 1
Create a loop in a JCL 1 1
Why browse is substituted on big datasets? 1 1
what is static or dynamic call in cobol 1 1
Frequently used commands in FileAid. 1 1
NUMERIC condition checking on Alphanumeric value with spaces 1 1
sort two files with same sort condition 1 1
Fetching RDW of a VB file in Easytrieve 1 1
EZtrv+ - Is there a way to suppress ez-code from printing... 1 1
JCL SORT - Count number of records in a file 1 1
cics 1 1
Comparing two files 1 1
how to copy multiple vsam files into a single flat file 1 1
Difference between an Object Module and Load Module 1 1
JOIN UNPAIRED,F1,F2,ONLY 22
How to resolve soc7? 22
what is index or subscript in cobol. please give me brief ex 21
Hexadecimal to decimal conversion - SORT JCL INREC OUTREC 19
Frequently used commands in FileAid. 18
what is static or dynamic call in cobol 14
jcl sort to add leading zeroes 13
Cobol Multiple Choice Questions By Shravan Wipro 12
RESTART - Executing 2 and 3 rd step in 5 step jcl 12
JCL SORT - Count number of records in a file 11
SORT JCL - SORTING A VB FILE - INREC OUTREC PARSE BUILD 11
Joinkeys using ICETOOL 10
Display WITH NO ADVANCING 8
How to concatenate records from two ps into one ps? 8
Interview questions - 3 years Exp - BOA, HCL and CTS 8
what is sync point in cics 8
EJECT Verb in COBOL 7
SOC 7 abend - interview question 7
Various Locking mechanism for cursors and other SQL? 7
How do you make your BMS maps case sensitive? 7
Sending an Email from JCL with attachment 7
Control flow from one STEP to another 6
what is the step debug the online program to use xpediter 6
Difference Between XCTL and LINK 6
How to retrieve deleted dataset / pds in mainframe 6
What is the difference between Comp-5 and Comp in Cobol ?? 6
Submit a JCL thru Cobol - sysout=(INTRDR,*) 5
How to compare two ps files having millions of records ? 5
abend code S000 U4038 5
Recently faced mainframe cobol Interview Questions. 5
Replacing a larger string with smaller string 5
VSAM File status 23 ,but records are present in the file 5
GDG interview question 5
How to run only 2 steps out of 100 steps??? 5
what is the Length of DSN=.... 5
How to assign System Date/Time to a parameter in a JCL pgm? 5
Sort fields difference 4
how to concatenate the datasets 4
static and dynamic calls 4
How to fetch and compare the system date in JCL 4
What is the function of //JCLLIB statement? 4
Comparing 2 files based on Acct number without using tables 4
FILE-AID vs InSync 4
How to compile list a coolgen batch code using endeavor 4
In cics what is new copy.please give me a example. 4
Difference between an Object Module and Load Module 4
How we can access PDS and its Members thru COBOL ? 4
SORT INREC OUTREC OVERLAY - Adding sequential numbers 4
Mainframe Developer - Cognizant - Chennai 4
INFO about REGION parm 3
In SMS datasets, what is the function of the DD MGMTCLAS 3
To connect EBCDIC records to ASCII during write process 3
compare two files using SORT 3
How to read HEX file and convert it into decimal in REXX. 3
alphanumeric to numeric value padding with ZEROS in COBOL 3
How do you restart a proc from a particular step in jcl? 3
COMP-3 TO ALPHANUMERIC MOVE 3
Cobol question 3
How can a JES3 operator command be entered through the job 3
Merging Datasets with removing duplicates 3
NUMERIC to COMP-3 move 3
JCL to copy from DASD to TAPE 3
JCL-I need to FTP from MF to Local computer 3
difference between Omegamon and Mainview 3
What is MQ SERIES AND why it is used? 3
sort two files with same sort condition 3
PACKAGE VS PLAN ? 3
compile the cics,db2 or cobol program what next step- 3
What is the difference between Copy and Include? 3
Endevor 3
sign stored in Packed Decimal fields and Zoned Decimal field 3
Urgent Help needed !! 3
Editing a Copybook - How to? 3
How to write - 'Hello world' program through JCL 3
CA7 scheduling 3
DB2 query !! 3
Regarding TSQ 3
SQLCODE -811, why always 2nd row is fetched?? 3
Set Return Code using DFSORT 3
FOREIGN KEY 3
SYSTEM COMPLETION CODE=0C4 3
Problem with numeric field with sign in last digit 3
How to find record count of a mainframe dataset? 3
Reg DFSORT utility. 3
help me in creating EXCEL document as OUTPUT FROM COBOL PROG 2
How to know the Primary and Foriegn keys? 2
to merge 2 records of the input file using SORT 2
How can i attach my sig? 2
What is the attribute byte? 2
Immediate Mainframe opening in CSC,Chennai 2
How to write a JCL using IEFBR14 2
A Really Nice One. Don't Miss the Moral. 2
To get the total record count of flat file..... 2
Redefine with occur clause 2
JCL - INCLUDE Condition - SORT INCLUDE COND 2
Executing n th step in a proc - JCL - IEBEDIT 2
Create files with matching and non matching records- SPLICE? 2
block size? 2
pls give me the answers for the following interview quesions 2
how to extract real time in easytrieve 2
To split matched and unmatched records into 2 files 2
To compare two files (SSN fields) 2
Create a loop in a JCL 2
PROCLIB 2
Mainframe PS to Excel and mail it. 2
Cobol Test 1 - Interview Questions 2
benefits with SYNC 2
DATACLAS 2
stored procedure in cobol 2
REXX Tools 2
DB2 PERFORMANCE TUNING TIPS 2
Converting file of RECFM=U to RECFM=FB 2
What is SSRANGE, NOSSRANGE ? 2
Replacing characters Using JCL 2
Eliminate duplicate records in file 2
DBXX NOT OPERATIONAL, RETRY COUNT IS ZERO 2
Comparing two files 2
How to Display COMP-3 value in report 2
COBOL TEST-3 WITH ANSWERS 2
What is a DBRM, PLAN ? 2
VERTICAL ARRAY IN CICS 2
CICS ABEND CODES 2
SOC1 abend 2
generating sequence number starting from 0100000000000000 2
Production Support 2
What is Static,Dynamic linking ? 2
How to send mail having some content of the file via jcl 2
how to calculate age 2
Replace special characters with spaces in a string 2
what s the difference between DB2 & ADB2? 2
IEBGENER - Emptying dataset. 2
Reformatting and calculating time and date values 2
Infosys Training Program for freshers 2
Mainframe jobs in Germany 2
SQL Query using REXX 2
Need to compare two files using sort in jcl 2
Sort and merge two files with a condition 2
Define/Create VSAM-E file 2
ICETOOL & DFSORT 2
What is auditing? 2
DB2 Certification Guidelines 2
Computer based tutorial on IMS DB/DC 2
Stop Run in both called and calling programs !!! 1
COBOL Program performance tuning tips 1
compare 2 files with different LRECL 1
User abend 4038 1
JCL return codes 1
resource unavailable..table is not accessible 1
SQL Code -913 1
88 Level default value 1
Man of the year 1
I need to FTP from MF to UNIX 1
How to handle the null indiactor 1
what is INTRDR ( Internal Read) in JCL ? 1
Using Pointers in a CICS-COBOL program 1
How to copy only one record after sorting to SORTOUT. 1
is multiple STOP RUN are valid? 1
please clear my doubt 1
Simple JCL Tutorial & IBM Tutorials Manuals Pdf Tutor 1
Need sort to compare 2 datasets 1
JCL Error S878 1
maxcc=1 1
What is the difference between CANCEL and INITIAL statement 1
Help regarding Career in Vision Plus, Mainframe 1
S322 abend while sorting records 1
How to convert Julian date format into yyyymmdd date format? 1
Can any one let me know how to resolve +100,-805,-803. 1
QSAM 1
Reg: DDIO file in XPED 1
EZT+ Date manipulation - How do I subtract 30 days sysdate 1
what is STOP RUN OR GOBACK OR EXIT PROGRAM 1
Restart logic (Checkpoint logic) 1
File STatus 41 1
How to FTP a dataset from my mainframe to personal Folder 1
Requirement in INAUTIX - CHENNAI Exp - 3 to 6 Years 1
Difference between physical and symbolic map 1
DB2 COMMIT?? 1
PL/I program - PROC OPTION various attributes 1
Converting Easytrev to EZTPA00 1
I am beginer in db2 , why r using bind ,plan & packge? 1
COBOL MOVE CORRESPONDING DOUBT 1
What is the difference between Static and Dynamic Binding? 1
Endevor 1
Delete a column from a file 1
DFSORT - JOINKEYS 1
File-Aid Batch accessing copybook 1
Copy of Fixed Length file into Variable Length File 1
How to check the return code of PROC 1
SYSUDUMP and SYSABEND 1
create a table in such a way that Delete cannot be used? 1
Call & Execute a COBOL-DB2 from a COBOL program? 1
UDS2000 utility program 1
how to download table data with out extra ? for null values 1
Omitt records from sort but still include them in output 1
To match and remove duplicate records from two files. 1
make a output file from two input files on certain condition 1
In jcl please help me. 1
Appending data to a PDS using REXX 1
HOW TO INCREASE DATASET SPACE 1
CA-7 standby 1
JCL to Purge All Held output? 1
To delete a segment in an IMS DB & create XREF using INS 1
What are the contents of a DCLGEN? 1
XREF Creation 1
What is DCLGEN ? 1
EDIT a STRING 1
Multiple Conditions to Copy a File 1
why include can't be used in procedure division? 1
searching for a special character through sort 1
Join on keys and replace when matched 1
Access DB2 region using rexx 1
Regarding Restart card in JCL 1
Is it possible to add timestamp in the Header Record? 1
Inserting a Delimiter 1
utility IKJEFT1B 1
LEFT OUTER JOIN IN COBOL VSE ENVIRONMENT 1
Endevor tutorial 1
Getting Error while using ICEMAN tool 1
hai 1
delete a record in ps file. 1
DFHAC2016 - Trans XXXX cannot run because program XXX is Not 1
Array setup 1
Copying GDG 1
PARM PARAMETER 1
DFSORT Sorting a pack decimal field. 1
How do you retrieve the data from a nullable column? 1
SORTCARD help 1
How to delete PDS member alone thru a jcl 1
EZtrv+ - Is there a way to suppress ez-code from printing... 1
Capgemini Mainframe opportunity 1
how to split files which has header and trailor 1
link-edit error 1
Difference between internal sort and external sort 1
How to use XREF.. 1
Icetool- Splicing : More than one compare key 1
DB2 checkpoint-restart doubts 1
sort the input file excluding the trailer record 1
Ezyedit selsection panel 1
Add Header and Trailer record also display the recod Count 1
LINKING of Sub-Program 1
HOW TO CAPTURE JOBLOG THROUGH JCL 1
search the given PS file for a string 1
How do you code an instream data in a proc 1
Sending the user a message when job abends? 1
NUMERIC condition checking on Alphanumeric value with spaces 1
REXX tool needed to capture the JCL syntax errors 1
Rexx/Clist to auto-build IEFBR14 for JCL 1
cics 1
"Merge" two files in a special way 1
file manager(unable to view/edit dataset) 1
SORT JCL to Split data using OUTFIL 1
Vaccination for Children 1
joins examples on multiple tables 1
SE37 space abend 1
Easytrieve Job Input statement query 1
Compare 2 files and write O/P accordingly 1
equivalent file-manager command of file-aid command COPYBACK 1
Override 1
To get Volume Serial Number for Uncatalog Dataset 1
How to update records count in the header using JCL 1
difference between -805 and -818 sqlcode 1
Connect Direct to copy data from mainframe to desktop. 1
writing 2 records for each qualifying input record. 1
Inserting NULL 1
COUNT of records based on distinct field value(ICETOOL/SORT) 1
PACKED DECIMAL TO NUMERIC USING EASYTRIEVE 1
Pointers in Cobol 1
U4093 IMS Abend 1
Is it possible to get last modified date of PDS members... 1
Two files Matching Logic 1
how to describe a table in spufi 1
Difference between Ps and ESDS 1
Use of CHNG and PURGE ? 1
Mainframe Jobs - Pune 1
Merging two files into one based on certain key fields: 1
Ways to merge the parts of different rows in the single row. 1
How to copy specific members via fileaid 1
SYNCSORT trick 1
How to write a JCL using IEBCOMPR 1
SORT - Ifthen, when group question 1
types of cursors? 1
Sorting - SORT INREC OUTREC SUM FIELDS 1
CICS Tutorial 1
S0C6 Abend while Opening a DB2 Cursor in a DB2-PLI Proram 1
How to Separate Odd or Even numbers using DFSORT 1
Dynamic name allocation to a file 1
Help required for a sort step. 1
What is length in sysin dd? 1
What is the difference between CS and RR isolation levels? 1
Corresponding statement 1
Tool to practice COBOL Programs 1
Question about Files matching logic 1
Using IDCAMs how to check whether file empty or not 1
Moving cursor to next field in ISPF dialog 1
JCL to run the DB2 Query - IKJEFT01 1
CA-7 1
VSAM File status 34 1
Merged file to remove duplicate so order is not affected 1
Comapare Two Records in the same File 1
Merging of two files with non-unique keys. 1
how to merge two flat files in append manner 1
CODE THAT WAIT X MINUTES BEFORE EXECUTE A STEP 1
using Index other than subscript 1
Compare to files - write the count of matching - Easytrieve 1
Can we take XDC of the production job run? 1
how to deal with the below scenario using iebgener 1
user abend in easytrieve 1
SORT assistance for setting up RC 1
EVALUATE Statement in Easytrieve 1
What is the difference between SYNONYM and ALIAS? 1
too many tables join 1
Hai to All 1
How to convert a decimal valuie to hexadecimal using sort 1
JCL Interpreter :?: 1
conversion by using SORT 1
EASYTRIEVE 1
How can you override/nullify Condition code (COND) in jcl? 1
Technical diff between Microfocus cobol and Mainframe Cobol 1
How to write sort card? 1
Name the macros to be used to define MAP, MAPSET, FIELD 1
need to check a GDG generation is present in catalog or not 1
SORT verb - help 1
Masking some fields in a dataset using JCL 1
Comparing Date with current date 1
how to insert new column in already existing vsam file 1
How to compile codes in changeman through tool in mainframe. 1
Find and Replace using DFSORT 1
Generate list of batch jobs in jobtrac using jcl 1
Mainframe Refresher eBook 1
Disabling CICS 1
Can any one let me know how to resolve +100,-803,-811 1
How to use both lower and upper case letters in cobol? 1
IBM Mainframe certification courses and exam 1
is the answer correct?? 1
Comp-3 variables to Comp variables. 1
retrieving deleted GDG version 1
Production Support 1
executing java program thru JCL 1
Reset Condition Code. 1
HOW TO FIND LINKAGE LENGTH 1
what is the diff btw jcl error, maxcc=12 or 8 and abend? 1
a Sub-Query and a Correlated Sub-Query 1
How can i delete records form a VSAM file. 1
Problems associated with each type of interview question 1
Need to check count of file records and abend if >10. 1
Intertest tool help 1
Mainframe Developer Requirement - Coimbatore 1
PACKMODE ON/OFF 1
BMC Load REPLACE option 1
Compile error (Cobol using copy book) 1
What is use of redefine with real time example? 1
Split a file into n files, depending on register content.

 
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DFSORT , ICETOOL & Utilities
  View previous topic :: View next topic  
Author Message
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Fri Feb 17, 2012 2:27 am    Post subject: Split a file into n files, depending on register content. Reply with quote

I think it should be able to do this, using icetool, but i am a totally beginner.

I have got a file, FB, LRECL = 4000. The file is something like this:


Code:
HEADERFILE0200
THIS IS DATA AND THE LENGHT IS 200.REGISTER 1
THIS IS DATA AND THE LENGHT IS 200.REGISTER 2
THIS IS DATA AND THE LENGHT IS 200.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 200.REGISTER X
HEADERFILE0333
THIS IS DATA AND THE LENGHT IS 333.REGISTER 1
THIS IS DATA AND THE LENGHT IS 333.REGISTER 2
THIS IS DATA AND THE LENGHT IS 333.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 333.REGISTER y


Somebody is sending me many files, with different record lenghts and sizes.

I would like to split the file into as many files as 'HEADERFILE' ocurrences in position 1,10.
Each file should content its header and the data till next header; and it would be wonderful if output files have the lrecl as shown in the header record.

In my example i would like to obtain 2 output files (but it could be as many as 50-60, in real life), one of then with lrecl=200 and the other with lrecl=333,

outfile1:

Code:
HEADERFILE0200
THIS IS DATA AND THE LENGHT IS 200.REGISTER 1
THIS IS DATA AND THE LENGHT IS 200.REGISTER 2
THIS IS DATA AND THE LENGHT IS 200.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 200.REGISTER X



outfile2:
Code:

HEADERFILE0333
THIS IS DATA AND THE LENGHT IS 333.REGISTER 1
THIS IS DATA AND THE LENGHT IS 333.REGISTER 2
THIS IS DATA AND THE LENGHT IS 333.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 333,REGISTER y

In the "headerfile" record, lenght is not character format, it is packed, but I think this is a minor problem.

PLease, a little bit of help

Thanks in advance.


Last edited by filikindri on Sat Feb 18, 2012 12:05 am; edited 1 time in total
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.

Frank Yaeger
Moderator


Joined: 18 Feb 2006
Posts: 812
Location: San Jose, CA

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Fri Feb 17, 2012 4:59 am    Post subject: Reply with quote

You can use a DFSORT/ICETOOL job like the following to do what you asked for.
DO NOT specify the LRECL on the OUTnn DD statements - DFSORT will set the LRECL correctly for each output data set "automagically".

You will need to change:

11,4,ZD,TO=ZD,LENGTH=5

to correspond to your PD field in the header, e.g.

11,3,PD,TO=ZD,LENGTH=5

Code:

//S1 EXEC PGM=ICETOOL
//TOOLMSG DD SYSOUT=*
//DFSMSG DD SYSOUT=*
//IN DD DSN=...  input file (FB/4000)
//T1 DD DSN=&&T1,UNIT=SYSDA,SPACE=(CYL,(5,5)),DISP=(,PASS)
//CTL2CNTL DD DSN=&&C2,UNIT=SYSDA,SPACE=(TRK,(5,5)),DISP=(,PASS)
//OUT01 DD DSN=...  output file 01 (FB/x)
...
//OUT60 DD DSN=...  output file 60 (FB/y)
//TOOLIN DD *
COPY FROM(IN) TO(T1) USING(CTL1)
COPY FROM(T1) USING(CTL2)
/*
//CTL1CNTL DD *
  INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,10,CH,EQ,C'HEADERFILE'),
    PUSH=(4001:ID=8))
  OUTFIL FNAMES=T1
  OUTFIL FNAMES=CTL2CNTL,INCLUDE=(1,10,CH,EQ,C'HEADERFILE'),
    BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,
      C',INCLUDE=(4001,8,ZD,EQ,',SEQNUM,2,ZD,C'),BUILD=(1,',
      11,4,ZD,TO=ZD,LENGTH=5,C') ',80:X)
/*

_________________
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Fri Feb 17, 2012 9:43 pm    Post subject: Reply with quote

It works!!!! Thanks a lot, really.

I had a little trouble, because the record length was packed decimal unsigned. x'0162' stands for lrecl=162, and as far I have read, DFSORT doesn't have a record format for this.

I have find a workaround, inrec a byte x'0C' , after x'0162'.

Finally I outrec PD,DIV,+10, to ZD, and ok. Several try and errors fixing records lenght, and it is working.

Now I've got my files separated, with correct lrecl, as I needed.
Next step, I have to submit a jcl proc, to process each file, and using some information in the HEADERFILE record.

I think I could use DFSORT again, using a template jcl file, and sortin out to the internal reader. But, firstly, i would have a glance at a REXX forum.

Thanks a lot again Frank. Your post reply have been really useful.

Edit: I did not notice: Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com . uuauuu!!!! You are behind the screen, every time i use DFSORT. It is exciting. Great, great product. I like mainframes, they are so faithful. I started working at mainframe. Then five years with sql, windows and so on, and now in a hurry, again with mainframes. After fight with distributed computation, I am really fall in love with mainframes, z/os and dfsort.
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
Frank Yaeger
Moderator


Joined: 18 Feb 2006
Posts: 812
Location: San Jose, CA

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Fri Feb 17, 2012 11:27 pm    Post subject: Reply with quote

Quote:
I had a little trouble, because the record length was packed decimal unsigned. x'0162' stands for lrecl=162, and as far I have read, DFSORT doesn't have a record format for this.


Actually, you can convert X'0162' to 0162 quite easily with:

p,2,HEX

So if your 2-byte value is in positions 11-12 of the header, you can just replace the last line of my control statements with:

Code:

     11,2,HEX,C') ',80:X)   

Quote:
I think I could use DFSORT again, using a template jcl file, and sortin out to the internal reader.


Yes, you could do that.

Thanks for the kind words about DFSORT and me. Very Happy
_________________
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sat Feb 18, 2012 12:02 am    Post subject: Reply with quote

Quote:
Actually, you can convert X'0162' to 0162 quite easily with:

p,2,HEX


It is "a little" more elegant than my workaround, no doubt Very Happy
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sat Mar 03, 2012 4:15 pm    Post subject: Reply with quote

I need to fix a little bug. I don't need the header record in output files:

outfile1:



Code:
THIS IS DATA AND THE LENGHT IS 200.REGISTER 1
THIS IS DATA AND THE LENGHT IS 200.REGISTER 2
THIS IS DATA AND THE LENGHT IS 200.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 200.REGISTER X




outfile2:
Code:
THIS IS DATA AND THE LENGHT IS 333.REGISTER 1
THIS IS DATA AND THE LENGHT IS 333.REGISTER 2
THIS IS DATA AND THE LENGHT IS 333.REGISTER 3
...
...
...
THIS IS DATA AND THE LENGHT IS 333,REGISTER y


So I think I shoud include an OMIT statement here, inside the build string

Code:
 OUTFIL FNAMES=CTL2CNTL,INCLUDE=(1,10,CH,EQ,C'HEADERFILE'),
    BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,
      C',INCLUDE=(4001,8,ZD,EQ,',SEQNUM,2,ZD,C'),BUILD=(1,',
      11,4,ZD,TO=ZD,LENGTH=5,C') ',80:X)


to omit records where
Code:
1,10,ch,eq,c'HEADERFILE'
isn't it? somethig like that (sorry, at home, no TSO, so I can't verify statement syntax.)
I could use a third step, but outiles could be really big, and I would prefer no more intermediate files.

Code:
 OUTFIL FNAMES=CTL2CNTL,INCLUDE=(1,10,CH,EQ,C'HEADERFILE'),
    BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,
      C',INCLUDE=(4001,8,ZD,EQ,',SEQNUM,2,ZD,C'),BUILD=(1,',
      11,4,ZD,TO=ZD,LENGTH=5,C') ',C'OMIT=(1,10,CH,EQ,
     C'HEADERFILE')', 80:X)
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sat Mar 03, 2012 5:06 pm    Post subject: Reply with quote

I'm trying:
Code:
   INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,12,CH,EQ,C'IDENTITAFICH'),   
   PUSH=(3881:ID=8)),                                             
         IFTHEN=(WHEN=(1,12,CH,EQ,C'IDENTITAFICH'),               
   BUILD=(1,18,C' ',20,3869))                                     
   OUTFIL FNAMES=T1                                               
*****************************************************************
   OUTFIL FNAMES=T2,INCLUDE=(1,12,CH,EQ,C'IDENTITAFICH'),         
     BUILD=(3881,8,26,12,C' ')                                   
*****************************************************************
   OUTFIL FNAMES=CTL2CNTL,INCLUDE=(1,12,CH,EQ,C'IDENTITAFICH'),   
     BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,                   
     BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,                       
       C',INCLUDE=(3881,8,ZD,EQ,',SEQNUM,2,ZD,C'),BUILD=(1,',         
       17,3,PD,DIV,+10,TO=ZD,LENGTH=4,C')',                           
       C',OMIT=(1,12,CH,EQ,C''IDENTITAFICH'')',80:X)                 
END OF STATEMENTS FROM CTL1CNTL - PARAMETER LIST STATEMENTS FOLLOW   
DEBUG NOABEND,ESTAE                                                   
OPTION MSGDDN=DFSMSG,LIST,MSGPRT=ALL,RESINV=0,SORTDD=CTL1,SORTIN=IN,SO
               TOUT=T1,DYNALLOC                                       
SORT FIELDS=COPY                                                     
RECORD TYPE IS F - DATA STARTS IN POSITION 1                         
INCONSISTENT REFORMATTING FOR CTL2CNTL: REASON CODE 04, IFTHEN 0     
C5-K90025 C6-K90025 C7-K54603 C8-K62201 E9-K60823 E7-K62201           
END OF DFSORT                                                         


Where is the refformating problem ? I can't see it.

Edit. ok, i saw it. I've got a 80 bytes limit for the statement inside ctl2.

I changed 80 by 130, but, when next phase, sort statements from ctl2 are truncated, so
Code:
0 - CONTROL STATEMENTS FOR 5694-A01, Z/OS DFSORT V1R10 - 13:44 ON SAT M
    OUTFIL FNAMES=OUT01,INCLUDE=(3881,8,ZD,EQ,01,AND,1,12,CH,EQ,C'IDENT
    OUTFIL FNAMES=OUT02,INCLUDE=(3881,8,ZD,EQ,02,AND,1,12,CH,EQ,C'IDENT
                                                                  $   
E SYNTAX ERROR                                                         
    OUTFIL FNAMES=OUT03,INCLUDE=(3881,8,ZD,EQ,03,AND,1,12,CH,EQ,C'IDENT


No way to obtain a ctl2 file with two lines per file????
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sun Mar 04, 2012 1:25 pm    Post subject: Reply with quote

Okay. I think I've got it.

I will use
Code:
160:X)
, then ICETOOL RESIZE TOLEN(80).

I just have to insert some blanks, to cut line in the correct place.

It should work... I'll try tomorrow-
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
filikindri
Member


Joined: 17 Feb 2012
Posts: 20

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sun Mar 04, 2012 10:28 pm    Post subject: Reply with quote

It is working , again,

That's what I did. I suposse there are other ways more elegant, but this works.

Code:
COPY FROM(IN) TO(T1) USING(CTL1)           
RESIZE FROM(CTL2CNTL) TO(CTL3CNTL) TOLEN(80)
COPY FROM(T1) USING(CTL3)                   


Code:
   INREC IFTHEN=(WHEN=GROUP,BEGIN=(1,12,CH,EQ,C'IDENTITAFICH'), 
   PUSH=(3881:ID=8)),                                           
         IFTHEN=(WHEN=(1,12,CH,EQ,C'IDENTITAFICH'),             
   BUILD=(1,18,C' ',20,3869))                                   
   OUTFIL FNAMES=T1                                             
*****************************************************************
   OUTFIL FNAMES=T2,INCLUDE=(1,12,CH,EQ,C'IDENTITAFICH'),       
     BUILD=(3881,8,26,12,C' ')                                   
*****************************************************************
   OUTFIL FNAMES=CTL2CNTL,INCLUDE=(1,12,CH,EQ,C'IDENTITAFICH'), 
     BUILD=(C'  OUTFIL FNAMES=OUT',SEQNUM,2,ZD,                 
       C',INCLUDE=(3881,8,ZD,EQ,',SEQNUM,2,ZD,                   
       C',AND,1,12,CH,                            ',             
       C'NE,C''IDENTITAFICH''),BUILD=(1,',                       
       17,3,PD,DIV,+10,TO=ZD,LENGTH=4,C') ',160:X)               
Back to top
View user's profile Send private message
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
Frank Yaeger
Moderator


Joined: 18 Feb 2006
Posts: 812
Location: San Jose, CA

Answer was approved by Question owner.
Useful Post
0 votes
Not an useful post
Greate Post!! Salute Author
0 salutes

PostPosted: Sun Mar 04, 2012 11:20 pm    Post subject: Reply with quote

DFSORT allows continuation - see the doc. You just have to set up your control statement generation to take advantage of that.

Another piece of the puzzle you'll need: With OUTFIL BUILD, you can use / to start a new record.

So instead of generating:

Code:

  OUTFIL FNAMES=OUT01,INCLUDE=(3881,8,ZD,EQ,01,AND,1,12,CH,EQ,C'IDENTITAFICH')


You would use continuation - generate something like:

Code:

  OUTFIL FNAMES=OUT01,
   INCLUDE=(3881,8,ZD,EQ,01,AND,1,12,CH,EQ,C'IDENTITAFICH')


or this:

Code:

  OUTFIL FNAMES=OUT01,
   INCLUDE=(3881,8,ZD,EQ,01,AND,
      1,12,CH,EQ,C'IDENTITAFICH')

_________________
Frank Yaeger - DFSORT Development Team (IBM) - yaeger@us.ibm.com
Specialties: JOINKEYS, FINDREP, WHEN=GROUP, ICETOOL, Symbols, Migration
=> DFSORT/MVS is on the Web at http://www.ibm.com/storage/dfsort
Back to top
View user's profile Send private message Send e-mail Visit poster's website
Click here, If this post answer your question. <-- Click on right mark icon. If this post answer your question.
Display posts from previous:   
Post new topic   Reply to topic    mainframegurukul.com Forum Index -> DFSORT , ICETOOL & Utilities All times are GMT + 5 Hours
Page 1 of 1



 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum

Related topics
 Topics   Replies   Author   Views   Last Post 
No new posts What is the content of the PPT entry? 1 Krishna 2902 Sun Jul 19, 2009 9:25 pm
Krishna View latest post
No new posts Dfference between CALL BY CONTENT and CALL BY VALUE 1 nrajini 4035 Wed May 27, 2009 5:11 pm
dbzTHEdinosauer View latest post
No new posts Viewing the content of VARCHAR column in db2 using Platinum 0 prm 3396 Tue May 19, 2009 9:54 pm
prm View latest post
No new posts LINKING of Sub-Program 1 rajkumarprajapati 6703 Sat Nov 01, 2008 5:27 pm
Natarajan View latest post
No new posts what is the purpose of call by content omitted in cobol 1 pradeepkit 4010 Wed Jun 18, 2008 10:55 am
dbzTHEdinosauer View latest post
 


Cobol Tutorial
This cobol tutorial covers most of the important topics like STRING, UNSTRING, COMP, COMP-3.....
DB2 Tutorial
DB2 Tutorial focuses on DB2 COBOL Programming. Explains in simple language. Some Chapters are locked, Forum members have free access to these chapters
CICS Tutorial
This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming...
JCL Tutorial
This is most popular JCL tutorial from mainframegurukul. It does contain important jcl ....
SORT Tutorial
This Tutorial covers all important aspects of DFSORT. Has more SORT examples
INTERVIEW Questions
This page covers important interview questions
Mainframe Jobs
Mainframe Jobs posted by members of mainframegurukul forum
FaceBook Page
MainframeGurukul FaceBook Page
LinkedIn Page
MainframeGurkul Linkedin Page

This widget requires Flash Player 9 or better







Go to top of the page
 

Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  DB2 INTERVIEW QUESTIONS ||  COBOL INTERVIEW QUESTIONS  ||  JCL INTERVIEW QUESTIONS ||  JCL2 INTERVIEW QUESTIONS ||  VSAM INTERVIEW QUESTIONS ||  CICS INTERVIEW QUESTIONS  ||  Online tutorials ||  Online ABEND Reference ||  JCL References ||  COBOL References ||  VSAM References ||  Tutorials by Drona Series ||  SQL tutorial ||  BOOKS  ||  SiteMap  ||  Expeditor Tutorial  ||  FILE-AID Tutorial  ||  Changeman Tutorial  ||  COBOL   ||  DB2   ||  JCL  ||  CICS  ||  VSAM  ||  DB2 Interview Questions ( 110 )   || Simple JCL Tutorials  || JCL Tutorial from MainframeGurukul.com   || Simple JCL Tutorial - Chapter1 ;|| Mainframe Forum - Tutorials  || Mainframe Tutorials || Mainframe CICS tutorial|| Mainframe COBOL Tutorial

Drona Educational Forums - Mainframe Cobol DB2 CICS Board
Powered by phpBB

mainframetopic-6297.html