2011-10-28 17 views
0

UNIXからMAINFRAMEサーバーにconnect direct経由でファイルを送信しています。ファイルを正常にアップロードすることができます。宛先ホストでは、ファイルが受信されると、UNIXサーバーから送信されたものと同じ形式ではなく、読み取り可能ではありません。UNIXからMAINFRAMEに直接接続してファイルを送信する

以下

ことは私がDCB値を教えてください送信ジョブ

Direct> Enter a ';' at the end of a command to submit it. Type 'quit;' to exit CLI. 

     submit maxdelay=unlimited TINIRS process snode=b1ap005 
         TRANSMIT copy from (file=myFile.txt 
               pnode 
               sysopts=":datatype=text" 
              ) 
              ckpt=1k 
             to (file=myFile.txt(+1) 
               snode 
               DCB=(DSORG=PS,RECFM=VB,LRECL=1500) 
               disp=(new) 
              ) 
     pend ; 

で更新する必要があります。私が送るファイルには可変長のレコードが3つあり、レコードの最大長は1500です。

+0

私はこれがプログラミングの質問であるかどうかはわかりません。 Serverfaultが必要な場合があります。あなたは自分の質問に「旗を掲げる」ことができます。 – derobert

+0

ASCII/EBCDIC文字変換について何かする必要がありますか? – NealB

答えて

1

実際、それはほぼ正しいと思われます。しかし、最大レコード長が1500文字(行末のNLを除く)であれば、LRECLは少なくとも1504でなければなりません。しかし、最大限に注意しないでください。 32767)。そして、NealBは正しくあります - これがテキストファイルの場合は、文字セット変換を指定する必要がありますが、CONNECT:Directでそれを行う方法はわかりません。

+0

UNIX側では、 'dd'はASCIIを扱います:EBCDIC - あなたはかなり簡単にファイルを再フォーマットしてから送信することができます。 – BRFennPocock

+1

ああ、それだけが簡単なのであれば:-)多くのEBCDICコードページがあり、実際にあなたが話しているものを知る必要があります。私は数年前にこの問題に関して多くの髪を失った:-) –

0

C:Dは、DATATYPE = TEXTを使用すると自動的にasciiをEBCDICに変換します。肯定的であるためには、 ":datatype = text:xlate = yes:"を使いたいかもしれません。

関連する問題