Cics-aid-keys

提供:Dev Guides
移動先:案内検索

CICS-補助キー

前のモジュールで説明したように、AIDキーはアテンション識別子キーと呼ばれます。 CICSは、AIDキーのみを検出できます。 すべての入力を入力した後、ユーザーがAIDキーの1つを押した場合にのみ、CICSが制御を取得します。 AIDキーには、ENTER、PF1からPF24、PA1からPA3、およびCLEARが含まれます。

AIDキーの検証

ユーザーが押したキーは、EIBAIDを使用してチェックされます。

  • EIBAIDは1バイト長で、3270入力ストリームで使用される実際のアテンションID値を保持します。
  • CICSは、次のステートメントを書くことにより、アプリケーションプログラムで使用できる事前にコード化された変数セットを提供します- +コピーDFHAID

DFHAID

DFHAIDは、CICSの事前にコード化された変数セットを含めるためにアプリケーションプログラムで使用されるコピーブックです。 次のコンテンツはDFHAIDコピーブックに存在します-

01    DFHAID.
   02  DFHNULL   PIC  X  VALUE IS ' '.
   02  DFHENTER  PIC  X  VALUE IS ''''.
   02  DFHCLEAR  PIC  X  VALUE IS '_'.
   02  DFHCLRP   PIC  X  VALUE IS '¦'.
   02  DFHPEN    PIC  X  VALUE IS '='.
   02  DFHOPID   PIC  X  VALUE IS 'W'.
   02  DFHMSRE   PIC  X  VALUE IS 'X'.
   02  DFHSTRF   PIC  X  VALUE IS 'h'.
   02  DFHTRIG   PIC  X  VALUE IS '"'.
   02  DFHPA1    PIC  X  VALUE IS '%'.
   02  DFHPA2    PIC  X  VALUE IS '>'.
   02  DFHPA3    PIC  X  VALUE IS ','.
   02  DFHPF1    PIC  X  VALUE IS '1'.
   02  DFHPF2    PIC  X  VALUE IS '2'.
   02  DFHPF3    PIC  X  VALUE IS '3'.
   02  DFHPF4    PIC  X  VALUE IS '4'.
   02  DFHPF5    PIC  X  VALUE IS '5'.
   02  DFHPF6    PIC  X  VALUE IS '6'.
   02  DFHPF7    PIC  X  VALUE IS '7'.
   02  DFHPF8    PIC  X  VALUE IS '8'.
   02  DFHPF9    PIC  X  VALUE IS '9'.
   02  DFHPF10   PIC  X  VALUE IS ':'.
   02  DFHPF11   PIC  X  VALUE IS '#'.
   02  DFHPF12   PIC  X  VALUE IS '@'.
   02  DFHPF13   PIC  X  VALUE IS 'A'.
   02  DFHPF14   PIC  X  VALUE IS 'B'.
   02  DFHPF15   PIC  X  VALUE IS 'C'.
   02  DFHPF16   PIC  X  VALUE IS 'D'.
   02  DFHPF17   PIC  X  VALUE IS 'E'.
   02  DFHPF18   PIC  X  VALUE IS 'F'.
   02  DFHPF19   PIC  X  VALUE IS 'G'.
   02  DFHPF20   PIC  X  VALUE IS 'H'.
   02  DFHPF21   PIC  X  VALUE IS 'I'.
   02  DFHPF22   PIC  X  VALUE IS '¢'.
   02  DFHPF23   PIC  X  VALUE IS '.'.
   02  DFHPF24   PIC  X  VALUE IS '<'.

次の例は、アプリケーションプログラムでDFHAIDコピーブックを使用する方法を示しています-

IDENTIFICATION DIVISION.
PROGRAM-ID. HELLO.
DATA DIVISION.
WORKING-STORAGE SECTION.
COPY DFHAID.
PROCEDURE DIVISION.
A000-AIDKEY-PARA.
   EVALUATE EIBAID
      WHEN DFHAID
         PERFORM A000-PROCES-PARA
      WHEN DFHPF1
         PERFORM A001-HELP-PARA
      WHEN DFHPF3
         PERFORM A001-EXIT-PARA
    END-EVALUATE.

カーソルの配置

マップ定義で指定された位置をオーバーライドするには、2つの方法があります。

  • 1つの方法は、send mapコマンドのCURSORオプションで行番号と列番号に相対的な画面位置を指定することです。
  • 別の方法は、-1を接尾辞Lのシンボリックマップ変数に移動することです。 次に、SEND MAPでCURSORオプションを使用してマップを送信します。

次の例は、NAMEフィールドのカーソル位置をオーバーライドする方法を示しています-

MOVE -1 TO NAMEL
   EXEC CICS SEND
      MAP ('map-name')
      MAPSET ('name-field')
      ERASE
      FREEKB
      CURSOR
   END-EXEC.

属性を動的に変更する

マップの送信中に、マップで指定されたもの以外のフィールドに異なる属性を持たせたい場合、プログラムでフィールドを設定することでそれをオーバーライドできます。 以下は、フィールドの属性をオーバーライドするための説明です-

  • フィールドの属性をオーバーライドするには、アプリケーションプログラムにDFHATTRを含める必要があります。 CICSによって提供されます。
  • 必要な属性をリストから選択して、接尾辞が 'A’の記号フィールド変数に移動できます。

DFHATTRは次のコンテンツを保持しています-

01  CICS-ATTRIBUTES.
   05  ATTR-UXN            PIC X(01) VALUE SPACE.
   05  ATTR-UXMN           PIC X(01) VALUE 'A'.
   05  ATTR-UXNL           PIC X(01) VALUE 'D'.
   05  ATTR-UXMNL          PIC X(01) VALUE 'E'.
   05  ATTR-UXBL           PIC X(01) VALUE 'H'.
   05  ATTR-UXMBL          PIC X(01) VALUE 'I'.
   05  ATTR-UXD            PIC X(01) VALUE '<'.
   05  ATTR-UXMD           PIC X(01) VALUE '('.
   05  ATTR-U9N            PIC X(01) VALUE '&'.
   05  ATTR-U9MN           PIC X(01) VALUE 'J'.
   05  ATTR-U9NL           PIC X(01) VALUE 'M'.
   05  ATTR-U9MNL          PIC X(01) VALUE 'N'.
   05  ATTR-U9BL           PIC X(01) VALUE 'Q'.
   05  ATTR-U9MBL          PIC X(01) VALUE 'R'.
   05  ATTR-U9D            PIC X(01) VALUE '*'.
   05  ATTR-U9MD           PIC X(01) VALUE ')'.
   05  ATTR-PXN            PIC X(01) VALUE '-'.
   05  ATTR-PXMN           PIC X(01) VALUE '/'.
   05  ATTR-PXNL           PIC X(01) VALUE 'U'.
   05  ATTR-PXMNL          PIC X(01) VALUE 'V'.
   05  ATTR-PXBL           PIC X(01) VALUE 'Y'.
   05  ATTR-PXMBL          PIC X(01) VALUE 'Z'.
   05  ATTR-PXD            PIC X(01) VALUE '%'.
   05  ATTR-PSN            PIC X(01) VALUE '0'.
   05  ATTR-PSMN           PIC X(01) VALUE '1'.
   05  ATTR-PSNL           PIC X(01) VALUE '4'.
   05  ATTR-PSMNL          PIC X(01) VALUE '5'.
   05  ATTR-PSBL           PIC X(01) VALUE '8'.
   05  ATTR-PSMBL          PIC X(01) VALUE '9'.
   05  ATTR-PSD            PIC X(01) VALUE '@'.
   05  ATTR-PSMD           PIC X(01) VALUE "'".