問題タブ [rpgle]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
1484 参照

memory-management - RPGLE プログラムでメモリ リークが持続する期間はどのくらいですか?

%alloc私は、使用してメモリを割り当てるRPGLEコードをいくつか生産していdeallocます。プログラマーは結果としてメモリ リークが発生しないことを確認できるはずですが、そうでない場合はどうなるか心配です。

私の質問は、プログラマーが失敗しメモリ リークが発生した場合、このメモリはいつ回収されるのでしょうか? プログラムがメモリを離れたときですか、それともジョブが終了したときですか?

0 投票する
4 に答える
11428 参照

stored-procedures - IBM i 上の外部ストアード・プロシージャー

IBM i (V5R4) で外部ストアード・プロシージャーを作成しようとしていますが、実行しようとするとエラーが発生します。

私がやりたいことは、パラメーターを渡すことも、データを返すことを心配することもなく、RPG プログラムを呼び出すことだけです。申し訳ありませんが、私は RPG プログラマーでも IBM i の専門家でもありません。そのため、非常に単純なことを見落としている可能性があります。

プロシージャを作成するための SQL:

CALL SOMELIB.SOMEPROC() を実行すると発生するエラーは次のとおりです。

SQL 状態: 38501
ベンダー コード: -443
メッセージ: [CEE9901] アプリケーション エラーです。RNX1216 は、ステートメント 2100000001、命令 X'0000' で BB1002RG によって監視されていません。原因 。. . . . : 例外が発生して処理されなかったため、アプリケーションは異常終了しました。未処理の例外が送信されるプログラムの名前は SOMERG SOMERG です。メッセージが送信された時点で、プログラムは高水準言語ステートメント番号で停止されました。複数のステートメント番号が示されている場合、そのプログラムは最適化された ILE プログラムです。最適化では、単一のステートメント番号を決定することはできません。*N が値として表示されている場合は、実際の値が利用できなかったことを意味します。回復 。. . 処置: 前にリストされた低レベルのメッセージを参照して、例外の原因を特定してください。エラーを修正してから、要求を再試行してください。

0 投票する
4 に答える
874 参照

refactoring - iSeries (RPG) でのリファクタリング、現実的か

プロジェクトにアジャイルを実装するには、リファクタリングを行う能力が必要です。必須ではありませんが、コードのリファクタリングは優れたエンジニアリング プラクティスであることが証明されています。

RPG、RPG LE での開発 (新しいコードとレガシー コードの変更) を必要とする iSeries プラットフォーム上のアジャイル (スクラム) プロジェクトでは、リファクタリングを実装できますか? もしそうなら、それを行うためのテクニックは何ですか?

それを試した人が自分の経験を共有したり、参考文献を指摘したりすることができれば、私はそれを大いに感謝します.

0 投票する
2 に答える
3215 参照

ibm-midrange - RPGLE で文字の EBCDIC 値を取得するにはどうすればよいですか?

RPGLE の単一文字を整数に変換する方法が必要です - 誰か良い方法を知っていますか? 可能なすべての入力に対して機能し、理想的には入力ごとに異なる整数を提供する必要があります。少なくとも、すべての共通入力に対して異なる値を提供する必要があります。整数が何であるかは特に気にしません。C のような言語では、ASCII 値などを使用します。理想的には、それに相当する値が必要です。

どのように機能させたいかを明確にする例:

これは印刷されます

ただし、実際には数字が何であるかは気にしないことに注意してください。数字は入力ごとに異なるだけです。

これらはすべて、RPGLE で文字データのハッシュ関数を作成するのに役立ちます。そのため、それを行う良い方法を知っていれば、それがより良い答えになります。

0 投票する
3 に答える
607 参照

ibm-midrange - プログラムをクラッシュさせずにオーバーフローする ILE RPG の数値型はありますか?

C の int と同様の方法で、オーバーフローしたときに「ラップ ラウンド」する ILE RPG の数値型を探しています。そのようなことはありますか?

0 投票する
1 に答える
536 参照

c# - RPG と .NET を使用して XML をやり取りする

ここで、RPG と C#.NET を使用して XML をやり取りするためのベスト プラクティスについて、私は途方に暮れています。本来はQTEMPで一時物理ファイルを使うつもりだったのですが、もっといい方法があるようです。一時ファイルには、ファイルの 1 つのレコードにドキュメントの 1 行が含まれます。私には、これは実際には必要ないはずの多くの余分な作業を追加しているように思えます。双方向通信を探しています。

1 つの考えは、32000 文字のパラメーターを前後に渡すことですが、それは本当に良い考えでしょうか? ドキュメントがたまたまそれよりも大きい場合はどうなりますか? 私はその限界に達するとは思わないので、多分大丈夫でしょうか?

一時 IFS ファイルの作成はどうですか? それも必要以上の仕事のようです。

あなたの考えは何ですか?

明らかに、RPG と C# プログラムの両方が XML ドキュメントを読み取って処理します。

0 投票する
4 に答える
3568 参照

java - Java からの AS400 RPG の呼び出し

私は AS400 と RPG について非常に限られた (0) 知識しか持っていません。しかし、Java クラスから RPG プログラムを呼び出す必要があるという緊急の要件があります。そこで、JTOpen を通じてそれを実現できることがわかりました。しかし、私は ProgramParameter リストの宣言に行き詰まっています。私はRPGプログラムについて次の情報を持っています

プログラム名: ZM30000R パラメータ: 支店 7,0 (数値)
口座タイプ 2 (01-小切手、02 貯蓄)
口座番号 20 (文字)
エラー コード 7 (文字) DR/CR インジケータ 1 (文字 D、C)

しかし、入力と出力が何であるかについての手がかりはありません。ProgramParameterを宣言する方法。以下のようにしました。これらのシステムに接続できないため、同様にテストできません。

どんな助けも本当に非常に役に立ちます。

よろしくお願いいたします。

スリニバス

0 投票する
1 に答える
1140 参照

ibm-midrange - rpg プログラムの再帰的な実行

rpg プログラムを再帰的に実行していますが、このアプリケーション エラーのようなエラーが発生します。RNX8888 は、ステートメント *N、命令 X'0000' で PGM1 によって監視されていません。トリガープログラムまたは外部ルーチンがエラーを検出しました...解決策は何ですか...緊急..ありがとう

0 投票する
1 に答える
1030 参照

c# - RPGとC#およびSQLの比較

RPGプログラム(AS / 400上のIBMの言語の1つ)では、ファイルに「チェーン」して、レコード(たとえば、特定の顧客レコード)がファイルに存在するかどうかを確認できます。もしそうなら、私はそのレコードを新しいデータで即座に更新することができます。レコードが存在しない場合は、新しいレコードを書き込むことができます。コードは次のようになります。

SQL / C#にあまり詳しくないので、ファイルからランダムに取得する方法があるかどうか疑問に思っています(これは、RPGで「チェーン」が行うことです)。基本的に、レコードが存在するかどうかを確認したいと思います。含まれている場合は、新しい情報でレコードを更新します。そうでない場合は、新しいレコードを書きたいと思います。それは可能だと確信していますが、どうすればよいのかよくわかりません。アドバイスをいただければ幸いです。

0 投票する
2 に答える
1486 参照

ibm-midrange - rpgle でキー値を更新する際のポインターの処理

私のコードは次のようになります:

これは、キーとして ecode を持つレコード形式名 recemp の emp という名前のファイルです...

ファイルを読み込んでから、setgt を使用せずに ecode を更新すると、ポインタが先に移動せず、同じ ecode 値を何度も更新しています ...

set gt ポインターを使用すると、次のレコードが選択されますが、2 つの ecode 値が同じ場合は機能しません...それ以外の場合は、降順のキー値でも機能しません...

値が同じか、昇順か降順かに関係なく、ポインターを設定できるようにするための解決策はありますか。