ページの先頭行へ戻る
Symfoware Server V10.0.0/V10.0.1 アプリケーション開発ガイド(埋込みSQL編)

Linux3.2.10 UNICODEを使用する場合のエンディアンの選択

アプリケーションの文字コード系をUNICODEで動作させる場合、日本語項目の表現形式はUCS-2のリトルエンディアン形式となります。

以下の富士通COBOL製品を使用した場合、コンパイル時にUCS-2の形式としてビッグエンディアン形式を選択することができます。

レコード順ファイルや相対ファイルを使用して、アプリケーションにデータの入出力を行う場合、ファイルの日本語項目の表現形式は、アプリケーションのコンパイル時に指定した形式と同じになります。

コンパイル時にUCS-2の形式をビッグエンディアン形式にすることで、レコード順ファイルや相対ファイルのデータがUCS-2のビッグエンディアン形式となり、他のプラットフォームと共通で使用可能となる利点があります。

オプションの指定方法

以下に、UCS-2のビッグエンディアン形式を使用する場合のコンパイル例を示します。

sqlcobolを使用する場合

sqlcobol -RCS BE demoU01main.scob -M -o ../bin/demo01

sqlpcobを使用する場合

sqlpcob -RCS BE demoU01main.scob
cobol -WC,"RCS(UCS2,BE)" -M -o ../bin/demo01 demoU01main.cobol -L/opt/FJSVrdb2b/lib -lsqldrv

注意

プレコンパイルとコンパイルを別々に実行する場合は、COBOLコンパイラにRCSオプションを必ず指定してください。

また、複数のコンパイル単位から構成されるアプリケーションは、すべて同じRCSオプションを指定してコンパイルしてください

使用例

レコード順ファイルを使用したプログラム例を以下に示します。

コンパイル時にUCS-2の形式をビッグエンディアン形式にすることで、プログラム内にエンディアンを意識した処理を入れることなく、共通のデータファイルを使用可能になります。

000100 IDENTIFICATION DIVISION.
000200 PROGRAM-ID. R-INS001.
000300 ENVIRONMENT DIVISION.
000400   INPUT-OUTPUT SECTION.
000500    FILE-CONTROL.
000600      SELECT FILE001
000700        ASSIGN TO "./FILE0001".
000800 DATA DIVISION.
000900   FILE SECTION.
001000   FD FILE001.
001100   01 RECORD01.
001200    02 FNCOL01   PIC N(5).
001300 WORKING-STORAGE SECTION.
001400     EXEC SQL BEGIN DECLARE SECTION END-EXEC.
001500 01 SQLSTATE PIC X(5).
001600 01 SQLMSG   PIC X(255).
001700 01 HOST1    PIC N(10).
001800     EXEC SQL END   DECLARE SECTION END-EXEC.
001900*
002000 PROCEDURE DIVISION.
002100*
002200*
002300* CONNECT
002400     EXEC SQL
002500             CONNECT TO DEFAULT
002600     END-EXEC.
002700     DISPLAY "PTST:SQLMSG : " SQLMSG
002800
002900* SELECT
003000     EXEC SQL
003100             SELECT COL1 INTO :HOST1 FROM S.T1
003200                        WHERE COL1= 100
003300     END-EXEC.
003400     DISPLAY "PTST:SQLMSG : " SQLMSG
003500
003600* COMMIT
003700     EXEC SQL
003800             COMMIT WORK
003900     END-EXEC.
004000     DISPLAY "PTST:SQLMSG : " SQLMSG
004100
004200* DISCONNECT
004300     EXEC SQL
004400             DISCONNECT DEFAULT
004500     END-EXEC.
004600     DISPLAY "PTST:SQLMSG : " SQLMSG
004700
004800     OPEN OUTPUT file001.
004900     WRITE RECORD01 FROM HOST1.
005000     CLOSE FILE001.
005100
005200     EXIT PROGRAM.
005300