RPG# とは潟Iフィスクアトロが独自に開発した ILE-RPG による
Web開発用の言語です。
RPG# もまた 通常の ILE-RPG であり IBM の ILE-RPG コンパイラーによって
コンパイル & 実行することができます。
RPG# は ILE-RPG の進化形であり、通常の ILE-RPG とは異なって次のような特徴があります。
ラジオ・ボタン | : | エディット・コントロール | : | ||
---|---|---|---|---|---|
押しボタン | : | コンボ・ボックス | : | ||
チェック・ボックス | : | テキスト・エリア | : |
SFLコントロール | : | ![]() |
---|
RPG# のコンパイラ(CRTWEBMOD) は HTMLテンプレート( .HTM ) から入出力イメージ用となる
DSPF ソースを自動生成して、この DSPF を外部ファイルとして RPG をコンパイルします。
ですから ...
どのようなDSPFが生成されているのかを開発者が知る必要はありません。
001.00 A DSPSIZ(24 80 *DS3) 002.00 A MSGLOC(24) 003.00 A PRINT 004.00 A R DSPHEAD 005.00 A GYONO 4Y 0O 1 2EDTCDE(3) 006.00 A SHCODE 10A O 1 2 007.00 A SHNAME 24O O 1 2 008.00 A SHTANK 7Y 0O 1 2EDTCDE(1) 009.00 A SHSCOD 4A O 1 2
DSPF は入出力バッファーとして利用されるだけで表示に利用されることはありませんので
24行 * 80 桁の制約は一切、ありません。
DSPF ですので EDTCDE, EDTWRD や RANGE, VALUES キーワードを使用することができます。
もちろんサブ・ファイルや 編集コード,編集語, 入力妥当性検査等も行うことができます。
また、QTEMP やライブラリー・リスト、セッション継続(Keep-Alive), COMMIT & ROLLBK も
行うことができます。
@ NOMAIN .... メイン・ルーチンが存在しないことを宣言しています。
A PROJECT1H は DSPF ですが実際の入出力は SPECIAL ファイルであり
HTMLDVR という HTMLドライバーが HTML との間を介在します。
B RPG# の実行には HTML ドライバーが HTML とのインターフェースを果たします。
C DSPHEAD.HTM で GOボタンが押されたら DSPHEAD_GO というプロシージャーを起動するよう
指示しています。これがイベント駆動の部分です。
D DSPHEAD_GO はボタンが押されたときの処理を記述しており DSPHEAD.HTM の内容を
READ DSPHEAD によって読んで、最後に WRITE SFLCTL01 によってSFLCTL01.HTM という
HTMLを出力します。
RPG# の Wizard 生成や保守/デバッグはすべて eStudio というブラウザ・ベースの開発スタジオで行うことができます。