-
Kann ich über Visual Basic ein CL starten?
Kann ich über Visual Basic mit Hilfe des Client Access ODBC - Treibers ein CL auf der AS400 absetzen?
Wenn ja, mit Kontrolle, wann dieses beendet ist?
Wenn nein, welche Möglichkit habe ich dann über VB?
Danke
Hs
-
Hi, du kannst die Contols von CA/400 verwenden (CWBCTRL.OXC). Hier ein Beispielcode für die Verwendung des RemoteCommand-Objektes.
Option Explicit
Private Sub Form_Load()
cwbRemoteCommandButton1.SystemName = "S44G1888"
cwbRemoteCommandButton1.CommandString = "CALL SAWI/MESSAGE"
End Sub
Private Sub Command1_Click()
Dim Result&
cwbRemoteCommandButton1.DoClick
Result = cwbRemoteCommandButton1.GetErrorMessageCount
If Result = 0 Then Exit Sub
'Sonst hier ErrHandle
End Sub
Damit kannst du auf jeden Fall ein CL oder was auch immer auf der AS/400 ausführen. Result ist erst 0 wenn der Job beendet ist. Der Job wird unter dem Benutzer QUSER gestartet.
mfg
Sascha
-
Hallo,
direkt über ODBC kannst du einen 'Procedure' Call verwenden:
CALL QSYS/QCMDEXC ('CALL MYLIB/MYPGM PARM(XX)', X'000000002500000')
Der zweite Parameter ist die hexadezimale Dartstellung eines Packed(15,5) und enthält die Länge des Kommandostrings.
Die Ausführung blockt solange bis der CALL beendet ist. Exceptions aus dem aufgerufenen Programm werden als SQL-Fehler zurückgemeldet.
Thomas
-
Hallo,
erstmal Danke für eure Antworten.
Ich hatte es zwischenzeitlich mit Hilfe des RMTCMD-Befehls gelöst:
X = Shell("rmtcmd call meinelib/meincl 'P'", vbMaximizedFocus)
Allerdings ist dies nicht sonderlich elegant, da erstens eine DOS-Box geöffnet wird und zweitens habe ich in VB keine Möglichkeit, das Ende des CL zu erkennen.
Leider komme ich mit euren Beispielen nicht ganz klar:
@JonnyRico: Ich habe Client Access 3.1.3 (kein Express!) installiert. Auf meinem Rechner gibt es keine CWBCTRL.OXC.
@horschma
Hast Du vieleicht einen Beispielcode, in dem dieser CALL verwendet wird?
Vielen Dank
HS
-
@Horschma
<BLOCKQUOTE><font size="1" face="Verdana, Arial">Zitat:</font><HR>
CALL QSYS/QCMDEXC ('CALL MYLIB/MYPGM PARM(XX)', X'000000002500000')
Der zweite Parameter ist die hexadezimale Dartstellung eines Packed(15,5)
[/quote]
fast, x'000000002500000F' ist richtig
Regel:
- die Anzahl der Stellen ist immer ungerade
- das 2.Halbbyte des letzten Bytes enthält das Vorzeichen ( F = + )
die Maschine stellt sich da unheimlich pingelig an
Gruß
Rolf
-
Hi,
sorry ich hatte mich verschrieben. Die Datei heißt natürlich "CWBCTRL.OCX" und befindet sich in "C:\Programme\IBM\Client Access\Shared".
mfg
Sascha
Similar Threads
-
By Der_Unwissende in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 08-09-06, 10:10
-
By schojo in forum NEWSboard Programmierung
Antworten: 11
Letzter Beitrag: 26-04-05, 14:53
-
By HPKahn in forum NEWSboard Programmierung
Antworten: 1
Letzter Beitrag: 01-02-05, 09:23
-
By thoughtless in forum NEWSboard Windows
Antworten: 0
Letzter Beitrag: 10-06-04, 10:23
-
By karin-vogelmann in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 08-06-01, 19:22
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