[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]


8 日本語DECnet/SNAリモート・ジョブ・エントリ(RJE)

日本語 OpenVMS V7.2では,新しく日本語 DECnet/SNAリモート・ジョブ・エントリ/OpenVMS (RJE) の機能が追加されています。この章では,これらの新機能について説明します。

8.1 機能概要

日本語 DECnet/SNAリモート・ジョブ・エントリ/OpenVMS (以下日本語RJE) は,JSNACODEユーティリティおよび JSNAKNJDEF ユーティリティから構成されるソフトウェア製品です。

Digital SNA Remote Job Entry for OpenVMSと組み合わせて使用することにより, DECnet SNA Gateway-ST, DECnet SNA Gateway-CTを通して,ハイレベルな伝送制御方式で接続された IBM システムと OpenVMS システムとの間で, 漢字コードを含むファイルの送受信を行うことができます。

JSNACODE ユーティリティを使用し,IBM-DEC のファイル単位でのコード変換を行うことができます。 JSNAKNJDEF ユーティリティを使用して,外字の登録を行うことができます。

8.1.1 関連資料

Digital SNA Remote Job Entry for OpenVMS については,次のマニュアルを参考にしてください。 漢字コードについては,次のマニュアルを参考にしてください。 必要に応じて,次のIBM社のマニュアルも参照してください。

8.1.2 漢字コードの対応規則

IBM漢字コードとDEC漢字コードを相互に変換するための2バイト・コード体系の対応を 図 8-1に示します。

図 8-1が示すように,IBM漢字空間のJIS漢字コードについてはDEC 漢字セットの対応する各文字に対応付けられ,IBM付加文字(338 文字)およびIBMユーザ定義文字(4,370文字)については,日本語RJE利用者の選択によりDEC 拡張漢字セットのユーザ定義領域に対応付けます。その際,次のような対応規則を設定します。

IBM漢字セット 対応規則
JIS制定文字 DEC漢字セットと一対一対応
IBM付加文字 DEC拡張漢字セットの連続6 区間と対応
IBMユーザ定義文 DEC拡張漢字セットの連続2区間
字の1区間

図 8-1 IBM-DEC漢字コード対応図 : (クリックで表示)

8.1.3 EBCDIC/ASCII変換テーブル

EBCDIC/ASCIIの1バイト・コード変換テーブルについては,日本語RJEが提供する変換テーブルであるSYS$LIBRARY:JSNARJETRA.TBL が省略値として使用されます。 これ以外のテーブルを使用する場合には,JSNACODEコマンドの/CHARACTERSET 修飾子で指定します。/CHARACTERSET修飾子については,第8.2節を参照してください。1 バイト変換テーブルの作成方法については,SYS$LIBRARY:JSNARJEPRE.MAR を参照してください。

8.1.4 ソフトウェア構成

日本語RJEは次の2つのユーティリティから構成されています。

8.2 JSNACODEユーティリティ

JSNACODEユーティリティは,日本語DECnet SNAリモート・ジョブ・エントリ/OpenVMS ( 以下日本語RJE)の本体となる部分のソフトウェアです。日本語OpenVMS のDCL (Digital Command Language)のフォーリン・コマンドにより起動され, その際に指定された入力ファイルを指定されたコマンド修飾子に従って変換し, 出力ファイルを作成します。

8.2.1 起動方法

次のコマンドでJSNACODEを起動します。

  1. フォーリン・コマンドを定義します。
    $  JSNACODE :== $JSNACODE
    

  2. 修飾子,パラメータを指定して変換します。
    $  JSNACODE/IPC=DEC/OPC=IBM  入力ファイル名  出力ファイル名
    
    または
    $  JSNACODE/IPC=IBM/OPC=DEC  入力ファイル名  出力ファイル名
    

JSNACODE

入力ファイルを修飾子の指示に従い変換し,出力ファイルを作成します。

形式

    JSNACODE   入力ファイル指定 [ 出力ファイル指定 ]

パラメータ

入力ファイル指定
変換対象のファイル名。順編成,テキストファイル。

出力ファイル指定
変換した結果のファイル名。順編成,テキストファイル。

修飾子

コマンド修飾子 省略時の値
/IPC=keyword /IPC = DEC
/OPC=keyword /OPC = DEC
/CHARACTERSET=ファイル名 /CHARACTERSET=JSNARJEDEF
/[NO]ESCAPE[=SS|LS] /ESCAPE=SS(/KMAPを指定した場合は/NOESCAPE )
/[NO]EXTERNAL=外字管理ファイル名 /NOEXTERNAL
/FIELD=(START:n,END:n,LENGTH:n,KANJI|KATAKANA) なし
/[NO]KMAP=KMAPレコード数 /NOKMAP(レコード数の省略値は1)
/[NO]TAB /NOTAB

/IPC = keyword
/IPC = DEC(省略時設定)
入力ファイルのコード体系を指定します。ここで指定できる keywordは次の2つです。

/OPC = keyword
/OPC = DEC(省略時設定)
出力ファイルのコード体系を指定します。ここで指定できる keywordは次の2つです。

/CHARACTERSET=1バイトコード変換テーブル名
/CHARACTERSET= JSNARJEDEF(省略時設定)
1バイトコード変換テーブルのファイル名を指定します。1バイトコード変換テーブルについては, 第8.1.3 項を参照してください。


注意
JSNACODEユーティリティがファイルへのアクセス中に何らかのエラーを検出した場合は, その旨を告げるメッセージを表示し, 出力ファイルは消去されます。


/[NO]ESCAPE[=SS|LS]
/ESCAPE=SS(/KMAP を指定した場合は /NOESCAPE)(省略時設定)

  1. /ESCAPE=SSの場合

    • /IPC=DEC/OPC=IBMの場合

      入力ファイルのデータ中にSS2(X'8E')が現われた場合,次の1バイトをJIS カタカナ・コードセットと解釈します。SS2が付加されずにX'A1'以上X'FE' 以下のコードが現れた場合は,全角コードの上位バイトと解釈します。/ESCAPE と/KMAPは同時には指定できません。この指定がない場合は,/KMAP の指定に従います。変換したIBMコードの全角文字列の前後にはシフトコード(X'0E',X'0F') が挿入されます。

    • /IPC=IBM/OPC=DECの場合

      JIS カタカナ・コードセットに変換された場合は,前に SS2 を付加してからファイルに出力します。 この出力ファイルは, 端末またはプリンタに直接出力する最終形式のファイルを想定しています。 /ESCAPE と /KMAP は同時には指定できません。指定がない場合は, /KMAP の指定に従います。

  2. /ESCAPE=LSの場合

    • /IPC=DEC/OPC=IBMの場合

      /ESCAPE の指定がある場合,入力ファイルのデータ中にLS3R(ESC|)が現われたとき以後,X'A1' 以上X'FE'以下のコードを全角コードの上位バイトと解釈します。LS2R(ESC}) が現われたとき以後のコードを,すべて1 バイト・コードと解釈します。
      /ESCAPE と /KMAP は同時には指定できません。 この指定がない場合は,/KMAPの指定に従います。変換したIBM コードの全角文字列の前後にはシフトコード(X'0E',X'0F')が挿入されます。

    • /IPC=IBM/OPC=DECの場合

      /ESCAPE の指定がある場合,出力ファイル中にDEC漢字コードのエスケープ・ シーケンスを挿入します。この出力ファイルは, 端末またはプリンタに直接出力する最終形式のファイルを想定しています。
      /ESCAPE と /KMAP は同時には指定できません。指定がない場合は,/KMAP の指定に従います。

      /ESCAPE 修飾子を指定せずに,グローバル・シンボルJSNARJE$ESCAPE=="SS|LS" を定義することにより,/ESCAPE=SSまたは/ESCAPE=LS と指定した場合と同じ結果が得られます。ただし,明示的に/ESCAPE=SS|LS を指定した場合は,グローバル・シンボルより優先されます。

/[NO]EXTERNAL=外字管理ファイル名
/NOEXTERNAL(省略時設定)
IBM付加文字やIBMユーザ定義文字を,DECユーザ定義領域のどの文字コードに割り当てるかを定めた外字管理ファイル名を指定します。 外字管理ファイルは,JSNAKNJDEF ユーティリティにより作成,管理されるファイルです。/EXTERNAL を指定した場合は,必ず外字管理ファイル名を指定しなければなりません。

/EXTERNALの指定がない場合,IBMからDECへの変換の場合はIBM付加文字やIBM ユーザ定義文字はすべて"□" (X'A2A2')に,DECからIBMへの変換の場合も,DEC 拡張漢字セットの文字はすべて"□"(X'A2A2')に変換します。

/FIELD=(START:n,END:n,LENGTH:n,KANJI|KATAKANA)
1レコード内の変換の範囲を指定します。1回のJSNACODEコマンドの最大長は256 バイトです。この1コマンド列で規定すべきフィールド数が指定できない場合は, 複数回のJSNACODEコマンドを使用してください。各々の/FIELD 修飾子で指定する範囲が重なってはいけません。

/FIELD修飾子の指定がない時は,1レコード全体が変換の対象になります。
STARTの省略値はレコードの先頭で,END,LENGTHの省略値はレコードの最後の位置を示す値です。END とLENGTHは同時には指定できません。/FIELD修飾子を33 個以上指定しても,33個目からの修飾子は無視されます。/FIELD修飾子は/ESCAPE とは同時に指定できません。

モード指定のKATAKANAとKANJIは,同時に指定することはできません。

/[NO]KMAP=KMAPレコード数
/NOKMAP(省略時設定)
KMAPレコード数の省略値は1です。

/[NO]TAB
/NOTAB(省略時設定)
この修飾子は/IPC=DEC/OPC=IBMの指定の場合に有効です。

/TABの指定がある場合は,タブをそれ自体有効なコードと解釈し,タブ・ コードを空白文字列へ変換することを行いません。

/NOTABの指定がある場合は,タブ・コードを次の文字位置が8の倍数となるようにタブ文字を空白文字に変換します。

空白文字列の変換は,DECコードからIBMコードへの変換の前に行われます。 したがって全角コードの前後に挿入されるシフトコード文字(X'0E',X'0F') はタブ位置の計算には含まれません。

8.3 JSNAKNJDEFユーティリティ

JSNAKNJDEFユーティリティは,OpenVMSユーザがIBM付加文字およびIBMユーザ定義文字とDEC 拡張漢字セットのユーザ定義領域の文字との対応を設定,管理するためのソフトウェアです。 このプログラムは,JSNAKNJDEFコマンドにより起動されます。

8.3.1 起動方法

次の日本語OpenVMSのオペレーションにより起動します。

  1. フォーリン・コマンドの定義
    $  jsnaknjdef :== $jsnaknjdef
    

  2. JSNAKNJDEFコマンドの起動
    $  jsnaknjdef
    

  3. JSNAKNJDEFコマンドのプロンプト
    jsnaknjdef>
    

JSNAKNJDEF

JSNAKNJDEFユーティリティを起動します。

形式

    jsnaknjdef

パラメータ

外字管理ファイル名(省略可)

コマンド・オプション

なし

8.4 JSNAKNJDEFユーティリティ内のコマンド形式

jsnaknjdef>プロンプトに対し,ユーザは次のコマンドを入力することができます。

コマンド 機能
use 指定されたファイルに,外字管理情報を出力する
list 指定された外字管理ファイルの内容を指定したファイルに出力する
define 指定された外字管理ファイルに対応情報を書き込む
undefine 指定された外字管理ファイルに対応情報をクリアする
help JSNAKNJDEFユーティリティの情報を得る
exit JSNAKNJDEFユーティリティを終了する
quit JSNAKNJDEFユーティリティを終了する

この節では,これらのコマンドについて説明します。

8.4.1 useコマンド

useコマンドにより指定されたファイルに,外字管理情報を出力します。

<形式>

jsnaknjdef>use 外字管理ファイル名 <パラメータ> 外字管理ファイル名(省略時の値はなし) 既存のファイルがあればそのファイルを使用対象とし,なければ新しい外字管理ファイルを作成します。 外字管理ファイルは,IBM付加文字およびIBMユーザ定義文字が,DEC 拡張漢字セットのどの部分と対応付けるかの情報を保存するファイルです。


注意
useコマンドにより選択された外字管理ファイルは,JSNAKNJDEF ユーティリティ内で次にuseコマンドを使用するまで,define ,list,undefineコマンドの対象ファイルとなります。

8.4.2 listコマンド

useコマンドにより指定された外字管理ファイルの内容を output で指定したファイルに出力します。

<形式>

jsnaknjdef>list <コマンド・オプション> outputファイル名

このオプションが省略された場合は標準出力に出力します。

図 8-2 list表示例−1

jsnaknjdef> use extern.tbl
jsnaknjdef> list

                    List of the DEC-IBM extended Kanji
     File: extern.tbl

     DEC Extended Kanji  IBM Kanji        DEC Extended Kanji  IBM Kanji
                  1          External                 17          User 6D
                  2          External                 18          User 6D
                  3          External                 19          User 6E
                  4          External                 20          User 6E
                  5          External                 21          User 6F
                  6          External                 22          User 6F
                  7          User 69                  23          User 70
                  8          User 69                  24          User 70
                  9          Undefined                25          User 71
                 10          Undefined                26          User 71
                 11          User 6A                  27          User 72
                 12          User 6A                  28          User 72
                 13          User 6B                  29          Undefined
                 14          User 6B                  30          Undefined
                 15          User 6C                  31          Undefined
                 16          User 6C                          (END of list)

         Note : DEC Ku No. is decimal. IBM Ku No. is Hexa-decimal.
表中の"External"はIBM付加文字を表し,"User xx"はIBMユーザ定義文字領域の第xx 区を表しています。

8.4.3 defineコマンド

useコマンドにより指定された外字管理ファイルに,対応情報を書き込みます。 既存の外字管理ファイルが対象となっていた場合は,その内容を更新します。

<形式>

jsnaknjdef>define <コマンド・オプション> external(省略時の値はなし)
user IBMユーザ定義文字領域区番号(省略時の値はなし)
to_DEC拡張漢字セット区番号(省略時の値はなし)


注意
このコマンドを実行するにはOPER 特権が必要です。

external

IBM付加文字(338文字)について定義する場合に指定します。external と user とは同時には指定できません。 user IBMユーザ定義文字領域区番号 IBMユーザ定義文字領域の文字について定義する場合に指定します。 指定するIBM ユーザ定義文字領域の区番号は,69〜7Fまでを16進数で指定します。external と user とは同時には指定できません。


注意
DEC拡張文字セットの区の,最初と最後の文字位置に割り当てられる位置にあるIBM ユーザ自由領域の文字は使用できません。

to

  1. externalが指定されている場合

    1〜26までの区番号を10進数で指定します。指定された区番号から連続6区間に,IBM 付加文字が対応付けられます。例えばto 21を指定すると,DEC 漢字セットの21〜26区にIBM付加文字が対応付けられます。

  2. userが指定されている場合

    1〜29までの区番号を10進数で指定します。指定された区番号から連続2区間に, 指定されたIBMユーザ定義文字領域の文字が対応付けられます。例えばuser 69 to 1 を指定すると,IBM漢字セットの69区がDEC拡張漢字セットの1 ,2区に対応付けられます。

<使用例>

  1. 新規にファイルを作成する場合
        # jsnaknjdef
        jsnaknjdef> use mytbl.tbl
        jsnaknjdef> define  external  to 21
        jsnaknjdef> define  user 69  to 1
        jsnaknjdef> define  user 6A  to 3
        jsnaknjdef> define  user 6B  to 5
        jsnaknjdef> define  user 6C  to 7
        jsnaknjdef> exit
    

    上記のコマンドにより新規に作成されたmytbl.tblの中には,次のような指定がされることになります。

    IBM漢字 DEC漢字
    IBM付加文字 DEC拡張漢字セットの第21区〜第26 区
    IBMユーザ定義文字の第69区 DEC拡張漢字セットの第1区〜第2区
    IBM ユーザ定義文字の第6A区 DEC拡張漢字セットの第3 区〜第4区
    IBMユーザ定義文字の第6B区 DEC拡張漢字セットの第5区〜第6区
    IBMユーザ定義文字の第6C区 DEC拡張漢字セットの第7 区〜第8区

  2. 外字管理ファイルを更新する場合
        # jsnaknjdef
        jsnaknjdef> use mytbl.tbl
        jsnaknjdef> define use 69 to 9
        jsnaknjdef> exit
    

    上記のコマンドにより既存のmytbl.tblは,次のように更新されることになります。

    IBM漢字 DEC漢字
    IBM付加文字 DEC拡張漢字セットの第21区〜第26 区
    IBMユーザ定義文字の第69区 DEC拡張漢字セットの第9区〜第10区
    IBM ユーザ定義文字の第6A区 DEC拡張漢字セットの第3 区〜第4区
    IBMユーザ定義文字の第6B区 DEC拡張漢字セットの第5区〜第6区
    IBMユーザ定義文字の第6C区 DEC拡張漢字セットの第7 区〜第8区

8.4.4 undefineコマンド

useコマンドにより指定された外字管理ファイルの対応情報をクリアします。

<形式>

jsnaknjdef>undefine <コマンド・オプション> group DEC拡張漢字セット区番号(省略時の値はなし)
char DEC拡張漢字セット文字コード(省略時の値はなし)
all (省略時の値はなし)


注意
このコマンドを実行するにはOPER 特権が必要です。

group と char を同時には指定できません。


group DEC拡張漢字セット区番号

区対応で定義されているDEC拡張漢字セットのユーザ定義文字をクリアする場合に使用します。 指定するオプションは,DEC拡張漢字セットの区番号を1 〜31までの10進で指定します。 char DEC拡張漢字セット文字コード 文字対応で定義されているDEC拡張漢字セットのユーザ定義文字をクリアする場合に使用します。 指定するオプションは,DEC拡張漢字セットの文字コードをA121 〜BF7Eまでの16進で指定します。 all 現在定義されているすべての区域を未定義にします。新たに編集し直したい場合に使用します。


注意
区対応で定義されているDEC拡張漢字のある区内のコードを,char でクリアすることはできません。また,あるDEC 拡張漢字が文字対応で定義されている場合,その文字を含んでいる区をgroup でクリアすることもできません。group,char,allを同時に指定した場合は, 最後に指定したものが有効になります。


8.4.5 helpコマンド

JSNAKNJDEFのhelp情報を表示します。

<形式>

jsnaknjdef>help

8.4.6 exitコマンド

JSNAKNJDEFユーティリティを終了します。

<形式>

jsnaknjdef>exit

8.4.7 quitコマンド

JSNAKNJDEFユーティリティを終了します。

<形式>

jsnaknjdef>quit

8.5 KMAPファイル

KMAPファイルは,DEC漢字セットの2バイト文字列と1バイト文字列(ASCII+半角カタカナ) がLS2R,LS3RまたはSS2のコードなしで混在したファイルを読み込む( または書き込む)際に使用する(または作成する)ファイルです。KMAPファイルの中では, 変換対象ファイルのレコードに含まれる漢字を"XX",英数字を"X" で表し,半角カタカナを"k"で表します。

/KMAP=KMAPレコード数で指定したKMAPファイルには,変換対象ファイルの先頭レコードから指定されたレコード数分の情報が含まれます。

図 8-3 /KMAP=2の場合のKMAPファイルと変更対象ファイル : (クリックで表示)

$ JSNACODE/FIELD=(START:1,LENGTH:30)/FIELD=(START:41,LENGTH:20) -
_$/IPC=IBM/OPC=DEC/KMAP  入力ファイル名  出力ファイル名
上記のような1レコード内のある部分のみを変換対象とした場合,作成されるKMAP レコードは次のような図のものとなり,変換対象となっていない部分については空白文字(X'20') が埋め込まれます。

図 8-4 KMAPファイルの出力例 : (クリックで表示)

8.6 日本語RJEメッセージ

JSNACODE,およびJSNAKNJDEFユーティリティのメッセージは,次のような標準のOpenVMS のメッセージの形式で出力されます。

facility-l-ident, text
上記の各単語の意味は次のとおりです。

facility メッセージを出力したプログラムまたはファシリティ名
l 重大度レベル
ident メッセージID
text テキスト

レベル 重大度 説明
S 成功 利用者のコマンドは正常に実行された
I 情報 ソフトウェアでとられた処置に関する報告
W 警告 修正処置を取る必要がないエラー状態
E エラー 致命的ではないが,処理または修正の必要がある状態
F 重大なエラー 致命的であり,処理または修正の必要がある状態

8.6.1 JSNACODEメッセージ一覧

JSNACODEのメッセージは,facility= JSNACODEです。

ABNIN Abnormal input file read

説明: : 入力ファイルを読もうとしたところエラーが生じました。
ユーザの対応: : DCLのDIRECTORY/FULL コマンド,ANALYZE/RMSコマンドでファイルの属性を確認してください。 JSNACODEがサポートしているのは順次編成ファイルだけです。
ABNOUT Abnormal output file write

説明: : 出力ファイルに書き込もうとしたところエラーが生じました。
ユーザの対応: : 出力ファイルが作成されるディレクトリのプロテクション等を確認してください。
ABNKMAP Abnormal KMAP file read or write

説明: : KMAPファイルにアクセスしようとしてエラーが生じました。
ユーザの対応: : KMAPファイルの内容, プロテクション等をチェックしてください。
ABNGAI Abnormal GAIJI control file read

説明: : 外字管理ファイルを読み込もうとしてエラーが生じました。
ユーザの対応: : 外字管理ファイルのプロテクション等を確認してください。
FLDMIS FIELD parameter mismatch

説明: : /FIELD修飾子で指定した変換範囲が,漢字の第2バイト目で終了している等のエラーです。
ユーザの対応: : /FIELD修飾子で指定した値を確認してください。
INSMEM Insufficient dynamic memory

説明: : ファイルを読み込むためのバッファが確保できません。
ユーザの対応: : プロセスのPGFLQUOTA, WSQUOTAの値を確認してください。SYSGENパラメータのVIRTUALPAGECNTおよびシステム・ ページまたはスワップ・ファイルを増やす必要がある可能性もあります。
INVPARAM Invalid parameter value specified

説明: : JSNACODEの修飾子,コマンド・パラメータで無効な値が指定されました。
ユーザの対応: : 指定した値を再確認して, 正しい値を指定してください。
NFDIN Input file not found

説明: : 入力ファイルが見つかりません。
ユーザの対応: : 指定した入力ファイル名を確認してください。
NFDKMAP KMAP file not found

説明: : /KMAP修飾子で指定したKMAPファイルが見つかりません。
ユーザの対応: : 指定したKMAPファイル名を確認してください。
NFGAI GAIJI control file not found

説明: : /EXTERNAL修飾子で指定した外字管理ファイルが見つかりません。
ユーザの対応: : 指定した外字管理ファイル名を確認してください。
NORECIN No record in input file

説明: : 入力ファイルの中にレコードが存在していません。
ユーザの対応: : 入力ファイルの内容を確認してください。
NORECKMAP No record in KMAP file

説明: : KMAPファイルの中にレコードが存在していません。
ユーザの対応: : KMAPファイルの内容を確認してください。
TRALOAERR Translation table load error

説明: : /CHARCTERSETで指定した1バイトコード・ テーブルを読み込む際に,エラーが生じました。
ユーザの対応: : 指定した1バイトコード・テーブル・ファイルの構造,プロテクション等を確認してください。

8.6.2 JSNAKNJDEFメッセージ一覧

JSNAKNJDEFのメッセージは,facility= jsnaknjdefです。

この節では,コマンドの正常終了を受け入れられない可能性のある条件を示すメッセージをまとめます。


DECの区番号は1〜31の10進数で指定してください。IBMの区番号は?で指定してください

説明: : 入力されたコードが10進数でないか,入力されたコードが規定された範囲を越えています。
ユーザの対応: : 入力コードを確認してください。


USEコマンドでファイルを指定してください 

説明: : 外字管理ファイル名が指定されていません。
ユーザの対応: : USEコマンドを使用して,外字管理ファイルを指定してください。


[ 前のページ ] [ 次のページ ] [ 目次 ] [ 索引 ] [ DOC Home ]