-> Hier kostenlos registrieren
[FONT="]Hallo alle zusammen,
ich möchte in Abhängigkeit einer Variable eine feste Zeichenfolge (z.B. "SV") aus meinem DB laden und an anderer Stelle im DB wieder ablegen.
Danach soll dieser String als OUT-Variable mit Format String an meinem FC anliegen. Es soll bei anschließender Parametrierung des FC`s nach der Eingabe des Typs dieser in Klartextauf an der rechten Seite stehen.
Das Kopieren innerhalb vom DB habe ich mit der SFC20 versucht zu realisieren. Ich mache da wohl einen Fehler bei der Bildung vom ANY-Pointer.
Wie ich die Ausgabe vom String an die OUT-Variable hinbekomme weis ich noch nicht. Ist das überhaupt möglich?
Es währe nett, wenn Ihr ein Paar Denkanstöße hättet.[/FONT]
ich möchte in Abhängigkeit einer Variable eine feste Zeichenfolge (z.B. "SV") aus meinem DB laden und an anderer Stelle im DB wieder ablegen.
Danach soll dieser String als OUT-Variable mit Format String an meinem FC anliegen. Es soll bei anschließender Parametrierung des FC`s nach der Eingabe des Typs dieser in Klartextauf an der rechten Seite stehen.
Das Kopieren innerhalb vom DB habe ich mit der SFC20 versucht zu realisieren. Ich mache da wohl einen Fehler bei der Bildung vom ANY-Pointer.
Wie ich die Ausgabe vom String an die OUT-Variable hinbekomme weis ich noch nicht. Ist das überhaupt möglich?
Es währe nett, wenn Ihr ein Paar Denkanstöße hättet.[/FONT]
Code:
L #TYP // Sprungverteiler Typ 1-5
L 5
==D
SPB t5
L #TYP
L 4
==D
SPB t4
L #TYP
L 3
==D
SPB t3
L #TYP
L 2
==D
SPB t2
L #TYP
L 1
==D
SPB t1
t5: L 28 //Typbeding Startadresse für DB
T #QuellDW
SPA end
t4: L 22
T #QuellDW
SPA end
t3: L 16
T #QuellDW
SPA end
t2: L 10
T #QuellDW
SPA end
t1: L 4
T #QuellDW
end: L #NR
L P#20.0 //plus 20 (Ofset im DB)
*I //Nr*10
T #Zeiger_5 //Ergebnis speichern
L #Zeiger_5
L P#140.0 //plus 140 (Startadresse im DB)
+I
LAR2 //In AR1 bereitstellen
LAR1 P##Quelle //Anfangsadresse des ANY-Pointers in AR1 laden
L B#(16, 2) //Syntax-ID und Typ: Byte laden
T LW [AR1,P#0.0]
L 6 //Transferlänge
T LW [AR1,P#2.0]
L 161 //Quelle-DB
T LW [AR1,P#4.0]
L P#DBX 0.0
L #QuellDW //Anfangs-DW im Quell-DB
ITD
SLD 3
+D
T LD [AR1,P#6.0]
LAR1 P##Ziel //Anfangsadresse des ANY-Pointers in AR1
L B#(16, 2) //Syntax-ID und Typ: Byte laden
T LW [AR1,P#0.0]
L 6 //Transferlaenge
T LW [AR1,P#2.0]
L 161 //Ziel-DB
T LW [AR1,P#4.0]
L P#DBX 0.0 //Anfangs-DW im Ziel-DB
L DBD [AR2,P#10.0] //#ZielDW
ITD
SLD 3
+D
T LD [AR1,P#6.0]
CALL SFC 20
SRCBLK :=#Quelle
RET_VAL:=#RET_1
DSTBLK :=#Ziel