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

プロシジャは、次のように処理されます。

  1. プロシジャは、CRTFORM 画面で従業員 ID、姓名、部署名の入力を要求します。CRTFORM LOWER オプションは、入力項目の大文字と小文字を正確に保持します。
  2. 次のデータを入力し、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
  3. プロシジャは、データソースから従業員 ID 444555666 を検索します。この ID が見つからない場合、トランザクションは続行されます。
  4. 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
  5. プロシジャは、このトランザクションをデータソースに追加します。
  6. PF3 でプロシジャを終了すると、受容および拒否されたトランザクション数を示すトランザクションメッセージが表示されます。
    TRANSACTIONS:         TOTAL =     1  ACCEPTED=     1  REJECTED=     0
    SEGMENTS:             INPUT =     1  UPDATED =     0  DELETED =     0