AS/400運用必携コマンド



 AS/400,iSeries,System i,IBM iを運用する上で知っておくと便利なコマンドをまとめてみました。
いざという時になかなか思い出せないコマンドあるいはパラメータの指定方法をご紹介いたします。
※赤字のコマンドは、システム標準のコマンドではありませんのでご注意ください。

公開:2002/01/10
更新:2017/10/02



Q1. CPYFとCRTDUPOBJのちがいは?
A1. CRTDUPOBJの場合は、権限もコピーされる。
入力ファイルを使用中だとコピーできない。
入力ファイルの権限が*ALLでないとコピーできない。
CRTDUPOBJの方がはやい。5億件のコピー CPYF=8時間 CRTDUPOBJ=4時間


Q2. サブシステム起動時にジョブを起動する方法は?
A2. サブシステム記述の事前開始ジョブ項目に指定(ADDPJE)


Q3. QSTRUPで使用されるジョブ記述は?
A3. QSYS/QSTRUPJD


Q4. QSTRUPを特定ユーザーで実行するには?
A4. QSTRUPJDのユーザーを変更するかSBMJOBで実行する。


Q5. ロック状態を調べるには?
A5. 対話型の場合は、WRKOBJLCK バッチの場合は、CHKOBJLCK


Q6. DBを16進数表示させるには?
A6. DSPPFM,WRKDBM


Q7. DBを16進数で更新するには?
A7. WRKDBM


Q8. DBを検索するには?
A8. WRKDBM


Q9. ある物理ファイルに従属している論理ファイルを調べるには?
A9. DSPDBR FILE(lib/Pf)


Q10. ある論理ファイルのアクセス先の物理ファイルを調べるには?
A10. DSPFD FILE(Lib/Lf) TYPE(*ACCPTH)


Q11. 物理、論理、画面、プログラムなどのソース情報を調べるには?
A11. DSPOBJD OBJ(xxxxx/xxxxxx) OBJTYPE(*ALL) DETAIL(*SERVICE)
DSPPGM PGM(xxxxx/xxxxx)


Q12. CLの中でCLを作成するには?
A12. WRKSRC


Q13. CL,RPGのソースなどを1ページに2ページ分印刷するには?
A13. PRTSRCMBR,PRTSRC


Q14. スプールにセパレーターを出力するには?
A14. OUTQ単位:CHGOUTQ JOBSEP(1) PRTF単位:CHGPRTF FILESEP(1)


Q15. LIBRARY傘下の全オブジェクトの所有者を一括変更するには?
A15. CHGLIBOWN


Q16. LIBRAY LISTを退避するには?
A16. DCL VAR(&USRLIBL) TYPE(*CHAR) LEN(275)
RTVJOBA USRLIBL(&USRLIBL)


Q17. LIBRARY LISTを元に戻すには?
A17. CHGVAR  VAR(&CMD) VALUE('CHGLIBL (' *BCAT &USRLIBL *TCAT ')')
CALL QCMDEXC PARM(&CMD 300)


Q18. SBMJOBしたジョブ番号を取り込むには?
A18. SBMJOB
RCVMSGQ MSGQ(*PGMQ) MSGDTA(&MSGDTA)


Q19. 拡張されたメッセージキューのサイズを元に戻すには?
A19. CLRMSGQ


Q20. OBJECTサイズを調べるには?
A20. DSPOBJD


Q21. レコード件数、削除レコード件数を調べるには?
A21. DSPFD FILE(xxxx/xxxx) TYPE(*MBR)


Q22. ソートするには?
A22. FMTDTAを使用。
入力ファイルは8個まで指定可能、つまり複数ファイルをソートして1つのファイルにすることができる。


Q23. QUERYにパラメータ変数を与えるには?
A23. OPNQRYまたはQUERY管理機能を使うと可能。


Q24. 自動応答させるには?
A24. 例えば特定プリンターに対して自動応答する場合は、WRKRPYLEでプリンター名を指定する。


Q25. ソースファイル、スプールファイルなど80桁以上のものを画面に表示するには?
A25. CA/400の通信−構成で表示装置サイズを「27×132」にする。


Q26. スプールのCopyを行うには?
A26. 自分宛にSNDNETSPLFを行う。


Q27. SNDNETSPLFを自動的に行うには?
A27. OUTQにデータキューを指定し、そこからスプール情報を受信しSNDNETSPLFを行う。


Q28. データキューを受信するには?
A28. CALL QRCVDTAQを実行する。受信を行うと自動的にデータキューから削除される。


Q29. データキューの内容を見るには?
A29. DSPDTAQ


Q30. ジョブスイッチの使い方は?
A30. ジョブスイッチはジョブの中だけで有効で8個使用できる。
<CLで使用する場合>
CHGJOB SWS(XXXXXXX1)・・・・8番目のスイッチをONにする。その他のスイッチは何もしない。
IF (%SWITCH(XXXXXXX1))・・・・・8番目のスイッチはONか?
SBMJOBまたはJOBDで使用する場合は、0か1を指定する。Xの指定は不可。
<RPGの中で使用する場合>
U1-U8を使用する。


Q31. ソースメンバーの一覧を出力するには?
A31. DSPFD FILE(xxxxx/xxxxx) TYPE(*MBRLIST) OUTPUT(*OUTFILE)


Q32. ファイル使用状況を出力するには?
A32. DSPFD FILE((xxxxx/*ALL) TYPE(*MBR) OUTFILE(*OUTFILE)


Q33. レコードレイアウトを出力するには?
A33. DSPFFD


Q34. プログラム使用状況を出力するには?
A34. DSPOBJD OBJ(xxxxx/*ALL) OBJTYPE(*PGM) DETAIL(*FULL) OUTPUT(*OUTFILE)


Q35. 他の端末のジョブログを出力するには?
A35. WRKACTJOB→5→F4→OUTPUT(*PRINT)→OPTION(*JOBLOG)→実行


Q36. テープ媒体のエラー状況を調べるには?
A36. STRSST→1→1→4or5


Q37. OSのバージョンを調べるには?
A37. DSPSFWRSC→F11 または RTVOBJD OBJ(QSYS/QCMD) OBJTYPE(*PGM) SYSLVL(&SYSLVL)


Q38. ジョブ記述の内容をファイルに出力するには?
A38. JOBDOUT


Q39. スプールファイルを別OUTQにコピーするには?
A39. DUPSPL


Q40. ジョブ記述で指定されたライブラリーリストを取り込むには?
A40. SETLIBL


Q41. ローカルデータエリアとは?
A41. 同一ジョブ内でのプログラム間でのデータの受け渡しに使用できる。
ジョブの開始時に自動作成され、ジョブの終了時に自動削除される。
文字タイプで長さは1024バイト。
他のジョブからは参照できない。
但し、SBMJOB では、ローカルデータエリアの内容は引き継ぐことができる。


Q42. CLでローカルデータエリアを使うには?
A42. CHGDTAARA DTAARA(*LDA(15)) VALUE('ABCDE')
RTVDTAARA DTAARA(*LDA(15)) RTNVAR(&ANS)


Q43. あるデータベースを使用しているプログラムを調べるには?
A43. DSPPGMREF OBJ(Lib/*ALL) OBJTYPE(*PGM) OUTPUT(*OUTFILE)
QUERY によってデータベースを使用しているプログラムを抽出する。


Q44. あるデータベースを使用している QUERY プログラムを調べるには?
A44. SCNQRYDFN


Q45. フィールド単位でファイルをコピーするには?
A45. CPYFコマンドでフォーマットオプション(FMTOPT)を指定する。
*NOCHK=レコード全体をそのままコピー
*MAP=入力ファイルのフィールドが出力ファイルに全部あるが並びが違う場合
*MAP、*DROP=入力ファイルのフィールドが出力ファイルに全部ない場合
コピー先に存在しないフィールドはオミットされる。
コピー元に存在しないフィールドはブランク又はゼロ埋めされる。


Q46. SNDUSRMSGで使用されるMessage IDは?
A46. SNDUSRMSG MSGTYPE(*INQ)・・・・CPA2401
SNDUSRMSG MSGTYPE(*INFO)・・・CPI2401


Q47. 2つのCLを比較して、アンマッチ個所を知りたい場合には?
A47. CMPSRC


Q48. 2つのDBを比較して、アンマッチ個所を知りたい場合には?
A48. CMPPFM,CMPDBF


Q49. ILE-RPGのソースを調べるには?
A49. DSPPGM PGM(pgm) DETAIL(*MODULE)→Opt(5)


Q50. *CAT,*BCAT,*TCATのちがいは?
A50. *CAT(||):単純な連結
*BCAT(|>):最初の文字列の終わりのブランクを除去し、1桁のブランクを挿入
*TCAT(|<):最初の文字列の終わりのブランクをすべて除去


Q51. 継続文字の+と−のちがいは?
A51. +:次の行のブランクでない最初の文字に継続
−:次の行のブランクも含めて継続


Q52. アクセスパスのキー情報を表示するには?
A52. DSPFD FILE(Pf or Lf) TYPE(*ACCPTH)


Q53. 画面レイアウトを印刷するには?
A53. STRSDA OPT=12→F17
DOCFIL(ToolBox)


Q54. SDAでシステムコマンド画面を表示するには?
A54. OPT=12→F22


Q55. JOBQがアタッチされているサブシステムを調べるには?
A55. WRKJOBQ JOBQ(xxxx) -> PF21


Q56. ソースメンバーをCLで検索するには?
A56. FNDSTRPDM


Q57. SAVFの一覧を表示するには?
A57. WRKF FILE(*ALL/*ALL) FILEATR(SAVF)
または、WRKOBJPDM LIB(xxxxx) OBJ(*ALL) OBJTYPE(*ALL) OBJATR(SAVF)


Q58. 印刷ファイルのレイアウトを印刷するには?
A58. STRRLU SRCFILE(xxxxx/xxxxx) SRCMBR(xxxxx) OPTION(6)
DOCFIL(ToolBox)


Q59. 24行目にメッセージを表示するには?
A59. SNDPGMMSG MSGID(CPF9898) MSGF(QCPFMSG) +
MSGDTA('***処理中***') TOPGMQ(*EXT) MSGTYPE(*STATUS)


Q60. 24行目のメッセージを消すには?
A60. SNDPGMMSG MSGID(CPF9897) MSGF(QCPFMSG) +
MSGDTA(' ') TOPGMQ(*EXT) MSGTYPE(*STATUS)


Q61. SBMJOB MSGQ(xxxxx)で返ってくるメッセージは?
A61. CPI2404・・・・ 応答待ち
CPF1240・・・・ 異常終了
CPF1241・・・・ 正常終了


Q62. ライセンスプロダクトが導入されているライブラリーを調べるには?
A62. DSPSFWRSC→F11


Q63. CSV形式に変換するには?
A63. CPYTOIMPF FROMFILE(xxxxx/xxxxxx) TOFILE(yyyyy/yyyyy) +
MBROPT(*ADD) STRDLM('"')
※G,Jフィールドはサポートしていません。(CPF2817のエラーになります)


Q64. QUERYのスプールファイルの名前を変えるには?
A64. OVRPRTF FILE(QPQUPRFIL) SPLFNAME(xxxxx)
RUNQRY QRY(xxxxx)
DLTOVR FILE(QPQUPRFIL)


Q65. QSYSOPRの配布モードを変更するには?
A65. CHGMSGQ MSGQ(QSYSOPR) DLVRY(xxxxx)
*DFTにした場合は、他のモードに変更するまで永続的に機能します。(IPLしても不変)
*BREAK/*NOTIFYにした場合は、CHGMSGQしたジョブが終了するまで有効です。
*BREAK/*NOTIFYモードの場合は、QSYSOPRはロックされます。
QSYSOPRユーザーでサインオンすると*BREAKになります。
※QSYSOPR以外のMSGQは、ロックしているジョブが終了すると*HOLDになります。


Q66. トリガープログラムの一覧を作成するには?
A66. DSPFD FILE(xxxxx/*ALL) TYPE(*TRG) OUTPUT(*OUTFILE)


Q67. 物理ファイルと論理ファイルの関係をまとめて表示するには?
A67. DSPKEY FILE(物理ファイル) ToolBoxのコマンドです。
最初に物理ファイルが表示され、その後に論理ファイルが表示されます。


Q68. 総称名とは?
A68. ABC*
文字 ABC で始まるすべての項目のリストを表示します。
例:ABC, ABCD, または ABCTEST など。

*ABC
文字 ABC で終わるすべての項目のリストを表示します。
例:ABC, DABC, または TESTABC など。

*B*
名前のどこかに文字 B があるすべての項目のリストを表示します。
例:B, BALL, または ABCD など。

A*C
文字 A で始まり文字 C で終わるすべての項目のリストを表示します。
例:AC, ABC, または AZZZC など。

"A*"
引用符で囲まれた A で始まるすべての項目のリストを表示します。
例: "A", "AB", または "AD" など。

**ALL
ALL で終わるすべての項目のリストを表示します。
例:ALL ,BALL, または TESTALL など。
*ALL はすべての項目のリストを表示する特殊値として定義されているので,
この場合には,2個のアスタリスクが必要です。


Q69. システム38のQUERY,DFUを使用するには?
A69. <QUERYの場合>
@CALL QCL
ADSNQRYAPP(定義の作成、変更を行う場合)
BQRYDTA(実行する場合)
<DFUの場合>
@CALL QCL
ADSNDFUAPP(定義の作成、変更を行う場合)
BCHGDTA/DSPDTA(実行する場合)


Q70. SNADSの実行を確認するには?
A70. 送信側:WRKDSTQ
受信側:WRKNETF


Q71. ソースメンバーの最終変更日時とソースの最終変更日時を見るには?
A71. @ソースメンバーの最終変更日時
SEUによるソース変更、メンバー名変更、CPYSRCF、テキストの変更を行った場合に更新される。
Aソースの最終変更日時
SEUによるソース変更をおこなった場合に更新される。
DSPFD TYPE(*MBRLIST)  @の情報
DSPFD TYPE(*MBR)     @、Aの情報
RTVMBRD           @、Aの情報


Q72. データ転送、ODBC接続をできないようにするには?
A72. ENDHOSTSVR SERVER(*DATABASE)
開始は、STRHOSTSVR SERVER(*DATABASE)


Q73. FTPで使用しているジョブ記述は?
A73. QTCP/QTMFTPS
DFTが自動応答されるようになっています。


Q74. GO SAVE #21で実行されるコマンドは?
A74. @ENDSBS SBS(*ALL) OPTION(*IMMED)
ASAVSYS
BSAVLIB LIB(*NONSYS)
CSAVDLO
DSAV
ESTRSBS SBSD(QCTL)


Q75. メッセージIDの頭3桁の意味は?
A75. CPA:重大度99のメッセージ
CPC:重大度00、40、50の正常終了、異常終了メッセージ
CPD:重大度20、30、40のエラー、診断メッセージ
CPE:重大度10の警告メッセージ
CPF:CLプログラム、コマンドなどで出力されるメッセージ
CPI:OSに関するメッセージ
CPP:ハードに関するメッセージ
MCH:マシンインターフェースに関するメッセージ
OPT:光ディスクに関するメッセージ


Q76. サブシステム関連のコマンドは?
A76. ・自動開始ジョブ項目:ADDAJE(再立上げで有効になる)
・ワークステーション項目:ADDWSE
・ジョブ待ち行列項目:ADDJOBQE
・通信項目:ADDCMNE
・事前開始ジョブ項目:ADDPJE
・経路指定項目:ADDRTGE


Q77. プロセッサーを調べるには?
A77. WRKHDWRSC TYPE(*PRC)


Q78. 選択プロンプト文字の意味は?
A78. 選択プロンプト文字の意味は?

?? パラメータが表示され、入力も可能です。
?* パラメータは表示されるが入力はできません。
?< パラメータが表示され、入力も可能だが表示されている値を変更しない場合、コマンドの省略値が使用されます。
?- パラメータは表示されません。
?& F9が押されるまでパラメータは入力できません。表示された場合、入力は可能です。
?% F9が押されるまでパラメータは表示されません。表示された場合、入力はできません。


Q79. ライブラリーリストの検索順序は?
A79. 以下の順に検索されます。
@QSYSLIBL(システム値)
A現行ライブラリー(ユーザープロファイルのパラメータ)
BQUSRLIBL(システム値)


Q80. 現行ライブラリーとは?
A80. CRTxxxあるいはRUNQRYなどのOUTFILEのライブラリーは「*CURLIB」になっています。
デフォルトのライブラリーみたいなものです。
通常は、ユーザープロファイルで設定しますが、CHGCURLIBで一時的に変更できます。


Q81. ライブラリーリストの最大数は?
A81. V5R1から25→250に拡張されました。
但し、V5R1の場合は、QUSRSYS/QLILMTLIBL(*DTAARA)をリネームまたは削除しないと拡張されません。


Q82. CLで大小比較する場合の注意点は?
A82. @比較する変数や定数のタイプは同じでなければいけません。
A比較する変数や定数の桁数が異なった場合、長い方の桁数に合わせて比較されます。
桁数が短い変数には、長い方の桁数に合わせて文字の場合はブランク、数字の場合は0が埋められます。
B数字の比較では、小数部分の桁数が異なっても、小数点の位置を合わせて比較します。


Q83. *USRLIBLと*LIBLのちがいは?
A83. *USRLIBL
ジョブのライブラリー・リストのユーザー部分にあるライブラリー
*LIBL
ジョブのライブラリー・リスト内のすべてのライブラリー
*CURLIB
ジョブ用の現行ライブラリー
*ALL
システム内のすべてのライブラリー (QSYS を含む )
*ALLUSR
すべてのユーザー・ライブラリー


Q84. エミュレータの画面でコピー&ペーストをショートカットで行いたい。
A84. @コピーする領域をボックスで囲む。
ACtrl/Insert を押す。
Bペーストする位置にカーソルを置き、Ctrl/Shift/Insertを押す。


Q85. CLからDFUを実行するには?
A85. STRDFU OPTION(1 1) DFUPGM(xxxxx) FILE(xxxxx)


Q86. 全角文字をデータ転送する時の注意事項は?
A86. PCOMM:実データの0E0Fで判断
CA:データタイプで判断(Aタイプに全角文字が入っていると文字化けする)


Q87. オブジェクトの変更日、使用日を取得するには?
A87. RTVOBDで取得します。

変更日(CHGDATE)は、13桁になっていますので、変更日付は2桁目〜7桁目を抽出してください。
変更時刻は8桁目〜13桁目になります。

PGM   PARM(&OBJ &LIB &TYPE &UDT &HDT)
      DCL        VAR(&OPT)   TYPE(*CHAR) LEN(1)
      DCL        VAR(&OBJ)   TYPE(*CHAR) LEN(10)
      DCL        VAR(&LIB)   TYPE(*CHAR) LEN(10)
      DCL        VAR(&TYPE)  TYPE(*CHAR) LEN(10)
      DCL        VAR(&LIBL)  TYPE(*CHAR) LEN(1)
      DCL        VAR(&UDATE)  TYPE(*CHAR) LEN(7)
      DCL        VAR(&HDATE)  TYPE(*CHAR) LEN(13)
      DCL        VAR(&UDT)    TYPE(*CHAR) LEN(6)
      DCL        VAR(&HDT)    TYPE(*CHAR) LEN(6)
 
      RTVOBJD    OBJ(&LIB/&OBJ) OBJTYPE(*PGM) +
                 CHGDATE(&HDATE) USEDATE(&UDATE)
      MONMSG MSGID(CPF0000)
 
      CHGVAR     VAR(&UDT) VALUE(%SST(&UDATE 2 6))
      CHGVAR     VAR(&HDT) VALUE(%SST(&HDATE 2 6))
ENDPGM


Q88. CRTPFのALWUPDおよびALWDLTのパラメータの意味は?
A88. レコード単位での変更、削除を可能にするか否かを指定します。
アクセス権限とは関係なくすべてのユーザーに適用されます。
プログラム、DFU、WRKDBMなどを実行したときにエラーとなります。
尚、
・CHGPFでALWUPDパラメータは変更できません。
・レコード単位での追加はできます。
・CPYF、CLRPFM、DLTFなどは使用可能です。


Q89. ファイルとフィールドのCCSIDの関係は?
A89. 以下のようになります。

フィールド属性 ファイルCCSID:1027/5035 ファイルのCCSID:290/5026
A 1027 290
S 65535 65535
P 65535 65535
O 5035 5026


Q90. CLからデータ転送を実行したい。
A90. CLで以下のように記述してください。

<< PCOMMの場合 : AS to PC >>
PGM
  STRPCO
  MONMSG MSGID(IWS4010)
 
  STRPCCMD   PCCMD('PCSFT5.EXE "C:\PROGRAM FILES\PERSONAL +
                    COMMUNICATIONS\PRIVATE\AAP100P.TTO"') +
                    PAUSE(*NO)
ENDPGM
 
<< CAの場合 : AS to PC >>
PGM
  STRPCO
  MONMSG MSGID(IWS4010)
 
  STRPCCMD   PCCMD('RTOPCB.EXE "C:\PROGRAM FILES+
                    \IBM\CLIENT ACCESS+
                    \EMULATOR\PRIVATE\AAP100P.TTO"') +
                    PAUSE(*NO)
ENDPGM
 
※PC to ASの場合は、RFROMPCB.EXE


Q91. PCからFTPをバッチ転送したい。
A91. 下記のバッチファイルを作成してください。

<< バッチファイル:BatchFTP.bat >>
  FTP -s:C:\FTPcmd.txt
 
<< FTPcmd.txt >>
  OPEN XXX.XXX.XXX.XXX
  User
  Password
  get
  quit
 
<< 上記バッチファイルをAS/400から起動する場合 >>
PGM
  DCL       VAR(&CMD)  TYPE(*CHAR) LEN(123)
  CHGVAR    VAR(&CMD)  VALUE('C:\BATCHFTP.BAT')
  STRPCO    PCTA(*NO)
  MONMSG    MSGID(IWS4010)
  STRPCCMD  PCCMD(&CMD) PAUSE(*NO)
ENDPGM
      


Q92. データベースのタイムスタンプを参照した場合、DSPOBDとDSPFDのちがいは?
A92. 以下のようになります。

タイムスタンプ DSPOBJD DSPFD
変更日 SAVLIB後に
最初に更新した日付がセット
更新するたびにメンバー単位に
更新した日付がセット
使用日 メンバーのうちで最終使用日が
最新ものが使用日になる
一日に一回
メンバー単位で更新
使用日数 全てのメンバーの
使用日数の合計
使用日が更新されるタイミングで
メンバー単位で更新


Q93. コマンド- CL- RPGのデータタイプの関係は?
A93.
COMMAND CL RPGW API
*DEC *DEC P(パック)
*CHAR *CHAR A CHAR
*NAME *CHAR A
*SNAME *CHAR A
*GENERIC *CHAR A
*CMDSTR *CHAR A
*DATE *CHAR(7) CYYMMDD 7A
*TIME *CHAR(6) HHMMSS 6A
*INT2 *INT(2)または*CHAR(2) 5I BIN(2)
*INT4 *INT(4)またはCHAR(4) 10I BIN(4)

*INT2:2バイト符号付2進数
CHARタイプから変換は、%BINを使用する。
  DCL  &BIN2   TYPE(*CHAR) LEN(2)
    DCL  &DEC4   TYPE(*DEC)  LEN(4 0)
    CHGVAR &DEC4 %BIN(&BIN2)
 
*INT4:4バイト符号付2進数
CHARタイプから変換は、%BINを使用する。
  DCL  &BIN4   TYPE(*CHAR) LEN(4)
    DCL  &DEC8   TYPE(*DEC)  LEN(8 0)
    CHGVAR &DEC8 %BIN(&BIN4)
line
Q94.   IFSのファイルシステムについて教えてほしい。
A94.
ファイルシステム 説明
/(ルート) Windowsと同様のファイルシステム
ディレクトリとファイル、リンクなどで構成
QOpenSys UNIXと同様のファイルシステム
/(ルート)との違いは、大文字・小文字の判別を行う。
QOPT CD-ROMやDVDなどの光メディアに保管されたデータにアクセスするためのファイルシステム
QSYS.LIB OS/400ネイティブなファイルシステム
NFS ネットワーク・ファイル・システム
このファイル・システムにより、リモート NFS サーバーに保管されているデータや、オブジェクトにアクセスできます。 NFS サーバーからネットワーク・ファイル・システムをエクスポートしてから、 NFS クライアントに動的にマウントすることができます。
QDLS 文書ライブラリー・サービス・ファイル・システム。
このファイル・システムにより、文書とフォルダーにアクセスできます。
QFileSvr.400 このファイル・システムにより、リモートの AS/400 システムに常駐する他のファイル・システムにアクセスできます。

line
Q95.   結合論理ファイルと複合論理ファイルのちがいは?
A95.   結合論理ファイル:2つ以上の物理ファイルに基づいて作成され、単一のレコード様式を持ちます。
複合論理ファイル:2つ以上の物理ファイルに基づいて作成され、複数のレコード様式を持ちます。

line
Q96.   編集コードの指定方法は?
A96.  
カンマ表示・印刷 値が0の時の表示・印刷 符号なし CR 後- 前-
する する 1 A J N
する しない 2 B K O
しない する 3 C L P
しない しない 4 D M Q

line
Q97.   ジョブ名の命名規則は?
A97.  
最初の文字:\ # @ A〜Z
残りの文字:\ # @ A〜Z 0〜9 アンダーバー

line
Q98.   バックアップテープから特定メンバーを戻したい。
A98.  
RSTOBJ OBJ(QRPGSRC) SAVLIB(xxxx) DEVTAP(TAP01) FILEMBR(QRPGSRC メンバーID) MBROPT(*ALL)

line
Q99.   メッセージファイルを移行するには?
A99.  
MRGMSGF FROMMSGF(xxxx) TOMSGF(xxxx) SELECT(メッセージID)

line
Q100.   DDSで定義のフィールド名を検索したい。
A100.  
QSYS/QADBIFLDを使用します。DBIFLDで検索してください。

line
Q101.   バインドされたモジュール情報を検索したい。
A101.  
ILEのプログラムの場合・・・・DSPPGM DETAIL(*MODULE)
サービスプログラムの場合・・・・DSPSRVPGM DETAIL(*MODULE)

line
Q102.   エミュレータの画面でWindowsのショートカットでコピー&ペーストを行いたい。
A102.
@エミュレータのツールバーでキーボードの設定をクリック
Aキーボードファイル名を調べる。
Bキーボードファイル(xxxx.kmp)に、以下を追加する。
C-KEY47=[edit-cut]
C-KEY48=[edit-copy]
C-KEY49=[edit-paste]


line
Q103.   モジュールおよびサービスプログラムのバインド方法は?
A103.
<モジュールの場合>
@CRTRPGMOD(*MODULE)
ACRTPGM(*PGM)
<サービスプログラムの場合>
@CRTRPGMOD(*MODULE)
ACRTSRVPGM(*SRVPGM)
BCRTPGM(*PGM)
※モジュール(*MODULE)が変更された場合は、プログラム(*PGM)を再作成しなければいけない
サービスプログラム(*SRVPGM)が変更された場合は、プログラム(*PGM)は再作成する必要はない。

line
Q104.   実行中のジョブがバッチか対話型かを判定するする方法は?
A104.  
RTVJOBA TYPE(xxxx)
0=バッチジョブ、1=対話型ジョブ

line
Q105.   CHKOBJを実行時に検出できるエラーは?
A105.
CPF9801  オブジェクトが見つからない。
CPF9802  オブジェクトは認可されていない。
CPF9803  オブジェクトを割り振ることができない。
CPF9804  オブジェクトが損傷している。
CPF9805  オブジェクトが壊れている。
CPF9810  ライブラリーが見つからない。
CPF9815  メンバーが見つからない。
CPF9820  ライブラリーの使用は認可されていない。
CPF9821  プログラムの使用は認可されていない。
CPF9822  ファイルの使用は認可されていない。
CPF9830  ライブラリーを割り当てることはできない。
CPF9899  コマンド処理中にエラーが起こった。
      

line
Q106.   AS/400からPCへ日付をファイル名として転送するには?
A106.
PGM                                                                   
  DCL        VAR(&CMD)  TYPE(*CHAR) LEN(100)                           
  DCL        VAR(&DATE) TYPE(*CHAR) LEN(6)                            
  DCL        VAR(&PGM)  TYPE(*CHAR) LEN(16)                           
                                                                      
  STRPCO                                                              
  MONMSG     MSGID(IWS4010)                                           
                                                                      
  /** PCOMMの場合 **/
  STRPCCMD   PCCMD('PCSFT5.EXE "C:\#TEMP\AAP100R.TTO"') +             
             PAUSE(*NO)
                                                            
  RTVSYSVAL  SYSVAL(QDATE) RTNVAR(&DATE)                              
  CHGVAR     VAR(&PGM) VALUE('AAP100R' *CAT &DATE)                  
  CHGVAR     VAR(&CMD) VALUE('C:\#TEMP\PGMCPY.BAT' *BCAT &PGM)        
  STRPCCMD PCCMD(&CMD) PAUSE(*NO)
ENDPGM  
  
 /* バッチファイル */
  ECHO ON
  SET PGM=%1
  COPY C:\#TEMP\AAP100R.TXT C:\#TEMP\%PGM%.TXT   
      
line
Q107.   プリンターのメッセージを特定ユーザーに出力するには?
A107.  
@WRKDEVD MSGQ(ユーザープロファイルメッセージキュー)
ACHGUSRPRF USRPRF(xxxxx) DLVRY(*BREAK)

line
Q108.   FTPでのパス指定方法は?
A108.
パス指定形式には、以下の2つの方法があります。
・ライブラリファイルシステム(NAMEFMT 0)
・IFSシステム(NAMEFMT 1)
パス指定形式を確認するには、
QUOTE SITE NAMEFMT
→250 NOW USING NAMING FORMAT "0".
→250 NOW USING NAMING FORMAT "1".
パス指定形式のデフォルトの設定方法
CHGFTPA LISTFMT(*DFT) →LISTFMT 0
CHGFTPA LISTFMT(*UNIX) →LISTFMT 1
パス指定形式の変更
・QUOTE SITE NAMEFMT 0
→250 NOW USING NAMING FORMAT "0".
・QUOTE SITE NAMEFMT 1
→250 NOW USING NAMING FOAMT "1".
line
Q109.   メッセージキューの種類は?
A109.
@各ワークステーション毎に作成されます。
Aメッセージキューの名前とワークステーションの名前は常に同じ
新規のワークステーションが定義されると同一名を持つメッセージキューが自動作成される。
Bサインオン時にメッセージキューは通知転送モードで接続される。
Cサインオフするとメッセージキューは保留転送モードになる。

ユーザーメッセージキュー
@ユーザープロファイルを作成すると同時に同じ名前を持つユーザーメッセージキューが作成される。
Aはじめに、サインオンしたユーザーにユーザーメッセージキューが通知転送モードで割り当てられる。

ジョブメッセージキュー
@実行中のジョブは、このメッセージキューを使ってメッセージのやりとりをできます。
line
Q110.   ALCOBJのロック状態の意味は?
A110.
*EXCL(占有)
他のジョブはこのオブジェクトを一切使用することができません。

*EXCLRD(読み取り可占有)
他のジョブは読み取ることができます。
但し、他のジョブは*SHRRDであること。

*SHRUPD(更新共用)
他のジョブは読み取りおよび更新ができます。
但し、他のジョブは*SHARUPDまたは*SHRRDであること。

*SHRNUP(更新不可共用)
他のジョブは読み取ることができます。
但し、他のジョブは*SHRNUPまたは*SHRRDであること。

*SHRRD(読み取り共用)
他のジョブは読み取ることができます。
但し、他のジョブは*EXCL以外であること。

line
Q111.   ライブラリーリスト使用上の注意事項は?
A111.
<注意1>
・SBMJOBあるいはJOBDでライブラリーリストを指定する場合は、ライブラリーに対してオブジェクト操作権限が必要である。
・実在しないライブラリーを指定するとSBMJOBは失敗する。

<注意2>
SBMJOB CALL PGM1 JOBD(xxxx) INLIBL(*JOBD)

・PGM1のライブラリーリストは、JOBDのライブラリーリストが参照される。
・SBMJOBを実行した環境のライブラリーリストを参照するのではない。

<注意3>
SBMJOB CALL PGM2 JOBD(xxxx) INLIBL(*JOBD)

PGM2:
CALL PGM3

PGM3のライブラリーリストは、SBMJOBパラメータで指定されたライブラリーリストを使用する。
上記の例では、JOBDを参照する。

line
Q112.   プリンターの応答メッセージについて
A112.
@用紙タイプが変わると「CPA3394」のメッセージが出力
A「G」を応答
B位置合わせメッセージ「CPA4044」が出力
C「I」を応答

以降、用紙タイプが同じであればBのメッセージは出力されない。
但し、用紙タイプが同じでもページ長が異なると出力される。

用紙タイプ  行数
0911     66行  出力
0911     33行  出力
0911     33行
0911     66行  出力
0911     66行
line
Q113.   全銀TCP/IP手順の連絡モード、照会モードとは?
A113.  
連絡モード:Aセンターからの送信
照会モード:Aセンターからの受信
line
Q114.   全銀TCP/IP手順の通信トレースの見方は?
A114.  
500:開局要求
4501:開局回答
4510:開始要求
4511:開始回答
4512:終了要求
4513:終了回答
4502:閉局要求
4503:閉局回答
line
Q115.   FTPでIFSへEBCDICコードでアップロードしたい。
A115.  
ファイルが存在しないIFSへPUTするとコードページは819になり、ASCIIコードになってしまいます。
以下の手順で行えばEBCDICコードになります。
@IFSのコードページを5026または5035にする。
WRKLNK→OPT=2→F15→ファイルのCCSIDの変更
AFTPでPUTする。(ダブルバイトがある場合は、quote type c 943)
line
Q116.   IFS上でUNICODE(UTF-8)に変換したい。
A116.  
CPYTOIMPFでSTMFCODPAG(1208)を指定してください。
line
Q117.   ストリームファイルのCCSIDを変更したい。
A117.  
@CHGATR OBJ('/path/to/myfile.txt') ATR(*CCSID) VALUE(943)
ACPY OBJ('/path/to/myfile.txt') TOOBJ('/path/to/yourfile.txt') FROMCCSID(943) TOCCSID(1208)
line
Q118. CPYFでのMBROPT(*NONE)の使用上の注意事項について
A118.
CPYF MBROPT(*NONE) CRTFILE(*YES)で実行した場合は、データはコピーされます。
CRTFILE(*YES)を指定した場合は、MBROPT(*ADD)とみなされます。
データをコピーしたくない場合はコピー後にCLRPFMを行ってください。
line
Q119. ライブラリーリストの使用上の注意事項その2
A119.
システム値のQUSRLIBL、SBMJOB、JOBDなどでライブラリーリストを設定する場合はライブラリーに対してオブジェクト操作権限があること。
実在しないライブラリーを指定するとSBMJOBはエラーになります。
line
Q120. ソースを一括ダウンロードしたい。
A120.
1.メモ帳で以下のファイルを作成します。(srcdwncmd.txt)
  open xxx.xxx.xxx.xxx
  user xxxxx xxxxx
  cd xxLIB
  prompt off
  mget QCLSRC.* 
  quit
  bye

2.メモ帳で以下のファイルを作成しまします。(srcdwn.txt)
  ftp -d -n -s:C:\xxxxx\srcdwncmd.txt

3.2の拡張子をbatに変更して実行します。

4.ダウンロードされたファイルには、
   拡張子が付きませんのでフリーソフトなどを利用して付加してください。

line
Q121. CLで同一ファイルをRE-OPENしたい。
A121.
V5.4以上であれば以下の方法で対応できます。
PGM
     DCLF       FILE(MYLIB/xxxxx) OPNID(MYFILE)
     DCL        VAR(&CNT)    TYPE(*DEC)  LEN(1)

     DOWHILE    COND(&CNT < 3)
           RCVF OPNID(MYFILE)
           MONMSG MSGID(CPF0864) EXEC(DO) 
                  CLOSE OPNID(MYFILE)
                  CHGVAR &CNT (&CNT + 1)
                  ENDDO
           処理
     ENDDO
ENDPGM           
line
Q122. DSPUSRPRFの内容について知りたい。
A122.
DSPUSRPRFでOUTFILEに出力した場合

 ●パスワード有効期間(UPPWEI)
    0  : *SYSVAL(QPWDEXPITV)
     1- : *NOMAX
 ●パスワードが*NONE(UPPWON)
     *YES : パスワードなし(サインオン不可)
     *NO  : パスワードあり 
 ●パスワード満了日付(UPEXPD)
  パスワードが満了する日
  ※有効期間が*NOMAX、パスワードなしの場合は表示されません。
  
line
Q123. ユーザープロファイルの制限機能(LMTCPB))について知りたい。
A123.
LMTCPB(*YES)にすると、コマンドラインからのコマンド実行ができなくなります。
ただし、以下の実行は可能です。
 ・CLの中からのコマンド実行
 ・メニュー(SDA)の中からのコマンド実行
 ・ODBC経由でのCALL QCMDEXC実行
  
line
Q124. CLコマンドでOUTFILEに出力したい。
A124.
所有者を一括変更する場合の例です。

PGM        PARM(&LIB &NEWOWN)

            DCLF       FILE(QADSPOBJ)

            DCL        VAR(&LIB)     TYPE(*CHAR) LEN(10)
            DCL        VAR(&NEWOWN)  TYPE(*CHAR) LEN(10)

            SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) +
                           MSGDTA('OBJECT LIST取得中!') +
                           TOPGMQ(*EXT) MSGTYPE(*STATUS)
            DSPOBJD    OBJ(&LIB/*ALL) OBJTYPE(*ALL) +
                           OUTPUT(*OUTFILE) OUTFILE(QTEMP/OBJLIST)

            OVRDBF     FILE(QADSPOBJ) TOFILE(QTEMP/OBJLIST)

/* ライブラリーの所有者変更 */
            CHGOBJOWN  OBJ(&LIB) OBJTYPE(*LIB)    +
                          NEWOWN(&NEWOWN) CUROWNAUT(*SAME)
            MONMSG     MSGID(CPF22BE)

 READ:      RCVF
            MONMSG     MSGID(CPF0864) EXEC(GOTO END)
            SNDPGMMSG  MSGID(CPF9898) MSGF(QCPFMSG) +
                           MSGDTA(&ODOBNM *CAT '所有者変更中!') +
                           TOPGMQ(*EXT) MSGTYPE(*STATUS)

/*  オブジェクトの所有者変更  */
            CHGOBJOWN  OBJ(&ODLBNM/&ODOBNM) OBJTYPE(&ODOBTP) +
                          NEWOWN(&NEWOWN) CUROWNAUT(*SAME)
            MONMSG     MSGID(CPF22BE)
            GOTO       READ
END:
ENDPGM
  
line
Q125. ソースタイプの取得または変更を行いたい。
A125.
ソースタイプの取得:RTVMBRD
ソースタイプの変更:CHGPFM
  
line
Q126. ソースファイルの一覧を作成したい。NEW
A126.
■DSPFDを使用する場合
  DSPFD FILE(xxx/*ALL) TYPE(*BASATR) OUTPUT(*OUTFILE) 
  OUTFILEのFILE TYPE「S」がソースファイルです。

■SQLを使用する場合
 SELECT DBXFIL, DBXLIB, DBXATR, DBXTYP, DBXTXT        
     FROM   QADBXREF                                      
         WHERE  DBXTYP = 'S'      
  



Copyright (C) 2009 Cyflex. All Rights Reserved.