概要
- RPGLEでのコーディングを、より他の言語に近づけて違和感を無くしたい! そう考えると、アルファベット小文字を使ってコーディングしたくなってくるというものです。
操作手順
(1)P-COMMセッションの設定
ホスト・コードページを、「939:日本語英数小文字拡張」に設定します。
(2)サインオンしたJOBのCCSIDを変更
CHGJOB CCSID(5035)
CCSIDとは? こちらのサイトがわかりやすいです。 http://www.axel.ne.jp/i-web/rpg/document/ccsid.htm
(3)CCSID5035のソースPFの作成
CRTSRCPFにて
CRTSRCPF FILE(TIGER/RPGLESRC2) RCDLEN(112) IGCDTA(*YES) TEXT(' 英小文字可能ソース PF') CCSID(5035)
(4)ソースの作成
STRSEU等で作成
STRSEU SRCFILE(TIGER/RPGLESRC2) SRCMBR(KOMOJITEST) TYPE(RPGLE)
- 英語小文字を入力したい場合、「Ctrl」+「F3」キーを打鍵し、入力する。
- 変数名は、大文字、小文字は同一文字として認識されるので注意。(変数ABCとabcは同じ変数とみなされます)
TIGER/RPGLESRC2 KOMOJITEST
H datEdit(*YMD/) H* D**************************************************************** D* Main-Line D**************************************************************** /free // 表示テスト dsply (' 全角 :' + 'あいうえお123漢字'); dsply (' 数字 :' + '0123456789'); dsply (' 英大 :' + 'ABCDEFGHIJKLMN'); dsply (' 英小 :' + 'abcdefghijklmn'); dsply (' カナ :' + 'アイウエオカキクケコサシスセソ'); *inLR = *on; return; /end-free
動作テスト
・CCSID=5035のJOBにて
> CALL PGM(TIGEROBJ/KOMOJITEST) DSPLY 全角 : あいうえお123漢字 DSPLY 数字 :0123456789 DSPLY 英大 :ABCDEFGHIJKLMN DSPLY 英小 :abcdefghijklmn DSPLY カナ :アイウエオカキクケコサシスセソ
・CCSID=5026のJOBにて
> CALL PGM(TIGEROBJ/KOMOJITEST) DSPLY 全角 : あいうえお123漢字 DSPLY 数字 :0123456789 DSPLY 英大 :ABCDEFGHIJKLMN DSPLY 英小 :アイウエオカキクケタチツテト DSPLY カナ : ←表示されない。 さらに、「Ctrl」+「F3」で、表示切替をすると・・・ DSPLY 全角 : あいうえお123漢字 DSPLY 数字 :0123456789 DSPLY 英大 :ABCDEFGHIJKLMN DSPLY 英小 :abcdefghijklmn DSPLY カナ :アイウエオカキクケコサシスセソ
所感
- ソースのCCSIDと、ユーザーのCCSIDは同じにしないと、出力する文字が正しく表示されなかったり、文字化けしたりと不都合が生じます。(CCSIDのカタカナと英小文字の配列が、全く逆になっているからだそう。) やはり、ソースとユーザーのCCSIDは、特別な理由がない限り、同じにしておいたほうが無難でしょう。