iWorldトップ › フォーラム › ここなら聞けます。今さら聞けない基礎知識(初心者向け) › コンパイル時にオブジェクトの入れ替えが出来ない
- このトピックには3件の返信、2人の参加者があり、最後に
イグアス花子により2026年04月03日 9:03 AMに更新されました。
-
投稿者投稿
-
-
2026年3月26日 15:37 #11090
SPIKA
参加者STRPDMでCL、RPG等について14:コンパイルを行うと、コンパイル自体はエラーなしで通るのですが、「プログラムXXXXXXは作成されなかった」と表示されて、オブジェクトが入れ替わりません。
WRKACTJOBで確認すると、「置き換えられるオブジェクトとオブジェクトXXXXXXの所有者が同じでない」というメッセージが見られます。
確かに現状のオブジェクトの所有者とコンパイルをしようとするユーザーは違うのですが、コンパイルをしようとするユーザーは*ALLOBJ権限を持っているので、オブジェクトの入れ替えは可能との認識なのですが、何故か出来ません。
不思議なのは、POWER9でLPARを2つ作成して、もう片方の区画では上記条件で問題無くオブジェクトは入れ替わります。
(OSのバージョンは7.4、セキュリティレベル:20です)
*ALLOBJ権限を持っていても、REPLACE出来ない原因をご教授下さい -
2026年4月2日 09:19 #11104
イグアス花子
参加者ベストアンサーSPICAさん、こんにちは。
当事象ですが、出ているのは以下のメッセージでしょうか?
CPF2146
> 置き換えられるオブジェクトとオブジェクト XXXXXX の所有者が同じでない。~CPF2146 のメッセージから抜粋
原因−−ライブラリー XXXLIB のオブジェクト XXXXXX タイプ *PGM の所有者が,置き換えられるオブジェクトの所有者と同じではありません。QLIRNMO API で作成または名前変更されるオブジェクトは置き換えられるオブジェクトからユーザー・プロファイル (USRPRF) 属性を取るので,これらの所有者は同じでなければなりません。
置き換えることができるのは,ライブラリー XXXLIB のオブジェクト XXXXXX の現在の所有者だけです。
~CPF2146メッセージの抜粋ここまでこのメッセージは該当プログラムオブジェクトのユーザー・プロファイル(USRPRF)パラメータが *OWNER の場合に起こります。
プログラムオブジェクトの確認
> DSPPGM PGM(プログラム)
> ユーザー・プロファイルを参照
プログラムオブジェクトのユーザー・プロファイルパラメータが *OWNER の場合、例え *ALLOBJ を持っていても置き換えができません。そのため、コンパイル前に該当プログラムオブジェクトを削除する必要があるようです。
また、LPARの別区画では同じことをしても問題なくオブジェクトの入れ替えができる件につきましては、コンパイルしているユーザープロファイル、該当プログラムオブジェクトの所有者、該当オブジェクトのユーザー・プロファイル(USRPRF)パラメータをご確認いただけますでしょうか。
コンパイルしたユーザープロファイルとプログラムオブジェクト所有者が同じならば、ユーザー・プロファイル(OWNER)パラメータが *OWNER でも置き換え可能です。または、プログラムオブジェクトが *USER の場合は置き換え可能です。
以上、確認されてみてはいかがでしょうか?
-
2026年4月2日 13:52 #11105
SPIKA
参加者ご回答いただきまして、ありがとうございました。
確認した所、
「ユーザー・プロファイル. . . . . . . . . . . . : *OWNER」
となっていました。
ご回答を受け、コンパイルを行いたいユーザープロファイルをグループ化して、オブジェクトのオーナーとした所、オブジェクトを削除しなくてもコンパイル出来る様になりました(^^)
この度は大変参考になりました。ありがとうございましたそれしても、DELETE、CREATEは出来るのにREPLACEが出来ないって...
-
2026年4月3日 09:03 #11106
イグアス花子
参加者ユーザープロフィールをグループ化してOBJの*OWNERとされたのですね!
なるほど~~~、こちらも参考になります。それにしても、確かに、DELETE、CREATEはできるのにREPLACEできないってなんか残念な感じがありますよね・・・
-
-
投稿者投稿
- トピック「コンパイル時にオブジェクトの入れ替えが出来ない」には新しい返信をつけることはできません。
