-
VB und PRG-Programm starten
Hallo AS400-Gemeinde,
folgendes Problem stellt sich:
Ich möchte ein CL-Programm aus einer VB-Applikation starten.
Dies ist ein Steuerungs-Programm aus dem weitere verschiedene CL's und RPG-Programme aufgerufen werden.
Im Batch mit Job-Description und Bibliotheksliste läuft es einwandfrei.
Bei Aufruf aus VB wird es zwar gestartet kann jedoch die aufzurufenden Programme nicht finden.
****Aufruf aus VB
Dim cmd As New ADODB.Command
Set cmd.ActiveConnection = dba.GetConnection
cmd.CommandText = "{{CALL /QSYS.LIB/EDVKAHN1.LIB/GETPRJMAIN.PGM}}"
cmd.Prepared = True
cmd.CommandType = adCmdText
cmd.Execute
Set cmd = Nothing
*****
hier das CL
/******************** PM-NUTZER VERARBEITEN **************/
CHGVARVAR(&RETVAL)VALUE('0')
CALLPGM(GETPMNTZ)PARM(&RETVAL)
IFCOND(&RETVAL='0')THEN(DO)
GOTOCMDLBL(ABBRUCH)
ENDDO
jetzt kann ich natürlich den Aufruf ändern
in
CALLPGM(EDVKAHN1/GETPMNTZ)
was ja auch funktionieren würde, allerdings nur im Develpoment und Test.
Produktiv müsste allerdings wieder alles verändert werden , da die Bibliothek eine andere ist (Flexibilität).
Was kannn, muss ich ändern damit der VB-Aufruf funktioniert?
Grüsse
HP Kahn
-
mach ein rtvobjd auf ein objekt das sich in beiden systemen befindet der returnwert &lib liefert dir die bibliothek (test oder Echt)
gruß Georg
-
Bei der ODBC-Verbindung über CA musst du die Bibliotheksliste setzen.
In der ODBC-Konfig führst du einfach die Lib's mit Leerzeichen getrennt auf.
-
in ODBC Quelle *USRLIBL verwenden
Hallo HPKahn,
ich habe ein ähnliches Problem so gelöst
( mit CA Express von V5R2):
- User auf iSeries anlegen mit passender JOBD, sodass die LIBL passt
- in ODBC Quelle 'Namenskonvention' auf *SYS, 'SQL Standard Bibliothek' leer-lassen, 'Bibliotheksliste' auf *USRLIBL ( lies mal die Hilfe dazu).
Wenn du jetzt beim ODBC Zugriff mit dem obigen User anmeldest, hat dein Zugriff die LIBL aus der JOBD. Du musst den CALL dann noch ohne Pfad angeben, damit die LIBL greift. Genauso evtl. SELECT's etc.; alles ohne LIB angeben.
-
Hier hast du den kleinen Nachteil, dass du immer 2 Ebenen ändern musst, wenn sich an der Anwendung was ändert.
Allerdings gibts auch den Vorteil, dass du je User eine andere LIBL definieren kannst.
Namenskonventionen *SYS sind eigentlich von Nachteil, da man bei unqualifizierten SQL's nie weiß, in welcher Tabelle man landet.
Qualifizierungen müssen dann mit "/" statt "." erfolgen.
Um es mit Dieters Worten zu sagen:
Sicher ist nur *SQL und explizite Steuerung durch die Clientanwendung.
Similar Threads
-
By codierknecht in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 04-07-06, 11:52
-
By Muchi in forum IBM i Hauptforum
Antworten: 12
Letzter Beitrag: 24-06-05, 07:32
-
By Pepi in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 28-04-05, 10:43
-
By JonnyRico in forum IBM i Hauptforum
Antworten: 7
Letzter Beitrag: 23-07-04, 07:29
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks