Estoy tratando de enviar un archivo binario, en este caso, un archivo de Excel desde mi servidor local (servidor Solaris con Mainframe de cambio de residencia software) mediante la conexión:Directa NDM a un servidor de destino (Mainframe).

Aquí están los valores del entorno puse:

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

Aquí es el NDM configuración que uso:

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

Soy capaz de enviar archivos de texto a través de NDM largo de todo el día, no hay problemas allí. Sin embargo, parece que el binario es un poco más difícil. Cuando trato con la configuración de arriba, me sale el siguiente 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

¿Alguien puede arrojar algo de luz sobre cómo se puede ir sobre la presentación de un archivo binario a través de NDM?

  • Según el mensaje, el problema puede ser que el archivo de excel tiene una muy larga longitud de registro, pero el conjunto de datos que están tratando de colocar en tiene una menor longitud de registro (es decir, 1504). Trate de aumentar la longitud de registro para algo realmente grande (por ejemplo, 32767), a continuación, inténtelo de nuevo.
  • Interesante. Mi archivo XLS es de alrededor de 3 MBs. Qué sería de un tamaño adecuado para usar en lugar de 32767 o es que la mejor opción?
  • Sólo lo intentó, mismo error.
  • Yo todavía sólo una suposición, pero 3M es mayor que el legal, el tamaño de bloque, puede que tenga que recurrir a se extendió registros. Usted puede tener que pre-asignar el archivo con IDCAMS desde que se extendió registros son conjuntos de datos VSAM.
InformationsquelleAutor Carlos | 2011-09-12

1 Comentario

  1. 4

    Sacado de la manga…
    Pruebe a cambiar RECFM=VB para RECFM=U y especificar un BLKSIZE= en lugar de un LRECL=

    Esto no es realmente muy diferente de cómo ejecutable de carga de los módulos se almacenan en la unidad central, excepto que usted no desea que el archivo es un conjunto de datos de PDS. No estoy en mi oficina ahora mismo y creo que tengo algunos ejemplos de NDM que transmiten la carga de módulos que puedo mirar si esta sugerencia no funciona, pero creo que va.

    Dar esta sugerencia de un tiro y si aún no vuela hágamelo saber.

    • Lo BLKSIZE debo especificar en un archivo que es alrededor de 3 MBs grande?
    • El óptimo BLKSIZE depende del dispositivo que está utilizando.
    • Voy a aceptar esto como la respuesta, aunque, esta tarea particular en mi proyecto no ha sido abordado. Gracias por el aporte!

Dejar respuesta

Please enter your comment!
Please enter your name here