SQLコマンドPGについて
- このフォーラムに新しいトピックを立てることはできません
- このフォーラムではゲスト投稿が禁止されています
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
帳票印刷用のバッチプログラムなどで、
メインソースを指定する代わりに
SQLコマンドを使用しているものがあるのですが、
うまく表示されません。
具体的にやりたいことは
------------------------------------------------
コードや日付の指定をする画面(オンラインタスク)
↓
「印刷」ボタンをクリック
↓
印刷プレビューを表示(バッチタスク)
------------------------------------------------
と、至ってシンプルなのですが印刷ボタンを押した後
10分〜20分待っても全く動かない時があります。
その状態でオンラインタスクの画面上を1度ウインドウヒット
(クリック)すると、すぐにプレビュー画面が開きました。
試しに「印刷」ボタンを押した後、時間を置かずすぐに画面上を
何度かウインドウヒットしてみたところ
わずか数秒でプレビューが開きました。
アクティビティモニタで確認すると「印刷」ボタンを押した後
バッチタスクをすぐに呼びに行っているのですが
その後「レコード読込」でずっと止まっていました。
無駄にウインドウヒットをしなくても
スムーズに開くようにしたいのですが、解決方法がわかりません。
どなたかご存知の方はご教授お願いいたします。
メインソースを指定する代わりに
SQLコマンドを使用しているものがあるのですが、
うまく表示されません。
具体的にやりたいことは
------------------------------------------------
コードや日付の指定をする画面(オンラインタスク)
↓
「印刷」ボタンをクリック
↓
印刷プレビューを表示(バッチタスク)
------------------------------------------------
と、至ってシンプルなのですが印刷ボタンを押した後
10分〜20分待っても全く動かない時があります。
その状態でオンラインタスクの画面上を1度ウインドウヒット
(クリック)すると、すぐにプレビュー画面が開きました。
試しに「印刷」ボタンを押した後、時間を置かずすぐに画面上を
何度かウインドウヒットしてみたところ
わずか数秒でプレビューが開きました。
アクティビティモニタで確認すると「印刷」ボタンを押した後
バッチタスクをすぐに呼びに行っているのですが
その後「レコード読込」でずっと止まっていました。
無駄にウインドウヒットをしなくても
スムーズに開くようにしたいのですが、解決方法がわかりません。
どなたかご存知の方はご教授お願いいたします。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
メインソースを指定した場合は大丈夫なのでしょうか?
印刷ボタンをクリックして本当にバッチタスクは呼んでいるのでしょうか?(タスクでメッセージを表示してみるとか・・)
印刷ボタンをクリックして本当にバッチタスクは呼んでいるのでしょうか?(タスクでメッセージを表示してみるとか・・)
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
お返事ありがとうございます。
>メインソースを指定した場合は大丈夫なのでしょうか?
-メインソースを指定した場合は問題ありません。
>印刷ボタンをクリックして本当にバッチタスクは呼んでいるのでしょうか?(タスクでメッセージを表示してみるとか・・)
-アクティビティモニタで見たところバッチタスクを呼びに行っています。
前述のようにウインドウヒットをしなければ動作しない場合もあるのですが、逆にちゃんと動作することもあります。
一貫性が無いのがまた頭を悩ませている要因でもありまして……
説明が拙くて申し訳ありませんがよろしくお願いいたします。
お返事ありがとうございます。
>メインソースを指定した場合は大丈夫なのでしょうか?
-メインソースを指定した場合は問題ありません。
>印刷ボタンをクリックして本当にバッチタスクは呼んでいるのでしょうか?(タスクでメッセージを表示してみるとか・・)
-アクティビティモニタで見たところバッチタスクを呼びに行っています。
前述のようにウインドウヒットをしなければ動作しない場合もあるのですが、逆にちゃんと動作することもあります。
一貫性が無いのがまた頭を悩ませている要因でもありまして……
説明が拙くて申し訳ありませんがよろしくお願いいたします。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
バッチでカウンタ等を表示して動いているか確認は取れますか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
そうですね。
再度確認してみたのですが、ただ処理に時間がかかっているというわけではなく、単に止まっている様です。つまり動いていません。
そうですね。
再度確認してみたのですが、ただ処理に時間がかかっているというわけではなく、単に止まっている様です。つまり動いていません。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
印刷ボタンの取得はクリックでですか?
クリツクをやめて印刷イベント等を作成して取得した場合はどうなりますか?
クリツクをやめて印刷イベント等を作成して取得した場合はどうなりますか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>印刷ボタンの取得はクリックでですか?
>クリツクをやめて印刷イベント等を作成して取得した場合はどうなりますか?
印刷ボタンの特性の実行イベントに「GUI_印刷」というユーザイベントをセットしています。
ユーザイベントの中味
| 説明 |トリガタイプ|トリガ|パラメータ|強制終了|
|GUI_印刷| N=なし | | | N=なし |
印刷ボタンをクリックするとユーザイベント「GUI_印刷」が動作します。「GUI_印刷」では【C=コール S=サブタスク】と【R=イベント 終了】をしています。
>クリツクをやめて印刷イベント等を作成して取得した場合はどうなりますか?
印刷ボタンの特性の実行イベントに「GUI_印刷」というユーザイベントをセットしています。
ユーザイベントの中味
| 説明 |トリガタイプ|トリガ|パラメータ|強制終了|
|GUI_印刷| N=なし | | | N=なし |
印刷ボタンをクリックするとユーザイベント「GUI_印刷」が動作します。「GUI_印刷」では【C=コール S=サブタスク】と【R=イベント 終了】をしています。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
止まっているのはどこでしょうか?
バッチのところでしょうか?
バッチのところでしょうか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>止まっているのはどこでしょうか?
>バッチのところでしょうか?
はい。バッチタスクに入った後です。
文章だけでは伝わりにくいと思いますので、アクティビティモニタの内容を下に記載しました。
印刷ボタンを押したところからです。
-----【アクティビティモニタ】------
>>イベント処理中 [コントロールヒット] コントロール名:[印刷]
>>開始 イベント (ユーザ:GUI_印刷)
フロー コール サブタスク:帳票印刷
>>開始 ロード バッチタスク-'帳票印刷' 照会モード
終了 タスクの終了
レコード読込
--------------------------
このようにマウスでクリックしない限り永久にレコード読込で止まっています。
今も色々と試行錯誤しておりますが、まだ解決の糸口が見えておりません。お手すきの時にでもご教授お願いいたします。
>バッチのところでしょうか?
はい。バッチタスクに入った後です。
文章だけでは伝わりにくいと思いますので、アクティビティモニタの内容を下に記載しました。
印刷ボタンを押したところからです。
-----【アクティビティモニタ】------
>>イベント処理中 [コントロールヒット] コントロール名:[印刷]
>>開始 イベント (ユーザ:GUI_印刷)
フロー コール サブタスク:帳票印刷
>>開始 ロード バッチタスク-'帳票印刷' 照会モード
終了 タスクの終了
レコード読込
--------------------------
このようにマウスでクリックしない限り永久にレコード読込で止まっています。
今も色々と試行錯誤しておりますが、まだ解決の糸口が見えておりません。お手すきの時にでもご教授お願いいたします。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
ログからするとなぜ終了 タスクの終了があるのでしょうか?
すでに終了している?
すでに終了している?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
申し訳ございません
誤:終了 タスクの終了
正:終了 タスクのロード
でした。
誤:終了 タスクの終了
正:終了 タスクのロード
でした。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
同じようなプログラムを作成しましたが問題なく動きます。
ロジックで停止するような事してませんよね
ロジックで停止するような事してませんよね
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
設定の動作環境の動作設定の印刷中断許可をNOにして実行されるとどうなりますか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
返事が大変遅くなり申し訳ございません。
>設定の動作環境の動作設定の印刷中断許可をNOにして実行されるとどうなりますか?
との事ですが、実際にやってみましたが現状と変わりませんでした。いろいろとご提案ありがとうございます。
返事が大変遅くなり申し訳ございません。
>設定の動作環境の動作設定の印刷中断許可をNOにして実行されるとどうなりますか?
との事ですが、実際にやってみましたが現状と変わりませんでした。いろいろとご提案ありがとうございます。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
バッチ側のタスク特性動作のイベント可をNOにしてみるとどうなりますか?
バッチを何かで中断しているのであればこの設定で中断しないはずです
バッチを何かで中断しているのであればこの設定で中断しないはずです
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
いつも素早いお返事ありがとうございます。
ISHIJIMA様のおっしゃる通りバッチ側のタスク特性動作のイベント可をNOにして試してみましたが(応答なし)になってしまい、ダメでした。
<追記>
帳票で使っている「SELECT」のSQLコマンドの他に、
「DELETE」「UPDATE」「INSERT」を使っているバッチタスクも
作成したですがこちらも同様の現象が起きています。
いつも素早いお返事ありがとうございます。
ISHIJIMA様のおっしゃる通りバッチ側のタスク特性動作のイベント可をNOにして試してみましたが(応答なし)になってしまい、ダメでした。
<追記>
帳票で使っている「SELECT」のSQLコマンドの他に、
「DELETE」「UPDATE」「INSERT」を使っているバッチタスクも
作成したですがこちらも同様の現象が起きています。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
SQLコマンドの記述の仕方に問題があるのでは?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
引用:
>ISHIJIMA様
SQLコマンドの記述の仕方ですか。難しいですね。
私は今までSQL文に関してはエラーが出なければ記述自体に問題はないという認識でしたので・・・
Magicでは記述の仕方が違うのでしょうか?
何度も申し訳ありませんが具体的にどういった問題だと推測されるか教えて頂けると大変助かります。
よろしくお願いいたします。
ISHIJIMAさんは書きました:
SQLコマンドの記述の仕方に問題があるのでは?
>ISHIJIMA様
SQLコマンドの記述の仕方ですか。難しいですね。
私は今までSQL文に関してはエラーが出なければ記述自体に問題はないという認識でしたので・・・
Magicでは記述の仕方が違うのでしょうか?
何度も申し訳ありませんが具体的にどういった問題だと推測されるか教えて頂けると大変助かります。
よろしくお願いいたします。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
私は複雑なSQLコマンドは利用したことがないのでよくわかりませんがHELPでSQLコマンドを調べると制約事項だとか動作だとかいろいろ載っています。
現在問題になっているSQLコマンドはどんな記述でしょうか?
現在問題になっているSQLコマンドはどんな記述でしょうか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
現状、このような現象が起きているバッチタスクプログラムは2つあります。
1.「UPDATE」文を2本記述しているバッチタスク
2.「メインソース未定義」→「SELECT」文→「メインソース未定義」(すべてバッチタスク)の帳票
1の「UPDATE」は再計算させるためのプログラムです。
現状、このような現象が起きているバッチタスクプログラムは2つあります。
1.「UPDATE」文を2本記述しているバッチタスク
2.「メインソース未定義」→「SELECT」文→「メインソース未定義」(すべてバッチタスク)の帳票
1の「UPDATE」は再計算させるためのプログラムです。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
私がサンプルで作成したSQLコマンドではうまくいきますよ
SELECT * FROM HINSYU_MST
こんな単純なものではないですよね
SQLコマンドを単純にしてみて少しずつ複雑にしてみてはいかがでしょうか
SELECT * FROM HINSYU_MST
こんな単純なものではないですよね
SQLコマンドを単純にしてみて少しずつ複雑にしてみてはいかがでしょうか
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
追記です。
ソースは以下の通りです。
1.「再計算」
UPDATE dbo.サンプルデータ
SET dbo.サンプルデータ.残数量 = dbo.サンプルデータ.数量
UPDATE dbo.サンプルデータ
SET dbo.サンプルデータ.残数量 = dbo.セット.セット合計 FROM dbo.セット
WHERE dbo.サンプルデータ.SAMPLE = dbo.セット.SAMPLE AND dbo.サンプルデータ.枝番 = dbo.セット.枝番
2.「帳票」
SELECT 商品名, 入数, 入数単位
FROM dbo.提出データ
WHERE (( dbo.提出データ.会社名) =':1' AND ( dbo.提出データ.提出年月日) =':2')
追記です。
ソースは以下の通りです。
1.「再計算」
UPDATE dbo.サンプルデータ
SET dbo.サンプルデータ.残数量 = dbo.サンプルデータ.数量
UPDATE dbo.サンプルデータ
SET dbo.サンプルデータ.残数量 = dbo.セット.セット合計 FROM dbo.セット
WHERE dbo.サンプルデータ.SAMPLE = dbo.セット.SAMPLE AND dbo.サンプルデータ.枝番 = dbo.セット.枝番
2.「帳票」
SELECT 商品名, 入数, 入数単位
FROM dbo.提出データ
WHERE (( dbo.提出データ.会社名) =':1' AND ( dbo.提出データ.提出年月日) =':2')
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
私のサンプルはSELECTしたデータをレコードあと処理でフォーム出力のみ行っています。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
リボジトリ入出力でプログラムを送っていただければこちらでもテストしてみますよ
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
>リボジトリ入出力でプログラムを送っていただければこちらでもテストしてみますよ
ありがとうございます。
しかし、さすがにそこまで甘えさせていただくわけにもいかないので…
私のできる限りで改めて色々と試してみようと思います。
何か「こうすればできるんじゃないか」とかいったご意見がありましたら、ぜひご教示頂きたいと思います。
>リボジトリ入出力でプログラムを送っていただければこちらでもテストしてみますよ
ありがとうございます。
しかし、さすがにそこまで甘えさせていただくわけにもいかないので…
私のできる限りで改めて色々と試してみようと思います。
何か「こうすればできるんじゃないか」とかいったご意見がありましたら、ぜひご教示頂きたいと思います。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
解決しましたか?
投票数:0
平均点:0.00
DDT
投稿数: 55
![常連 常連](../../uploads/rank3dbf8e9e7d88d.gif)
>ISHIJIMA様
引用:
ほぼ解決しました。
ヘルプを参考にしながら、プログラムのタスク特性を色々と試したところ
タスク終了条件:EOF(0,1) もしくは Counter関数
チェック時期:A=後置
でほぼ解決しました。
それでも、DELETE文のSQLコマンドを用いたバッチタスクで直っていないところがあります。
納品まで時間もないので、ここはユーザに納得して頂こうと思っています。
最初から最後まで親切丁寧なご指導ありがとうございます。
今後ともよろしくお願いいたします。
引用:
ISHIJIMAさんは書きました:
解決しましたか?
ほぼ解決しました。
ヘルプを参考にしながら、プログラムのタスク特性を色々と試したところ
タスク終了条件:EOF(0,1) もしくは Counter関数
チェック時期:A=後置
でほぼ解決しました。
それでも、DELETE文のSQLコマンドを用いたバッチタスクで直っていないところがあります。
納品まで時間もないので、ここはユーザに納得して頂こうと思っています。
最初から最後まで親切丁寧なご指導ありがとうございます。
今後ともよろしくお願いいたします。
投票数:0
平均点:0.00
ISHIJIMA
居住地: 静岡県
投稿数: 1827
![長老 長老](../../uploads/rank3dbf8eb1a72e7.gif)
タスク終了条件でEOFですか?
原因がよくわかりませんね
原因がよくわかりませんね
投票数:0
平均点:0.00