Hi,
First time posting. I have searched and searched and cannot figure out a way to scan a record for a string of 16 numerics that may be found at any position in the record. I need to mask the numbers with X's. Can you assist?
Thanks
Syncsort - scanning a record for a string of 16 digits
Moderators: Frank Yaeger, Moderator Group
-
- Active Member
- Posts: 732
- Joined: Thu May 24, 2012 4:07 am
Hi - I thought I'd posted a reply to this but I guess I didn't. Sorry for the late follow-up.... The other issue that I didn't explain is that I won't ever know what the string of 16-digits will be. I might know the first 1 or 2 digits, but for the most part, I'm searching for a string of Any set of 16-digits. I couldn't find any masking or wildcard options.
Hi & thanks. I realize an image would probably explain this better but let me try again.
Ex:
Input file Record 1 has AAA1212121212121212BBB in position 46 and I want to change the 16 digit number that starts in position 49 to be 9898989898989898 so the output record will have AAA9898989898989898BBB starting in position 46.
The problem is, this string of numbers could be Any number and it could begin in any position: 49, 1, 82, 745, or anywhere in the record.
1) How do I find an 16-digit number that is 'somewhere' in the record
2) How do I then change that number to be any other value (that remains 16 in length).
PS the new number (98..98 in this case) can be hard-coded, or it can be a string of X's or anything like that. The "TO" number is not my concern. [/url][/list][/list][/code]
Ex:
Input file Record 1 has AAA1212121212121212BBB in position 46 and I want to change the 16 digit number that starts in position 49 to be 9898989898989898 so the output record will have AAA9898989898989898BBB starting in position 46.
The problem is, this string of numbers could be Any number and it could begin in any position: 49, 1, 82, 745, or anywhere in the record.
1) How do I find an 16-digit number that is 'somewhere' in the record
2) How do I then change that number to be any other value (that remains 16 in length).
PS the new number (98..98 in this case) can be hard-coded, or it can be a string of X's or anything like that. The "TO" number is not my concern. [/url][/list][/list][/code]
Try this
As per dfsort application programing guide
But yours is syncsort, you may need to refer your manual for syntax and detail
Code: Select all
//SYSIN DD *
OPTION COPY
INREC FINDREP=(IN=C’1212121212121212’,OUT=C’9898989898989898’)
FINDREP is a new option that allows you to do various types of find and replace
operations on your records. FINDREP makes it easy to replace character or
hexadecimal input constants anywhere in your records with character, hexadecimal
or null output constants. For input and output constants of different lengths, bytes
after the replaced constants will be shifted left or right, as appropriate. For
fixed-length records, blanks will be filled in on the right as needed. For
variable-length records, the record length will be changed as needed.
FINDREP can be used in an INREC, OUTREC or OUTFIL statement, or in an
IFTHEN clause, in the same way BUILD and OVERLAY can be used.
But yours is syncsort, you may need to refer your manual for syntax and detail
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
- Cobol Interview Questions
50+ Interview Questions - JCL Interview Questions
50+ Interview Questions - DB2 Interview Questions
100+ Interview Questions - CICS Interview Questions
70+ Interview Questions - VSAM Interview Questions
27 Interview Questions
Other References
Mainframe Tools and others
- XPEDITER Reference
Explains how we can debug a program - FILEAID Reference
Explains how to browse , edit and delete datasets - Change Man Reference
Quick Start tutorial on Changeman - Abend Reference
Important Abend codes explained - FaceBook Page
MainframeGurukul FaceBook Page - LinkedIn Page
MainframeGurkul Linkedin Page