Hitachi

JP1 Version 12 JP1/IT Desktop Management 2 - Asset Console アクセス定義ファイル作成ガイド


[IF](条件分岐)

条件を指定して処理を分岐します。

条件が真の場合は[THEN]以降の処理をします。条件が偽の場合は、[ELSEIF]タグを使用して、さらに処理を分岐することもできます。すべての条件が偽の場合は[ELSE]以降の処理を実行し、[ELSE]が定義されていない場合は、処理を実行しません。

[ELSEIF]タグはいくつでも指定できますが、条件値を複数の定数と比較する場合は、[SWITCH]タグを使用して値となる定数を指定する方が、条件分岐の階層が深くならないため見やすく記述できます。[SWITCH]タグの記述例については、[SWITCH](条件分岐)を参照してください。

〈このページの構成〉

形式

[IF]
  条件1
  [THEN]
    条件1が真の場合の処理内容
([ELSEIF])
    条件2
  ([THEN])
    条件1が偽で、条件2が真の場合の処理内容
([ELSE])
    すべての条件が偽の場合の処理内容
[IF_END]

指定する値

記述例

例1

資産番号「10000」の資産情報を検索して、データがあった場合([THEN])そのデータを削除し、データがなかった場合([ELSE])終了状態を表示する記述例を次に示します。

[CLASS_FIND]
  AssetInfo
[FIND_DATA]
  (AssetInfo.AssetNo = '10000')
[GET_VALUE]
  ASSETID = AssetInfo.AssetID
 
[SET_VALUE]
  STATUS = $GETSTATUS()
[IF]
  STATUS = NORMAL
  [THEN]
    [DELETE]
      AssetInfo
    [DATA]
      AssetInfo.AssetID = ASSETID
    [SET_VALUE]
      MSG = 'CLASS_FIND (' +STATUS+ ')'
      $ECHO(MSG)
 
  [ELSE]
    [SET_VALUE]
      MSG = 'CLASS_FIND (' +STATUS+ ')'
      $ECHO(MSG)
[IF_END]
例2

次の処理を実行する記述例を示します。

  • データを正常に更新できた場合([THEN])終了状態を表示する。

  • すでにほかの制御で更新されている場合([ELSEIF][THEN])メッセージを出力する。

  • データがない場合([ELSE])データを追加する。

[UPDATE]
  AssetInfo
[DATA]
  AssetInfo.AssetID = '10000'
  AssetInfo.AssetNo = '10000'
  AssetInfo.AssetKind = '001'
  AssetInfo.AssetBranchNo = 0
  AssetInfo.UpdateTime = _UpdateTime
[SET_VALUE]
  STATUS = $GETSTATUS()
[IF]
  STATUS = NORMAL
    [THEN]
      [SET_VALUE]
        MSG = 'UPDATE (' +STATUS+ ')'
        $ECHO(MSG)
    [ELSEIF]
      STATUS = MULTI
        [THEN]
          [SET_VALUE]
            MSG = 'Asset number [10000] is updated already.'
            $ECHO(MSG)
    [ELSE]
      [APPEND]
        AssetInfo
      [DATA]
        AssetInfo.AssetID = '10000'
        AssetInfo.AssetNo = '10000'
        AssetInfo.AssetKind = '001'
        AssetInfo.AssetBranchNo = 0
      [SET_VALUE]
        MSG = 'UPDATE (' +STATUS+ ')'
        $ECHO(MSG)
[IF_END]