RPG

172. バインド・プロシージャーが重複してしまったら !?

サービス・プログラム同士で、うっかりプロシージャー名が重なってしまった !!

つまり例えば、SET_PROC という名前のプロシージャーは サービス・プログラム : SVR001 でも

サービス・プログラム : SVR002 でも EXPORT されている。

このとき上位のプログラムで、これらの2つのサービス・プログラムをバインドしようとするとプロシージャー名の

重複エラーとなって CRTPGM は失敗する。

多くのプロシージャーをサービス・プログラムで開発していると、偶然にも同じ名前が重なってしまうことがある。

しかも、どちらのプロシージャーの名前も変更することができない。

このようなプロシージャーの重複を一時的にでも避けて *PGM を作成することができる方法がある。

それはプログラム作成( CRTPGM )コマンドにおいて

作成オプション .............................. *DUPPROC

を指定することである。

*DUPPROC を指定すると最初に見つかったプロシージャーだけが採用されてプログラムが生成される。

もちろん根本的にはプロシージャー名の重複を避けることが望ましい。