3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AS400とCode for IBMiでのコマンド比較①

Posted at

【コマンド一覧】


実行環境は以下の通りです。

項目 バージョン値
IBMi V7R3M0
ACS バージョン:1.1.9.3 ビルド ID:3301
ACS java java.version:1.8.0_201
VSCode 1.98.1
Code for i 2.17.0

Create Bound RPG

RPGソースからプログラムを作成

RPGソースをコンパイルして、直接実行可能なプログラムオブジェクト(PGM)を作成します。作成されるオブジェクトはモジュールとは違い、単体で実行できるプログラムです。


【AS400】

コマンドラインにCRTBNDRPGと入力するか、PDMを使用したメンバーの処理画面(STRPDM⇒3.メンバーの処理)でコンパイルしたいメンバーに14を入れて実行ボタンを押すと実行できます。

CRTBNDRPG

image.png
★主なパラメータ
SRCFILE・・・ソースが格納されているソース物理ファイル(通常はQRPGSRC)
SRCMBR・・・コンパイルするソースメンバー名
PGM・・・作成するプログラムオブジェクトの名前(ライブラリ/オブジェクト形式)
OPTION・・・コンパイル時のオプション(リスト生成、デバッグ用情報の出力など)
DBGVIEW・・・デバッグ用にソース情報を含めるかどうか

【Code for IBMi】
メンバーに対するコマンドです。
メンバーを選択している状態で「Ctrl + E」を押し、表示されるアクション一覧からCreate Bound RPG Program(CRTBNDRPG)を選択します。Code for IBMiをインストールした初期状態でコマンドが準備されています。
image.png

コンパイル結果が出力されます。
image.png

Code for IBMiではエラーの箇所に波線が表示されるため、黒画面よりも修正箇所が分かりやすいです。
image.png

Create Service Program

サービスプログラムの作成

複数のプログラムやモジュールから共通利用される機能をまとめた再利用可能なオブジェクトであるサービスプログラムを作成します。


【AS400】
コマンドラインにCRTSRVPGMと入力することで実行できます。

CRTSRVPGM

image.png
★主なパラメータ
SRVPGM・・・作成するサービス・プログラム名
MODULE・・・取り込むモジュールを指定(複数可)
EXPORT・・・外部に公開する関数・手続きを指定
            *ALL:すべて公開
            *SRCFILE / *SRCMBR:エクスポート・ソースで指定
BNDDIR・・・依存関係のあるモジュールやサービス・プログラムをまとめたディレクトリー
ACTGRP・・・アクティベーション・グループの指定

【Code for IBMi】
「Ctrl+E」を押し、表示されるアクション一覧からCreate Bound RPG Program(CRTBNDRPG)を選択します。Code for IBMiをインストールした初期状態でコマンドが準備されています。
image.png

CRTSRVPGMを選択すると、設定されているパラメータが反映された状態で表示されるので、間違いがなければEnterで実行。
image.png

コンパイル結果が表示されます。
image.png

Create SQL ILE RPG Program

SQL文を含むRPGプログラムの作成

SQLステートメントを含むRPGソースをコンパイルし、RPGプログラムを作成します。
通常のILE RPGのようなREAD/CHAINでのDBアクセスだけでなく、RPG内のSQL文でDB2 for iを操作できます。

【AS400】
コマンドラインにCRTSQLRPGIと入力することで処理できます。
パラメータのコンパイル・タイプを*PGMしてから実行します。

CRTSQLRPGI

image.png

★主なパラメータ
COMMIT・・・トランザクション制御方法(*NONE, *CS, *CHG, *ALL)
           *NONE:コミット制御しない
           *CS:カーソル安定性
           *CHG:変更対象行に対してロックを保持
           *ALL:トランザクション内で参照・更新した全行をコミット/
               ロールバックまでロック
OBJTYPE・・・出力タイプを指定(MODULE/PGM)
DFTRDBCOL・・・デフォルトのライブラリ(SQLスキーマ)を指定
DBGVIEW・・・デバッグ時にどのレベルでソースを参照できるかを指定します

【Code for IBMi】
メンバータイプがSQLRPGLEの場合に、「Ctrl + E」で検索すると表示されます。
Code for IBMiをインストールした初期状態でコマンドが準備されています。

image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行。
コマンド自体はCreate SQL ILE RPG Moduleと同じで、中身のパラメータが異なるので選択ミスに注意。
image.png

エラーが無ければ、パラメータで指定した場所にプログラム(SQLRPGLE)が作成されます。
image.png

Create SQL ILE RPG Module

SQL文を含むRPGモジュールの作成

SQLステートメントを含むRPGモジュールを作成します。

【AS400】
コマンドはプログラム作成時と同じですが、コンパイルタイプをMODULE(モジュール)に変更します。

CRTSQLRPGI

image.png
★主なパラメータ
COMMIT・・・トランザクションの制御方法
DFTRDBCOL・・・デフォルトのライブラリ(SQLスキーマ)を指定
DBGVIEW・・・デバッグ時にどのレベルでソースを参照できるかを指定します

【Code for IBMi】
Ctrl+E を押し、表示されるアクション一覧からCreate RPG Module (CRTRPGMOD)を選択します。
image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行。
image.png

Create RPG Module

RPGモジュールの作成

RPGソースをコンパイルしてモジュールオブジェクトを作成するコマンドです。

【AS400】
コマンドラインにCRTRPGMODと入力することで処理できます。

CRTRPGMOD

image.png
★主なパラメータ
MODULE・・・出力されるモジュールの名前を指定します
SRCFILE / SRCMBR・・・RPGソースが格納されているソースファイル/メンバーを指定します
DBGVIEW・・・デバッグ時にどのレベルでソースを参照できるかを指定します

【Code for IBMi】
Ctrl+E を押し、表示されるアクション一覧からCreate RPG Module (CRTRPGMOD)を選択します。
Code for IBMiをインストールした初期状態でコマンドが準備されています。
image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行
image.png

CreateCommand

コマンドの作成

標準コマンドと同じように動作するコマンドを作成することができます。

【AS400】
コマンドにCRTCMDと入力することで処理できます。

CRTCMD

image.png
★主なパラメータ
CMD・・・作成するコマンドの名前を指定します
PGM・・・コマンド実行時に呼び出されるプログラムを指定します
SRCFILE・・・コマンド定義ソースが入っているソースファイルを指定します
SRCMBR・・・ソースファイル内のメンバー名を指定します
SRCSTMF・・・IFS内のストリームファイルをコマンド定義ソースとして利用する場合に指定
           します

【Code for IBMi】
メンバータイプがCMDの場合に「Ctrl + E」で検索すると表示されます。
Code for IBMiをインストールした初期状態でコマンドが準備されています。

image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行
image.png

エラーが無ければ、パラメータで指定した場所にコマンドが作成されます。
image.png

※使用するソースや作成するパラメータに加え、権限等についても初期設定されています。
初期状態では、すべてのユーザーに権限が与えられえた状態で作成されるため、必要に応じてパラメータは変更して実行します。
image.png

image.png

CreateCommand(AllowReturnVariables-CRTCMD)

コマンドの作成(リターン変数あり)

リターン変数ありコマンドを作成する場合に利用します。通常のコマンドは実行のみを行い終了しますが、リターン変数がある場合結果に応じて処理を変化させることができるので、より柔軟なコマンドを作成することができます。

【AS400】
ALWRTNVARパラメータはCRTCMDでユーザー定義コマンドを作成する際に使用する時の属性で、コマンドラインでは指定できません。

CRTCMD CMD(MYLIB/TESTCMD) +
       PGM(MYLIB/TESTPGM) +
       ALWRTNVAR(*YES)

【Code for IBMi】
一つ上の通常CreateCommandと同じように、メンバータイプがCMDの場合に「Ctrl + E」で検索すると表示されます。
image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行
image.png

エラーが無ければ、パラメータで指定した場所にコマンドが作成されます。
image.png

Delete File

ファイル削除

クライアントもしくはサーバーにあるファイルを削除します。

【AS400】
コマンドにDLTFと入力すると処理できます。SYSTEMパラメータで削除するファイルの位置をローカルかサーバーかを指定することができます。

image.png

【Code for IBMi】
インストール後の初期状態ではコマンドが準備されていないため、自分でアクションを作成します。

image.png

以下のように設定します
Action name・・・Delete File(DTLF)
Command(s) to run・・・DLTF FILE(&LIBRARY/&NAME)
Extensions・・・PF,LF
TYPE・・・Member
Environment・・・ILE
Refresh・・・No

削除するファイルを右クリックで指定し、「Run Action」から作成したコマンドを実行
image.png
image.png

ファイルの削除することができます。
image.png

CreateDisplayFile

表示装置ファイルの作成

対話型プログラム等で用いる、表示装置ファイルを作成します。

【AS400】
コマンドにCRTDSPFと入力することで処理することができます。
image.png
★主なパラメータ
FILE・・・削除するファイル名を指定します
DLTMBR・・・メンバー単位で削除する場合に使用します
RESTRICT・・・依存関係があるファイルがある場合に削除できるかどうかを指定します
DLTSAVF・・・対象がセーブファイル(*SAVF)の場合に、セーブファイルを削除するか
          しないかを指定します

【Code for IBMi】
メンバータイプがDSPFの場合に、「Ctrl + E」で検索すると表示されます。Code for IBMiをインストールした初期状態でコマンドが準備されている。
image.png

選択すると、パラメータが反映された状態で表示されるので間違いがなければEnterで実行
image.png

エラーが無ければ、パラメータで指定した場所に表示装置が作成されます。
image.png


当記事の著作権はIBMに帰属します。
詳細はこちらを参照ください。

3
0
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?