アフィリエイト広告を利用しています
ファン
検索
<< 2023年11月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    
最新記事
写真ギャラリー
最新コメント
タグクラウド
カテゴリーアーカイブ
プロフィール
日別アーカイブ

広告

posted by fanblog

2019年04月25日

Excel VBA からAS400のプログラムをCALL

Excel →TESTS(ストアドプロシジャ)→TESTC(CLP)→TEST(RPG)

【Excel】

Private Sub TEST()

Dim ReturnField As String

Dim cn As Object
Dim cmd As Object

Dim parm1 As Object
Dim parm2 As Object
Dim parm3 As Object

Set cn = CreateObject("ADODB.Connection")
Set cmd = CreateObject("ADODB.Command")

Set parm1 = CreateObject("ADODB.Parameter")
Set parm2 = CreateObject("ADODB.Parameter")
Set parm3 = CreateObject("ADODB.Parameter")

Dim label1 As String

Dim strCON As String


strCON = "Provider=IBMDA400;Data Source=192.168.1.1;User ID=QSECOFR;Password=QSECOFR;"

cn.Open strCON

cmd.ActiveConnection = cn
cmd.CommandType = 1 'adCmdText

cmd.CommandText = "CALL QGPL.TESTS(?, ?, ?)"
cmd.Parameters.Append cmd.CreateParameter("parm1", 129, 1, 2, "10")
cmd.Parameters.Append cmd.CreateParameter("parm2", 129, 1, 8, "20190327")
cmd.Parameters.Append cmd.CreateParameter("parm3", 129, 3, 1, " ")

cmd.Execute

label1 = cmd.Parameters(2).Value

cn.Close

End Sub

【CL】 TESTC

PGM PARM(&IN1 &IN2 &OUT1)

DCL VAR(&IN1) TYPE(*CHAR) LEN(2)
DCL VAR(&IN2) TYPE(*CHAR) LEN(8)
DCL VAR(&OUT1) TYPE(*CHAR) LEN(1)
CHGVAR VAR(&OUT1) VALUE('0')

CALL PGM(TEST) PARM(&IN1 &IN2)
MONMSG MSGID(CPF0000) EXEC+
(CHGVAR VAR(&OUT1) VALUE('1') )
ENDPGM

【TESTS】STRSQL を導入していないので、iナビゲーターからストアドプロシジャを作成

CREATE PROCEDURE QGPL.TESTS(IN PARM1 CHAR(2),IN PARM2 CHAR(8),OUT PARM3 CHAR (1)) LANGUAGE CL NOT DETERMINISTIC NO SQL EXTERNAL NAME MYLIB.TESTC PARAMETER STYLE GENERAL


この記事へのコメント
コメントを書く

お名前: 必須項目

メールアドレス: 必須項目


ホームページアドレス: 必須項目

コメント: 必須項目

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/8753550
※ブログオーナーが承認したトラックバックのみ表示されます。

※言及リンクのないトラックバックは受信されません。

この記事へのトラックバック
×

この広告は30日以上新しい記事の更新がないブログに表示されております。