問題タブ [rpg]
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.
java - Java からの RPG プログラム呼び出しで SaveObject ジョブが失敗する
Java から RPG プログラムを呼び出そうとしています。次のように DriverManager を使用して、プログラムを正しく実行できます。
しかし...これは私がやりたい方法ではありません。JNDI を使用して 400 に接続し、プログラム呼び出しを実行したいと考えています。これは、SELECT、UPDATES、DELETES などを実行する方法です...
ここに私がこれまでに持っている疑似コードがあり、SaveObject で RPG が失敗しています。
これは JNDI 接続の問題ですか、それとも RPG の問題ですか?
更新: SaveObject ジョブが機能するようになると、テーブルがロックされていると表示されます。RPG呼び出しを実行する前に、このテーブルに対して挿入と削除を行っています...アイデアはありますか? 処理後にデータベースへのすべての接続を閉じても、テーブルがロックされたままになる原因は何ですか。
ibm-midrange - 初心者向け RPG IV のヘルプが必要
というわけで、ただやりたいという理由だけで RPG IV を学んでいます...そして、実際に意味のあるコード例を見つけるのに苦労しています。今、私は本を完成させる方法がわからない演習を行っています..誰かがこれを見て、これを行う方法についていくつかの手順やアドバイスを与えることができますか?
これは本の練習です:
この次のファイルは、演習で使用する必要がある外部記述ファイルです。
誰でもこれを手伝ってもらえますか?
rpg - 「メンバー タイプ RPGLE では実行プロシージャ オプションを使用できません」とはどういう意味ですか?
「メンバー・タイプ RPGLE では実行プロシージャー・オプションは使用できません」とはどういう意味ですか?
ibm-midrange - RPG 特殊文字 '|' のユーザー入力を制限する 名前フィールドまたはデータ入力フィールド
ユーザーが特殊文字「|」を入力できないようにしたい (パイプ) 任意の名前フィールドまたはデータ入力フィールド。
チェックは、RPG/RPGLE プログラム (ここで説明されているように) ではなく、画面自体から行う必要があります。
ユーザーがテキスト フィールド (文字タイプ) に特殊文字 (キーボードに表示されない記号など) を入力できないようにする方法は? )
表示ファイルでVALUES()関数を使用してみましたが、関数で言及されている文字のみが許可されます。例のために。
VALUES('A' 'B'...)
'|' を保持しない その中でそれを許可しないようにしますが、許可してはならないものを禁止する可能性があるため、非常に制限されます。
ibm-midrange - iSeries - 同じジョブ/セッションによるレコード ロック
以下のシナリオで問題が発生しています。
プログラム A からのファイル MYFILE にレコード ロックがあります。後でセッションが MYFILE のレコード ロックで突然切断され、キャンセル ハンドラ ルーチンが実行されます。キャンセル ハンドラ プログラム ルーチン (プログラム B) では、MYFILE でロックされているレコードを削除しようとし、ファイル MYFILE が NOMAX の WAITRCD 時間でコンパイルされているため、セッションがハングします。これで、他のセッションからの更新アクションについても、誰もアカウントにアクセスできなくなります。
プログラムの流れを以下に示します。
.... .... プログラム A (レコード ロック) .... プログラム X (キャンセル ハンドラ) ->OVRDBF WAITRCD(3) を追加 .... プログラム B (セッション フリーズ) -> 上記 OVRDBF を追加後、セッションプログラム C をフリーズしませんでした (セッション フリーズが発生します) -> オーバーライドが存在することがわかります。それは同じデフォルトのアクティベーション グループであり、コミットメント制御もトリガーもありません。
ここでのシナリオは次のとおりです。同じジョブ/セッションによるレコード ロック。
問題を解決するために以下の解決策を試しました:
キャンセル ハンドラ プログラム (プログラム B) で、3 ~ 5 秒の WAITRCD で OVRDBF を実行しました。後で上記の手順を実行し、ハンドラー プログラムをキャンセルすると、ロックされたレコードを削除するのに疲れ、3 ~ 5 秒後に次の手順で処理を続行し、ロックされたレコードのエラー メッセージを書き込みました。画面フリーズはありませんでした。その後、別のプログラム C を実行し、MYFILE 内のロックされたレコードを削除しようとしました。しかし、セッションが再びハングします。
呼び出しスタックを確認したところ、すべてのプログラムがデフォルトの活動化グループの下にあり、コミットメント制御もトリガーもありません。プログラム C からではなく、プログラム B からレコード ロックの状況を克服した理由を教えてください。
よろしく、スリ