Hi Team,
I have a requirement to copy the VB file of rec-length:4580 to VB file based on Delimitor count upto 95 only from each record even if input record has more that delimitor fields only.Each field is associated with the | delimitor.need to truncate the fields after 95th delimitor.Can you please help
Infile:
1|2|3|...………..|95|96|...…|9999
Output:
1|2|3|...….|95
Copying the VB file to VB file
-
- Global moderator
- Posts: 3025
- Joined: Sun Jul 04, 2010 12:13 am
- Skillset: JCL, PL/1, Rexx, Utilities and to a lesser extent (i.e. I have programmed using them) COBOL,DB2,IMS
- Referer: Google
- Location: Pushing up the daisies (almost)
Re: Copying the VB file to VB file
Why Easytrieve? If I understand you through all the mud of your description then this is simple in DFSort/Syncsort - simply parse out the first 95 fields and build your output using those 95 fields.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
Regards
Nic
-
- Posts: 7
- Joined: Tue Sep 17, 2019 6:20 pm
- Skillset: Visionplues,mainframe
- Referer: social site
Re: Copying the VB file to VB file
Thank you for quick reply...By using the Parse, we are building the fixed record legth w.r.to field length. let say field-1in input file has X(06) but content as ABC|DEF|..... etc. But with the parse the output will be ABC |CDF |...etc ...how we can exclude the spaces in outrec.I tried with Parse but not getting how to remove those spaces after building the field length fields
Input file:
LG|LG||065065042|20190613|20190613|10600|DWTF|101||103K40B00001GD|
Parse-Output:
LG |LG | |065065042 |20190613|20190613|
Expected-Output:
LG|LG||065065042|20190613|20190613|10600|DWTF|101||103K40B00001GD|..upto 95 | dleimitors only.
Input file:
LG|LG||065065042|20190613|20190613|10600|DWTF|101||103K40B00001GD|
Parse-Output:
LG |LG | |065065042 |20190613|20190613|
Expected-Output:
LG|LG||065065042|20190613|20190613|10600|DWTF|101||103K40B00001GD|..upto 95 | dleimitors only.
-
- Global moderator
- Posts: 3025
- Joined: Sun Jul 04, 2010 12:13 am
- Skillset: JCL, PL/1, Rexx, Utilities and to a lesser extent (i.e. I have programmed using them) COBOL,DB2,IMS
- Referer: Google
- Location: Pushing up the daisies (almost)
Re: Copying the VB file to VB file
Show your control cards - and use the code tags when posting data - especially when there are multiple spaces.
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
Regards
Nic
- sergeyken
- Posts: 458
- Joined: Wed Jul 24, 2019 10:12 pm
- Skillset: Assembler, JCL, Utilities, PL/I, C/C++, DB2, SQL, REXX, COBOL, etc. etc. etc.
- Referer: Internet search
Re: Copying the VB file to VB file
Dhanu0009 wrote:By using the Parse, we are building the fixed record legth w.r.to field length. let say field-1in input file has X(06) but content as ABC|DEF|..... etc. But with the parse the output will be ABC |CDF |...etc ...how we can exclude the spaces in outrec.
Code: Select all
OUTREC BUILD=(%1... %95)...
OUTFIL FTOV, change RECFM to VB
BUILD=(1,length,SQZ=(SHIFT=LEFT)), remove all intermediate spaces
VLTRIM=C' ' truncate tail spaces as well
Alternatively, parameter SQZ can be applied to each of 95 parsed fields (OMG!)
Javas and Pythons come and go, but JCL and SORT stay forever.
- sergeyken
- Posts: 458
- Joined: Wed Jul 24, 2019 10:12 pm
- Skillset: Assembler, JCL, Utilities, PL/I, C/C++, DB2, SQL, REXX, COBOL, etc. etc. etc.
- Referer: Internet search
Re: Copying the VB file to VB file
REXX can be used as straightforward solution, too
Code: Select all
//* REXX */
/* . . . . . . . . . . . . . . . */
"NEWSTACK"
Do iRec = 1 By 1
"EXECIO 1 DISKR INFILE"
If RC = 2 Then
Leave iRec
Parse Pull OldRecord
NextPos = 1
Do iField = 1 To 95 /* jump over up to 95 fields */
SkipTo = Index( OldRecord, '|', NextPos )
If SkipTo = 0 Then Do /* less than 95 separators? */
NextPos = Length(OldRecord) + 1 /* use full record */
Leave iField /* break search */
End
NextPos = SkipTo + 1 /* continue after next separator */
End iField
GoodSize = NextPos - 1
NewRecord = Left( OldRecord, GoodSize )
Push NewRecord
"EXECIO 1 DISKW OUTFILE"
End iRec
"DELSTACK"
"EXECIO 0 DISKR INFILE (FINIS"
"EXECIO 0 DISKW OUTFILE (FINIS"
/* . . . . . . . . . . . . . . . */
Javas and Pythons come and go, but JCL and SORT stay forever.
- sergeyken
- Posts: 458
- Joined: Wed Jul 24, 2019 10:12 pm
- Skillset: Assembler, JCL, Utilities, PL/I, C/C++, DB2, SQL, REXX, COBOL, etc. etc. etc.
- Referer: Internet search
Re: Copying the VB file to VB file
If dataset is not expected to be a huge one then REXX code can be simplified, and I/O optimized
Code: Select all
/* REXX */
/* . . . . . . . . . . . . . . . */
"NEWSTACK"
"EXECIO * DISKR INFILE (FINIS"
TotalLines = Queued()
Do iRec = 1 To TotalLines
Parse Pull OldRecord
NextPos = 1
Do iField = 1 To 95
SkipTo = Index( OldRecord, '|', NextPos )
If SkipTo = 0 Then Do /* less than 95 separators? */
NextPos = Length(OldRecord) + 1 /* use full record */
Leave iField /* break search */
End
NextPos = SkipTo + 1 /* continue after next separator */
End iField
GoodSize = NextPos - 1
NewRecord = Left( OldRecord, GoodSize )
Queue NewRecord
End iRec
"EXECIO" Queued() "DISKW OUTFILE (FINIS"
"DELSTACK"
/* . . . . . . . . . . . . . . . */
Javas and Pythons come and go, but JCL and SORT stay forever.
-
- Posts: 7
- Joined: Tue Sep 17, 2019 6:20 pm
- Skillset: Visionplues,mainframe
- Referer: social site
Re: Copying the VB file to VB file
@ sergeyken, Can you please help to elaborate the SORT ccard w.r.to one field with SQZ and VLTRIM
Input:
HR|20190613|GD|1|1|
LG|LG||065065042|20190613|20190613|.....
LG|LG||065065042|20190613|20190613|.....
TR|2|20190613|0|202|0|2|
Output With Parse:
HR |201906|GD |1 |1 | |
LG |LG | |065065042 |20190613|20190613|
LG |LG | |065065042 |20190613|20190613|
TR |2 |20190613 |0 |202 |0 |
Sort CCard:
INREC PARSE=(%01=(ENDBEFR=C'|',FIXLEN=06),
%02=(ENDBEFR=C'|',FIXLEN=06),
%03=(ENDBEFR=C'|',FIXLEN=10),
%04=(ENDBEFR=C'|',FIXLEN=34),
%05=(ENDBEFR=C'|',FIXLEN=08),
%06=(ENDBEFR=C'|',FIXLEN=08),
%07=(ENDBEFR=C'|',FIXLEN=06),
%08=(ENDBEFR=C'|',FIXLEN=04),
%09=(ENDBEFR=C'|',FIXLEN=19),
%10=(ENDBEFR=C'|',FIXLEN=19),
%11=(ENDBEFR=C'|',FIXLEN=30),
%12=(ENDBEFR=C'|',FIXLEN=10),
%13=(ENDBEFR=C'|',FIXLEN=10),
%14=(ENDBEFR=C'|',FIXLEN=10),
%15=(ENDBEFR=C'|',FIXLEN=03),
%16=(ENDBEFR=C'|',FIXLEN=01),
%17=(ENDBEFR=C'|',FIXLEN=19),
%18=(ENDBEFR=C'|',FIXLEN=19),
%19=(ENDBEFR=C'|',FIXLEN=03),
%20=(ENDBEFR=C'|',FIXLEN=15),
%21=(ENDBEFR=C'|',FIXLEN=01),
%22=(ENDBEFR=C'|',FIXLEN=34),
%23=(ENDBEFR=C'|',FIXLEN=50),
%24=(ENDBEFR=C'|',FIXLEN=70),
%25=(ENDBEFR=C'|',FIXLEN=01),
%26=(ENDBEFR=C'|',FIXLEN=210),
%27=(ENDBEFR=C'|',FIXLEN=01),
%28=(ENDBEFR=C'|',FIXLEN=210),
%29=(ENDBEFR=C'|',FIXLEN=01),
%30=(ENDBEFR=C'|',FIXLEN=210),
%31=(ENDBEFR=C'|',FIXLEN=01),
%32=(ENDBEFR=C'|',FIXLEN=210),
%33=(ENDBEFR=C'|',FIXLEN=01),
%34=(ENDBEFR=C'|',FIXLEN=210),
%35=(ENDBEFR=C'|',FIXLEN=01),
%36=(ENDBEFR=C'|',FIXLEN=210),
%37=(ENDBEFR=C'|',FIXLEN=01),
%38=(ENDBEFR=C'|',FIXLEN=210),
%39=(ENDBEFR=C'|',FIXLEN=01),
%40=(ENDBEFR=C'|',FIXLEN=210),
%41=(ENDBEFR=C'|',FIXLEN=01),
%42=(ENDBEFR=C'|',FIXLEN=210),
%43=(ENDBEFR=C'|',FIXLEN=05),
%44=(ENDBEFR=C'|',FIXLEN=01),
%45=(ENDBEFR=C'|',FIXLEN=1000),
%46=(ENDBEFR=C'|',FIXLEN=02),
%47=(ENDBEFR=C'|',FIXLEN=02),
%48=(ENDBEFR=C'|',FIXLEN=02),
%49=(ENDBEFR=C'|',FIXLEN=02),
%50=(ENDBEFR=C'|',FIXLEN=02),
%51=(ENDBEFR=C'|',FIXLEN=02),
%52=(ENDBEFR=C'|',FIXLEN=01),
%53=(ENDBEFR=C'|',FIXLEN=02),
%54=(ENDBEFR=C'|',FIXLEN=02),
%55=(ENDBEFR=C'|',FIXLEN=02),
%56=(ENDBEFR=C'|',FIXLEN=02),
%57=(ENDBEFR=C'|',FIXLEN=60),
%58=(ENDBEFR=C'|',FIXLEN=20),
%59=(ENDBEFR=C'|',FIXLEN=20),
%60=(ENDBEFR=C'|',FIXLEN=60),
%61=(ENDBEFR=C'|',FIXLEN=20),
%62=(ENDBEFR=C'|',FIXLEN=20),
%63=(ENDBEFR=C'|',FIXLEN=60),
%64=(ENDBEFR=C'|',FIXLEN=20),
%65=(ENDBEFR=C'|',FIXLEN=20),
%66=(ENDBEFR=C'|',FIXLEN=60),
%67=(ENDBEFR=C'|',FIXLEN=20),
%68=(ENDBEFR=C'|',FIXLEN=20),
%69=(ENDBEFR=C'|',FIXLEN=60),
%70=(ENDBEFR=C'|',FIXLEN=20),
%71=(ENDBEFR=C'|',FIXLEN=20),
%72=(ENDBEFR=C'|',FIXLEN=60),
%73=(ENDBEFR=C'|',FIXLEN=20),
%74=(ENDBEFR=C'|',FIXLEN=20),
%75=(ENDBEFR=C'|',FIXLEN=60),
%76=(ENDBEFR=C'|',FIXLEN=20),
%77=(ENDBEFR=C'|',FIXLEN=20),
%78=(ENDBEFR=C'|',FIXLEN=60),
%79=(ENDBEFR=C'|',FIXLEN=20),
%80=(ENDBEFR=C'|',FIXLEN=20),
%81=(ENDBEFR=C'|',FIXLEN=60),
%82=(ENDBEFR=C'|',FIXLEN=20),
%83=(ENDBEFR=C'|',FIXLEN=20),
%84=(ENDBEFR=C'|',FIXLEN=60),
%85=(ENDBEFR=C'|',FIXLEN=20),
%86=(ENDBEFR=C'|',FIXLEN=20),
%87=(ENDBEFR=C'|',FIXLEN=16),
%88=(ENDBEFR=C'|',FIXLEN=16),
%89=(ENDBEFR=C'|',FIXLEN=75),
%90=(ENDBEFR=C'|',FIXLEN=01),
%91=(ENDBEFR=C'|',FIXLEN=30),
%92=(ENDBEFR=C'|',FIXLEN=30),
%93=(ENDBEFR=C'|',FIXLEN=30),
%94=(ENDBEFR=C'|',FIXLEN=13),
%95=(ENDBEFR=C'|',FIXLEN=13),
%96=(ENDBEFR=C'|',FIXLEN=13)),
BUILD=(1,4,%01,C'|',%02,C'|',%03,C'|',%04,C'|',%05,C'|',%06,C'|',
%07,C'|',%08,C'|',%09,C'|',%10,C'|',%11,C'|',%12,C'|',
%13,C'|',%14,C'|',%15,C'|',%16,C'|',%17,C'|',%18,C'|',
%19,C'|',%20,C'|',%21,C'|',%22,C'|',%23,C'|',%24,C'|',
%25,C'|',%26,C'|',%27,C'|',%28,C'|',%29,C'|',%30,C'|',
%31,C'|',%32,C'|',%33,C'|',%34,C'|',%35,C'|',%36,C'|',
%37,C'|',%38,C'|',%39,C'|',%40,C'|',%41,C'|',%42,C'|',
%43,C'|',%44,C'|',%45,C'|',%46,C'|',%47,C'|',%48,C'|',
%49,C'|',%50,C'|',%51,C'|',%52,C'|',%53,C'|',%54,C'|',
%55,C'|',%56,C'|',%57,C'|',%58,C'|',%59,C'|',%60,C'|',
%61,C'|',%62,C'|',%63,C'|',%64,C'|',%65,C'|',%66,C'|',
%67,C'|',%68,C'|',%69,C'|',%70,C'|',%71,C'|',%72,C'|',
%73,C'|',%74,C'|',%75,C'|',%76,C'|',%77,C'|',%78,C'|',
%79,C'|',%80,C'|',%81,C'|',%82,C'|',%83,C'|',%84,C'|',
%85,C'|',%86,C'|',%87,C'|',%88,C'|',%89,C'|',%90,C'|',
%91,C'|',%92,C'|',%93,C'|',%94,C'|',%95,C'|',%96)
OUTFIL FTOV,
BUILD=(1,6,SQZ=(SHIFT=LEFT)),VLTRIM=C' '
OPTION COPY
ALTSEQ CODE=(40F0)
Input:
HR|20190613|GD|1|1|
LG|LG||065065042|20190613|20190613|.....
LG|LG||065065042|20190613|20190613|.....
TR|2|20190613|0|202|0|2|
Output With Parse:
HR |201906|GD |1 |1 | |
LG |LG | |065065042 |20190613|20190613|
LG |LG | |065065042 |20190613|20190613|
TR |2 |20190613 |0 |202 |0 |
Sort CCard:
INREC PARSE=(%01=(ENDBEFR=C'|',FIXLEN=06),
%02=(ENDBEFR=C'|',FIXLEN=06),
%03=(ENDBEFR=C'|',FIXLEN=10),
%04=(ENDBEFR=C'|',FIXLEN=34),
%05=(ENDBEFR=C'|',FIXLEN=08),
%06=(ENDBEFR=C'|',FIXLEN=08),
%07=(ENDBEFR=C'|',FIXLEN=06),
%08=(ENDBEFR=C'|',FIXLEN=04),
%09=(ENDBEFR=C'|',FIXLEN=19),
%10=(ENDBEFR=C'|',FIXLEN=19),
%11=(ENDBEFR=C'|',FIXLEN=30),
%12=(ENDBEFR=C'|',FIXLEN=10),
%13=(ENDBEFR=C'|',FIXLEN=10),
%14=(ENDBEFR=C'|',FIXLEN=10),
%15=(ENDBEFR=C'|',FIXLEN=03),
%16=(ENDBEFR=C'|',FIXLEN=01),
%17=(ENDBEFR=C'|',FIXLEN=19),
%18=(ENDBEFR=C'|',FIXLEN=19),
%19=(ENDBEFR=C'|',FIXLEN=03),
%20=(ENDBEFR=C'|',FIXLEN=15),
%21=(ENDBEFR=C'|',FIXLEN=01),
%22=(ENDBEFR=C'|',FIXLEN=34),
%23=(ENDBEFR=C'|',FIXLEN=50),
%24=(ENDBEFR=C'|',FIXLEN=70),
%25=(ENDBEFR=C'|',FIXLEN=01),
%26=(ENDBEFR=C'|',FIXLEN=210),
%27=(ENDBEFR=C'|',FIXLEN=01),
%28=(ENDBEFR=C'|',FIXLEN=210),
%29=(ENDBEFR=C'|',FIXLEN=01),
%30=(ENDBEFR=C'|',FIXLEN=210),
%31=(ENDBEFR=C'|',FIXLEN=01),
%32=(ENDBEFR=C'|',FIXLEN=210),
%33=(ENDBEFR=C'|',FIXLEN=01),
%34=(ENDBEFR=C'|',FIXLEN=210),
%35=(ENDBEFR=C'|',FIXLEN=01),
%36=(ENDBEFR=C'|',FIXLEN=210),
%37=(ENDBEFR=C'|',FIXLEN=01),
%38=(ENDBEFR=C'|',FIXLEN=210),
%39=(ENDBEFR=C'|',FIXLEN=01),
%40=(ENDBEFR=C'|',FIXLEN=210),
%41=(ENDBEFR=C'|',FIXLEN=01),
%42=(ENDBEFR=C'|',FIXLEN=210),
%43=(ENDBEFR=C'|',FIXLEN=05),
%44=(ENDBEFR=C'|',FIXLEN=01),
%45=(ENDBEFR=C'|',FIXLEN=1000),
%46=(ENDBEFR=C'|',FIXLEN=02),
%47=(ENDBEFR=C'|',FIXLEN=02),
%48=(ENDBEFR=C'|',FIXLEN=02),
%49=(ENDBEFR=C'|',FIXLEN=02),
%50=(ENDBEFR=C'|',FIXLEN=02),
%51=(ENDBEFR=C'|',FIXLEN=02),
%52=(ENDBEFR=C'|',FIXLEN=01),
%53=(ENDBEFR=C'|',FIXLEN=02),
%54=(ENDBEFR=C'|',FIXLEN=02),
%55=(ENDBEFR=C'|',FIXLEN=02),
%56=(ENDBEFR=C'|',FIXLEN=02),
%57=(ENDBEFR=C'|',FIXLEN=60),
%58=(ENDBEFR=C'|',FIXLEN=20),
%59=(ENDBEFR=C'|',FIXLEN=20),
%60=(ENDBEFR=C'|',FIXLEN=60),
%61=(ENDBEFR=C'|',FIXLEN=20),
%62=(ENDBEFR=C'|',FIXLEN=20),
%63=(ENDBEFR=C'|',FIXLEN=60),
%64=(ENDBEFR=C'|',FIXLEN=20),
%65=(ENDBEFR=C'|',FIXLEN=20),
%66=(ENDBEFR=C'|',FIXLEN=60),
%67=(ENDBEFR=C'|',FIXLEN=20),
%68=(ENDBEFR=C'|',FIXLEN=20),
%69=(ENDBEFR=C'|',FIXLEN=60),
%70=(ENDBEFR=C'|',FIXLEN=20),
%71=(ENDBEFR=C'|',FIXLEN=20),
%72=(ENDBEFR=C'|',FIXLEN=60),
%73=(ENDBEFR=C'|',FIXLEN=20),
%74=(ENDBEFR=C'|',FIXLEN=20),
%75=(ENDBEFR=C'|',FIXLEN=60),
%76=(ENDBEFR=C'|',FIXLEN=20),
%77=(ENDBEFR=C'|',FIXLEN=20),
%78=(ENDBEFR=C'|',FIXLEN=60),
%79=(ENDBEFR=C'|',FIXLEN=20),
%80=(ENDBEFR=C'|',FIXLEN=20),
%81=(ENDBEFR=C'|',FIXLEN=60),
%82=(ENDBEFR=C'|',FIXLEN=20),
%83=(ENDBEFR=C'|',FIXLEN=20),
%84=(ENDBEFR=C'|',FIXLEN=60),
%85=(ENDBEFR=C'|',FIXLEN=20),
%86=(ENDBEFR=C'|',FIXLEN=20),
%87=(ENDBEFR=C'|',FIXLEN=16),
%88=(ENDBEFR=C'|',FIXLEN=16),
%89=(ENDBEFR=C'|',FIXLEN=75),
%90=(ENDBEFR=C'|',FIXLEN=01),
%91=(ENDBEFR=C'|',FIXLEN=30),
%92=(ENDBEFR=C'|',FIXLEN=30),
%93=(ENDBEFR=C'|',FIXLEN=30),
%94=(ENDBEFR=C'|',FIXLEN=13),
%95=(ENDBEFR=C'|',FIXLEN=13),
%96=(ENDBEFR=C'|',FIXLEN=13)),
BUILD=(1,4,%01,C'|',%02,C'|',%03,C'|',%04,C'|',%05,C'|',%06,C'|',
%07,C'|',%08,C'|',%09,C'|',%10,C'|',%11,C'|',%12,C'|',
%13,C'|',%14,C'|',%15,C'|',%16,C'|',%17,C'|',%18,C'|',
%19,C'|',%20,C'|',%21,C'|',%22,C'|',%23,C'|',%24,C'|',
%25,C'|',%26,C'|',%27,C'|',%28,C'|',%29,C'|',%30,C'|',
%31,C'|',%32,C'|',%33,C'|',%34,C'|',%35,C'|',%36,C'|',
%37,C'|',%38,C'|',%39,C'|',%40,C'|',%41,C'|',%42,C'|',
%43,C'|',%44,C'|',%45,C'|',%46,C'|',%47,C'|',%48,C'|',
%49,C'|',%50,C'|',%51,C'|',%52,C'|',%53,C'|',%54,C'|',
%55,C'|',%56,C'|',%57,C'|',%58,C'|',%59,C'|',%60,C'|',
%61,C'|',%62,C'|',%63,C'|',%64,C'|',%65,C'|',%66,C'|',
%67,C'|',%68,C'|',%69,C'|',%70,C'|',%71,C'|',%72,C'|',
%73,C'|',%74,C'|',%75,C'|',%76,C'|',%77,C'|',%78,C'|',
%79,C'|',%80,C'|',%81,C'|',%82,C'|',%83,C'|',%84,C'|',
%85,C'|',%86,C'|',%87,C'|',%88,C'|',%89,C'|',%90,C'|',
%91,C'|',%92,C'|',%93,C'|',%94,C'|',%95,C'|',%96)
OUTFIL FTOV,
BUILD=(1,6,SQZ=(SHIFT=LEFT)),VLTRIM=C' '
OPTION COPY
ALTSEQ CODE=(40F0)
-
- Global moderator
- Posts: 3025
- Joined: Sun Jul 04, 2010 12:13 am
- Skillset: JCL, PL/1, Rexx, Utilities and to a lesser extent (i.e. I have programmed using them) COBOL,DB2,IMS
- Referer: Google
- Location: Pushing up the daisies (almost)
Re: Copying the VB file to VB file
What do you need to elaborate that is not in the manual? Why are you making your fields fixed length?
The problem I have is that people can explain things quickly but I can only comprehend slowly.
Regards
Nic
Regards
Nic
-
- Posts: 7
- Joined: Tue Sep 17, 2019 6:20 pm
- Skillset: Visionplues,mainframe
- Referer: social site
Re: Copying the VB file to VB file
Why are you making your fields fixed length?--> Is there any other option not to use FIXLEN parameter through PARSE
-
- Similar Topics
- Replies
- Views
- Last post
-
-
EZIOE004 Logical I/O error on file occurred reading VB file
by savitha_y » Mon Feb 15, 2021 7:54 pm » in CA-Easytrieve - 3
- 4976
-
by savitha_y
View the latest post
Wed Feb 17, 2021 5:02 am
-
-
-
File Handling 3 input files and 1 output file by using EZT
by pavan426 » Thu Sep 09, 2021 12:17 am » in CA-Easytrieve - 0
- 4440
-
by pavan426
View the latest post
Thu Sep 09, 2021 12:17 am
-
-
-
Need to check whether file is ESDS file or not by using REXX
by Devrana » Sat Oct 05, 2024 2:28 pm » in CLIST & REXX - 6
- 3314
-
by sergeyken
View the latest post
Tue Oct 08, 2024 5:25 pm
-
-
-
Copying All Data Off An Old Mainframe
by zunebuggy » Wed Sep 25, 2024 1:10 am » in Mainframe Security - 0
- 1621
-
by zunebuggy
View the latest post
Wed Sep 25, 2024 1:10 am
-
-
- 6
- 2534
-
by MFDEV
View the latest post
Fri Sep 11, 2020 9:04 am