問題タブ [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 投票する
2 に答える
841 参照

java - JTOpen を使用して AS/400 に接続する場合の SQL インジェクションのリスク

JTOpen を使用して AS/400 マシンに接続しています。このタイプの統合を使用する場合に SQL インジェクションの脆弱性が発生するリスクを解決しようとしています。

jdbc 接続ではなく、API の呼び出しプログラム部分のみを使用していることに注意してください。

私は RPG プログラマーではなく、コードへの SQL インジェクションのリスクについての知識もありません。また、JTOpen API がこの種の攻撃を阻止するかどうかも知りません。

ストアド プロシージャを使用していない場合でも、RPGLE プログラムに SQL インジェクションを実行できる可能性があることを少しグーグルで調べたところわかりました。だから私の質問は次のとおりです。これは JTOpen API でも可能ですか。

JTOpen API へのすべての呼び出しで SQL インジェクションをプログラムでチェックする必要がありますか?

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

c# - RPGプログラムを呼び出すiSeriesストアード・プロシージャーがプログラムに値を返さない

SQLRPGLEプログラムを呼び出すストアドプロシージャがあります。デバッガーで確認したとおり、プログラムは正常に実行されており、期待どおりに戻り値を送信します。代わりに、を見ると何が返されますかcmd.Parameters["@ISMATCH"].Value = {}。私は何か間違ったことをしていると思います。どうなり得るか?

ストアドプロシージャ:

私の方法:

私のRPGプログラムのパラメーター:

0 投票する
6 に答える
2209 参照

sql - 2 つのテーブルのデータを比較する

値が一致していることを確認するために比較する必要がある 2 つのテーブルがあります。文脈上、1 つは従業員のタイムシートで、もう 1 つは従業員の要求を保持するテーブルです。それぞれにタイムシートコードと時間数があります。私の計画は、それらが一致するかどうかを要約して比較することでした。ただし、毎回ロジックを完全に機能させるのに問題があります。私が自分のコードを投稿しなければ (とにかくすぐにめちゃくちゃになってしまいます)、どのようにアプローチしますか? 比較はプログラムで実行できる必要があり、最終的に true/false を返します。

これは、RPG ソリューションまたは SQL ソリューションです。

これが真実であることを確認する必要があります。

問題はいつ

またはいつ

またはそれ以上の場合

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

ibm-midrange - websphere、SQL1103:QTEMPのテーブルSTVRECONWKの位置24の列定義が見つかりません

SQLRPGLEプログラムの最後に作成されてから削除されるテーブルがあります

WebSphereからコンパイルしようとすると、次のようになります。

SQL1103:QTEMPの表STVRECONWKの24桁目の列定義が見つかりません。

問題は、テーブルが存在しないことです。ターミナルセッションからテーブルを作成してからコンパイルすると(ターミナルからも)、コンパイラが同じジョブで実行されているテーブルを検証できるため、テーブルが機能します。

WebSphereでこれを行うにはどうすればよいですか?

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

ibm-midrange - RPG 変数をカーソル名として使用する SQL ステートメントの実行

カーソルとデータ構造をプロシージャに渡したいのですが、プロシージャはSQLカーソルから次の行を構造に取り込みます。これは可能ですか?私が達成しようとしているもののテンプレートを以下に示します。

どのようにカーソルを渡す必要がありますか?また、データ構造パラメーターをどのように定義しますか?

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

java - RPGLE インターフェースを使用する iSeries JAVA プログラムがイメージの処理中にクラッシュする

GnuPdf に基づいて PDF ファイルを作成する Java プログラムを作成しました。(Windows または iSeries QSH で) ネイティブ Java コードを使用して実行すると完全に実行されますが、RPGLE インターフェイスを介して実行すると、画像を処理するときにプログラムがクラッシュします (ランダムな間隔のように見えます)。これらの 1 つを追跡して .jar ファイルから画像をロードし、コードから呼び出しを削除しました。しばらくは機能していましたが、現在は IFS からロードされたイメージでクラッシュしています。RPGLE が何らかの形でファイルをロックしているのかもしれませんが、アイデアはありますか? コードはサービス プログラムから呼び出されます。

ここにスタックトレースがあります

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

java - RPGLEでString.formatを使用する

RPGLEを可変長の引数または配列を受け取るString.formatとインターフェースさせたいのですが、文字列だけでなく数値も渡したいので、のような形式を使用します"hello %s, you are %d years old"。誰かがRPGLEでこれをプロトタイプ化する方法についてアドバイスをくれますか?


アップデート

質問に戸惑う人もいるようです。明確にするために、RPGLEで以下のプロトタイプを作成したいと思います。メソッドの2番目の引数はvarargsパラメーターであるため、任意の数の引数を指定できることに注意してください。RPGLEは間違いなくこれをサポートしていませんが、サポートして*nopassいるので、これは私が必要とする結果を達成するのに役立ちます。

RPGLEで文字列をフォーマットする方法には興味がありません。Javaメソッドのプロトタイプを作成したいと思います。

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

php - 別のユーザーと同時に更新されないようにレコードを割り当てる方法

select sql(IBM iではDB2)を使用して、データベースからレコードを読み取り、ユーザーが変更および更新できるフォームに表示しています。

ここで、ユーザーがこのレコードを表示している場合、同時に別のユーザーは同じracordを表示することはできますが、更新することはできません。

どうすればいいですか?同時に更新を回避するために、レコードを割り当てる(またはブロックする)このレコードを選択する方法はありますか?(それを行うための同じphp命令がある場合も)

(たとえば、この問題を防ぐためにレコードを割り当てるCHAIN命令を使用するRPG言語プログラムを使用しています)

ありがとう!

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

ibm-midrange - RPGLEで文字型変数の長さを取得するには?

RPGLEで文字の長さと型変数を直接返す簡単な方法はありますか? ここで話している長さは、D-spec で指定されている長さではありません。文字列内の実際の意味のある文字数について話しています。文字型変数が 50 文字の長さと定義されていて、「Hello world!」という値が割り当てられているとします。必要な長さは「H」から「!」までの 12 です。先頭と末尾の空白は無視されます。これを行う簡単な方法はありますか?

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

sql - DB2 SQL結果テーブルを物理ファイルに移動するにはどうすればよいですか?

SELECTステートメントから結果テーブルを取得し、それを物理ファイルに移動したいと思います。

私は(W3Schoolsごとに)使用したいと思っていました:

残念ながら、IBMマニュアル(DB2 for i SQLリファレンス)によると

このステートメントは、最大で1つの行SELECT INTOで構成される結果テーブルを生成し、その行の値を変数に割り当てます。

だから私は多分私が使うことができると思いました:

このステートメントは、テーブルまたはビューに行を挿入します 。INSERTこのステートメントには3つの形式があります。1。using fullselect形式は、他のテーブルまたはビューの値を使用して1つ以上の行をテーブルまたはビューに挿入するために使用されます。
INSERT

残念ながら、それは私にはうまくいかないようです。

結果テーブルを物理ファイルに移動することはできますが、これを行うには、カーソルを宣言してdo … whileから、物理ファイルに一度に1レコードずつ書き込む必要があります。私はこれを醜くて不法SELECT INTOだと考えており、またはINSERT INTOステートメントを使用できることを望んでいました。

結果テーブルを1つのエレガントなステートメントで物理ファイルに「ダンプ」するのを手伝ってください。

OS:IBM i v6.1
データベース:DB2