How do you transfer a binary file via Connect:Direct NDM?
Off the cuff... Try changing RECFM=VB to RECFM=U and specify a BLKSIZE= instead of a LRECL=
This is really not all that different from how executable load modules are stored on the mainframe except you don't want the file to be a PDS dataset. I'm not at my office right now and I think I have some examples of NDM that transmit load modules that I can look-up if this suggestion doesn't work but I think it will.
Give this suggestion a shot and if it still doesn't fly let me know.
Carlos
Updated on June 04, 2022Comments
-
Carlos over 1 year
I'm trying to submit a binary file, in this case, an Excel file from my local server (Solaris server with Mainframe rehosting software) using Connect:Direct NDM to a destination server (Mainframe).
Here are the environment values I set:
SODETFL "DetailedReport.xls" SODDETNDM "FIN.REPORT(+1)" TDCOPTS ":DATATYPE=BINARY:XLATE=NO:STRIP.BLANKS=NO"
Here is the NDM configuration I use:
ASSGNDD ddname='SYSIN' type='INSTREAM' << ! SIGNON 00260005 SUBMIT PROC=COPYFILE - 00270005 JOBNAME=JOB00001 - 00280005 PNODE=SERVER001 - 00290005 SNODE=NDMIDS - 00300005 SNODEID=(xxxxxx,xxxxxx) - 00310005 HOLD=NO - 00320005 NOTIFY=CCACTD - 00330005 NODE=, - 00360005 DSN1=${SODDETFL} - 00370005 DSN2=${SODDETNDM} - DCBINFO='dcb=(dsorg=ps, recfm=vb, lrecl=1504)' - 00385005 DISP1=NEW, - 00390005 DISP2=CATLG,DELETE - 00400005 UNIT=BATCH - 00410005 SYSOPTS=${TDCOPTS} - 00440005 AEFAJOB=PSIAPNB5 SEL PROC WHERE (QUEUE=A) TABLE 00450005 SIGNOFF 00460005
I'm able to send text files via NDM all day long, no problems there. However, it seems that binary is a bit more difficult. When I try with the above configuration, I get the following error:
Completion Code => 8 Message Id => XCPS009I Short Text => Read buffer too small. Possibly src reclen > dest reclen. Ckpt=>Y Lkfl=>N Rstr=>N Xlat=>Y Scmp=>N Ecmp=>Y Ecpr=>0.00 CRC=>N Zlvl=>1 win=>13 Zmem=>4
Can anyone shed some light as to how I can go about submitting a binary file via NDM?