-
Das ist immer das Beste, wenn man das nicht möchte/kann gibts nur eine Lösung:
Zeichenparameter müssen genau in der Länge (oder größer) übergeben werden wie das Programm es erwartet. Dazu ist die Zeichenkette in Hochkomma einzubetten.
Zahlwerte können nur als Zoned in Hochkomma oder als Default Packed(15:5) übergeben werden.
Bei den Zeichenwerten kann man auch einfach einen Ausdruck vewenden, wenn die definierte länge passt.
Z.B. &IDXPFAD *cat 'X'
Der Trick ist, dass die Zeichenkette dann automatisch in Hochkomma gepackt wird und 1 Zeichen länger ist. Da nur Pointer ans Programm übergeben werden und das Zielprogramm die Länge kürzer definiert hat, sieht das Programm das 'X' nicht.
-
&IDXPFAD wird wie folgt erstellt:
CHGVAR VAR(&IDXPFAD) VALUE('/HOME/' *TCAT &USER *TCAT +
'/' *TCAT &IDXNAME)
&IDXNAME wie folgt:
CHGVAR VAR(&IDXNAME) VALUE('BAUZI_' *CAT &PARTNERNR *CAT +
'_' *CAT &LFDNUMMER *CAT '_' *CAT +
%SUBSTRING(&DATE 1 2) *CAT +
%SUBSTRING(&DATE 3 2) *CAT +
%SUBSTRING(&DATE 5 2) *CAT '_' *CAT +
%SUBSTRING(&TIME 1 2) *CAT +
%SUBSTRING(&TIME 3 2) *CAT +
%SUBSTRING(&TIME 5 2) *CAT '.IDX')
Und wenn ich den &IDXPFAD im SNDBAUZI im CALL im Debugger anschaue steht alles unter Hochkomma
beim SBMJOB schneidet das Programm jedoch ab.
Andreas
Ein AS/400 Dinosaurier since 1989
-
Klar, da der SBMJOB das Kommando dort an den Commandprozessor übergibt und dieser Leerzeichen wieder entfernt.
Die Anzeige im Debugger mit Hochkomma zeigt nur, dass es eine Char-Variable ist.
Da du keine Hochkomma in den Inhalten hast nimm je Variable eine 2. mit 2 Bytes länger und mach einen
&NVar = '''' *cat &Var *cat ''''
Und übergebe diese an den SBMJOB.
Warum machst du für den Aufruf kein CMD? Da hast du solche Probleme absolut nicht.
Wie gesagt, Zeichenparameter müssen beim SBMJOB in Hochkomma erfolgen, da Leerzeichen bis auf den Default 32 gekürzt werden.
Dies ist schon seit V2R1 so (war mein erstes Release).
-
Hallo versuch mal chgvar(''' *cat &kkk *cat.... und am Ende *cat ''' Damit müsste alles im String stehen
Programmierung
-
Habe jetzt ein X an die letzte Stelle gestellt und jetzt funktioniert es. Danke für die Unterstützung, das nächste Mal werde ich einen Command bauen und diesen submitten.
Danke
Andreas
Ein AS/400 Dinosaurier since 1989
Similar Threads
-
By dschroeder in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-11-17, 15:14
-
By padawan in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 28-06-10, 16:38
-
By deni87991 in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 13-06-06, 09:46
-
By cbe in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 01-08-05, 15:12
-
By Robi in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 28-01-02, 09:06
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