使用此檔案、記錄或欄位層次關鍵字,可指定 G 類型欄位支援 Unicode 資料,而非 DBCS 圖形資料。 與 DBCS 圖形字元一樣,Unicode 編碼單位的長度為兩個位元組。
CCSID(Unicode-CCSID | &Unicode-CCSID-field | *REFC
[field-display-length | *MIN | *LEN display-positions])
Unicode-CCSID 為必要參數。使用 Unicode-CCSID 參數可指定對此欄位使用 Unicode 編碼架構的 CCSID。Unicode-CCSID 參數可指定為最多 5 位數長的數字,或「程式至系統」欄位。您必須以長度 5 與資料類型 S 來定義「程式至系統」欄位。
您可以指定特殊值 *REFC,來取代 Unicode-CCSID 值。它只有在參照欄位上才有效,而且必須以指定 Unicode-CCSID 值的 CCSID 關鍵字來編碼參照的欄位。通常,顯示檔 CCSID 關鍵字將置換從參照之欄位取得的任何 CCSID 關鍵字屬性。如果已指定 *REFC,則會從參照的欄位取得 Unicode-CCSID 值。
field-display-length 參數是選用性的,當您在欄位層次指定 CCSID 關鍵字時,該參數才有效。您可以將 field-display-length 指定為 Unicode 編碼單位數。
當輸出作業中包含 Unicode 資料時,該資料會從相關聯的 Unicode CCSID 轉換為裝置的 CCSID。一般而言,資料的長度會在此轉換執行時有所變更。因此,您可使用 field-display-length 值來指定不同於預設顯示欄位長度的顯示欄位長度。G 資料類型欄位的預設顯示欄位長度,是針對欄位長度指定之編碼單位數的兩倍。
當資料長度在轉換後大於預設顯示欄位長度時,field-display-length 值可避免截斷欄位資料。當資料長度在轉換後變短時,field-display-length 值亦可藉由限制顯示欄位長度,來增加可用行距。欄位長度仍將用來定義欄位的輸出緩衝區長度。
FLD1 10G B 2 2 CCSID(X Y)
您可以指定特殊值 *MIN,來取代 field-display-length。 此值將用來指定依顯示位置定義的欄位長度。此值會使螢幕上的欄位長度等於在 DDS 中定義的 Unicode 編碼單位數。
您可以指定特殊值 *LEN 及 display-positions 值,來取代 field-display-length。 此值可用來指定依顯示位置定義的欄位長度。 此值會使螢幕上的欄位長度等於 display-positions 值。
如果在欄位層次及記錄或檔案層次指定 CCSID 關鍵字,則會以欄位層次關鍵字為優先。
輸出時,會截斷超出指定欄位長度的欄位資料。 輸入時,如果在 Unicode 欄位中輸入過多的字元,則欄位會反白影像,且在錯誤行上會顯示錯誤訊息,說明已輸入過多字元。您必須按 Reset 並更正該欄位。錯誤訊息中會傳送可輸入字元數的上限。
CCSID 關鍵字可與下列所有欄位層次關鍵字一起指定:
ALIAS |
DFTVAL |
ERRMSG |
選項指示器對此關鍵字無效。
下列範例將說明如何指定 CCSID 關鍵字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00010A CCSID(13488)
00020A R RECORD1
00030A FIELD1 30G
00040A FIELD2 10G CCSID(61952 6)
00050A R RECORD2 CCSID(1200)
00060A FIELD3 20G
00070A R RECORD3
00080A FIELD4 10G CCSID(61952 *MIN)
00090A FIELD6 10G CCSID(1200 *LEN 8)
為 FIELD1 指派 CCSID 值 13488。為 FIELD2 指派 CCSID 值 61952,並且其欄位長度為 6 個 Unicode 編碼單位(12 個 SBCS 字元)。 為 FIELD3 指派 CCSID 值 1200。FIELD4 將使用螢幕上的 10 個顯示位置。FIELD6 將使用螢幕上的 8 個顯示位置。