AS400/IBMi RPG COMP命令

IT関連

社内プログラムでCOMPを多用しているのがあったので、どういう動きをするのか調べてみた。

 

試しに

を実行してみた。

フラグ1つめは大なり、2つめは小なり、3つ目はイコール。よくあるやつだ。

 

上記ならば小なりなので、2つ目が真になり、

*IN40が0 *IN41が1 *IN42が0

になる。

 

ここで注目すべきは最初にすべてSETONしていること。

比較して条件を満たさないものはOFFられることに注意。

 

例えばこんなコードあったとして、フラグなんて1つでいいのでは?と思い全て40にするとかはダメ。

 

仮に最初の’01’で真になっても、その下で否にされてしまう。

COMPはよくあるCASE文ではない。

 

コメント

タイトルとURLをコピーしました