How do you transfer a binary file via Connect:Direct NDM?

15,059

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.

Share:
15,059
Carlos
Author by

Carlos

Updated on June 04, 2022

Comments

  • Carlos
    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?