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

FTP VB File from Mainframe retaining RDW & BDW


IBM Mainframe Forums -> JCL & VSAM
Post new topic   Reply to topic
View previous topic :: View next topic  
Author Message
pinakimishra

New User


Joined: 21 Jul 2007
Posts: 19
Location: phoenix

PostPosted: Thu Apr 18, 2024 5:27 pm
Reply with quote

I want to FTP VB File from MF to Unix in Binary form reataining the RDW & BDW. How can I send them? It seems the BDW & RDW are dropping off.

I have tried the below options but it's not working.

locsite rdw
RDW TRUE
RECFM=VB

What else I can try?

Also how can I see the BDW & RDW value in Mainframe using DFSORT?
Back to top
View user's profile Send private message
Joerg.Findeisen

Senior Member


Joined: 15 Aug 2015
Posts: 1257
Location: Bamberg, Germany

PostPosted: Thu Apr 18, 2024 6:20 pm
Reply with quote

In DFSORT use the first four bytes, it's easy to code.

See the following link: https://www.ibmmainframeforum.com/all-other-mainframe-topics/topic6518.html
Back to top
View user's profile Send private message
pinakimishra

New User


Joined: 21 Jul 2007
Posts: 19
Location: phoenix

PostPosted: Sat Apr 20, 2024 12:40 am
Reply with quote

Thanks I have gone through the link before and it suggest BINARY and LOCSITE RDW. I have tried these options before but its not working
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2024
Location: USA

PostPosted: Sat Apr 20, 2024 1:29 am
Reply with quote

I believe BDW is completely irrelative to further Unix processing. It shows how the V-records are blocked on specific mainframe devices. It makes sense to transmit only records with their RDW.

Since real RDW is not transmitted by standard FTP and other standard tool, you can use some trick, by moving original RDW as part of data of a new V-record. Such as by use of SORT utility:
Code:
 SORT FIELDS=COPY
 OUTREC BUILD=(1,4,          new RDW of modified record
               1,4,          original RDW used as part of data
               5)            full data field of the original record
 END


P.S.
You may need to play with LRECL/BLKSIZE parameters in SORTIN/SORTOUT DD statements
Back to top
View user's profile Send private message
pinakimishra

New User


Joined: 21 Jul 2007
Posts: 19
Location: phoenix

PostPosted: Sat Apr 20, 2024 3:10 am
Reply with quote

Thanks. My transmission team confirmed that LOcSITE is not supported by our SFTP method. But your solution makes sense. Will try it out.
Back to top
View user's profile Send private message
pinakimishra

New User


Joined: 21 Jul 2007
Posts: 19
Location: phoenix

PostPosted: Sat Apr 20, 2024 7:46 pm
Reply with quote

How to adjust the RDW? Tried to run below

Code:
//SYSIN    DD  *
 SORT FIELDS=COPY
 OUTREC BUILD=(1,4,          NEW RDW OF MODIFIED RECORD
               1,4,1996)     ORIGINAL RDW USED AS PART OF DATA


But it throws below error

Code:
ST=BELOW,SA=48376,NF=1,LF=48376,SF=48376
427 BYTE VARIABLE RECORD IS SHORTER THAN 1995 BYTE MINIMUM FOR
EF-I80638 F0-NONE   E8-I76950
ZSORT ACCELERATOR PATH NOT USED    RSN=195
END OF DFSORT


Any suggestions how to play with it?
Back to top
View user's profile Send private message
Joerg.Findeisen

Senior Member


Joined: 15 Aug 2015
Posts: 1257
Location: Bamberg, Germany

PostPosted: Sat Apr 20, 2024 8:21 pm
Reply with quote

Add
Code:
OPTION VLSCMP and/or VLSHRT


..and do not cut message IDs when reporting issues. Nothing is ever thrown in z/OS.
Back to top
View user's profile Send private message
pinakimishra

New User


Joined: 21 Jul 2007
Posts: 19
Location: phoenix

PostPosted: Sat Apr 20, 2024 11:38 pm
Reply with quote

Tried

Code:
//SORTOUT  DD  DSN=ABCD.EFG,
//             DISP=(NEW,CATLG,DELETE),
//             SPACE=(CYL,(6,1),RLSE),
//             VOL=SER=PROD01,UNIT=SYSDA
//SYSIN    DD  *
 SORT FIELDS=COPY
 OPTION VLSCMP,VLSHRT
 OUTREC BUILD=(1,4,          NEW RDW OF MODIFIED RECORD
               1,4,1996)     ORIGINAL RDW USED AS PART OF DATA


Error

Code:
ICE907I 1 ST=BELOW,SA=48376,NF=1,LF=48376,SF=48376
ICE218A 6 427 BYTE VARIABLE RECORD IS SHORTER THAN 1995 BYTE MINIMUM FOR
ICE751I 1 EF-I80638 F0-NONE   E8-I76950
ICE267I 0 ZSORT ACCELERATOR PATH NOT USED    RSN=195
ICE052I 0 END OF DFSORT
Back to top
View user's profile Send private message
sergeyken

Senior Member


Joined: 29 Apr 2008
Posts: 2024
Location: USA

PostPosted: Sun Apr 21, 2024 8:04 pm
Reply with quote

pinakimishra wrote:
Tried

Code:
//SORTOUT  DD  DSN=ABCD.EFG,
//             DISP=(NEW,CATLG,DELETE),
//             SPACE=(CYL,(6,1),RLSE),
//             VOL=SER=PROD01,UNIT=SYSDA
//SYSIN    DD  *
 SORT FIELDS=COPY
 OPTION VLSCMP,VLSHRT
 OUTREC BUILD=(1,4,          NEW RDW OF MODIFIED RECORD
               1,4,1996)     ORIGINAL RDW USED AS PART OF DATA


Error

Code:
ICE907I 1 ST=BELOW,SA=48376,NF=1,LF=48376,SF=48376
ICE218A 6 427 BYTE VARIABLE RECORD IS SHORTER THAN 1995 BYTE MINIMUM FOR
ICE751I 1 EF-I80638 F0-NONE   E8-I76950
ICE267I 0 ZSORT ACCELERATOR PATH NOT USED    RSN=195
ICE052I 0 END OF DFSORT

Take a look at your “secret value” 1996?
It must be value 5 - the start position of data in V-record, as in my example.
You have changed it to a senseless value, and now ask me to fix it?

New RDW will be calculated by SORT itself, don’t worry of it.

Highly likely, you’ll need to increase LRECL by 4 bytes in your //SORTOUT DD.
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 -> JCL & VSAM

 


Similar Topics
Topic Forum Replies
No new posts Compare 2 files and retrive records f... DFSORT/ICETOOL 3
No new posts Extract the file name from another fi... DFSORT/ICETOOL 6
No new posts How to split large record length file... DFSORT/ICETOOL 10
No new posts Extracting Variable decimal numbers f... DFSORT/ICETOOL 17
No new posts Mainframe openings in Techmahnidra fo... Mainframe Jobs 0
Search our Forums:

Back to Top