並行実行PG間の値受渡し
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
ucmkitakan
投稿数: 91
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
並行実行PGから、検索の並行実行PGをコールしているのですが、検索PGで選択した値が戻ってきません。
よく調べてみたら、検索PGをコールするとコール元のPGは処理が先に進んでいってしまっていました。
これはどう設定すれば解決できるのでしょうか?
ちなみにあまり並行実行PGを作成していない為、基本的なことがわかっていません。
どなかたお分かりの方、ご回答よろしくお願いします。
また、参考になる資料等ありましたらお教えいただけるとありがたいです。
よく調べてみたら、検索PGをコールするとコール元のPGは処理が先に進んでいってしまっていました。
これはどう設定すれば解決できるのでしょうか?
ちなみにあまり並行実行PGを作成していない為、基本的なことがわかっていません。
どなかたお分かりの方、ご回答よろしくお願いします。
また、参考になる資料等ありましたらお教えいただけるとありがたいです。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
私は並行実行PGから
別の並行実行PGを呼び出し、そいつから値をもらいたかった事があったので実験で行いました。
※開発版ではちゃんと動きました。
◆メインプログラムに
GV_EVENT_並行実行商品検索
というイベントを定義。(トリガ=無し)
◆売上伝票入力PGから
商品マスタ検索PGを呼ぶ時に
CtxGetName() をパラメータで渡す。
◆並行実行の商品マスタ検索PG
(選択テーブル=YES)
売上伝票入力PGのコンテキスト名をもらうパラメータを用意。
レコード後処理で
アクション SharedValSet('商品コード',商品マスタの商品コード)
イベント実行 GV_EVENT_並行実行商品検索
出力先コンテキスト=売上伝票入力PGのコンテキスト名
※選択テーブル=Yesなので、レコード後通過後、PGは閉じます。
◆売上伝票入力PGのロジックにイベントを記述
GV_EVENT_並行実行商品検索
項目更新 売上明細商品コード 式=SharedValGet('商品コード')
で値を受け取る処理を記述。
処理速度に難があるように思います。
別の並行実行PGを呼び出し、そいつから値をもらいたかった事があったので実験で行いました。
※開発版ではちゃんと動きました。
◆メインプログラムに
GV_EVENT_並行実行商品検索
というイベントを定義。(トリガ=無し)
◆売上伝票入力PGから
商品マスタ検索PGを呼ぶ時に
CtxGetName() をパラメータで渡す。
◆並行実行の商品マスタ検索PG
(選択テーブル=YES)
売上伝票入力PGのコンテキスト名をもらうパラメータを用意。
レコード後処理で
アクション SharedValSet('商品コード',商品マスタの商品コード)
イベント実行 GV_EVENT_並行実行商品検索
出力先コンテキスト=売上伝票入力PGのコンテキスト名
※選択テーブル=Yesなので、レコード後通過後、PGは閉じます。
◆売上伝票入力PGのロジックにイベントを記述
GV_EVENT_並行実行商品検索
項目更新 売上明細商品コード 式=SharedValGet('商品コード')
で値を受け取る処理を記述。
処理速度に難があるように思います。
投票数:2
平均点:10.00
ucmkitakan
投稿数: 91
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
返信有難うございました。
教えていただいた通り処理しましたら、問題なく動きました。
感謝いたします。
この方法は、何かサンプルPGや資料を見て理解したのでしょうか?
もしよろしければ、参考にしたものがあれば教えていただけないでしょうか?
よろしくお願いします。
教えていただいた通り処理しましたら、問題なく動きました。
感謝いたします。
この方法は、何かサンプルPGや資料を見て理解したのでしょうか?
もしよろしければ、参考にしたものがあれば教えていただけないでしょうか?
よろしくお願いします。
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
うまくいったようで良かったです。
でもこの方法がベストなのかは不明です。^^;
Magic uniPaaS V1 Plusのヘルプ
→ マスタリング Magic uniPaaS
→ マルチタスク も参考にしました。
でもこの方法がベストなのかは不明です。^^;
Magic uniPaaS V1 Plusのヘルプ
→ マスタリング Magic uniPaaS
→ マルチタスク も参考にしました。
投票数:1
平均点:10.00
ucmkitakan
投稿数: 91
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
SetParam() とGetParam()でもプログラム間のデータ共有
を実現することができるらしいのですが、試されたことはありますか?
を実現することができるらしいのですが、試されたことはありますか?
投票数:0
平均点:0.00
nkmt
投稿数: 1668
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
並行実行はコンテキストが別だと思いますので、SetParam() とGetParam()では駄目だと思います。
ヘルプの コンテキスト間で項目を共有するには という所にそれが書かれていると思います。
ヘルプの コンテキスト間で項目を共有するには という所にそれが書かれていると思います。
投票数:0
平均点:0.00
ucmkitakan
投稿数: 91
![一人前 一人前](../../uploads/rank3dbf8ea81e642.gif)
ほんとですね。
SetParam() とGetParam()は
「自身のコンテキスト内に値を格納することができます。」
って書いてありましたね。
失礼しました。
SetParam() とGetParam()は
「自身のコンテキスト内に値を格納することができます。」
って書いてありましたね。
失礼しました。
投票数:0
平均点:0.00