最初のページに戻ります。

総合の目次があるページに戻ります。

よく使うマニュアルです

Wiki

updated on 2004.06.23

9.44.いいもの見つけた!(表示装置キーワード編)

[ Previous ] [ HOME ] [ Upper ] [ Next ]


表示装置ファイルのDDSのキーワードで最近見付けた(前から有るけど、どんな物か、知らなかった)、便利な物があります。

EDTMSK

AS/400 データ記述仕様書 バージョン 3より

これはフィールド・レベルのキーワードで、EDTCDE または EDTWRD キーワードを持つフィールドについての編集マスクを指定するのに使用します。フィールドがこのキーワードと一緒に表示されると、そのフィールドのユーザー指定区域が保護されます。EDTMSK キーワードは、ワークステーションが拡張データ・ストリームをサポートする制御装置に接続されていない場合には無視されます。

編集マスクは、アンパーサンド (&) とブランク ( ) の 2 つの文字から構成されます。アンパーサンドは、フィールドの保護部分を表します。ブランクは、フィールドの無保護部分を表します。編集マスクはフィールドの表示桁数(編集後)と等しくなければならず、無保護桁の数はフィールドのプログラム桁数と等しくなければなりません。保護データはフィールドが変更されるとユーザーに戻されないため、ユーザーは、非数字データだけを保護するようにしなければなりません。

EDTMSK キーワードを含むフィールドは、使用目的 I または B でなければなりません。さらに、EDTCDE または EDTWRD キーワードも含まなければなりません。

次のキーワードは、EDTMSK キーワードを指定するフィールドには指定できません。

AUTO (RAB、RAZ)
CHECK(AB、MF、RB、RZ、RLTB)
CHOICE
CNTFLD
DSPATR(OID SP)

オプション標識は、このキーワードでは無効です。

ENTFLDATR キーワードが EDTMSK キーワードと一緒に指定されると、予期しない結果になる場合があります。

これでは何がメリットなのか分かりませんね。以下のソースを実際に入力(コピー)して、コンパイルしてみて下さい。すぐに分かります。

DSPF

      A                                      CA03(03)                    
      A                                      CA12(12)                    
      A*-------------------------------------*                           
      A          R FMT01                                                 
      A*-------------------------------------*                           
      A            F1             9  0B  8 12EDTWRD('0( )   -    ')      
      A                                      EDTMSK(' & &   &    ')      
      A            F2             6  0B    +2EDTCDE(Y)                   
      A                                      EDTMSK('  &  &  ')          

RPG

      H            Y/                                    1               
      FTESTD1  CF  E                    WORKSTN                          
      C******************************************************            
      C*             M A I N -  R O U T I N E               ;            
      C******************************************************            
      C                     EXFMTFMT01                      ;            
      C*                                                    ;            
      C                     MOVE *ON       *INLR            ;            
      C                     RETRN                           ;           

数字を入力していると、カーソールが、「(」のところで、勝手にスキップします。入力している人は、数字だけ入力していれば、カーソルがDDSのキーワードで&を指定したところを「マスク」と考えて、スキップしてくれるのです。この他の「)」や「/」の部分も同じです。

EDTCDE(Y)の例

99/12/11と入力

EDTCDEの指定     /     /    
EDTMSKの指定     &     &    
入力 9 9 勝手にスキップ 1 2 勝手にスキップ 1 1

数字フィールドの編集によって出てきた、「/」は、今まで、入力すると消えて、実行キーで再表示すると出てくるものだったのですが、これを使うと、とても便利です。お試し下さい。

注意

「EDTMSK キーワードは、ワークステーションが拡張データ・ストリームをサポートする制御装置に接続されていない場合には無視されます。」と出ていますね。申し訳ないのですが、この機構のあるなしの判定基準が分からないのですが、自分のところでは、表示できます。

1999/11/12


[ Previous ] [ HOME ] [ Upper ] [ Next ]

You are at K's tips-n-kicks of AS/400

 

SEO [PR] 爆速!無料ブログ 無料ホームページ開設 無料ライブ放送