($title_img_alt)

こちらからの投稿は、先頭に表示されているコメントへの返信になります。
0E 0F 不整合を見つける方法 ぺーたー さん [ 10月9日(金) 8時37分 ]
データコンバートの失敗などで、漢字用フィールドに、0E OFのシフト文字の組み合わせが乱れ
てしまった項目があります。
多くは、0E 0F 0F になっているかと思われますが、この不整合状態を検地するには、フィー
ルドを1バイトづつ区切ってシフト文字がどうかを判断し、0E 0Fの組み合わせでない場合(そ
れぞれ1づつカウントして2で割り切れない)は、エラーとして判断する仕様しか考え付きませ
ん。
これを別の単純化された方法があれば(関数を使するなど用)ご教示ください。
RE:0E 0F 不整合を見つける方法 IKD さん [ 10月10日(土) 9時58分 ]
面白い課題だと思います。

ある別のサイト(米国誌の記事を写しただけのサイト)では
これと同じ質問があり、それに対する回答は「方法はない」というものでしたが、
やはり米国サイトを丸写ししているようではダメで
これはダブル・バイトを正しく理解していないし経験もあまりない米国人での発想です。

プログラムでシフト文字をLOOPしながら検査するよりも
シフト文字が正常に揃っていないと不都合になりエラーとなるAPI や
既存のプログラムやコマンドにやらせてみてはどうでしょう ?

例えば API : QDCXLATE に検査するフィールドを与えて実行してみると

  CPF2669: 2バイト文字セット・ソースが正しくない 

というエラーがたちまち出ることが実験によってわかりました。
IBM 提供のプログラムが検査してくれるのですから
これほど確かなことはありません。
ご自分でされるのであれば、シフト文字が正しく揃っていないと
エラーを起こすプログラムは何か? と探してみるのも面白いでしょう。

これをユーティリティのコマンドにでもまとめても有益かも知れません。

昔、S/36 の移行でパック形式が壊れているのをチェックするプログラムを
作りましたがシフト文字の検査プログラムも検討してみるのも
よいかと思います。

参考までに 35. 漢字の0E,0Fを補正するサブルーチン ( http://www.as400-net.com/tips
/rpg/35.html )
があります。
仕様を簡単にして、自作 ていす さん [ 10月10日(土) 22時2分 ]
APIは、用意されてない。

自分で、インターフェース ロジックを考えて ください。

仕様は、絞りこまないと、難しい。

インターフェイスの例 
  CALL 'SUBRXX'
   PARM          FLD1
   PARM          FLD2

お名前

パスワード

メールアドレス

タイトル

ホームページ

アドレス

項目