11.7.1. 汎用選択画面 解説 | |||||||||
このツールの特徴
数字は、ゾーン(S)、パック(P)、バイナリ(B)のみ対応しています。浮動小数点やヘキサフィールドには、対応していません。 オペレーション方法WRKSLTと入力して、実行キーを押下します。
オプション
オプション内容
新規追加
実行キー↓
表示フィールドの選択10個以内で、表示しきれる範囲。欄の設定で確認してください。
戻しフィールドの選択選択画面の欄の形式の指定10個以内で、総100バイト以内まで選択可能。 |
| 1 | PoIQID | 文字 | 11バイト | 渡しパラメータ | 定義をしたID名 |
| 2 | PoKEY | 文字 | 1バイト | 渡しパラメータ | キーを使用する場合は'1'、使用しない場合は'0'(現在は、このパラメータは無視されています。) |
| 3 | PoKEYV | 文字 | 30バイト | 渡しパラメータ | 初期値として、指定したいファイルキーを30バイト以内で指定します。 |
| 4 | PoKPOS | 文字 | 1バイト | 渡しパラメータ | '1'=指定ファイルがキー付きの場合、画面左上に、表示開始位置を指定できる画面を出す。'0'=左上に表示位置入力を表示しない。キーなしの場合、このパラメータは無視されます(開始位置指定フィールドは表示されません。) |
| 5 | PoSLT | 文字 | 1バイト | 渡しパラメータ | Y=で、オプション欄の表示。N=でオプション欄非表示 |
| 6 | PiDTA | 文字 | 1バイト | 受けパラメータ | '1'=選択された値がある場合、'0'=選択された値が無い場合 |
| 7 | PiRTN | 文字 | 100バイト | 受けパラメータ | 定義無いで指定された値が戻される。数字(ゾーン、パック、バイナリ)は文字化されて戻されます。また、複数のフィールドを指定場合は、フィールドの値と値の間はスペース無しで、連結されて戻されますので、受け取った後で、ユーザー自身が、それを分解しなくてはなりません。 |
将来、バージョンアップによりパラメータの個数に変動があります。
001 C H1RCD WHEQ 'FMT01' : *001 C H1FLD ANDEQ'V1FD31' : *001 C H1RCD OREQ 'FMT01' : *001 C H1FLD ANDEQ'V1FD32' : 001 C MOVELV1FD31 POKEYV : 001 C CALL 'IQI030' : 001 C PARM 'TEST0003'POIQID : 001 C PARM *ON POKEY : 001 C PARM POKEYV : 001 C PARM *ON POKPOS : 001 C PARM 'Y' POSLT : 001 C PARM PIDTA : 001 C PARM PIRTN : B002 C PIDTA IFEQ *ON : 002 C MOVELPIRTN W1FD31 3 : 002 C 6 SUBSTPIRTN:4 W1FD32 6 : 002 C MOVELW1FD31 V1FD31 : 002 C MOVELW1FD32 V1FD32 : E002 C END :
上記の例で定義した、IQDSPMPを使ってみます。
このイメージは古いバージョンでした。(IQI010ではなくIQI030が最新です。)
001 C CALL 'IQI030' : 001 C PARM 'IQDSPMP' POIQID : 001 C PARM *ON POKEY : 001 C PARM POKEYV : 001 C PARM *ON POKPOS : 001 C PARM 'Y' POSLT : 001 C PARM PIDTA : 001 C PARM PIRTN :
として下さい。
FLD2でF4を押すと、
さらに、数字1で選択をすると、
実行キー↓
PGM
DCLF IQTESTD DCL &POIQID *CHAR 11 DCL &POKEY *CHAR 1 DCL &POKEYV *CHAR 30 DCL &POKPOS *CHAR 1 DCL &POSLT *CHAR 1 DCL &PIDTA *CHAR 1 DCL &PIRTN *CHAR 100
\FMT01:
SNDRCVF *N FMT01
IF (&IN03) GOTO \END
IF (&IN04) DO
IF (&H1RCD='FMT01' & &H1FLD='V1FLD2') DO
CHGVAR &POIQID 'IQDSPMP '
CHGVAR &POKEY '1'
CHGVAR &POKEYV ' '
CHGVAR &POKPOS '1'
CHGVAR &POSLT 'Y'
CHGVAR &PIDTA ' '
CHGVAR &PIRTN ' '
CALL IQI030 (&POIQID &POKEY &POKEYV &POKPOS &POSLT &PIDTA &PIRTN)
IF (&PIDTA='1') DO
CHGVAR &V1FLD2 &PIRTN
ENDDO
GOTO \FMT01
ENDDO
ENDDO GOTO \FMT01
\END: RETURN ENDPGM
A DSPSIZ(24 80 *DS3)
A PRINT
A INDARA
A CA03(03)
A CF04(04)
A R FMT01
A*%%TS SD 19951116 153719 KAKEFUDA REL-V3R0M5 5763-PW1
A CA12
A KEEP
A RTNCSRLOC(&H1RCD &H1FLD)
A BLINK
A 80 ALARM
A OVERLAY
A PUTOVR
A H1FLD 10A H
A H1RCD 10A H
A 6 3'FLD 1 . . '
A V1FLD1 3Y 0B 6 14EDTCDE(3)
A OVRDTA
A OVRATR
A 6 25'F4リスト'
A 8 11'FLD 2 . . '
A V1FLD2 6A B 8 22
A OVRDTA
A OVRATR
A 8 33'F4リスト'
A 10 16'FLD 3 . . '
A V1FD31 3Y 0B 10 27EDTCDE(3)
A OVRDTA
A OVRATR
A V1FD32 6Y 0B 10 31EDTCDE(3)
A OVRDTA
A OVRATR
A 10 43'F4リスト'
A 12 25'FLD 4 . . '
A V1FLD4 6A B 12 36
A OVRDTA
A OVRATR
A 12 47'F4リスト'
A 22 3'F3=終了'
A DSPATR(HI)
A V1MSG# 7A O 23 2DSPATR(HI)
A DSPATR(BL)
A OVRDTA
A V1MSG 70A O 23 10DSPATR(HI)
A DSPATR(BL)
A OVRDTA |
You are at K's tips-n-kicks of AS/400
|
|
|||
|
|