Как передать двоичный файл через Connect: Direct NDM? - PullRequest
2 голосов
/ 12 сентября 2011

Я пытаюсь отправить двоичный файл, в данном случае файл Excel с моего локального сервера (сервер Solaris с программным обеспечением перехвата мэйнфреймов), используя Connect: Direct NDM на целевой сервер (мэйнфрейм).

Вот значения среды, которые я установил:

SODETFL "DetailedReport.xls"
SODDETNDM "FIN.REPORT(+1)"
TDCOPTS ":DATATYPE=BINARY:XLATE=NO:STRIP.BLANKS=NO"

Вот конфигурация NDM, которую я использую:

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

Я могу отправлять текстовые файлы через NDM весь день, нетпроблемы там.Тем не менее, кажется, что двоичный файл немного сложнее.Когда я пытаюсь использовать описанную выше конфигурацию, я получаю следующую ошибку:

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

Может кто-нибудь пролить свет на то, как я могу отправить двоичный файл через NDM?

1 Ответ

4 голосов
/ 04 октября 2011

Off the cuff ... Попробуйте изменить RECFM = VB на RECFM = U и указать BLKSIZE = вместо LRECL =

Это на самом деле не сильно отличается от того, как исполняемые модули загрузки хранятся намэйнфрейм, за исключением того, что вы не хотите, чтобы файл был набором данных PDS.Меня сейчас нет в офисе, и я думаю, что у меня есть несколько примеров NDM, которые передают нагрузочные модули, которые я могу посмотреть, если это предложение не сработает, но я думаю, что оно будет работать.

Дайте это предложениевыстрел, и если он все еще не летит, дайте мне знать.

...