ONCONDID 関数

目的

ON ユニットで処理される条件を識別する FIXED BINARY(31,0) の値を返します。

構文

ONCONDID()

または

ONCONDID

説明

ONCONDID は ON 条件識別子の省略形です。ON ユニットで処理される条件を識別する FIXED BINARY(31,0) の値を返します。ON ユニットまたはそのいずれかの動的子孫のコンテキスト内で使用されます。ON ユニット内から呼び出された ONCONDID() 組み込み関数によって返される値は、次のとおりです。

            area            = 1 
            attention       = 2 
            condition       = 3 
            conversion      = 4 
            endfile         = 5 
            endpage         = 6 
            error           = 7 
            finish          = 8 
            fixedoverflow   = 9 
            invalidop       = 10 
            key             = 11 
            name            = 12 
            overflow        = 13 
            record          = 14 
            size            = 15 
            storage         = 16 
            stringrange     = 17 
            stringsize      = 18 
            subscriptrange  = 19 
            transmit        = 20 
            undefinedfile   = 21 
            underflow       = 22 
            zerodivide      = 23

該当するコンテキスト以外で ONCONDID() が使用されている場合、null 文字列が返されます。

dcl cond_area   fixed bin(31) value(1);
dcl cond_error  fixed bin(31) value(7);
dcl cond_finish fixed bin(31) value(8);
on anycondition
    begin;
       on error system;
       select(oncondid());
           when(cond_area)
               do;
                   /* process AREA condition */
               end;
          when(cond_finish)
               ;
           when(cond_error)
               do;
                  /* process ERROR condition */
               end;
           other
               ;
       end;
     end;

制約事項

なし。