如果您無法藉由使用 EDTCDE 關鍵字來取得所要的編輯,就可以使用此欄位層次關鍵字,來指定編輯字組。
EDTWRD('edit-word')
編輯字組可指定欄位值的顯示形式,並可藉由直接插入字元(如小數點、逗點、浮動貨幣符號、固定貨幣符號以及信用餘額指示器等),使資料更加清楚。 編輯字組還可用於抑制前導零,及提供星號填入樣式保護。
如果先前在資料庫檔中定義的欄位已指定 EDTWRD,您無需在顯示檔中,為該欄位指定 EDTWRD。 您可以在位置 29 中指定 R,以參照先前定義的欄位。 顯示檔中會包括為參照欄位指定的編輯設定。不過,如果您同時為顯示檔欄位指定了長度、 資料類型或小數位數,顯示檔就不會包括對參照欄位指定的編輯設定, 並且您必須在顯示檔中重新指定編輯設定。
編輯字組由三部分組成:主體、狀態及擴充。圖 1 顯示編輯字組的三個部分。
主體是從資料欄位傳送至輸出記錄的數字空間。主體從編輯字組的最左側位置開始。 它包含的空白數(針對零或星號加 1)等於要編輯之資料欄位的數字位數。 如果編輯字組中的第一個字元是零或星號,則它包含的空白數可能等於資料欄位中數字的位數。 主體結束於最右邊,可由數字取代的字元。
狀態位置顯示資料欄位的符號(+ 或 -)。狀態始終保持為主體右側的 CR(貸方)或 -(減號)符號。 當欄位為負值時,才會列印這兩個符號。沒有 CR 或 - 符號的編輯字組,不會有狀態位置。
編輯作業不會變更擴充位置。擴充部分是從狀態(如果未指定狀態,則為主體)右側的第一個位置開始,並結束於編輯字組最右側的字元。
下列字元在編輯字組的主體中使用時,具有特殊的意義:
如果緊接在零抑制碼左側放置一個貨幣符號,則會在第一個有效位數的左側位置, 插入貨幣符號。這種使用方式稱為浮動貨幣符號 。
如果在編輯字組的最左側放置貨幣符號,該貨幣符號會固定, 並且每次都會列印在相同的位置。這種使用方式稱為固定貨幣符號 。
貨幣符號不會視為數字取代位置。此符號必須對應於系統值 QCURSYM。
除非小數點及逗點位於第一個有效位數的左側,否則列印時, 會處於編輯字組中,它們的編碼所在的相同相對位置。在此情況下,它們會留空或以星號取代。
如果所有其他字元都位於編輯字組中有效位數的右側,則會列印它們。 如果它們位於編輯字組中高順序有效位數的左側,則它們會留空, 或如果有使用星號保護時,會以星號取代。
如果要在最左側位置列印常數,則常數的前面必須有一個零,且欄位長度增加 1。
下列字元在編輯字組的狀態中使用時,具有特殊的意義:
編輯字組的擴充部分字元一律是寫入的。 擴充部分不能包含空白。如果在已編輯的輸出欄位中需要空白,請在編輯字組的主體中指定&符號。
使用下列規則,可以指定有效的編輯字組:
EDTWRD('____$0.__)
其中的 _ 代表空白。
選項指示器對此關鍵字無效。
圖 2 顯示範例編輯字組, 其中包含欄位的程式值與欄位的顯示值(如已編輯狀態)。
下列範例顯示如何指定 EDTWRD 關鍵字。
|...+....1....+....2....+....3....+....4....+....5....+....6....+....7....+....8
00020A FIELDA 7 2 5 2EDTWRD(' $0. ')
A