AS400(IBMi)のソースをSQLで取得したい!!と思い、調べたときの備忘録です。
結論
ALIAS(別名)を一次的に作成してそれに対してSQLを発行してあげることで簡単にソースを参照することができました。
CREATE ALIAS QTEMP.ALIAS FOR ソースライブラリ.ソースファイル(メンバ名); SELECT * FROM QTEMP.ALIAS ; DROP ALIAS QTEMP.ALIAS;
QTEMP.ALIASの部分は適当です。あくまで一次的なALIASなのでライブラリはQTEMPを指定してみました。
ALIASを作成せずにソースライブラリ.ソースファイル(メンバ名)をSQLで指定できればいいのですが、これを指定するとエラーになります。
ALIASを使うことでエラーを回避する恰好になります。
例えばLIB名:SRCLIB ファイル名:QRPGSRC メンバ名:RPGTST というメンバを取得するときは次のようにします。
CREATE ALIAS QTEMP.ALIAS FOR SRCLIB.QRPGSRC(RPGTST); SELECT * FROM QTEMP.ALIAS; DROP ALIAS QTEMP.ALIAS;
ソースメンバのカラム
ソースメンバには下記の3つのカラムがあるようです。
- SRCSEQ:ソースの項番
- SRCDAT:ソースの修正日
- SRCDTA:ソースの内容←これが実際のソースになります。
参考
AS/400でメンバをSQLで操作するには? - 一所懸命に手抜きする すごく参考にさせて頂きました。大変ありがとうございました。この場を借りてお礼申し上げます。