ここでは、みなさんから寄せられた情報を、まとめてみました。みなさんのお名前は、伏せさせていただきます。不良社員モードのかたもいらっしゃるかもしれませんので。(冗)。シリーズ化したいな。
プログラム指定無しのSTRDBGは便利。
UPDPROD(*NO);省略値ですね。プログラムを指定しないと、環境全体が対象ですね。
外部DSに、CLEAR,RESETすれば、初期状態に戻る。
外部DSも便利ですよね。でも、DSPPGMREFで出てこないので、FNDSTRPDMで探索するのがちょっと面倒ですが、'E
DSxxxxx'と、Eから指定すれば、ヒットしやすいですね。外部DSは自分は、通信データ(RJE)のデータを、フィールドに分解するときに、重宝しています。(EIDSxxxxxも忘れずに)
一本のプログラム内で、入力ファイルと、さらに、同じファイルを外部DSとすることも可能。これをするときは、DS名をレコード様式名と別にしなくてはならない。
これなら、入力したデータを、DSと同じ桁のワークフィールドに保管することも可能ですね。
TIME命令で14桁で受け取れば、4桁年を受け取れる。
システム日付を年4桁形式で取り出せるんですね。でも、MDY形式だと、途中で変換するのが面倒。ちなみに、CLPでは、CVTDATで*YYMDがサポートされています(V3R1で確認)
コンパイルをバッチ投入して、エラーならば、STRSEUを自動起動する方法。CHGMSGQでPGMに自作プログラムを指定する。
なるほど、目から鱗ですね。CHGMSGQ でウィンドウメッセージをPGMに指定したことありましたが、コンパイルエラーのMSGIDをモニターして、そのメッセージデータからSTRSEUすることまでは考えませんでした。また、メッセージのPGM関連では、News400のソースで、ブレイクせずプログラムメッセージに送るのが便利だった、というメールもありました。※CHGMSQでPGMを指定して、そのプログラムをイボークするためには、*BREAKです。
予備校の中の、数字の記法で、アメリカ人は、7は斜めの線の入った7でした。Iはiではなく、ほとんどエに近い形でした。
うーん。そういえば、おフランスでも、数字の7は強烈な数字を書いていた。「く」を左右反対にして、斜めに線一本。このあたりは、たくさんのローカルルールがありそうですね。
予備校の中の、インターリーブフォーマットとは、
インターリーブフォーマットはセクタが1・2・3…26と順番にならんでいると,1を読んで演算した後で2を読もうとするとヘッダーが2の途中まで来ているためにもう1周しなければならないので,セクタを1・14・2・15・3・16…というように1つおきにして,演算後にすぐに2を読めるようにするものですよね。で,複雑な計算をする時は更に,2つおきにしたりしました。
やっぱり、複雑。でもありがとうございます。
「涙のぶぁぐ」のコピーエラーについて
MONMSG CPF0000だと何でも対象になってしまうので,CPF2869とCPF2817のみをMONMSGしておいた方がよいのでは...
ところで,今回やってみて気が付いたのですが,CRTFILE(*YES)やMBROPT(*ADD)の時は空でもエラーになりませんね。MBROPT(*REPLACE)の時だけです,エラーになるのは。空になってしまうのを防止するためでしょうかね?CLRPFMをしてから*ADDすればエラーにはなりませんね。(ほか、同様何通か)
そうですね。マニュアルでは、「AS/400データ管理」の「バージョン
3の4.1.4 コピー・エラーの監視」や「4.1.5
コピー元ファイルの中のゼロ・レコードの監視」に詳しく出ていました。
QSYS/QSAVSYS…最終SAVSYS日時が入っています。
知りませんでした。調べたら、ほかにも出てきました。でも、もっと、あったような気がしたけど。バージョンリリースなんかの格納されたのもあったよねぇ。
AS/400プログラム要覧(V3R1)より、「2.0 第2章 IBM
提供のオブジェクト」
データ域 |
ライブラリー |
説明 |
QCQAPSEQ |
QSVMSS |
作業順序番号の単位(変更管理エージェント提供者が使用する)。 |
QRCLSTG |
QUSRSYS |
RCLSTG コマンド操作で使用するデータ域。 |
QRJE |
QRJE |
RJE
ジョブ・トレースを制御するのに使用されるデータ域。 |
QSAVALLUSR |
QSYS |
SAVLIB LIB(*ALLUSR) コマンドおよび
RSTLIBSAVLIB(*ALLUSR) コマンドの最後の使用。 |
QSAVCFG |
QSYS |
SAVCFG コマンドまたは SAVSYS
コマンドの最後の使用。 |
QSAVDLOALL |
QSYS |
SAVDLO DLO(*ALL) FLR(*ANY) コマンドの最後の使用。 |
QSAVIBM |
QSYS |
SAVLIB LIB(*IBM) コマンドおよび RSTLIBSAVLIB(*IBM)
コマンドの最後の使用を含む。 |
QSAVLIBALL |
QSYS |
SAVLIB LIB(*NONSYS) コマンドおよび RSTLIB
SAVLIB(*NONSYS) コマンドの最後の使用。 |
QSAVUSRPRF |
QSYS |
SAVSECDTA コマンドまたは SAVSYS コマンドおよびRSTUSRPRF
コマンドの最後の使用。 |
QSAVSYS |
QSYS |
SAVSYS コマンドの最後の使用。 |
QSAVSTG |
QSYS |
SAVSTG
コマンドおよび専用保守ツール記憶域復元機能の最後の使用。 |
QTMSTRCNTL |
QUSRSYS |
SMTP
活動のトレースを開始また終了するときに使用するデータ域。(V3R1
以前は、このデータ域の名前は SMTPDEBUG) |
QSYSにある「QUSCMDLN」というプログラムをご存知ですか。私はこのプログラムをATTNキーに割り当てています。画面プログラムのテスト中などにファイルの内容の確認など出来て大変便利です。
偶然ですが、私も同じことしています。設定場所は、自分の場合、ユーザプロファイルのアテンションプログラムです。
ファイルのロックをはずすだけなら、UNLCK命令を使う。
新しくできた命令ですね。それに、更新レコードを最初からロックせずに読み込むこともできるようになりましたよね。(ずいぶん前の話ですけど。確か、LEAVEとかITERと同じ頃でしたね。)
予備校のH使用書で、透過リテラルの指定、忘れてない?
ところで,僕はH仕様書で57桁目に’1’を入れているんですけど。これは透過リテラルで,DBCSの場合に0E/0Fの間にリテラルと同じコードがあっても,それはリテラルとみなさずに漢字コードの片割れだとみなして,文字列を終わらせないようにするためのものだったと思うのですが...
はい。わざとはずしました。漢字の話、長くなりそうなんで。これは、16進数7D(シングルコーテーション)を含む漢字があると、リテラル指定のシングルコーテーションになってしまうからでした。美、士、角、値、炉、巾、閉、鹸、謡、巴、涌、欺、瞭、緋、噛、捌、碩が7Dを含みます。(昔どっかに出ていたのを、書き写したノートより)。このはなしは、予備校で、漢字の話の時に載せます。
|