-
AS400 Jobs /CL) unter Access starten
Hallo,
gibt es eine Möglichkeit ein CL Programm auf der AS400 auch durch eine Access-prozedur aufzurufen ?
Z.B.
SBMJOB CMD(CALL PGM(LIB_CL/SISCON100))
Danke für die Hilfe
Franz - Karl
-
Das kannst du mittels einer Passthru-Abfrage per
CALL QSYS.QCMDEXC ('Kommando' 1234567890.00000)
Wobei der Zahlwert im Format 10.5 die Länge des Strings sein muss.
-
Vielen Dabnk für die Info,
d.h. der genau Systax wäre dann
CALL QSYS.QCMDEXC
('SBMJOB CMD(CALL PGM(LIB_CL/SISCON100)) '
1234567890.00000)
bzw. ich verstehe das nicht ganz mit dem Zahlenstring)
Bitte nochmals um kurzes Beispiel
Vielen Dank
-
Da ich zu faul zum zählen bin, Beispiel:
CALL QSYS.QCMDEXC
('ABCDEFGH', 0000000008.00000)
SQL übersetzt eine Zahl in das passende Format, hier also Packed(15, 5).
Man kann sich das auch noch etwas einfache machen:
CALL QSYS.QCMDEXC
(cast('Irgend ein Kommando' as char(256), cast(256 as decimal(15, 5)))
Wichtig ist ja nur zu wissen, dass QCMDEXC genau 2 Parameter braucht:
1. Character
2. Packed(15, 5) mit der Länge des Parameters 1
Wobei eben Leerzeichen am Ende egal sind.
Wichtig ist allerdings noch, wenn du Hochkommatas innerhalb des Kommandos brauchst, so musst du diese verdoppeln, sonst bekommst du einen SQL-Syntaxfehler !
-
Hallo,
habe jetzt also eine PassThrough Abfrage erstellt auf die Bibliothek wo das CL liegt
Danach in der Abfrage den Befehl
CALL QSYS.QCMDEXC (cast('SBMJOB CMD(CALL PGM(LIB_CL/SISCON100)) ' as char(256), cast(256 as decimal(15, 5)))
eingefügt.
Erhalte beim ausführen aber die Meldung
SQL0104 - Token , ungültig . Gültige Token : FOR CCSID . (#-104)
Was fehlt mir noch ?
Gruss
Franz
-
Hallo,
habe jetzt also eine PassThrough Abfrage erstellt auf die Bibliothek wo das CL liegt
Danach in der Abfrage den Befehl
CALL QSYS.QCMDEXC (cast('SBMJOB CMD(CALL PGM(LIB_CL/SISCON100)) ' as char(256), cast(256 as decimal(15, 5)))
eingefügt.
Erhalte beim ausführen aber die Meldung
SQL0104 - Token , ungültig . Gültige Token : FOR CCSID . (#-104)
Was fehlt mir noch ?
Gruss
Franz
-
Eine Klammer nach dem CHAR(256).
-
OK,
jetzt kommt
SQL0104 - Token Cast ungültig. Gültige Token <INTEGER><CHARSTRING> DLVALUE DATE TIME TIMESTAMP . (#104)
Gruss
-
So gehts super
CALL QSYS.QCMDEXC ('CALL LIB_CL/SISTEST)', 0000000019.00000)
Vielen Dank für die Hilfe
-
 Zitat von Franz Karl
So gehts super
CALL QSYS.QCMDEXC ('CALL LIB_CL/SISTEST)', 0000000019.00000)
Das sind aber nicht 19 sondern 20 Zeichen.
-
Zähl1 19, aber zumindest funktionert es.
Gruss
-
Nun ja, ich weiß schon warum ich mir einfach eine SQL-Prozedur auf QSYS.QCMDEXC erstellt habe und diese dann aufrufe.
Da dieser Programm-Call eine besondere SQL-Funktion der AS/400 ist, kann ich schon verstehen warum die AS/400 explizite Konstanten haben will.
Aber einen Versuch wars ja wert .
Similar Threads
-
By Xanas in forum NEWSboard Java
Antworten: 11
Letzter Beitrag: 29-11-10, 12:45
-
By cocoa in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 04-03-09, 16:47
-
By codierknecht in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 04-07-06, 11:52
-
By Muchi in forum IBM i Hauptforum
Antworten: 0
Letzter Beitrag: 19-08-05, 08:43
-
By ehninger in forum NEWSboard Windows
Antworten: 1
Letzter Beitrag: 25-06-04, 21:45
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