Hitachi

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


$GETSTATUS(ブロック終了状態取得関数)

処理の終了状態を取得します。取得できる終了状態は、NORMAL(正常)、NODATA(データなし)、ERROR(異常)、MULTI(別ユーザでの更新あり)の4つです。

〈このページの構成〉

形式

返却値=$GETSTATUS()

指定する値

記述例

資産番号「R11111」の情報を検索し、その資産の状態を「在庫」に更新する場合の記述例を次に示します。この例では、検索後、ほかの制御で「R11111」の情報がすでに更新されている場合はエラーとなります。

[TRANSACTION]
  [CLASS_FIND]
    AssetInfo
  [FIND_DATA]
    (AssetInfo.AssetNo  = 'R11111')
  [GET_VALUE]
    ASSETID     = AssetInfo.AssetID
    ASSETSTATUS = AssetInfo.AssetStatus
    ASSETNO     = AssetInfo.AssetNo
    UPDCK       = AssetInfo.UpdateTime
 
  [SET_VALUE]
    STATUS = $GETSTATUS()
  [IF]
    STATUS = NORMAL
    [THEN]
      [UPDATE]
        AssetInfo
      [DATA]
        AssetInfo.AssetID     = ASSETID
        AssetInfo.AssetStatus = '301'
        AssetInfo.UpdateTime  = UPDCK
 
      [SET_VALUE]
        STATUS = $GETSTATUS()
      [IF]
        (STATUS = NORMAL)
        [THEN]
          [SET_VALUE]
            MSG = 'ASSETNO('+ASSETNO+') の状態を更新しました'
            $ECHO(MSG)
      [IF_END]
      [IF]
        (STATUS = MULTI)
        [THEN]
          [SET_VALUE]
            MSG = 'ASSETNO(' +ASSETNO+ ') はすでに他制御で更新されています'
            $ECHO(MSG)
      [IF_END]
      [IF]
        (STATUS != NORMAL) and (STATUS != MULTI)
        [THEN]
          [SET_VALUE]
            MSG = 'ASSETNO(' +ASSETNO+ ') の状態を更新できません'
            $ECHO(MSG)
      [IF_END]
 
    [ELSE]
      [SET_VALUE]
        MSG = 'ASSETNO(' +ASSETNO+ ') は登録されていません'
        $ECHO(MSG)
  [IF_END]
[TRANSACTION_END]

この例のように同時更新を抑止する場合は、「クラス名.UpdateTime」を検索時に取得して、取得した値をそのまま[UPDATE]タグで指定します。同時更新の抑止は、更新の場合だけに有効です。追加・削除では同時更新を抑止できません。