($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
取引先へ送信する「延べ単レコードのデータファイル」の作成方法について シャリース さん [ 10月27日(火) 18時37分 ]
取引先のシステムとデータ交換をおこなうのですが、
CSV形式やTAB区切りのASCIIテキストの受渡しで有れば良かったのですが、
1レコードに各項目の開始位置が決まっていて、
それぞれ開始位置に合わせてセットしてASCIIテキストに
ダウンロードしての受渡すという面倒なプログラムを組みました。

データが全て半角文字で数字は小数点以下が発生しない、マイナスも発生しないという条件が有れば
プログラム内部でデータ構造を定義してそれぞれセットして書き出せば良いのですが
漢字を含む場合はシフトコードの数だけデータが前詰となるため半角スペースを挿入したりとか、
小数点以下を持つ数字は「0000123.45」のように小数点を表示してセットしなければならず苦労しました。
簡単に対応する方法は無いでしょうか?

ちなみに弊社では、完璧ではありませんが次のように対応しました。
?漢字のシフトコードの問題では、
 * 名称(漢字)                                            
C                   Z-ADD     1980          I                          
C     I             ADD       J             I                          
C                   MOVEA     F5H022        @REC(I)                    
C     X'0E'         SCAN      F5H022                                 80
C     *IN80         IFEQ      *ON                                      
C                   ADD       2             J                          
C                   ENDIF                                              
 * 名称カナ                                                        
C                   Z-ADD     2141          I                          
C     I             ADD       J             I                          
C                   MOVEA     F5H023        @REC(I)


?小数点以下のセットについては
 * 数量
C                   Z-ADD     644           I                        
C     I             ADD       J             I                        
C                   MOVEL     *BLANK        W@D010            8      
C                   EVAL      W@D010     =  %EDITW(F5D010:'0     . ')
C                   MOVEA     W@D010        @REC(I)       
※本当は開始位置645桁目で表示桁数は7文字なのですが%EDITWだとどうしても先頭文字の
ゼロが表示されないため、1桁多く定義してセット位置の座標も1つ前にしています。
今回はマイナスはないので考慮していません。

??共にもっとスマートにできる方法は無いでしょうか。
長文になってしまいまして申し訳ございません。
RE:取引先へ送信する「延べ単レコードのデータファイル」の作成方法について ASD さん [ 10月27日(火) 22時53分 ]
沢山の要望がありますが、それぞれ、別な事象です。

それぞれを 別なプログラムに分担させる。




RE:取引先へ送信する「延べ単レコードのデータファイル」の作成方法について シャリース さん [ 10月28日(水) 20時45分 ]
漢字のシフトコード挿入とか、
小数点の編集など、
それぞれ事象に合わせて機能毎にサブプロ化して
組み込みなさい。

と解釈致しました。
コツコツ事象に合わせて自作していくしかないですかね。
回答ありがとうございました。
セオリーに従う ASD さん [ 10月28日(水) 22時59分 ]
セオリーに従って、下から組み立てます。

1. コード変換と送信にFTPを使うのが、楽です。
   PC側に FTPサーバーを立てる

2. PTPは OE OF を無視するので、直前に桁合わせのバッチプログラムを挿入する。
   定番のプログラムです。内部記述で組みます。
  
3. RPGで 出力イメージを作る。OE OF の問題は ここでは考えない。

 
 

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目