フォーラムへの返信
-
投稿者投稿
-
後、上記のマニュアルサイトは読み方わからないと最初見づらいと思いますので、こちらの記事もご参考にどうぞ。。
Db2 for i のSQL構文の書き方のガイド
https://qiita.com/gomAnomalocaris/items/0b7c4591d5b812384361(自己回答です)
こちらのサイトがDb2 for i のSQL構文のマニュアルになります。
IBM i 7.5 = Db2 for i 7.5です。(※Db2 for i はIBM i OSにビルトインなので2つは常に同じバージョン番号になります)SQL解説書 -> ステートメント に記載があります。
https://www.ibm.com/docs/ja/i/7.5?topic=reference-statementsイグアス次郎さん
なるほどその方法もありますね。ほかには、、
5250画面で、IBM i のメインメニュー (GO MENUコマンドでも表示可)から、メニュー番号である程度カテゴリ別のコマンドがメニュー表示されます。
下記の辺りがよく使うのでは…と思います。
1.ユーザー・タスク
3.汎用システム・タスク
4.ファイル,ライブラリー,およびフォルダー
5.プログラミング
6.通信
7.システムの定義または変更最初わかり難いと思いますが、
1.はDSPMSG, DSPJOBLOGなどユーザーに関連したコマンド
3.はジョブやシステム制御、バックアップ・復元などOS周り
4.はライブラリー関連など
5,6,7は見た通りのコマンド群が表示され、メニューで選択できるので時間はかかりますが、分かりやすいかもしれません。(自己回答です。)
IBM i OSコマンドはCLコマンド(コントロール・ランケージ・コマンド)というものです。
マニュアルとしてこちらから一覧検索できます。CL command finderCL command finder
また、5250端末が手元にあれば、サインオンして以下のような方法で検索できます。
・コマンドの一部分をわかる(推測できる)場合は、GO CMDxxx コマンドを実行します。
xxx に検索したいCLコマンドの一部を入力します。
たとえば、GO CMDCRT
とすると、CRTPF, CRTRPGPGM, などCRTが含まれるコマンドがリストされます。
または、
GO CMDPF
のようにすると、PFに関連するコマンド一覧がリストされます。(CRTPF, CHGPF, CHGPFM, etc.)
こんにちは、現状どのあたりの操作を簡略化したいのか等、色々あるかもしれませんのでご参考ですが、
方法① 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=商標の表示
-
投稿者投稿