フォーラムへの返信
-
投稿者投稿
-
おはようございます、
スマートな方法、とのことでどの辺を効率化?したいのかによると思いますがたとえば、方法① SAVRSTOBJ コマンドを使う
SAVRSTOBJコマンドはローカルシステムでオブジェクトを保管し、続けてコマンドで指定したリモートシステムに保管したオブジェクトを送信・復元します。SARVRSTOBJ, SAVRSTLIB, SAVRST (IFSオブジェクト用)、SAVRSTCHGなどバリエーションがあります。
参考:保管/復元 (SAVRST) コマンド https://www.ibm.com/docs/ja/i/7.4?topic=commands-savrst-command方法② 仮想テープ装置にバックアップし、IFSに保管されたファイルをファイル転送他で他システムに転送
SAVFはIBM i 独自のオブジェクト形式なのでと他システム転送する際に操作がやや煩雑な場合があるのかもしれません。
その場合、仮想テープ装置を作成し、それの仮想テープボリュームにオブジェクトを保管するとバックアップイメージの実体はIFSのバイナリー形式のファイルになります。Windows, Linuxなどからも一般的なファイルとして操作可能でSAVFのような扱いにくさは無いと思います。この方法の場合、たとえばFTPで転送する等は現状と同じだと思うので転送の作り込みその他の制約が緩くなる、というものです。
参考:IBM i駆け出し日記:仮想テープの作り方と使い方 https://qiita.com/koga39chan/items/73dc0a2771125e43983fこんにちは、現状どのあたりの操作を簡略化したいのか等、色々あるかもしれませんのでご参考ですが、
方法① SAVRSTOBJコマンドを使用する
SAVRSTOBJコマンドはローカルシステムでオブジェクトを保管し、続けてリモートシステムとして指定したシステムに保管イメージを転送・復元してくれるものです。
バリエーションにSAVRSTLIB, SAVRST, SAVRSTCHGなどがあります。
ただし、間のネットワーク帯域が狭い、送信するオブジェクトサイズが過大等の場合は処理時間が許容できるか等テストが必要だと思います。参考:保管/復元 (SAVRST) コマンド https://www.ibm.com/docs/ja/i/7.4?topic=commands-savrst-command
方法② 仮想テープ装置に保管媒体を変更する
こちらの場合は、おそらく現行のFTP等と同様なファイル転送操作が必要ですが、仮想テープ装置の保管イメージはIFS上のバイナリーイメージのファイルとして作成されるので、IBM i 以外の他システム(Windows, Linux等)と連携したファイル転送・共有ではより柔軟になるかもしれません。SAVF=IBM i 固有形式のファイルであるがゆえの制約、使いにくさなどが課題ならこちらも試す価値があるかもしれません。参考:IBM i駆け出し日記:仮想テープの作り方と使い方 https://qiita.com/koga39chan/items/73dc0a2771125e43983f
こんにちは、現状どのあたりの操作を簡略化したいのか等、色々あるかもしれませんのでご参考ですが、
方法① SAVRSTOBJコマンドを使用する
SAVRSTOBJコマンドはローカルシステムでオブジェクトを保管し、続けてリモートシステムとして指定したシステムに保管イメージを転送・復元してくれるものです。
バリエーションにSAVRSTLIB, SAVRST, SAVRSTCHGなどがあります。
ただし、間のネットワーク帯域が狭い、送信するオブジェクトサイズが過大等の場合は処理時間が許容できるか等テストが必要だと思います。方法② 仮想テープ装置に保管媒体を変更する
こちらの場合は、おそらく現行のFTP等と同様なファイル転送操作が必要ですが、仮想テープ装置の保管イメージはIFS上のバイナリーイメージのファイルとして作成されるので、IBM i 以外の他システム(Windows, Linux等)と連携したファイル転送・共有ではより柔軟になるかもしれません。SAVF=IBM i 固有形式のファイルであるがゆえの制約、使いにくさなどが課題ならこちらも試す価値があるかもしれません。上記参考リンクがうまく貼れないようなので、追加返信いたします。
方法① SAVRSTOBJコマンド
IBM docs のIBM i (旧 IBM i Inforcenter)で 保管/復元 (SAVRST) コマンド で検索してください。方法② 仮想テープ装置
Qiita で IBM i駆け出し日記:仮想テープの作り方と使い方 で検索してください。こんにちは、現状どのあたりの操作を簡略化したいのか等、色々あるかもしれませんのでご参考ですが、
方法① SAVRSTOBJコマンドを使用する
SAVRSTOBJコマンドはローカルシステムでオブジェクトを保管し、続けてリモートシステムとして指定したシステムに保管イメージを転送・復元してくれるものです。
バリエーションにSAVRSTLIB, SAVRST, SAVRSTCHGなどがあります。
ただし、間のネットワーク帯域が狭い、送信するオブジェクトサイズが過大等の場合は処理時間が許容できるか等テストが必要だと思います。方法② 仮想テープ装置に保管媒体を変更する
こちらの場合は、おそらく現行のFTP等と同様なファイル転送操作が必要ですが、仮想テープ装置の保管イメージはIFS上のバイナリーイメージのファイルとして作成されるので、IBM i 以外の他システム(Windows, Linux等)と連携したファイル転送・共有ではより柔軟になるかもしれません。SAVF=IBM i 固有形式のファイルであるがゆえの制約、使いにくさなどが課題ならこちらも試す価値があるかもしれません。自己回答です。
A.
DSPPGM PGM(TESTLIB/TESTPGM) DETAIL(*MODULE)のように実行し、(ここで *MODULEを指定するのがRPGⅢとちょっと違います‥)
次の画面でOPT.5 でモジュールの表示を実行すると、ソースの情報が表示されます。別案として、
VSCode でエディターの files.autoGuessEncoding をチェック(有効)にする方法でも文字化け回避できました。(自己回答です)
VSCodeで開いた際、エンコードがUTF-8になるのですが、RDi iプロジェクトでインポートされた際のテキストファイルはS-JISでエンコードされていました。大元のIBM i 上のソース物理ファイルのCCSID(文字属性)がEBCDIC(CCSID(5035))だったためと思われます。(テストしていませんが、元のソース物理ファイルの属性がCCSID(1208) UTF-8ならRDi iプロジェクトでインポート時もUTF-8エンコードでインポートされるのではないでしょうか。)
対応策としては、VSCodeの画面右下部に表示されている、UTF-8 というところをクリックすると、パネルが表示されますので、エンコード付きで再度開く を選択してJapanese(Shift-jis) を選択します。
以上でS-JisエンコードでILE-RPGソースを開き文字化けが解消されました。詳細はこちらに記述しています:
https://qiita.com/gomAnomalocaris/items/2c673ae0ec1c7f9acc05イグアスQAオーナー様
ご返信ありがとうございます。当件、詳しい要望はお聞きできていないのですが、あらたにAPサーバーを構築する(または既存でどこかにあるAPサーバーの統合)要件が発生して、使用中のシステムにWASインスタンスを作れるか?というご相談でした。
(自己回答です)
A.
SETSOCKOPTはあきらめて、別なプログラミングにトライしたところ期待通りの動作が実現できたとのことでした。大まかには下記になります。**①SOCKET()でソケットを作成**
**②LISTEN()でクライアント要求を待機**
**③ACCEPT()でクライアントの接続要求を許可**
**④SELECT()でタイムアウトの秒数を設定**
**⑤ソケットが読み取り可能か確認**
**⑥ソケットが読み取り可能な場合以下実行**
**⑦ソケットから読み取りできず指定秒数でタイムアウトした場合、接続をクローズして①に戻る。**
**⑧RECV()でクライアントからのデータを読取り**
**⑨SEND()でクライアントへデータ送信**
**⑩接続を閉じて初期化し②に戻る**(自己回答です)
A1.
IBM i で稼働するWAS(WebSphere Application Server, tWASともよばれます)には、他のプラットフォームと同じ有償のPAパスポートアドバンテージ版と、IBM i OSの無償オプションとして提供されるものの2種があります。このIBM i 無償オプションのtWASを提供しているライセンスプログラムをWeb Enablement for i と呼びます。A2.
IBM i システムに上記Web EnablementのWASが導入されているかを確認するコマンドは
GO LICPGMコマンドから10.導入済みライセンス・プログラムの表示を実行すると表示されます。
またはDSPSFWRSCコマンドでも表示できます。表示の見方は、Web Enablementは 5733-Wxxが導入されていればWeb Enablement (WAS)が導入されています。xxはWASのバージョンです。
下記のGO LICPGM -> 10. の画面の例ですと、5733W90=WAS V9.0が導入済みです。
————————————————————————————-
導入済みライセンス・プログラムの表示
システム: IBMI74
ライセンス・ 導入
プログラム 状況 記述
5733WQX *INSTALLED Web Query Scheduler Edition
5733WQX *INSTALLED Web Query Runtime User Edition
5733W90 *INSTALLED WebSphere Application Server V9 for IBM i
5733W90 *INSTALLED WebSphere Application Server V9 (“Base”)
5770XH2 *COMPATIBLE IBM I ACCESS FOR WEB
5770XW1 *COMPATIBLE IBM I ACCESS FAMILY
5770XW1 *COMPATIBLE IBM I ACCESS使用可能性サポート
5ZRDSMB *INSTALLED Compliance Monitoring Tool Agent/SMB/Quick Ch終わり
続行するには,実行キーを押してください。F3=終了 F11=リリースの表示 F12=取り消し F19=商標の表示
-
投稿者投稿