View Full Version : Zeilenumbruch eines Pfades im SQLRPGLE
Hallo zusammen,
ich habe einen XML Aufruf mit recht langem path, den ich gern im SQLRPGLE
ausführen möchte.
Leider ist die Quelle nicht komplett free und ich muss mich an die Zeilenbegrenzung halten.
Der Pfad ist länger als diese 80 Zeichen.
Kann mir jemand sagen, wie ich den Umbruch hinbekommen kann?
Hier mein Beispiel:
447
Ich weiß, dass ich den ganzen Befehl in einen String packen könnte,
das würde ich aber gern vermeiden.
Vielen Dank!
Nicht so kompliziert denken:
MyVar = 'sjf lkjg lsjgks hgkgh'
+ 'kjshdf hregihr gioh'
+ 'jg eigjoidghj rg ';
Oder was eben auch noch gehen sollte:
MyVar = 'sjdfsjg dfgj ldgj ldgj-
sjglkdjg ldg ld-
sjg kjdg kdjg ';
RPG Continuation Rules (https://www.ibm.com/support/knowledgecenter/en/ssw_ibm_i_73/rzasd/cont.htm)
A continuation can also occur within a literal
For character, date, time, and timestamp literals
A hyphen (-) indicates continuation is in the first available position in the continued field
A plus (+) indicates continuation with the first non-blank character in or past the first position in the continued field
Dankeschön euch beiden! ich hatte wirklich einfach versucht den String vor dem + zu schließen, das war mein Fehler.
'wert'+
'restvomwert'
funktioniert nicht.
'wert+
restvomwert'
dagegen schon.
Das ist definitiv falsch.
Mit 'wert+restvomwert' erhältst Du --> "wert+restvomwert"
Die erste Version 'wert' + 'restvomwert' ist dagegen richtig!
Wenn das nicht funktioniert, dann hat's einen anderen Fehler (Zeilenart oder free-Kennung etc..)
Das ist definitiv falsch.
Mit 'wert+restvomwert' erhältst Du --> "wert+restvomwert"
Die erste Version 'wert' + 'restvomwert' ist dagegen richtig!
Wenn das nicht funktioniert, dann hat's einen anderen Fehler (Zeilenart oder free-Kennung etc..)
Probier's aus!
MyResult = 'Wert +
RestVonWert'
Liefert definitiv in MyResult 'Wert RestVonWert'
Birgitta
...
Probier's aus!
...
1)
Tatsächlich!
Obwohl die Syntax (ganz ehrlich) sehr "fraglich" aussieht ...
2)
Grundsätzlich ist aber die Variante
'wert' + 'restvomwert'
trotzdem die "richtigererere".
Wenn das nicht funktioniert, dann hat's einen anderen Fehler!
UND - nicht unwichtig - bei der "fraglichen" Variante wird zwischen den Werten ein Leerzeichen eingefügt, was bei der konkreten Problemstellung (Zusammenfügen eines Pfades) eher nicht erwünscht ist.
Dann lass das Leerzeichen vor dem "+" einfach mal weg.
dschroeder
28-03-18, 15:24
1)
Tatsächlich!
Obwohl die Syntax (ganz ehrlich) sehr "fraglich" aussieht ...
2)
Grundsätzlich ist aber die Variante
'wert' + 'restvomwert'
trotzdem die "richtigererere".
Wenn das nicht funktioniert, dann hat's einen anderen Fehler!
UND - nicht unwichtig - bei der "fraglichen" Variante wird zwischen den Werten ein Leerzeichen eingefügt, was bei der konkreten Problemstellung (Zusammenfügen eines Pfades) eher nicht erwünscht ist.
Das sehe ich anders. Wir benutzen oft das Pluszeichen, um Zeilenfortsetzungen zu schaffen. Wenn am Ende einer Zeile ein Minuszeichen steht, wird die Zeile mit der nächsten Zeile verknüpft und die Leerzeichen am Anfang der 2. Zeile werden mitgenommen. Wenn man stattdessen mit Pluszeichen verknüpft, werden die Leerzeichen am Anfang der 2. Zeile ignoriert. (Deshalb nutzen wir eigentlich immer das Pluszeichen als Verknüpfung.)
Ich finde nicht, dass eine von den beiden Syntaxen "richtiger" oder "falscher" sind. Es sind einfach 2 verschiedene Dinge.
a = 'hallo' + 'du'; ist eine Verknüpfung von 2 Strings. Das könnte zur Laufzeit Rechenzeit kosten. Ich weiß allerdings nicht, ob das vielleicht vorher optimiert wird.
Dagegen ist:
a = 'hallo+
du'
keine Stringverknüpfung, sondern eine Zeilenfortsetzung. Das wird m. E. beim Compiling verarbeitet und kostet während der Ausführung keine Rechenzeit.
Das Ergebnis ist aber in beiden Fällen das gleiche.
Dieter