LoginSignup
0
0

More than 1 year has passed since last update.

サービスプログラムを作成できるようになるまで(3)_サービスプログラムの作成

Last updated at Posted at 2022-12-15

はじめに

前回は、プログラム内でサービスプログラムが呼び出されるまでの流れについてご紹介しました。
今回は、サービスプログラムの作成方法についてご紹介します。

この記事は、プログラム開発をする上で欠かせないサービスプログラムの、一から学習した記録をシリーズに分けてご紹介しています。

サブプロシージャーの定義

まず、サブプロシージャーの定義のため、主に以下を記述します。

  1. プロトタイプ
  2. プロシージャーの開始
  3. プロシージャー・インターフェース
  4. 処理に必要な変数等
  5. 演算仕様書(実行したい処理)
  6. プロシージャーの終了

1.プロトタイプ

D BLG0006R_GET_HNM...
D                 PR            62
D  IN_HNC                        9S 0 VALUE                                 品名コード

2.プロシージャーの開始

P BLG0006R_GET_HNM...
P                 B                   EXPORT

3.プロシージャー・インターフェース

D BLG0006R_GET_HNM...
D                 PI            62
D  IN_HNC                        9S 0 VALUE                                 品名コード

4.処理に必要な変数等

D OUT_HNM         S             62                                          品名

5.演算仕様書

C     B6KEY1        KLIST
C                   KFLD                    K@6HNC
C     *LIKE         DEFINE    BG06HNC       K@6HNC
C*
C                   Z-ADD     IN_HNC        K@6HNC                          品名コード
C     B6KEY1        CHAIN(N)  BLG0006R1
C                   IF        %FOUND
C                   MOVEL(P)  BG06HNM       OUT_HNM
C                   ELSE
C                   MOVEL(P)  *BLANK        OUT_HNM
C                   ENDIF
C*
C                   RETURN    OUT_HNM                                       品名

6.プロシージャーの終了

P                 E

エクスポートリストの作成

次に、エクスポートリストに前項で作成したプロシージャーを記述します。

  STRPGMEXP

    EXPORT SYMBOL('BLG0006R_GET_HNM')

  ENDPGMEXP

モジュール&サービスプログラムの作成

最後に「サブプロシージャーの定義」の際に作成した RPGLE のモジュールの作成CRTRPGMODとサービスプログラムの作成CRTSRVPGMを実行します。

おわりに

今回はサービスプログラムの作成方法についてご紹介しました。

最後までお読み頂きありがとうございます。

関連した投稿

サービスプログラムを作成できるようになるまで(1)_サービスプログラムの前提
サービスプログラムを作成できるようになるまで(2)_サービスプログラムが実行される流れ
サービスプログラムを作成できるようになるまで(4)_サービスプログラムの実行

0
0
0

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
0
0