次の方法で共有


先頭に SO 文字と末尾 SI 文字を追加する

PIC G 形式の文字列の場合は、TI プロジェクトの文字列の [COBOL 定義] タブ (プロパティ ページ) の [先頭に SO と末尾の SI を追加する] チェック ボックスをオンにして、先行シフトアウト (SO) 文字と末尾のシフトイン (SI) 文字を追加するようにトランザクション インテグレーター (TI) ランタイム環境に指示できます。

[ 先頭 SO と末尾の SI の追加 ] チェック ボックスがオンの場合、TI ランタイム環境は、2 バイト文字セット (DBCS) 文字列の記述に使用されるメインフレーム データ構造の 2 つの追加バイトを処理します。 メインフレームに送信されたメッセージの書式を設定すると、TI ランタイム環境によって、先頭の SO バイトと末尾の SI バイトが追加されます。 メインフレームから受信したメッセージを解釈すると、TI ランタイム環境では、先頭の SO バイトと末尾の SI バイトが破棄されます。

PIC G 文字列の次元値は、周囲の SO 文字と SI 文字の有無に関係なく、文字列内の 2 バイト DBCS 文字の数を常に指定します。

この自動 SO および SI 処理の使用は、クライアント アプリケーションでは非表示になります。 ただし、メインフレーム アプリケーションでは、適切な PIC X 宣言が PIC G 文字列の宣言を囲む必要があります。

TI プロジェクトは、次のサンプル コードに示すように、周囲の SO バイトと SI バイトに対して適切な宣言を生成します。

01     A-SOSI-WRAPPED-DBCS.  
       05  LEADING-SO-1                            PIC X.  
       05  MY-DBCS-STRING                          PIC G(80).  
       05  LEADING-SI-1                            PIC X.  
  

TI プロジェクトの COBOL インポート ウィザードでは、先頭に SO バイトと末尾 SI バイトを追加するオプションは設定されていません。 言い換えると、COBOL のインポート ウィザードでは、PIC G 文字列を囲む PIC X 宣言が存在しても意味がありません。 既存のメインフレーム・トランザクション・プログラム (TP) が、PIC G ストリングをラップする SO および SI 文字の明示的宣言を含む COBOL 宣言を使用する場合は、COBOL インポート・ウィザードによって作成されたインターフェースを手動で変更する必要があります。