Db2
有沒有辦法使用 SQL 獲取 RPG 程序的內容?
所以,我有一個查詢來列出我們的 RPG 程序:
SELECT OBJNAME FROM (SELECT OBJNAME AS SCHEMA FROM TABLE (QSYS2.OBJECT_STATISTICS('*ALLSIMPLE', 'LIB')) S) AS SCHEMAS ,LATERAL (SELECT * FROM TABLE(QSYS2.OBJECT_STATISTICS(SCHEMAS.SCHEMA, 'PGM')) X) AS PROGRAMS LEFT JOIN QSYS2.PROCEDURES ON QSYS2.PROCEDURES.PROCNAME = PROGRAMS.OBJNAME AND QSYS2.PROCEDURES.PROCSCHEMA = PROGRAMS.OBJLONGSCHEMA WHERE PROCNAME IS NULL AND SCHEMAS.SCHEMA = 'MYLIB' ;
現在,給定一個 RPG 程序的名稱,有什麼方法可以通過 SQL 獲取它的內容嗎?
(或者,失敗的 SQL,從 C# 應用程序中獲取內容的其他方式?)
取決於您對“內容”的定義…
在 v7.3 和 v7.4 中,IBM 添加了一些服務,用於程序資訊、模組資訊等… IBM i 服務 (SQL)
但是,如果您將“內容”視為源列表中的…
然後,您需要使用 DBGVIEW(*LIST|*COPY|*ALL) 編譯程序,然後使用調試器 API來檢索源…