英数字定数は、コンピュータ画面での表示、レポートへの印刷、通信接続を介した伝送、またはPIC XまたはPIC Aデータ項目への格納に適した文字列である(5.3)。これらは、同等の数値計算に変換できない限り、算術式で使用することはできない。
英数字定数は、次の形式のいずれかを取ることができる。
一重引用符(‘)文字または二重引用符(“)文字で囲まれた一連の文字は、文字列定数を構成する。二重引用符(“)は定数内のデータ文字として使用することができる。データ文字として一重引用符文字を含める必要がある場合は、一重引用符を2つ続けて(‘‘)表現することで、一重引用符(‘)を定数内のデータ文字として使用することができる。二重引用符をデータ文字として含める必要がある場合は、二重引用符を2つ続けて(““)表現する。
X”4A4B4C”(4A4B4C16=ASCII文字列「JKL」)、x’20’(2016=空白)、X’30313233’(3031323316=ASCII文字列「0123」)などの16進数定数。「X」文字は大文字または小文字のいずれかで、一重引用符(‘)または二重引用符(“)文字を使用できる。16進数の英数字定数は、各文字が8ビット分のデータ(2桁の16進数)で表されるため、常に偶数の16進数で構成する必要がある。16進英数字定数の長さはほぼ無制限である。
英数字定数が長すぎて1行に収まらない場合は、次の2つの方法のいずれかで次の行に続けることができる。
ソースコード形式の固定モード(1.4)を使用している場合、英数字定数は72桁目まで実行できる。定数は、一重引用符または二重引用符(最初の行の定数を開始するときに使用した方)をコーディングすることにより、次の行の11桁目以降に続けることができる。次の行では7桁目にハイフン(–)をコーディングする必要がある。以下がその例である。
1 2 3 4 5 6 7 8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
01 LONG–LITERAL–VALUE-DEMO PIC X(60) VALUE “This is a long l
– “iteral that must
– “be continued.”
現在のソースコード形式に関係なく、opensource COBOLでは英数字定数を個別の断片に分割でき、それぞれに開始と終了の一重引用符または二重引用符があり、「&」文字を使用して「結合」されているため、7桁目にハイフン(–)をコーディングする必要はない。以下がその例である。
1 2 3 4 5 6 7 8
12345678901234567890123456789012345678901234567890123456789012345678901234567890
01 LONG–LITERAL–VALUE-DEMO PIC X(60) VALUE “This is a” &
“ long literal that must ” &
“ be continued.”
プログラムで自由モードのソースコード形式を使用している場合、文は255字にも及ぶ可能性があるため、長い英数字定数を続ける必要はほとんどない。
数字定数と予約語は、英数字定数と同じように、上記の方法のいずれかを使用して(予約語は1つ目の方法を使用して)複数の行に分割できるが、プログラムの見栄えが悪くなるため、この二つが分割されることは稀である。