($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
桁違いの2バイト文字への項目への代入 AS400 初心者 さん [ 6月15日(木) 8時53分 ]
RPG4(FREE-FORMAT)で少ない桁の2バイト文字項目から多い桁の2バイト文字
項目へ代入する際に
どのように処理を書かれていますでしょうか?

弊社ではこのように記載しておりますが、もっと良い方法があるのではと思い
投稿させていただきました。
宜しくお願い致します。

------------------------------
// DS定義
------------------------------
D TEST_DS   DS
          34  INZ('            ')※34桁分
   A_DS       2  19

// 変数定義
D MSG               20    INZ(' テストメッセージ
1 ')

------------------------------
// 処理部分
------------------------------
 RESET  TEST_DS;             // クリア
 A_DS = %SUBST(MSG:2:18);    // シフトインアウトを除いて抽出
 
 FIELD1 = TEST_DS;           // PFの項目へ代入
RE:桁違いの2バイト文字への項目への代入 IKD さん [ 6月20日(火) 13時58分 ]
ご質問の趣旨は「少ない桁から多い桁へのコピー」とは少し違うような気がします。
シフト文字を除去するコピーの方法のほうが正しい気がします。

                       MOVEL(P) MSG                TEST_DS
   または
        TEST_DS = MSG

    の後に

         FIELD1 = A_DS

  でご希望の結果が得られると思います。せっかくDSを定義しているのに
   %SUBST で演算するのは回りくどいように見えます。
 これでお試しください。

 INZ('            ')※34桁分 も不要です。
RE:桁違いの2バイト文字への項目への代入 AS400 初心者 さん [ 6月23日(金) 11時58分 ]
ご教示頂いた内容で処理を行いたいと思います。
INZも不要ということで了解致しました。
ありがとうございました。

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目