概要
- RPGLEでのコーディングを、より他の言語に近づけて違和感を無くしたい! そう考えますと、アルファベット小文字を使ってコーディングしたくなってくるというものです。
操作手順
(1)P-COMMセッションの設定
- ホスト・コードページを、「939:日本語英数小文字拡張」に設定します。
(2)サインオンしたJOBのCCSIDを変更
CHGJOB CCSID(5035)
※CCSIDとは? こちらのサイトがわかりやすいです。 株式会社アクセル様 - CCSID説明のサイト
(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 カナ :アイウエオカキクケコサシスセソ
所感
- ソースのSSCIDと、ユーザーのCCSIDは同じにしないと、出力する文字が正しく表示されなかったり、文字化けしたりと不都合が生じます。(CCSIDのカタカナと英小文字の配列が、全く逆になっているからだそう。)
- やはり、ソースとユーザーのCCSIDは、特別な理由がない限り、同じにしておいたほうが無難でしょう。