Google
オフコン練習帳内を検索
インターネット全体を検索

NECオフコン関連
オフコン一般
情報

[掲示板に戻る]


日本語内部コード bluelion 2004-11-16 22:00
Re:日本語内部コード LBM 2004-11-17 13:23
Re:日本語内部コード LBM 2004-11-17 13:28
すばらしい ありがとうございました bluelion 2004-11-17 16:49
JIPSからJISへの変換 LBM 2004-11-18 9:49
もう少し教えていただけませんか? BLUELION 2004-11-18 21:33
Re:日本語内部コード LBM 2004-11-19 10:13
Re:日本語内部コード bluelion 2004-11-19 14:14
Re:日本語内部コード LBM 2004-11-19 15:10
ありがとうございます BLUELION 2004-11-20 10:39
外字エリアうまくいかず BLUELION 2004-11-23 11:21
Re:外字エリアうまくいかず ターラヤン 2004-11-24 1:26
Re:外字エリアうまくいかず BLUELION 2004-11-25 0:33
Re:外字エリアうまくいかず MAKI 2004-11-25 22:10
Re:外字エリアうまくいかず bluelion 2004-11-26 16:25

1 日本語内部コード
bluelion 2004-11-16 22:00  [返信] [編集]

COBOL上で内部コード(S100?)からJIPS(JIS78)に変換したくてシステムサブルーチン SYSKOCNVだったかを使用して変換したいのですがいまいち うまくいきません

アギュメントの設定をわかる方おしえてください

01 DATA1 X(02) VALUE "漢"
01 DATA2 X(10)
01 DATA3.
03 DATA31 X(02)
03 DATA32 9(04) VALUE 1.
03 DATA33 9(04) VALUE 10.
03 DATA34 9(04).
03 FILLER X(12)??

CALL "SYSKOCNV" USING DATA1 DATA2 DATA3

でコールすると
ステータス DATA31は"00"で正常なのですが
DATA2には必ず同じ値がかえってくるのです
DATA1にはかならずきちんとした漢字がはいっているのですが
なぜかわかりません

会話型デバッガーでcall前 call後にチェックしてもわからず
ギブアップです

おたすけおーー!

また S100内部コードからJipsコードをサブルーチンを使わずに生成するこはできないのでしょうか?
2 Re:日本語内部コード
LBM 2004-11-17 13:23  [返信] [編集]

 bluelionさん、はじめまして。
 ターラヤンさん、はじめまして。お邪魔します。

 まず、DATA32はバイト数となりますので2となります。
 変換結果の先頭にはKI(3F75)が、最後にはKO(3F76)が入ります。
 ご質問のように”漢”を変換すると、16進で"3F75F4C13F76"が帰るはずです。


 コーディング例を書きますと、

01 DATA1 PIC X(02) VALUE "漢".
01 DATA2 PIC X(10).
01 DATA3.
  03 DATA31 PIC X(02).
  03 DATA32 PIC 9(04) VALUE 2.
  03 DATA33 PIC 9(04) VALUE 10.
  03 DATA34 PIC 9(04).
  03 FILLER PIC X(16) VALUE SPACE.

CALL "SYSKOCNV" USING DATA1 DATA2 DATA3.


 となります。

 最後のFILLERはX(16)です。

 試してみてください。

 ターラヤンさんへ。

  いつも読ませてもらっています。
  小生も20年以上ITOS/AVXをやっている者です。
  また機会がありましたらお邪魔いたします。
  では、ご活躍を期待しています。
3 Re:日本語内部コード
LBM 2004-11-17 13:28  [返信] [編集]

 申し訳ありません。
 投稿時に変換を間違えました。

 誤 帰る
 正 返る
4 すばらしい ありがとうございました
bluelion 2004-11-17 16:49  [返信] [編集]

JIPSに変換できましたありがとうございました


しかし あらたな問題が
 JIPSからJISへの変換ができません
 #KFCNVではなく COBOLで変換できる方法ありませんか?

二つのデータを比べ 違っていたら 訂正用にその漢字のJISコード(入力用コードならほかでもいいのですが)を印刷するプログラムを作成していますが上記問題で進んでいません

JIPSって 本来どんな 拡張コードか知らないで仕事してるも だめプログラマでした
5 JIPSからJISへの変換
LBM 2004-11-18 9:49  [返信] [編集]

 JIPSコードは特殊な記号を除いて、ほぼJISコードと同じです。

 SYSKOCNVで変換されたコードをEBCDICからJIS7へ変換すればJISコードになります。



 ただ、処理の内容をお聞きした限りでは、内部コード→JISコードといった変換するサブルーチンを作成したほうが良いと思います。

 小生の以前に作成したことがありますが200ステップもあれば出来ますよ。



 では、がんばってください。
6 もう少し教えていただけませんか?
BLUELION 2004-11-18 21:33  [返信] [編集]

JISとebcdicの変換はシステムサブルーチンにある通信系のサブルーチンで行えるのでしょうか?

すでにそんなコボルに7年ぶりにもどったもので
まだコード体系がぴんときません


よろしくお願いします
7 Re:日本語内部コード
LBM 2004-11-19 10:13  [返信] [編集]

 bluelionさん、苦労されているようですね。


 古いことでよく覚えていないのですが、通信系のサブルーチンではパリティの問題で奇数・偶数を1バイト毎に判断して処理しないと出来ないと思います。
 (やってやれないことはない)


 そんなことをするならば前回言いましたように、内部コード→JISコードのサブルーチンを作成されたほうが良いと思います。
 簡単ですよ。


 お話では、JISコードもリスト上に印字されるとのことですので、そのあたりも含めて作られると良いと思います。


 では、がんばってください。
8 Re:日本語内部コード
bluelion 2004-11-19 14:14  [返信] [編集]

実は内部コードのJISコードの関係がわかりません

どうシフトなどすれば内部コードからJISコードにできるのでしょうか?

コボル的な問題ではなくコードの変換方法がわからないのです

NECにもJIPSからJISや内部コードからJISへの変換方法を紹介していますが返答がこないもでのこちらのBBSに書き込みしております
9 Re:日本語内部コード
LBM 2004-11-19 15:10  [返信] [編集]

 では、コード表を用意してください。

 AVXのマニュアルだと「メッセージ管理3説明書」があればベストです。

 そこに「EBCDICからJIS7への変換表」(A表とします)と「S100漢字からJIS漢字への変換表」(B表とします)があると思います。

 まず、漢字フィールドは2バイトで1文字ですね。その最初のバイトをB表で変換してください。

 次に2バイト目をA表で変換してください。

 これでJISコードになります。



 例えば、「漢字」。これは内部コードで”78C1B0B0”です。

 ”78”→”34” (B表)

 ”C1”→”41” (A表)

 ”B0”→”3B” (B表)

 ”B0”→”7A” (A表)で

 JISコード”34413B7A”となります。



 ビットをシフトしたりすることでは実現できません。

 バイト単位にテーブルなどを使い変換するしかありません。



 マニュアルがお手元に無いようでしたらお取引されているメーカーや販売店に、このコード表の部分だけでもコピーしてもらってください。

10 ありがとうございます
BLUELION 2004-11-20 10:39  [返信] [編集]

その情報がわからず悩んでおりました

これからサブルーチン作ります
11 外字エリアうまくいかず
BLUELION 2004-11-23 11:21  [返信] [編集]

無事うまくいったと思ったのですが

外字エリアがうまくいきませんでした

別の変換表でもあるのでしょうか?



12 Re:外字エリアうまくいかず
ターラヤン 2004-11-24 1:26  [返信] [編集]

BLUELIONさん、いろいろと苦労されているようです。



外字ですが、これは使用者が自分で設定する領域なので

簡単に変換できません。

変換できるのは内字の領域だけです。

ユーザが自分で追加した文字は、何の文字を登録したのかを知っているのは、そのユーザ自身です。

外字は自分で変換する必要があります。





> 無事うまくいったと思ったのですが

> 外字エリアがうまくいきませんでした

> 別の変換表でもあるのでしょうか?

>

>
13 Re:外字エリアうまくいかず
BLUELION 2004-11-25 0:33  [返信] [編集]

確かにパターンまではうまくいかないとは思うのですが

入力の補助する意味で内部コードから外字のコードのJISコード相当のコードを印字したいのです。



コードだけでも単純にできないでしょうかね?



結局 内字とG0外字 G1外字をそれぞれ全部打って

#KFCNVでJISコードを生成してそれをRDBに登録して

HEXイメージX(04)を生成してそれでアクセスしています



そのままN(1)をキーをすると内部コードで頭がFFの文字がなぜかうまくいきませんでした



しかし内部コードからJISコードを生成する標準ルーチンがないのはなぜでしょうね? JIPS生成してもいまいち用途がわかりません ACOSのからみかもしれませんけど 私には不明です
14 Re:外字エリアうまくいかず
MAKI 2004-11-25 22:10  [返信] [編集]

> そのままN(1)をキーをすると内部コードで頭がFFの文字がなぜかうまくいきませんでした

内部コードFFはレコードの論理削除のしるしになっています。

なので、レコードの1バイト目にFFがあると

削除データとみなして読まれません。

このあたりの問題でしょうか?
15 Re:外字エリアうまくいかず
bluelion 2004-11-26 16:25  [返信] [編集]

> 削除データとみなして読まれません。

> このあたりの問題でしょうか?



私もそう思っていました

 ただRDBファイルなどいままであまり使っていないので確証がもてずあきらめてキャラクターで読みました



BluesBB ©Sting_Band