View Full Version : Upload - Datei vom Webserver auf AS400
Wenn der Copy schon nicht funktioniert sollte der JobLog was dazu sagen (DSPJOBLOG ... wenn du das CL direkt auf der Befehlszeile aufgerufen hast). :)
--> kein Error, VBA-Programm wird ausgeführt.
Funktioniert dein CLP denn beim Aufruf auf der AS/400 ?
-->Getestet - einwandfrei -->
auf der AS400 per: CALL THYS00CWEB
Verwendest du auf der AS/400 den selben User wie per ODBC ?
--> ja (auf der AS400, WEB1 und ODBC alle gleich)
Ist der User auf dem Server WEB1 mit dem selben Kennwort als lokaler User registriert ?
-->Ja
es kann nur noch an diesen Befehlen liegen:
CallCmd = "{{CALL PGM(TRUMPFH/THYS00CTTR)}}"
'cnn.Execute("{{CALL QSYS.QCMDEXC PARM('" & CallCmd & "', " & Format(Len(CallCmd), "0000000000.00000") & ")}}")
cnn.Execute(CallCmd)
cnn.Close()
Dann würde ich dir doch lieber den ODBC-Treiber empfehlen. Der IBMDA400 arbeitet da wohl irgendwo nicht ganz sauber.
Per ODBC kannst du dann ganz einfach
"CALL MYLIB.MYPGM" ausführen und in der ODBC-Konfig ggf. auch noch ein Joblog erzeugen lassen.
Ich persönlich mochte den IBMDA400 noch nie.
wie sieht es denn mit diesem Treiber aus:
con_str = "Driver={iSeries Access ODBC Driver};System=my_system_name;Uid=myUsername;Pwd=m yPassword;"
cnn.Open(con_str)
Ist es dann die selbe Syntax:
Dim cnn As ADODB.Connection
Dim con_str AsString
Dim CallCmd As ADODB.Command
'Dim VAR1 As String
cnn = New ADODB.Connection
con_str = "Driver={iSeries Access ODBC Driver};System=SERVERNAME;Uid=USER;Pwd=PW;"
cnn.Open(con_str)
CallCmd = New ADODB.Command
CallCmd.CommandText = "CALL TRUMPFH.THYS00CTTR"
CallCmd.Execute(cnn)
cnn.Close()
Für direkte Aufrufe benötigst du kein Command-Objekt, "cnn.execue" reicht da auch.
Ansonsten hast du Recht, "{}" kennt der ODBC-Treiber nicht.
Beim CallCmd fehlt noch
set CallCmd.ActiveConnection=cnn
...bedanke mich für die Hilfe und die Geduld.
***Jetzt funktionierts***
Tausend Dank - an ALLE.