FAQ
Q10. iSeries Accessのデータ転送機能を5250画面のメニュー, CLプログラムから起動して実行できますか?
はい。可能です。 iSeries Access のデータ転送機能(RTOPCB / RFROMPCB コマンド)をCLプログラムから起動するには、オーガナイザー機能を利用します。また、データ転送機能開始時に入力するID/パスワードを、PC側のデータ転送のバッチコマンド中で自動入力させることも可能です。詳細な設定は以下の通りです。
詳細手順 環境
下記の手順は、以下の環境で実行しています。
i5/OS V5R3
iSeries Access V5R4
Windows XP SP2
PC側 ファイル転送バッチコマンド
以下のようなバッチファイルを用意します。
サンプル:C:¥TEMP¥TO_I5-01.BAT
\@echo *** step.1 ディレクトリの変更 ***
CD C:¥TEMP
@echo *** step.2 パスワード・キャッシュ クリア ***
cwblogon /c
@echo *** step.3 iSeries Access パスワード入力 ***
cwblogon LUCY02 /u GOMA /p GOMA
@echo *** step.4 ファイル転送実行 得意先マスター(ITEMM.dtf) ***
RTOPCB C:¥TEMP¥ITEMM.dtf
(解説)
- step.1 で、データ転送用の*.dtf, *.tto等の転送要求記述ファイルが存在するディレクトリに移動しています。例では C:¥TEMP ディレクトリーとしています。
- step.2 で、iSeries Access のパスワードキャッシュをクリアしています。
- step.3 で、データ転送時に使用するID/パスワードを指定しています。
注)このようにファイル上にID/パスワードを記述することは、セキュリティー上は推奨されません。このstep.3を省略すると、データ転送実行時にiSeries Accessのログインパネルが表示され, IDパスワードの入力を要求されるようになります(図1)。ユーザーの利便性としては劣りますが、セキュリティー上はstep.3を使用しないことをお勧めいたします。
図1、バッチファイルにユーザーID/パスワードを指定しない場合のID/パスワード入力画面

- step.3 では LUCY02がSystem iのシステム名、/u以下がユーザーID, /p以下がパスワードです。
- step.4 でデータ転送 RTOPCBコマンド を実行しています。
- サンプルのように@echo 行を入れると、コマンドプロンプト画面からこのバッチコマンドを実行した際などは、@echo行がコマンド実行時に画面にメッセージとして表示されます。また、後でご紹介するCLサンプル3のように、実行結果をPC上のテキストファイルにリダイレクトした際には、@echo行も一緒にテキストファイルに出力されるので、実行状況の確認などに便利です。
- 上記のバッチコマンドをPCのコマンドプロンプトから実行すると、図2のような結果になります。
図2

System i CLプログラム
下記のCLプログラムを実行することで、先に示したPC上のデータ転送バッチコマンド(TO_I5-01.BAT)を起動できます。
CLプログラムサンプル1 基本形
桁 . . . . . : 1 71 編集 GOMALIB/QCLSRC
SEU==> STR_FTS FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+...
5 ...+... 6 ...+... 7
*************** データの始め ****************
0001.00 PGM
0002.00 /***************************************/
0003.00 /* ファイル転送プログラム実行 */
0004.00 /***************************************/
0005.00
0006.00 /* STEP.1 PCO の開始 */
0007.00 STRPCO PCTA(*NO)
0008.00 /* オーガナイザーが活動中かの確認 */
0009.00 MONMSG MSGID(IWS4010)
0010.00
0011.00 /* STEP.2 PC 側ファイル転送バッチコマンドの起動 */
0012.00 STRPCCMD PCCMD('C:¥TEMP¥TO_I5-01.BAT') PAUSE (*NO)
0013.00
0014.00 ENDPGM
************** データの終わり ****************
(解説)
- STEP.1でiSeries Accessのオーガナイサー機能を開始します。オーガナイザーを開始することにより、CLプログラムからPC上のバッチファイルを起動できます。
- STEP.2 では、PC側で用意したファイル転送バッチコマンドのファイル名を指定します。
パラメーターにPAUSE(*NO)を指定すると、指定したPC側のバッチコマンド終了後にコマンドプロンプト画面は自動的にクローズされます)
CLプログラムサンプル2 STRPCCMDでPAUSE(*YES) を指定した場合
桁 . . . . . : 1 71 編集 GOMALIB/QCLSRC
SEU==> STR_FTS2
FMT ** ...+... 1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+...
7
**************** データの始め ****************
0001.00 PGM
0002.00 /***************************************/
0003.00 /* ファイル転送プログラム実行 */
0004.00 /***************************************/
0005.00
0006.00 /* STEP.1 PCO の開始 */
0007.00 STRPCO PCTA(*NO)
0008.00 /* オーガナイザーが活動中かの確認 */
0009.00 MONMSG MSGID(IWS4010)
0010.00
0011.00 /* STEP.2 PC 側ファイル転送バッチコマンドの起動 */
0012.00 STRPCCMD PCCMD('C:¥TEMP¥TO_I5-01.BAT') PAUSE(*YES)
0013.00
0014.00 ENDPGM
**************** データの終わり ****************
(解説)
- STEP.1は、CLプログラムサンプル1と同じです。
- STEP.2でパラメーターにPAUSE(*YES)を指定すると、指定したPC側のバッチコマンド終了後にコマンドプロンプト画面が保持され、実行結果を確認することができます。(図3参照)ユーザーがエンターキーを押すとウィンドウがクローズされ、制御がCLプログラム側に戻されます。
図3

CLプログラムサンプル3 STRPCCMD実行結果をテキストファイルにリダイレクトした場合
桁 . . . . . : 1 71 編集 GOMALIB/QCLSRC SEU==> STR_FTS3 FMT ** ...+...
1 ...+... 2 ...+... 3 ...+... 4 ...+... 5 ...+... 6 ...+... 7
**************** データの始め ****************
0001.00 PGM
0002.00 /***************************************/
0003.00 /* ファイル転送プログラム実行 */
0004.00 /***************************************/
0005.00
0006.00 /* STEP.1 PCO の開始 */
0007.00 STRPCO PCTA(*NO)
0008.00 /* オーガナイザーが活動中かの確認 */
0009.00 MONMSG MSGID(IWS4010)
0010.00
0011.00 /* STEP.2 PC 側ファイル転送バッチコマンドの起動 */
0012.00 STRPCCMD PCCMD('C:¥TEMP¥TO_I5-01.BAT > + C:¥TEMP¥LOG.TXT')
PAUSE(*NO) 0013.00 0014.00 ENDPGM
**************** データの終わり ****************
(解説)
- STEP.1は、CLプログラムサンプル1,2と同じです。
- STEP.2で実行するPCコマンドにリダイレクト “>” を指定しています。リダイレクトを指定すると、PC側で本来コマンドプロンプト画面に表示される実行結果をリダイレクト先〔例ではC:¥TEMP¥LOG.TXT〕に転送することができます。(以下のLOG.TXTを参照)
C:¥TEMP¥LOG.TXT TO_IT-01.BAT コマンドの実行結果ログファイル
*** step.1 ディレクトリの変更 ***
D:¥appl¥IBM¥PCOMM¥Private>CD C:¥TEMP
*** step.2 パスワード・キャッシュ クリア ***
D:¥appl¥IBM¥PCOMM¥Private>cwblogon /c
IBM iSeries Access for Windows
バージョン 5 リリース 4 レベル 0
ログオン・ユーティリティー
(C) Copyright IBM Corporation and Others 1984, 2005. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp. Licensed Materials
- Property of IBM
ユーザー ID とパスワードが正常に iSeries Access for Windows キャッシュから消去されました。
*** step.3 iSeries Access パスワード入力 ***
D:¥appl¥IBM¥PCOMM¥Private>cwblogon LUCY02 /u GOMA /p GOMA
IBM iSeries Access for Windows
バージョン 5 リリース 4 レベル 0
ログオン・ユーティリティー
(C) Copyright IBM Corporation and Others 1984, 2005. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp. Licensed Materials
- Property of IBM
ユーザー ID とパスワードが正常に iSeries Access for Windows キャッシュに保管されました。
*** step.4 ファイル転送実行 得意先マスター(ITEMM.dtf) ***
D:¥appl¥IBM¥PCOMM¥Private>RTOPCB C:¥TEMP¥ITEMM.dtf
IBM iSeries Access for Windows
バージョン 5 リリース 4 レベル 0
iSeries からデータを転送
(C) Copyright IBM Corporation and Others 1984, 2005. All rights reserved.
U.S. Government Users Restricted Rights - Use, duplication or disclosure
restricted by GSA ADP Schedule Contract with IBM Corp. Licensed Materials
- Property of IBM
受信が正常に完了しました
