Compare FB with VB to get VB file

In this Mainframe Forum - You can post your queries on DFSORT, ICETOOL , SyncSort & JCL Utilities

Moderators: Frank Yaeger, Moderator Group

Post Reply
hparthas
Member
Posts: 43
Joined: Thu Oct 21, 2010 11:17 pm

Compare FB with VB to get VB file

Post by hparthas » Fri Oct 14, 2011 11:04 pm

Hi All,

I have a requirement to extract the file, I used Key file as a FB file of 20 LRECL and the data file as 4096 LRECL VB file. The actual data is only 4092 and 4 byte is RDW.

My keys are @ first 10 position in both the Key and the data file. I used SORT to match between these two files and extract the data. Below is the sort Card.

Code: Select all

JOINKEYS FILES=F1,FIELDS=(1,10,A)                                
JOINKEYS FILES=F2,FIELDS=(5,10,A)                                
REFORMAT FIELDS=(F1:1,20,F2:1,4096),FILL=X'FF'                    
JOIN UNPAIRED                                                  
SORT FIELDS=COPY                                                  
OUTFIL FILES=01,
  INCLUDE=(25,2,BI,NE,X'FF',AND,1,2,CH,NE,X'FF'), 
    OUTREC=(25,4096)
OUTFIL FILES=02,
  INCLUDE=(1,2,BI,NE,X'FF')
    OUTREC=(25,4096)
In this in my input file, 1000 is the maximum length of the file, but the total length was defines assuming that we might get additional data for that file.

When I tried to execute this match, I got my matched / extracted record to O/P file, but the o/p file is filled with X'FF' till the rest of the record after 1000 position. Could you please advise me what I missed here.

Many thanks,
HK

User avatar
Frank Yaeger
Moderator
Posts: 812
Joined: Sat Feb 18, 2006 5:45 am
Location: San Jose, CA
Contact:

Post by Frank Yaeger » Fri Oct 14, 2011 11:35 pm

Your job is a mess!

Assuming you want output file1 to contain the records from F2 that have a match in F1, and you want output file2 to contain the records from F2 that do not have a match in F1, you can use the following DFSORT job:

Code: Select all

//S1 EXEC PGM=SORT
//SYSOUT DD SYSOUT=*
//IN1 DD DSN=... input file1 (FB/20)
//IN2 DD DSN=... input file2 (VB)
//F2MATCH DD DSN=...  output file1 (VB)
//F2ONLY DD DSN=...  output file2 (VB)
//SYSIN DD *
  JOINKEYS F1=IN1,FIELDS=(1,10,A)
  JOINKEYS F2=IN2,FIELDS=(5,10,A)
  REFORMAT FIELDS=(F2:1,4,?,F2:5)
  JOIN UNPAIRED,F2
  SORT FIELDS=COPY
  OUTFIL FNAMES=F2MATCH,
    INCLUDE=(5,1,CH,EQ,C'B'),BUILD=(1,4,6)
  OUTFIL FNAMES=F2ONLY,
    INCLUDE=(5,1,CH,EQ,C'2'),BUILD=(1,4,6)
/*
As an example, if input file1 contains:

Code: Select all

AAAAAAAAAA     F1R1    
CCCCCCCCCC     F1R2    
DDDDDDDDDD     F1R3    
GGGGGGGGGG     F1R4    
and input file2 contains:

Code: Select all

rrrrBBBBBBBBBB     F2R1 XXXXXXX
rrrrCCCCCCCCCC     F2R2 XXXXXXXXXXXXXXXX
rrrrGGGGGGGGGG     F2R3 X
rrrrHHHHHHHHHH     F2R4 XXXXXX
Then output file1 will contain:

Code: Select all

rrrrCCCCCCCCCC     F2R2 XXXXXXXXXXXXXXXX
rrrrGGGGGGGGGG     F2R3 X
and output file2 will contain:

Code: Select all

rrrrBBBBBBBBBB     F2R1 XXXXXXX
rrrrHHHHHHHHHH     F2R4 XXXXXX
If that's NOT what you're trying to do, then you need to explain more clearly what you are trying to do with an example of input and expected output.
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

academyindia4

Topic deleted by Admin

Post by academyindia4 » Mon Feb 01, 2016 10:01 pm

<< Content deleted By Admin >>

Post Reply

FREE TUTORIALS

Tutorials
Free tutorials from mainframegurukul
  • JCL Tutorial
    Covers all important JCL concepts.
  • Cobol Tutorial
    This tutorials covers all Cobol Topics from STRING to COMP-3.
  • DB2 Tutorial
    DB2 Tutorial focuses on DB2 COBOL Programming.
  • SORT Tutorial
    This Tutorial covers all important aspects of DFSORT with examples
  • CICS Tutorial
    This CICS tutorial covers CICS concepts and CICS Basics, CICS COBOL Programming.
Interview
Mainframe Interview questions



Other References
Mainframe Tools and others