UPCASE - テキストを大文字に変換
UPCASE 関数は、文字列を大文字に変換します。大文字と小文字が混在する値、および大文字のみの値が混在するフィールドをソートする際に役立ちます。大文字と小文字が混在するフィールドをソートすると、誤った結果が発生します。
FIDEL では、CRTFORM LOWER は入力内容の大文字と小文字を入力されたとおりに保持します。特定のフィールドへの入力内容を大文字に変換するには、UPCASE を使用します。
テキストを大文字に変換
UPCASE(length, source_string, output)
length
整数
source_string および output のバイト数です。
source_string
文字
変換する文字列です。文字列は一重引用符 (') で囲みます。文字列を含むフィールドを指定することもできます。
output
文字 (An または AnV)
結果が返されるフィールド、または出力値のフォーマットです。フォーマットは一重引用符 (') で囲みます。
大文字と小文字が混在する文字列を大文字に変換
UPCASE 関数は、LAST_NAME_MIXED フィールドを大文字に変換します。
DEFINE FILE EMPLOYEE LAST_NAME_MIXED/A15=IF DEPARTMENT EQ 'MIS' THEN LAST_NAME ELSE LCWORD(15, LAST_NAME, 'A15'); LAST_NAME_UPPER/A15=UPCASE(15, LAST_NAME_MIXED, 'A15') ; END
TABLE FILE EMPLOYEE PRINT LAST_NAME_MIXED AND FIRST_NAME BY LAST_NAME_UPPER WHERE CURR_JOBCODE EQ 'B02' OR 'A17' OR 'B04'; END
このリクエストを実行すると、名前は正しくソートされます。
出力結果は次のとおりです。
LAST_NAME_UPPER LAST_NAME_MIXED FIRST_NAME --------------- --------------- ---------- BANNING Banning JOHN BLACKWOOD BLACKWOOD ROSEMARIE CROSS CROSS BARBARA MCCOY MCCOY JOHN MCKNIGHT Mcknight ROGER ROMANS Romans ANTHONY
値がすべて大文字のフィールドを非表示にするには、そのフィールドに対して NOPRINT を指定します。
MODIFY による小文字フィールドの大文字への変換
ここでは、従業員名は先頭大文字、配属は大文字で格納することを想定します。
新しい従業員レコードを入力するため、MODIFY プロシジャ実行します。
MODIFY FILE EMPLOYEE
CRTFORM LOWER
"ENTER EMPLOYEE'S ID : <EMP_ID"
"ENTER LAST_NAME: <LAST_NAME FIRST_NAME: <FIRST_NAME"
"TYPE THE NAME EXACTLY AS YOU SEE IT ON THE SHEET"
" "
"ENTER DEPARTMENT ASSIGNMENT: <DEPARTMENT"
MATCH EMP_ID
ON MATCH REJECT
ON NOMATCH COMPUTE
DEPARTMENT = UPCASE(10, DEPARTMENT, 'A10');
ON NOMATCH INCLUDE
ON NOMATCH TYPE "DEPARTMENT VALUE CHANGED TO UPPERCASE: <DEPARTMENT"
DATA
END
プロシジャは、次のように処理されます。
- プロシジャは、CRTFORM 画面で従業員 ID、姓名、部署名の入力を要求します。CRTFORM LOWER オプションは、入力項目の大文字と小文字を正確に保持します。
- 次のデータを入力し、Enter キーを押します
ENTER EMPLOYEE'S ID :444555666 ENTER LAST_NAME:Cutter FIRST_NAME:Alan TYPE THE NAME EXACTLY AS YOU SEE IT ON THE SHEET ENTER DEPARTMENT ASSIGNMENT: sales
- プロシジャは、データソースから従業員 ID 444555666 を検索します。この ID が見つからない場合、トランザクションは続行されます。
- UPCASE 関数は、DEPARTMENT の入力項目「sales」を「SALES」に変換します。
ENTER EMPLOYEE'S ID : ENTER LAST_NAME: FIRST_NAME: TYPE THE NAME EXACTLY AS YOU SEE IT ON THE SHEET ENTER DEPARTMENT ASSIGNMENT: DEPARTMENT VALUE CHANGED TO UPPERCASE:SALES
- プロシジャは、このトランザクションをデータソースに追加します。
- PF3 でプロシジャを終了すると、受容および拒否されたトランザクション数を示すトランザクションメッセージが表示されます。
TRANSACTIONS: TOTAL = 1 ACCEPTED= 1 REJECTED= 0
SEGMENTS: INPUT = 1 UPDATED = 0 DELETED = 0