0

RPGIVを学びたいです。私はその言語をあまり理解していません。無料のオンライン リソースを探していますが、これまでのところ、有料のサイトを見つけました。

私が学びたい理由は、Web サービスを呼び出す RPG 関数を使用しているためです。一般的な内部サーバー エラー 500 が表示されます。正しい質問をして、これを解決できるように、RPGIV を学習したいと思います。

4

1 に答える 1

5

これは非常に幅広い質問です。なぜRPGIVなのか、そしてそれを何に使うのかについて少し説明できれば、答えの有用性は増します。

JavaやC++とは異なり、RPGIV用のPCベースのコンパイラはありません。RPG IVは、IBMミッドレンジシリーズのコンピューターでのみ実行されるため、コードを試すには、コンピューターにアクセスできる必要があります。 HolgerSchererは公共の機械を利用できます; 他にもあるかもしれませんが、それは薄い市場です。

一般的に言って、RPGIVを学ぶだけでは十分ではありませ。ミッドレンジコンピューターで役立つようにするには、最低限でもDDSCLを理解する必要があります。これらに加えて、コンパイラリストがどの出力キューに入ったか、ジョブをバッチに送信する方法(および「ジョブ」とは何か)、ライブラリリストの使用方法などの基本的な作業管理の概念を学ぶ必要があります。また、 ILEについても学ぶことを強くお勧めします。組み込みデータベースはDB2です変異体; 初心者のプログラマーは、データベースがどのように構築されているか、さまざまなテーブルが互いにどのように関連しているかを理解することほど、データベースの作成には関心がありません。これは、データベース、それを設計したビジネスに厳密に依存しています。プログラマーはEmbeddedSQLを使用するので、そのマニュアルとSQLプログラミングおよびSQLリファレンスのマニュアルを参照してください。

編集:

RPG IVを読んでいれば、理解するのはそれほど難しくありません。それを書くのはもう少し手間がかかります:-)さらに、奇妙に見えるかもしれない部分のいくつかを案内してくれる地元の情報源があるように聞こえます。私の当面のアドバイスは、RPG IVプログラムをデバッグして、何が行き来するかを監視することです。(STRDBG)それをWebサービスの作成者が提供する例(Javaでは多分?)と比較し、HTTPリクエストが何らかの形で不正であるかどうかを確認します。

この質問はRPGの学習に関するものであり、500エラーのデバッグではないため、学習の側面に焦点を合わせ続けます。デバッグについてサポートが必要な場合は、別の質問を開始して、関連するコードを投稿してください。コードを取得する方法はDSPPGM、RPG IVプログラムを実行し、それを構成するモジュールを探すことです。モジュールの詳細を表示し(オプション5)、ソースファイル、ライブラリ、およびメンバー名を追跡します。次に、WRKMBRPDMソースファイルとライブラリで、右上の[位置]フィールドにソースメンバー名を入力します。Enterキーを押すと、そのソースメンバーがリストの一番上に表示されます。オプション5を使用して、ソースメンバーを参照します。

非常に簡単に言えば、F仕様は、プログラムが使用するテーブルを記述します。RPGは、、、、などREADの操作コードを持つファイルを使用します。プログラムが埋め込みSQLを使用している場合、RPGが使用するテーブルに加えてSQLが使用するテーブルが存在する可能性があります。ステートメントで指定されたものが表示されます。WRITEEXCEPTUPDATEEXEC SQL

D仕様は、個々の変数、配列、データ構造など、すべての作業変数を記述します。

C仕様は、実際の計算が行われる場所です。これらは/自由形式の計算を使用する人には非推奨と見なされますが、遭遇する可能性があります。固定形式のC仕様はcolumnnarです。特定の列は非常に特定のことを意味します。最も重要な列は、ファクター1、オペコード、ファクター2、および結果です。このスタイルの一般的な計算はBUFFERLEN ADD 1 BUFFERLEN、変数BUFFERLENを1つインクリメントするものです。

固定形式のC仕様の変形は拡張ファクター2です。同じ計算は次のようになります(empty factor 1) EVAL BUFFERLEN = BUFFERLEN + 1。これは、コードで見るとより意味があります。

自由形式の計算では、列はまったく関係ありません。上記の計算は次のようになりますBUFFERLEN += 1;またはBUFFERLEN = BUFFERLEN + 1;

O仕様は、内部で記述された出力がどのように生成されるかを記述します。これは通常、印刷されたレポートの場合ですが、実際のファイル出力がここで説明されている場合があります。

サブルーチンは自明です。サブ手順には、少し説明が必要な場合があります。これらは基本的に関数呼び出しです。PR仕様はプロトタイプを記述しているため、コンパイラーは変数を型チェックできるようになり、PI仕様は実際の手順を記述します。(D仕様で)プロシージャ内で宣言された変数は、そのプロシージャに対してローカルです。RPGプログラム・ソースに含まれていないが、代わりにサービス・プログラムにバインドされているプロシージャーに遭遇する可能性があります。でそれらを見ることができますDSPPGM

于 2012-08-28T14:03:27.217 に答える