バージョン 6.3.3
 —  ステートメント  —

IF SELECTION

ストラクチャードモード構文

IF SELECTION [NOT UNIQUE [IN [FIELDS]]] operand1
  [THEN] statement
  [THEN statement]
END-IF

レポーティングモード構文

IF SELECTION [NOT UNIQUE [IN [FIELDS]]] operand1
  [THEN]

statement

 
  DO statement DOEND

ELSE

statement
DO statement DOEND

このドキュメントでは、次のトピックについて説明します。

構文図で使用されている記号については、「構文記号」を参照してください。

関連ステートメント:DECIDE FOR | DECIDE ON | IF | ON ERROR

関連機能グループ:「論理条件の処理


機能

IF SELECTION ステートメントは、連続して指定された英数字フィールドのうち 1 つのフィールドにのみ値が含まれていることを確認するために使用します。

Top of page

構文説明

オペランド定義テーブル:

オペランド 構文要素 フォーマット ステートメント参照 ダイナミック定義
operand1   S A     A U               L C     不可

構文要素の説明:

operand1
選択フィールド:

operand1 として、チェックされるフィールドを指定します

属性制御変数(フォーマットC)を指定する場合は、そのステータスが "MODIFIED" に変更されたかどうかが考慮されます。 属性制御変数にステータス "MODIFIED" が割り当てられているかどうかを確認するには、MODIFIED オプションを使用します。

THEN statement
実行するステートメント:

キーワード THEN に続くステートメントは、次のどれかが満たされるときに実行されます。

  • 指定された全フィールド(operand1)の値が空値。

  • 指定フィールドのうち複数フィールド(operand1)が空値ではない。

一般的に、このステートメントは、INPUT ステートメントで表示されたマップに対して、端末ユーザーが 1 つの値だけを入力したことを確かめるために使用されます。

注意:
条件に合うときに何もしない場合は、THEN 節に IGNORE ステートメントを指定します。

END-IF Natural 予約語 END-IF を使用して、IF SELECTION ステートメントを終了させる必要があります。

Top of page

** Example 'IFSEL': IF SELECTION                                        
************************************************************************
DEFINE DATA LOCAL                                                       
1 #A (A1)                                                               
1 #B (A1)                                                               
END-DEFINE                                                              
*                                                                       
INPUT 'Select one function:' //                                         
   9X 'Function A:' #A                                                  
   9X 'Function B:' #B                                                  
*                                                                       
IF SELECTION NOT UNIQUE #A #B                                           
  REINPUT 'Please enter one function only.'                             
END-IF                                                                  
*                                                                       
IF #A NE ' '                                                            
  WRITE 'Function A selected.'                                          
END-IF                                                                  
IF #B NE ' '                                                            
  WRITE 'Function B selected.'                                          
1 #A (A1)                                  
1 #B (A1)                                  
END-DEFINE                                 
*                                          
INPUT 'Select one function:' //            
   9X 'Function A:' #A                     
   9X 'Function B:' #B                     
*                                          
IF SELECTION NOT UNIQUE #A #B              
  REINPUT 'Please enter one function only.'
END-IF                                    
*                                          
IF #A NE ' '                               
  WRITE 'Function A selected.'             
END-IF                                     
IF #B NE ' '                               
  WRITE 'Function B selected.'             
END-IF                                     
*                                          
END                                       

プログラム IFSEL の出力:

Select one function:                        
                                            
         Function A:           Function B: 

機能 A を選択して確認した後:

Page      1                                                  05-01-17  11:04:07
                                                                               
Function A selected.                                                          

Top of page