ISPFの画面データをトレースする
ISPFでの表示画面のデータ(3270データストリーム)は、ISPFのシステム・コマンドでトレース・データとして採取することができます。画面データのトレースなど、普通にISPFを使う分には不要な作業ですが、何らかのトラブルなどでデータの採取が必要になったり、プログラム作成のためにISPFの画面データを参考にしたい、といった場合に役立ちます。
一般的に端末画面のデータ・トレースというと、GTFを起動してVTAMのトレース・コマンドを入れる、ということになりますが、この方法ではSTCタスクの起動やコンソール操作の権限がないと作業できません。ISPFを起動してからの画面データで事足りるなら、GTF起動やVTAMコマンドの実行などのコンソール操作なしで、画面データを記録することができます。
ALLOC DD(ISPSNAP) SYSOUT(A) RECFM(V B A) LRECL(125) BLKSIZE(1632)
最初にトレースの出力先データセットを割り振ります。DD名はISPSNAPです。出力先はSYSOUTにするのが簡単でしょう。
ALLOCコマンドはTSOコマンドなので、オプション6のコマンド・シェルか、CMDEコマンドを入力してTSOコマンド入力パネルを表示して入力します。
ENVIRON TERMTRAC ON ENVIRON TERMTRAC OFF
トレースの開始は「ENVIRON TERMTRAC ON」コマンドです。コマンド入力後、パネルのショート・メッセージ域(パネルの右上)に「TERMTRAC ACTIVATED」が表示されたらトレース開始です。後はトレースしたい画面を表示させます。必要な画面を表示させたら「ENVIRON TERMTRAC OFF」コマンドでトレースを止めます。今度は「SNAP DUMP GENERATED」とメッセージが出ます。
ISPSNAPをSYSOUTに割り振った場合、トレース結果はSDSFで自分のTSOユーザー空間をDAパネルなどで選択しアクション文字「?」でJDSパネルを開き、ISPSNAPのSYSOUTデータセットの内容を表示します。
PSW AT ENTRY TO SNAP 078D1000 8536B74E ILC 02 INTC 0033 -STORAGE ENVIRON TERMTRAC BUFFER 00057000 E3C5D9D4 E3D9C1C3 0005AB60 00000000 00000000 00000000 00000000 00000000 *TERMTRAC...-....................* 00057020 E3D7E4E3 D5C54040 00000000 80000000 0000FF04 E2D7C6D7 00000028 03021258 *TPUTNE ............SPFP........* 00057040 00000000 81000000 F1C31100 DC2902C0 E842F7E3 C5D9D4E3 D9C1C340 8183A389 *....a...1C.....{Y.7TERMTRAC acti* 00057060 A581A385 841100FD 3C013F40 1100FD13 00000000 00000000 00000000 00000000 *vated...... ....................* 00057080 E3D7E4E3 D5C5D940 00057020 00000000 00000000 00000000 00000000 00000000 *TPUTNER ........................* 000570A0 E3C7C5E3 40404040 00057080 00000A80 81021258 E2D7C6C7 00000000 00000000 *TGET ........a...SPFG........* 000570C0 E3C7C5E3 D9404040 000570A0 00000048 00000000 00000048 7DC37E11 C37DE240 *TGETR ................'C=.C'S * 000570E0 40404040 40404040 40404040 40404040 40404040 40404040 40404040 40404040 * * LINE 00057100 SAME AS ABOVE 00057120 E3D7E4E3 D5C54040 000570C0 80000000 0000FF04 E2D7C6D7 0000038B 03021258 *TPUTNE ...{........SPFP........* 00057140 00000000 81000000 F1C31100 002902C0 F842F711 00032841 F4C42800 0089A297 *....a...1C.....{8.7.....4D...isp* 00057160 9381A811 000A2902 C0C842F7 4011000C 2841F4C6 28000089 93A38599 11001428 *lay.....{H.7 .....4F...ilter....* 00057180 41F4E528 00008985 A6110018 2902C0C8 42F74011 001A2841 F4D72800 00998995 *.4V...iew.....{H.7 .....4P...rin*
端末への出力はTPUT、端末からの入力はTGETで示されます。太字の部分が実際の画面のデータの始まりの部分です。