2012-04-28 11 views
-1

私は最初に2つの質問があります。 1.私はcicsマップに日付を表​​示することができましたが、私は必要なのは、それが刻々と変化していることです。すなわち、それは更新されたeverysecondを表示する必要があります。 2.データベース(DB2)のデータをファイルに自動的に挿入するCOBOL-DB2プログラムがあります。私はこのプログラムをタイムスタンプに基づいて、すなわち1時間、2時間、毎日毎に呼びたいと思っています。自動で時間を更新する方法

これは、マップを使用して、標準のCICSは不可能である

+0

DB2の質問を別のトピックに分割してください。あなたの件名とは関係ありません。 – zarchasmpgmr

答えて

0

ありがとうございます。 3270プロトコルでは、画面を継続的に更新することはできません。コンソールやモニタリングディスプレイなどの大部分の自動更新画面では、固有のVTAM方式を使用して独自のデータストリームを構築しています。

これはフォーマットされていないデータを使用して行うことができますが、CICSでは推奨しません。擬似会話型CICSには、画面表示中のプログラムが制御されておらず、会話型プログラミングは非常に推奨されていません。

2

これを行うことはできますが、従来の擬似会話アプローチを変更する必要があります。戻ってユーザーイベントを待つ代わりに、現在のcommareaで数秒後にtranを開始して終了することができます。その時間にユーザーイベントが発生した場合、開始要求を取り消すことができます。そうでない場合は、画面のタイムスタンプを更新して繰り返すことができます。

タイムスタンプをリフレッシュするのはちょっとした痛みです。あなたが本当に良い理由がない限り、気にするのはあまり意味がありません。

DB2の内容は簡単です。上記のSTART AFTER()と同じインターバル・コントロールを使用してtranを起動し、それを毎時または2時間ごとに実行することができます。

1

実際にCICSでこれを実行することはできません。これは、最高で擬似対話応答用に設計されています。これは、端末がページ全体または画面全体を送信したメインフレームで使用するように設計されています。プログラムは受信した画面を読み込みます(ユーザーが更新するフィールドがいくつかあります。変更しなかった場合、 )、変更を含む画面の一部を取得したCICSトランザクションは、応答を戻して終了します。

非常に効率的なデータ入力および照会プログラムを作成します。しかし、プログラムが画面の処理を終えると、プログラムは終了し、消えてしまったので、それ以上のメモリではなく、すべてのリソースが再利用されています。これにより、会社が300台の端末と多分10メガバイトの実メモリを持つメインフレームを走らせることができます。なぜなら、プログラムが応答するのを待っているときには全くリソースを使用していないからです。同じプログラムの同じコピーを実行している200人のリエントラントプログラムを実行しています。使用しているのは、画面またはファイルを読み取る必要がある部分に対して、1ユーザーあたり1Kの書き込み可能な記憶域いくつかの計算を記録してください。 200人のユーザーが同じプログラムを実行していると同時に、それらすべてが同時にアプリケーション用に20Kのメモリを使用する1つのモジュールを使用しています - そして、それらの1つ1つにつき20Kと同じです - 実際の読み取り/データを書き込む。

すぐに考えてみましょう。そのデータ入力プログラムを最初に起動するユーザーは、アプリケーションに20Kのメモリを使用し、書き込み可能なデータに1Kを使用します。そのプログラムで処理されている後の各ユーザーは、さらに1Kのメモリを使用します。それだけです。彼らがターミナルを見てそこに座っているとき、彼らが使用しているのはテーブルに4バイトあり、ターミナルが接続されていることをシステムに伝えます。リソースはまったく使用されません。

定期的に画面を更新できるようにするには、何かが継続して実行されなければならないことを意味します。これは、CICSがうまくいくものではありません。CICSは、実際にPC上で稼動しているため、PCの対話処理には使用されません。

2

私はあなたが必要とするものを達成するために擬似会話型のアプローチを変更する必要はないと思います。端末ファシリティにマップ(またはTC Write)を送信するだけの小さなプログラムに対して、1秒遅れのEXEC CICS STARTコマンドを発行してください。すべてのトランザクションで共通のプログラムを使用できるように、画面上に共通領域を確保するのが理想的です。ある時点で、アップデートがもはや必要なくなったときに、STARTリクエストをキャンセルします。私が見るように、タイマーの更新トランザクションは、ユーザーが開始したトランザクションフローとうまくミックスされます。開始タイマーがポップアップしたときにユーザートランザクションがアクティブな場合、タイマー更新プログラムはちょっと遅れるでしょう。

これはうまくいくはずですが、1時間あたり3,600件の取引をユーザーごとに増やしている可能性があることに注意してください。この機能は本当にすべての価値がありますか?

0

タイムスタンプを更新するEXEC CICS ASK TIME END-EXEC。 EXEC CICS MAPデータのみを送信END-EXECして、画面を更新します。しかし

、提案 EXEC CICS START TRANSID使用| DELAY(時間) END-EXEC( 'name' をnamefldを)。実際には が良い方法です。

関連する問題