◇Q101. ジョブメッセージキューがオーバーフローした場合の対応は?
◇A101.
メッセージの出力が大量に行われるとジョブメッセージキューがオーバーフローします。
SYSVALのQJOBMSGQFLを変更するかSBMJOBのパラメータを変更することにより回避できます。
◇Q102. スプールファイルのコピーをしたい
◇A102.
SNDNETSPLFでできます。
同コマンドは、AS/400間で使用しますが自分自身宛てに送信すればスプールのコピーが実現できます。
◇Q103. スプールファイルのファイル名、ユーザー名を変更したい
◇A103.
以下のAPIを使用すればできます。(APW、AFPにも対応できます)
QSPCRTSP
QSPGETSP
QSPPUTSP
QSPCLOSP
◇Q104. ソースの右側の変更日付をクリアーしたい
◇A104.
以下のいずれかの方法で可能です。
2.PDMでソースを開き、F13(セッション省略時の値の変更)レコードへの日付セットへ任意の値を入れて実行
3.RGZPFM SRCOPT(*DATE)
◇Q105. ソースメンバーのテキストを一括コピーしたい
◇A105.
PDMオプションを使用することでできます。
サンプルをご参照ください。
1 2 |
S1 CHGDTAARA DTAARA(*LDA (951 50)) VALUE(&X) S2 CALL CHGTXT PARM(&F &L &N) |
2.CHGTXT(CLP)を作成する。
1 2 3 4 5 6 7 8 |
PGM PARM(&FILE &LIB &MBR) DCL VAR(&FILE) TYPE(*CHAR) LEN(10) DCL VAR(&LIB) TYPE(*CHAR) LEN(10) DCL VAR(&MBR) TYPE(*CHAR) LEN(10) DCL VAR(&TEXT) TYPE(*CHAR) LEN(50) CHGVAR VAR(&TEXT) VALUE(%SST(*LDA 951 50)) CHGPFM FILE(&LIB/&FILE) MBR(&MBR) TEXT(&TEXT) ENDPGM |
3.テキストのコピー例
●先頭のメンバーに、S1を入力しテキストをLDAにセーブする。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PDM を使用したメンバーの処理 ファイル . . . . QRPGSRC ライブラリー . XXXXX 位置指定 . . . . . . オプションを入力して,実行キーを押してください。 2= 編集 3=コピー 4= 削除 5= 表示 6= 印刷 7= 名前の変更 8= 記述の表示 9= 保管 13=テキスト の変更 14=コンパイル 15=モジュール 作成 ... OPT メンバー タイプ テキスト S1 CAL010R RPG カレンダーシステム CAL020R RPG CAL030R RPG CAL040R RPG CAL050R RPG CAL060R RPG CAL070R RPG CAL080R RPG |
●コピーしたいメンバーにS2を入力し実行キーを押す。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PDM を使用したメンバーの処理 ファイル . . . . QRPGSRC ライブラリー . XXXXX 位置指定 . . . . . . オプションを入力して,実行キーを押してください。 2= 編集 3=コピー 4= 削除 5= 表示 6= 印刷 7= 名前の変更 8= 記述の表示 9= 保管 13=テキスト の変更 14=コンパイル 15=モジュール 作成 ... OPT メンバー タイプ テキスト CAL010R RPG カレンダーシステム S2 CAL020R RPG S2 CAL030R RPG S2 CAL040R RPG S2 CAL050R RPG S2 CAL060R RPG S2 CAL070R RPG S2 CAL080R RPG |
●F5を押すとテキストがコピーされている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
PDM を使用したメンバーの処理 ファイル . . . . QRPGSRC ライブラリー . XXXXX 位置指定 . . . . . . オプションを入力して,実行キーを押してください。 2= 編集 3=コピー 4= 削除 5= 表示 6= 印刷 7= 名前の変更 8= 記述の表示 9= 保管 13=テキスト の変更 14=コンパイル 15=モジュール 作成 ... OPT メンバー タイプ テキスト CAL010R RPG カレンダーシステム CAL020R RPG カレンダーシステム CAL030R RPG カレンダーシステム CAL040R RPG カレンダーシステム CAL050R RPG カレンダーシステム CAL060R RPG カレンダーシステム CAL070R RPG カレンダーシステム CAL080R RPG カレンダーシステム |
◇Q106. ディスクスペースを圧迫するので、PM/400を起動したくない
◇A106.
サブシステム「QSYSWRK」の自動開始ジョブ項目からPM/400を除去してください。
1 |
RMVAJE SBSD(QSYSWRK) JOB(QPM400) |
※サブシステム再立上げ時に有効となります。
※PM/400のデータを消すのであれば、CLRLIB QMPGDATAを実行してください。
◇Q107. データキューをクリアーしたが、オブジェクトサイズが変わらない
◇A107.
データキューは、一度拡張されるとクリアーしても領域は解放されないようです。
領域を小さくするには、以下のいずれかを行ってください。
b.データキューの保管、復元を行う。
◇Q108. データキューをコピーしたい
◇A108.
システムには、データキューをコピーするコマンドはありません。
APIを使用すればコピーはできます。
サンプルCLを参照ください。(注:データのコピーは行っていません。)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
PGM PARM(&OLDDTAQ &NEWDTAQ) DCL VAR(&OLDDTAQ) TYPE(*CHAR) LEN(20) DCL VAR(&NEWDTAQ) TYPE(*CHAR) LEN(20) DCL VAR(&MAXLEN) TYPE(*CHAR) LEN(4) DCL VAR(&FORCE) TYPE(*CHAR) LEN(4) DCL VAR(&SEQ) TYPE(*CHAR) LEN(6) DCL VAR(&KEYLEN) TYPE(*CHAR) LEN(4) VALUE('*N') DCL VAR(&SENDRID) TYPE(*CHAR) LEN(4) DCL VAR(&TEXT) TYPE(*CHAR) LEN(50) DCL VAR(&RCVRLEN) TYPE(*CHAR) LEN(4) DCL VAR(&RCVR) TYPE(*CHAR) LEN(80) CHGVAR VAR(%BIN(&RCVRLEN 1 4)) VALUE(80) /*****************************************************************/ /* RETREIVE DATA QUEUE ATTRIBUTES */ /*****************************************************************/ CALL PGM(QMHQRDQD) PARM(&RCVR &RCVRLEN RDQD0100 &OLDDTAQ) MONMSG MSGID(CPF0000) EXEC(CALL PGM(QMHRSNEM) + PARM(' ' X'00000000')) /*****************************************************************/ /* SET VARIABLES FOR CRTDTAQ PARAMETERS FROM THE DATA QUEUE */ /* ATTRIBUTES FROM QMHQRDQD. */ /*****************************************************************/ CHGVAR VAR(&MAXLEN) VALUE(%BIN(&RCVR 9 4)) IF (%SST(&RCVR 17 1) *EQ 'K') THEN(DO) CHGVAR VAR(&KEYLEN) VALUE(%BIN(&RCVR 13 4)) CHGVAR VAR(&SEQ) VALUE(*KEYED) ENDDO ELSE (IF COND(%SST(&RCVR 17 1) *EQ 'L') + THEN(CHGVAR VAR(&SEQ) VALUE(*LIFO))) ELSE (CHGVAR VAR(&SEQ) VALUE(*FIFO)) IF (%SST(&RCVR 18 1) *EQ 'N') THEN(CHGVAR + VAR(&SENDRID) VALUE(*NO)) ELSE (CHGVAR VAR(&SENDRID) VALUE(*YES)) IF (%SST(&RCVR 19 1) *EQ 'N') THEN(CHGVAR + VAR(&FORCE) VALUE(*NO)) ELSE (CHGVAR VAR(&FORCE) VALUE(*YES)) CHGVAR VAR(&TEXT) VALUE(%SST(&RCVR 20 50)) /*****************************************************************/ /* CREATE THE NEW DATA QUEUE */ /*****************************************************************/ CRTDTAQ DTAQ(%SST(&NEWDTAQ 11 10)/%SST(&NEWDTAQ 1 10)) + MAXLEN(&MAXLEN) FORCE(&FORCE) + SEQ(&SEQ) KEYLEN(&KEYLEN) + SENDERID(&SENDRID) TEXT(&TEXT) MONMSG MSGID(CPF0000) EXEC(CALL PGM(QMHRSNEM) + PARM(' ' X'00000000')) ENDPGM |
◇Q109. データタイプAに漢字が入力されていると、ダウンロードした場合漢字のみ化けてしまう
◇A109.
タイプAの場合は、シングルバイトとして転送されますので化けてしまいます。
1.DDSの該当フィールドのタイプをAからOに変更する。
2.別名でCRTPFする。
3.CPYF FMTOPT(*MAP)で元ファイルよりCOPYする。
4.そのファイルをダウンロードする。
注:FTPの場合は、quote type b 1を指定すること。
◇Q110. バックアップ時間を短縮したい
◇A110.
アクセスパスの保管を*NOにするとバックアップ時間は短縮できます。
但し、復元時にはアクセスパスが作成されるので復元の時間がかかるようになります。
ACCPTHのデフォルト値がV5R3からは、*SYSVALに変更になりSYSVALのデフォルト値は*YESに
なっています。
■V5R2以下、ACCPTHのデフォルト:*NO
■V5R3以上、ACCPTHのデフォルト:*YES