IMS 安裝層次 API 的 CALL 要求 (CALL)
使用 DFSGVRM API 的 CALL 功能,以取得 IMS 系統的版本、版次及修正層次。
當呼叫端應用程式發出 CALL 要求時, IMS 會建置參數清單以呼叫模組 DFSGVRM0,且參數清單由 DFSGVRMP 對映。 參數清單的儲存體由呼叫端應用程式取得,且長度必須為 GVRMP_LN。 使用 CALL 要求上的 PARMS 參數,將參數清單的位址指定為符號或暫存器。
CALL 函數會傳回包含 IMS 安裝層次且由DFSGVRMO對映的輸出區域。 輸出區域的位址位於參數清單的 GVRMP_A_OUTPUT_AREA 欄位中。 您可以選擇性地在 CALL 要求上使用 RETAREA 參數,以指定接收輸出區域位址的暫存器。 指定 RETAREA 參數可讓您避免呼叫端應用程式必須直接參照參數清單中的欄位。
如果在 CALL 函數傳回輸出區域之後, RETAREA 暫存器或參數清單欄位 GVRMP_A_OUTPUT_AREA 不是零,則不論呼叫端應用程式必須使用 REL 函數來釋放輸出儲存區的回覆碼。
CALL 要求的語法
CALL 要求的參數
- PARMS=符號 | (R2-R12)
- 指定要呼叫模組 DFSGVRM0的參數清單位址。 參數清單由 DFSGVRMP 對映。
如果指定為符號,則符號必須代表長度為 GVRMP_LN 的儲存體區域。
如果指定為暫存器,則暫存器必須指向長度為 GVRMP_LN 的區域。
- RETAREA = (R2-R12)
- 指定接收 DFSGVRM 模組所傳回且由DFSGVRMO對映之輸出區域位址的暫存器。
這是選用的參數。
如果未指定此參數,則輸出區域的位址位於參數清單的 GVRMP_A_OUTPUT_AREA 欄位中。
發出 CALL 功能的應用程式負責在 RETAREA 暫存器或 GVRMP_A_OUTPUT_AREA 欄位為非零時釋放輸出區域,不論巨集回覆碼為何。 當傳回的輸出區域不存在時,輸出區域位址會設為零。
- LOC=24|31
- 指定是否應從低於 (LOC=24) 或高於 (LOC=31) 16 MB 線擷取輸出區域。
這是選用的參數。
如果未指定此參數,則區域高於 16 MB 線 (LOC=31)。
CALL 要求的回覆碼和原因碼
發出 DFSGVRM FUNCT=CALL 要求時, IMS 會傳回暫存器 15 中的回覆碼,以及暫存器 0 中的原因碼。
| 回覆碼 | 原因碼 | 意義 |
|---|---|---|
| X'00000000 ' | X'00000000 ' | 已順利完成要求。 |
| X'00000008 ' | X'yyyyzzzz' | 無法 LOAD 模組 DFSGVRM0。 在原因碼中:
|
| X'0000000C' | DELETE 巨集的回覆碼 | 在順利呼叫 DFSGVRM0之後,嘗試刪除模組 DFSGVRM0 失敗。 提供的退貨區域有效且可供使用。 |
| X'00000010 ' | 來自 STORAGE RELEASE 的回覆碼 | 無法釋放 AREA= 參數所參照的輸出區域。 |
| X'00001008 ' | 儲存體取得的回覆碼 | DFSGVRM0 模組無法取得輸出區域的儲存體。 |
| X'0000100C' | X'yyyyzzzz' | 無法載入模組 DFSVC000。 在原因碼中:
|
| X'000010FF' | 各種 | 發生內部錯誤。 |
