問題タブ [progress-4gl]

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 に答える
1555 参照

progress-4gl - ロックの使用中に更新された値を取得しますか?

これが私の最初の手順です。

これが私の2番目の手順です。

最初のプロシージャを実行し、2番目のプロシージャの直後に、最初に更新された値を取得する必要があります(ここではCrditLimit)(およびその逆)しかし、レコードが最初のプロシージャによってロックされているため、2番目のプロシージャを実行できません。エラーメッセージ。ロックに問題があると思います。これを手伝ってください。

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

rdbms - 読み取り専用アクセスで共有 OpenEdge RDBMS に接続する方法はありますか?

私たちの新しいセキュリティ ポリシーでは、開発者が本番データベースへのデータ アクセスを制限する必要があります。-RO パラメータの設定がいくつかの理由で機能しません (「起動コマンドとパラメータ リファレンス」からの抜粋http://documentation.progress.com/output/OpenEdge102b/pdfs/dpspr/dpspr.pdf )

1) 「他のユーザーがデータベースを更新しているときに -RO パラメーターを使用すると、古いデータや、削除されたレコードを指すインデックス エントリなど、無効なデータが表示される場合があります。」

2) 「読み取り専用セッションは基本的にシングル ユーザー セッションです。読み取り専用ユーザーはデータベース リソース (データベース バッファー、ロック テーブル、インデックス カーソル) を共有しません。」

3) 「読み取り専用セッションの開始時に、データベースのロック ファイルの存在はチェックされません。さらに、読み取り専用ユーザーはデータベース ファイルを開きますが、ログまたは変更前イメージ ファイルは開きません。したがって、読み取り専用のユーザー アクティビティはログ ファイルに表示されません。」

OpenEdge Architect から本番データベースのデータにアクセスできるようにしたいのですが、データを編集できません。出来ますか?

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

c - Progress 4gl および C 構造体

Progress 9.1D アプリケーションと C 言語関数の間の相互作用を伴うプロジェクトで作業する必要があります。私は C 関数の作成を担当しています。Progress の担当者から、Progress テーブルを送信し、それを C 関数で構造体として受信できるかどうかを調査するように依頼されました。

インターネットで何日も検索し、いくつかのプログレス マニュアル (Progress_External_Programming_Interfaces) を検索しましたが、これに関する情報はほとんど見つかりませんでした。私が理解しているように、テーブルはMEMPTR変数としてC関数に送信される可能性がありますが、わかりません...

誰かが私にいくつかのチュートリアルまたはこの例を教えてもらえますか?

どうもありがとう。

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

progress-4gl - SQL / JDBC を使用して、OpenEdge 10.2B で自動インクリメント主キーを適切に実装する

JDBC アダプターを使用して、多くのデータベースが OpenEdge に備えている主キーの自動インクリメント機能を模倣したいと考えています (つまり、INSERT を実行するときに主キーの値を指定する必要はありません)。これまでのところ、INSERT から返されたときにデータベースが生成した主キー値にアクセスできるという部分を除いて、私は必要なものに非常に近づいています (えーと、そうではないかもしれません;))。

私の現在のソリューションでは、テーブル PK のデフォルト値、トリガー、およびシーケンスの組み合わせを使用して、それを実現しています。

これにより、次のような挿入ステートメントを実行できます。

新しい行は、データベース トリガーから ID を自動的に取得します。その部分はうまく機能します。

今本当に必要なのは、設定される ID の値です。値を直接取得するか、挿入されたばかりの行を含む ResultSet (その後、ラップを解除して ID を表示できます) を取得します。私は、 OraclePostgresの両方が挿入の RETURNING 句をサポートしていることを知っています。これは通常、これがどのように処理されるかです。ただし、OpenEdge についてはそのようなものは見当たりません。

10.2B SQL 開発マニュアルで見つけた唯一の関連部分はセクション 5-10 で、を使用CURRVALする を実行した後にシーケンスのにアクセスする方法を示しています。ただし、複数の JDBC セッション (競合状態など) でそのテーブルに対して大量の s が発生している場合、他人の ID を取得する可能性があるため、これは危険です。INSERTNEXTVALINSERT

これまでに思いついた唯一の代替手段はINSERT、生成される ID の出力パラメーターを持つ、操作をラップ/実行するためのストアド プロシージャを作成することです。しかし、それはプレーンな SQL ステートメントを使用する必要がある私が取り組んでいるものには適していません。INSERTまた、少しハックで脆いようです (たとえばINSERT、スキーマが変更された場合はどうなりますか?)。

users_seq.NEXTVALまた、これの要点は、INSERT で主キーを参照する必要がないことです。そのため、INSERTステートメントで使用するように言わないでください。:-)

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

progress-4gl - GET-POINTER-VALUE - Unix の動作?

*GET-POINTER-VALUE を使用して進行中のメモリ ポインターを取得するにはどうすればよいですか? Windows では正常に動作します:

/ * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** * ** / 戻り値:

しかし同じコードで Unix は以下を返します:

お願いします HEEEEEELLLLPPPPPP!!!!*

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

progress-4gl - 進行中の日時フィールドのフォーマット-4gl

日時フィールドをフォーマットしたいのですが、構文がわかりません。「mm:dd:yy hh:mm am」のように表示したい。

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

progress-4gl - ランダム文字生成機能

ランダムな「文字」を取得するための組み込み関数がある場合

乱数を生成するために使用した RANDOM(low,high) のように?

私のタイピング教師のために、いくつかの文を生成したいと思います(意味のあるものである必要はありません)。

そのため、文字を生成する関数を取得して、そこから単語を生成できるようにする必要があります。

(ロジックの変更も承ります。ただし、こちらのロジックの方が好みです。)

ありがとうございました

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

progress-4gl - 文字配列変数から文字(文字列)変数に文字値をコピーします

これは私の問題です

次に、この文字列を「MyArray」にコピーします。次のようになります

MyArray [1] = h、MyArray [2] = a、MyArray [3] = i、MyArray [4] = ""、MyArray [5] = t、MyArray [6]=hなど...

それで、それをどのように行うのですか?

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

progress-4gl - イベントが発生するまでブロックを繰り返し使用しますか?

これは私の問題です: START ボタンのトリガーで、1 つのブロックを実行したいです。そして、STOPボタンを押すと実行が停止するはずです。

例:スタートボタンのトリガー:

STOPボタンを押すと停止するはずです。REPEATブロックに追加条件は何をつけたらいいですか? できればSTOPボタンのトリガーに条件を書きたくない..提案をお願いします.

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

progress-4gl - pstimer を使用してイベントを実行する

関数、プロシージャ、またはブロックを 60 秒間隔で実行したいと考えています。そのためにPSタイマーを使用する必要がありますか?これを私のブロックにしましょう

//myEditor は、フレーム内の私のエディター ウィジェットです。//My String は、表示に使用する文字列です

これを60秒ごとに繰り返したい..毎回、エディター内に入力したものを表示する必要があります.? PSTimerを使用して、または使用せずにこれを行うにはどうすればよいですか?