S7 - CONCAT mit Lokaldaten

Majestic_1987

Level-1
Beiträge
270
Reaktionspunkte
22
Zuviel Werbung?
-> Hier kostenlos registrieren
Hallo liebe Forengemeinde,

ich habe ein merkwürdiges Problem mit dem FC "CONCAT", welcher zwei Strings verbindet. Und zwar rufe ich diesen auf statische Lokaldaten eines FB auf. Ergebnis: Nicht nachvollziehbar. Hier mal der Code:

Code:
CALL  "CONCAT"
IN1    :=#strAbart
IN2    :=#strSerie
RET_VAL:=#strHauptSerienNr
NOP   0

Dabei sind:
Code:
strAbart: STRING[8];
strSerie: STRING[8];
strHauptSerienNr: STRING[72];

Im Anschluss an diesen Befehl erzeuge ich einen Zeiger auf einen Ziel-DB, in welchen dieser Ergebnisstring geschrieben werden soll. Allerdings zeigt ein Beobachten der Lokaldaten meiner Instanz, dass schon dort nicht der korrekte String zusammengefügt wird, der Fehler liegt also nicht in diesem Transfer mittels BLKMOV sondern im CONCAT selbst. Als Beispiel sei dazu der Inhalt folgender Variablentabelle gezeigt, welche die Lokaldaten zeigt:

ConcatProblem.PNG

Vielleicht ist jemandem so etwas ja schon einmal aufgefallen und irgendwer hat eine Lösung für mich? Vielen Dank schon einmal im Voraus.
 
Hast Du den Zielstring auch initialisiert? Der muss wissen wie lang er sein darf und wie lang er aktuell ist.
In SCL mach ich das für gewöhnlich so:


strHauptSerienNr := '';
 
Zuviel Werbung?
-> Hier kostenlos registrieren
Schau die mal noch die Byte 124,125,134,135,144,145 mit an, die steht sie maximale und tatsächliche Länge des String. Sollte in einem der beiden Byte eine 0 stehen arbeitet concat nicht. Dann dort die richtigen Längen eintragen. Das meinet zotos mit initialisieren. In SCL geht das einfacher, einfach MyStringvar := ''; in AWL muß man die Byte beschreiben.
 
Zurück
Oben