本課程將簡短地逐步指導您,將 HowTo 自訂動作及其 4 個參數(value、string1、string2 和 option)新增至 PDS RAM 的步驟。
這些參數和動作是透過將適當的資訊提供給 CRA0VDEF 檔,而新增至 PDS RAM 的。
如需本課程步驟的相關資訊,請參閱 CARMA
Developer's Guide, Chapter 4. Customizing a RAM API using the
CAF。
- 請從列出您要延伸至 RAM 之 API 的動作開始。針對本範例,您將使用下列屬性來新增 HowTo 自訂動作:
- 名稱:HowTo
- 說明:提供使用延伸點來實作外掛程式專案的範例
- ActionID:100
- RAM ID:00
- 參數清單:value、string1、string2、option
- 回覆值清單:
提示: 如果是使用隨附的沒有自訂作業的「PDS 範例」,則下列的動作識別碼和 RAM ID 值應該是正確的;不過,如果已新增或移除 RAM、自訂動作或參數,請檢查以確保動作識別碼是下一個可用的動作識別碼,且 RAM ID 對應於「PDS RAM 範例」。.
- 在上述 HowTo 自訂動作的說明中,列出了參數和回覆值。其中的每一個參數都必須在 RAM 內定義。每一個參數的說明如下所示:
- 名稱:value
- 說明:一個一位數數值
- 參數 ID:000
- RAM ID:00
- 類型:字串
- 長度:1
- 常數:無
- 預設值:無
- 提示:請輸入一個一位數值:
- 名稱:string1
- 說明:一個字串
- 參數 ID:001
- RAM ID:00
- 類型:字串
- 長度:10
- 常數:無
- 預設值:無
- 提示:請輸入一個短的字串:
- 名稱:string2
- 說明:一個字串
- 參數 ID:002
- RAM ID:00
- 類型:字串
- 長度:10
- 常數:無
- 預設值:無
- 提示:請輸入一個短的字串:
- 名稱:option
- 說明:是或否選項
- 參數 ID:003
- RAM ID:00
- 類型:字串
- 長度:1
- 常數:無
- 預設值:無
- 提示是或否?
- 瞭解動作、參數及每一個的說明,將協助您建立要併入配置檔中的宣告。每一個動作和參數都會在本身的那一行定義,而其特定的 meta 資料將指定在預先定義的位元組長度內。
提示: 您也可以透過使用定位點作為定界字元,來定義動作和參數,而不使用為 meta 資料預先定義的位元組大小。請務必參閱 CARMA Developer's Guide, Chapter 4. Customizing a RAM API using the CAF,以取得此替代格式的詳細資料。
針對本範例,透過使用預先定義的位元組大小,將 HowTo 自訂動作宣告為:
A00100 000,001,002,003|
針對每一個各自的參數,其宣告為:
P00000 STRING 1 N
P00001 STRING 10 N
P00002 STRING 10 N
P00003 STRING 1 N
註: 針對動作和參數,記錄的前 8 個位元組稱為記錄鍵。
- 繼續之前,請先確保在「PDS RAM 範例」、CARMA 和主機系統之間沒有作用中的連線。
- 您應該將此資訊新增至 FEK.SFEKVSM2(CRA0DEF),並確保所有記錄鍵都依英數順序排序。請利用位於 FEK.#CUST.JCL(CRA$VDEF) 的 JCL Script 來複製 FEK.SFEKVSM2(CRA0DEF)。
- 接下來,針對您將在 CRA0VDEF 檔案中定義的每一個動作和參數,必須在 CRA0VSTR 檔案(其中包含動作或參數的任何和語言有關的資訊)中定義相對應的定義。
針對本範例,應該在
CRA0VSTR 中對自訂動作做如下定義:
EN_US 00037A00100 HowTo For demonstration. Does nothing.
針對範例中每一個參數,其定義為:
EN_US 00037P00000 value Enter a one-digit numerical value.
EN_US 00037P00001 string1 Enter a short string of text.
EN_US 00037P00002 string2 Enter a short string of text.
EN_US 00037P00003 option Y/N?
註: 針對動作和參數,記錄的前 21 個位元組稱為記錄鍵。
- 您應該將此資訊新增至 FEK.SFEKVSM2(CRA0VSTR) 檔案,並確保所有記錄都依英數順序排序。請利用位於 FEK.#CUST.JCL(CRA$VSTR) 的 JCL Script 來複製 FEK.SFEKVSM2(CRA0VSTR)。