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?

IBM i CLPでクライアントのIPアドレスを取得するサンプル

Last updated at Posted at 2023-06-07

ちょっと前に調べたものなのでIBM i 7.5などでは指定パラメーターに若干UPDATEあったと思いますが、基本的な使い方は同様です。

CLPサンプル


****************** データの始め ***************************************
0001.00 /* PGM PARM(&DEV_NAM) */
0002.00 PGM
0005.00
0006.00 DCL VAR(&DEV_INFO) TYPE(*CHAR) LEN(1121)
0007.00 DCL VAR(&VAR_LEN) TYPE(*DEC) LEN(4 0) VALUE(1121)
0008.00 DCL VAR(&FORMAT_NAM) TYPE(*CHAR) LEN(8)
0009.00 DCL VAR(&DEV_NAM) TYPE(*CHAR) LEN(10)
0010.00 DCL VAR(&ERR_CD) TYPE(*CHAR) LEN(32)
0011.00
0012.00 DCL VAR(&IP) TYPE(*CHAR) LEN(15)
0013.00
0014.00 MONMSG MSGID(CPF0000)
0015.00
0016.00 RTVJOBA JOB(&DEV_NAM)
0017.00
0018.00 CHGVAR VAR(&FORMAT_NAM) VALUE('DEVD0600')
0019.00
0020.00 CALL PGM(QDCRDEVD) PARM(&DEV_INFO &VAR_LEN +
0021.00 &FORMAT_NAM &DEV_NAM &ERR_CD)
0022.00
0023.00 CHGVAR VAR(&IP) VALUE(%SST(&DEV_INFO 877 15))
0024.00
0025.00 SNDPGMMSG MSG(&DEV_NAM *CAT ‘ の IP は ’ *CAT &IP *CAT + ' です。 ')
0026.00 ENDPGM
***************** データの終わり **************************************

※18.00行目でクライアントのタイプが
*DSP の場合は DEVD0600
*PRT の場合は DEVD1100
を指定します。

上記を実行すると
image.png

のような実行結果が返されます。

補足

パラメーター(&FOMAT_NAM)を変更することで別な *DEVタイプのIPアドレスも取得可能
  *APPC, *BSC, *HOST, *TAP, *MLB...
サンプルはIBM i 7.1 レベル前提です。他のOSバージョンではパラメーターの指定方法等に若干の差異がありますのでインフォセンターで確認してください。

参考:IBM i サービス QSYS2.TCPIP_INFO ビューを使用した例

IBM i サービスのQSYS2.TCPIP_INFOビューを使用すれば一発で取得できます。今後はこちらが便利かも。

3
0
3

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?