前へ | 次へ | 目次 | 索引 |
JSNAKNJDEF のメッセージは,facility= jsnaknjdefです。
この節では,コマンドの正常終了を受け入れられない可能性のある条件を示すメッセージをまとめます。
DECの区番号は1〜31の10進数で指定してください。 IBMの区番号は? で指定してください,
USEコマンドでファイルを指定してください,
日本語 DECnet/FNA リモート・ジョブ・エントリ for OpenVMS (以下 F-RJE) は, JEFCODE ユーティリティおよび jefknjdef ユーティリティから構成されるソフトウェア製品です。
DECnet SNA OpenVMS Remote Job Entry(RJE)と組み合わせて使用することにより, DECnet SNA Gateway-ST を通して,ハイレベルな伝送制御方式で接続された FACOM システムと OpenVMS システムとの間で,漢字コードを含むファイルの送受信を行うことができます。
10.1.1 関連資料
DECnet SNA Gateway-ST または OpenVMS のシステム管理については,次のマニュアルを参考にしてください。
DECnet SNA OpenVMS Remote Job Entry については,次のマニュアルを参考にしてください。
漢字コードについては,次のマニュアルを参考にしてください。
必要に応じて,次の富士通(株)のマニュアルも参照してください。
JEF 漢字コードと DEC 漢字コードを相互に変換するための2バイト・コード体系の対応を 図 10-1 に示します。
図 10-1 が示すように, JEF 漢字空間の JIS 漢字コードについては DEC 漢字セットの対応する各文字に対応付けられ, JEF 拡張漢字 (4,267 文字) および JEF ユーザ定義文字 (3,102 文字) については, F-RJE 利用者の選択により DEC 拡張漢字セットのユーザ定義領域に対応付けます。その際,次のような対応規則を設定します。
JEF 漢字セット | 対応規則 |
---|---|
JIS制定文字 | DEC漢字セットと一対一対応 |
JEF拡張漢字 | DEC拡張漢字セットの区,または文字単位で対応 |
JEFユーザ定義文字 | DEC拡張漢字セットの区,または文字単位で対応 |
図 10-1 JEF-DEC 漢字コード対応図
EBCDIC/ASCII の 1バイト・コード変換テーブルについては,F-RJE が提供する変換テーブルである SYS$LIBRARY:JEFRJETRA.TBL がデフォルトの値として使用されます。これ以外のテーブルを使用する場合には,JEFCODE コマンドの /CHARACTERSET 修飾子で指定します。/CHARACTERSET 修飾子については,第 1.2.2項を参照してください。 1バイト変換テーブルの作成方法については,SYS$LIBRARY:JSNARJEPRE.MAR を参照してください。
10.1.4 ソフトウェア構成
F-RJE は次の 2 つのユーティリティから構成されています。
OpenVMS システムから FACOM システムにファイルを転送する場合, OpenVMS システム上で作成したファイルをあらかじめ JEF 漢字コードのファイルに変換する必要があります。以下にファイル作成から転送までの手順を例により説明します。
$ JEFCODE/IPC=DEC/OPC=JEF TOJEF.DEC TOJEF.JEF |
$ SUBMIT/SNA DECTOJEF.JCL/TRANSLATE + TOJEF.JEF/NOTRANSLATE |
SUBMIT/SNA コマンドのパラメータ修飾子で /NOTRANSLATE を明示的に指定しない場合は /TRANSLATE が指定されたものとして解釈されるため,JCL ファイルに対しては特に指定する必要はありません。 |
FACOM システム上の JEF 漢字コード,および EBCDIC コードから成るテキストファイルを OpenVMS システム側に転送する場合の例を以下に示します。
$ RUN SYS$SYSTEM:SNARJE SNARJE> USE RMTxx SNARJE> ASSIGN DUA0:[RJE] PU1/NOTRANSLATE |
$ SUBMIT/SNA FACOMTODEC.JCL |
$ SET DEFAULT DUA0:[RJE] $ JEFCODE/IPC=JEF/OPC=DEC TODEC.STD TODEC.DEC |
10.2 JEFCODEユーティリティ
JEFCODE ユーティリティは, F-RJE for OpenVMS の本体となる部分のソフトウェアです。 OpenVMS の DCL(Digital Command Language) のフォーリン・コマンドにより起動され,その際に指定された入力ファイルを指定されたコマンド修飾子に従って変換し,出力ファイルを作成します。
10.2.1 起動方法
次のコマンドで JEFCODE は起動されます。
$ JEFCODE :== $JEFCODE |
$ JEFCODE/IPC=DEC/OPC=JEF 入力ファイル名出力ファイル名 または $ JEFCODE/IPC=JEF/OPC=DEC 入力ファイル名出力ファイル名 |
この項では,JEFCODE コマンドの形式,パラメータ,修飾子について説明します。
入力ファイルを修飾子の指示に従い変換し,出力ファイルを作成します。
JEFCODE 入力ファイル名 [ 出力ファイル名 ]
入力ファイル
変換対象のファイル名。順編成,テキスト・ファイル。出力ファイル
変換した結果のファイル名。順編成,テキスト・ファイル。
コマンド修飾子 デフォルトの値 /IPC=keyword /IPC = DEC /OPC= keyword /OPC = DEC /CHARACTERSET=ファイル名 /CHARACTERSET=JEFRJETRA /[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
入力ファイルのコード体系を指定します。ここで指定できる keyword は次の 2 つです。
- JEF
- DEC
/OPC = keyword
出力ファイルのコード体系を指定します。ここで指定できる keyword は次の 2 つです。
- JEF
- DEC
/CHARACTERSET=1 バイトコード変換テーブル名
1 バイトコード変換テーブルのファイル名を指定します。 1 バイトコード変換テーブルについては, 第 10.1.3 項 を参照してください。
注意
JEFCODE ユーティリティが,1 バイトコード変換テーブルへのアクセス中に何らかのエラーを検出した場合はその旨を告げるメッセージを表示し,出力ファイルは消去されます。/[NO]ESCAPE[=SS | LS]
シングル・シフト半角カナの JEF コード←→ DEC コード変換を可能にします。
- /ESCAPE=SS の場合
- /IPC=DEC/OPC=JEF の場合
入力ファイルのデータ中に SS2(X'8E') が現われ場合,次の 1 バイトを JIS カタカナ・コードセットと解釈します。 SS2 が付加されずに X'A1' 以上 X'FE' 以下のコードが現れた場合は,全角コードの上位バイトと解釈します。/ESCAPE と /KMAP は同時には指定できません。この指定がない場合は,/KMAP の指定に従います。変換した JEF コードの全角文字列の前後にはシフトコード (X'28',X'29') が挿入されます。
- /IPC=JEF/OPC=DEC の場合
JIS カタカナ・コードセットに変換された場合は,前に SS2 を付加してからファイルに出力します。この出力ファイルは,端末またはプリンタに直接出力する最終形式のファイルを想定しています。/ESCAPE と /KMAP は同時には指定できません。指定がない場合は,/KMAP の指定に従います。
- /ESCAPE=LS の場合
- /IPC=DEC/OPC=JEF の場合
/ESCAPE の指定がある場合,入力ファイルのデータ中に LS3R(ESC|) が現われたとき以後,X'A1' 以上 X'FE' 以下のコードを全角コードの上位バイトと解釈します。 LS2R(ESC}) が現われたとき以後のコードを,すべて 1 バイト・コードと解釈します。 /ESCAPE と /KMAP は同時には指定できません。この指定がない場合は,/KMAP の指定に従います。変換した JEF コードの全角文字列の前後にはシフトコード (X'28',X'29') が挿入されます。
- /IPC=JEF/OPC=DEC の場合
/ESCAPE の指定がある場合,出力ファイル中に DEC 漢字コードのエスケープ・シーケンスを挿入します。この出力ファイルは,端末またはプリンタに直接出力する最終形式のファイルを想定しています。/ESCAPE と /KMAP は同時には指定できません。指定がない場合は,/KMAP の指定に従います。
/ESCAPE 修飾子を指定せずに,グローバル・シンボル FRJE$ESCAPE=="SS|LS" を定義することにより,/ESCAPE=SS または/ESCAPE=LS と指定した場合と同じ結果が得られます。ただし,明示的に /ESCAPE=SS|LS を指定した場合は,グローバル・シンボルより優先されます。
/[NO]EXTERNAL = 外字管理ファイル名
JEF 拡張漢字や JEF ユーザ定義文字を,DEC ユーザ定義領域のどの文字コードに割り当てるかを定めた外字管理ファイル名を指定します。外字管理ファイルは,jefknjdef ユーティリティにより作成,管理されるファイルです。/EXTERNAL を指定した場合は,必ず外字管理ファイル名を指定しなければなりません。 /EXTERNAL の指定がない場合,JEF から DEC への変換の場合は JEF 拡張漢字や JEF ユーザ定義文字はすべて "□ "(X'A2A2') に,DEC から JEF への変換の場合も, DEC 拡張漢字セットの文字はすべて"□"(X'A2A2') に変換します。
/FIELD=(START:n, END:n, LENGTH:n, KANJI|KATAKANA)
1 レコード内の変換の範囲を指定します。1 回の JEFCODE コマンドの最大長は 256 バイトです。この 1 コマンド列で規定すべきフィールド数が指定できない場合は,複数回の JEFCODE コマンドを使用してください。各々の /FIELD 修飾子で指定する範囲が重なってはいけません。/FIELD 修飾子の指定がない時は,1 レコード全体が変換の対象になります。 START のデフォルトの値はレコードの先頭で,END, LENGTH のデフォルトの値はレコードの最後の位置を示す値です。END と LENGTH は同時には指定できません。/FIELD 修飾子を 33 個以上指定しても,33 個目からの修飾子は無視されます。/FIELD 修飾子は/ESCAPE とは同時に指定できません。
モード指定の KATAKANA と KANJI は,同時に指定することはできません。
- /IPC=DEC/OPC=JEF の場合
モード指定の keyword は,出力ファイルの開始・終了モードを指定します。 DEC 側の開始モードは,KMAP ファイルの指定に依存します。
- /IPC=JEF/OPC=DEC の場合
モード指定の keyword は,入力ファイルの開始・終了モードを指定します。/FIELD 修飾子を指定しない場合は,先頭レコードが 2 バイト・コード開始のシフト・コード (X'28') で始まらない限り,英数字モードから始まるものとみなします。
/[NO]KMAP=KMAP レコード数
KMAP レコード数のデフォルトの値は 1 です。
- /IPC=DEC/OPC=JEF の場合
/KMAP を指定した時,入力ファイルと同じファイル名で,ファイル・タイプが "KMAP" であるファイルが,入力ファイルの全角・半角コード混在情報を示す KMAP ファイルであるとみなされます。ただし,論理名 FRJE$KMAPFILE が定義されている場合には,この論理名に割り当てられているファイルが優先的に使用されます。そして,その情報にしたがってコード変換を行います。
KMAP レコード数の指定がある場合,KMAP ファイルの先頭レコードから指定されたレコード数を変換する際に使用します。KMAP ファイル内の全 KMAP レコード数が指定された値より小さい場合は,全 KMAP レコード数が指定されているものとして処理されます。/KMAP と /ESCAPE は同時には指定できません。
この指定がない場合は,/ESCAPE の指定に従います。
また KMAP コードが "Xk" で対応する入力コードが漢字コードだった場合は,KMAP コードは "XX" であると見なします。
- /IPC=JEF/OPC=DEC の場合
/KMAP の指定がある場合,コマンド・パラメータで指定した出力ファイル中に DEC 漢字コードのエスケープ・シーケンスを挿入せず,出力ファイルと同じファイル名でファイル・タイプが "KMAP" のファイルを作成し,全角・半角コードの混在情報を出力します。または,論理名 FRJE$KMAPFILE が割り当てられているファイル名が優先的に使用されます。
KMAP レコード数の指定がある場合,KMAP ファイルに出力されるのは出力ファイルの先頭レコードから数えて KMAP レコード数分のレコードに対する全角・半角コードの混在情報です。
/KMAP と/ESCAPE は同時には指定できません。この指定がない場合は/ESCAPE の指定に従います。
/[NO]TAB
この修飾子は /IPC=DEC/OPC=JEF の指定の場合に有効です。/TAB の指定がある場合は,タブをそれ自体有効なコードと解釈し,タブ・コードを空白文字列へ変換することを行いません。
/NOTAB の指定がある場合は,タブ・コードを次の文字位置が 8 の倍数となるようにタブ文字を空白文字に変換します。
空白文字列の変換は, DEC コードから JEF コードへの変換の前に行われます。したがって全角コードの前後に挿入されるシフトコード文字 (X'28', X'29') はタブ位置の計算には含まれません。
前へ | 次へ | 目次 | 索引 |