表示装置ファイルのDDSのキーワードで見付けた、便利な物、その第2弾です。 CNTFLD
AS/400 データ記述仕様書 バージョン 3より
これはフィールド・レベルのキーワードで、フィールドを継続入力フィールドとして定義するのに使用します。継続入力フィールドは、フィールド・データの入力および編集時にワークステーション制御装置によって単一のフィールドとして扱われる、関連付けられた一連の入力フィールドです。制御装置が、非プログラム式ワークステーションに関する拡張インターフェースをサポートする制御装置に接続されていない場合には、継続入力フィールドの各セグメントは、フィールドについて編集が行われるときに別々に扱われます。
エンド・ユーザーにとっては、複数の表示行にまたがる単一の入力フィールドよりもテキスト入力形式の方が便利です。
最後の行が桁の幅全体に満たなくても、矩形の中にほかのフィールドが入ることはありません。継続入力フィールドを使用する場合は、ウィンドウの内側に複数行入力フィールドを定義することが可能になります。
キーワードの形式は次のとおりです。
CNTFLD(width of column)
パラメーターは、1 つは必ず指定しなければなりません。
width of the column パラメーターは、この継続フィールドに使用される桁の数を指定します。この値は、画面またはウィンドウの幅を超えてはなりません。この値は、フィールドの桁数よりも小さくなければなりません。
CNTFLD キーワードを指定するフィールドは、データ・タイプ A の入力可能フィールドとして定義しなければなりません。サブファイル内に定義することはできません。
CNTFLD キーワードを指定するフィールドでは、次のキーワードを指定することはできません。
AUTO (RAB、RAZ)
CHECK(AB、MF、RB、RZ、RLTB)
CHOICE
DSPATR(OID SP)
EDTMSK
CNTFLD キーワードを定義する際は、最低 2 つのスペースを使ってこのキーワードを他のキーワードと区分する必要があります。
オプション標識は、このキーワードでは無効です。 |
これでは何がメリットなのか分かりませんね。以下のソースを実際に入力(コピー)して、コンパイルしてみて下さい。すぐに分かります。
DSPF(TESTD5) A CSRINPONLY
A R RECORD1
A F1 90J B 3 4CNTFLD(30) RPG H Y/ 1
FTESTD5 CF E WORKSTN
C******************************************************
C* M A I N - R O U T I N E ;
C******************************************************
C EXFMTRECORD1 ;
C* ;
C MOVE *ON *INLR ;
C RETRN ;
|
一つの入力フィールドが分割されて表示されました。(たしか、このキーワードが出来た当初は、漢字フィールドが出来なかったと思うのですが、今では出来ています。)長いフィールドが画面の右端で消えて、その次の行の左端から現れるよりは、ましですね。
但し、完全な漢字分割ではないです。つまり、上記のX'0e',
X'0f'は、フィールドの両端以外に、2ペア増えます。そうです、改行の部分のX'0e',X'0f'は、そのままデータとして、フィールドに取り込まれますので、入力できるデータ量がその分減ってしまいます。ちょっと、残念ですね。
また、もう一つのキーワード、CSRINPONLYもおもしろいですよ。カーソルキーで持っていこうとしても、入力フィールド以外には、カーソルが行きません。おもしろい機能です。でも、マウスで無理矢理持っていくことは出来るみたいです。
AS/400 データ記述仕様書 バージョン 3より
これはファイル・レベルまたはレコード・レベルのキーワードで、入力可能位置にのみカーソルの移動を制限するために使用します。このキーワードは、矢印キーを使用して行われるカーソル移動だけに影響します。
このキーワードにはパラメーターはありません。
このキーワードが有効なときにヘルプを定義する場合、注意する必要があります。ヘルプが有効な域にカーソルを配置することはできません。
CSRINPONLY キーワードの詳細については、適用業務画面 プログラミング を参照してください。
このキーワードについては、オプション標識を使用することができます。 |
1999/11/18 |