//DB Öffnen
L #Src_DB_Nr
T #DB_Nr_Word
AUF DB [#DB_Nr_Word]
//Pointer bauen
L 0
SLD 3
LAR1
//Zuweisungen in der Art
UN DBX [AR1,P#100.0]
//Systemzeit auslesen
SFC1
//> Date_And_Time auslesen und zerlegen
//>> Zeit
//>>> Stunden (LB13)
L LB 13
BTI
T #Stunden_I
L #Stunden_I
L 100
+I
T #Stunden_I
//>>> Minuten (LB14)
L LB 14
BTI
T #Minuten_I
L #Minuten_I
L 100
+I
T #Minuten_I
//>>> Sekunden (LB15)
L LB 15
BTI
T #Sekunden_I
L #Sekunden_I
L 100
+I
T #Sekunden_I
//>> Datum
//>>> Jahr
L LB 10
BTI
T #Jahr_I
L #Jahr_I
L 100
+I
T #Jahr_I
//>>> Monat
L LB 11
BTI
T #Monat_I
L #Monat_I
L 100
+I
T #Monat_I
//>>> Tag
L LB 12
BTI
T #Tag_I
L #Tag_I
L 100
+I
T #Tag_I
//;
//> String-Header vorbelegen
//>> Zeit
//>>> Stunden
LAR1 P##Stunden_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Stunden_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Minuten
LAR1 P##Minuten_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Minuten_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Sekunden
LAR1 P##Sekunden_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Sekunden_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Sekunden_Minuten
LAR1 P##Sekunden_Minuten_Str
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Zeit_Komplett_Str
LAR1 P##Zeit_Komplett_Str
L 6
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>> Datum
//>>> Jahr_Str_4
LAR1 P##Jahr_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Jahr_Str_2
LAR1 P##Jahr_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Monat_Str_4
LAR1 P##Monat_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Monat_Str_2
LAR1 P##Monat_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Tag_Str_4
LAR1 P##Tag_Str_4
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Tag_Str_2
LAR1 P##Tag_Str_2
L 2
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Tag_Monat_Str
LAR1 P##Tag_Monat_Str
L 4
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Datum_Komplett_Str
LAR1 P##Datum_Komplett_Str
L 6
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Zeit_Datum_Str
LAR1 P##Zeit_Datum_Str
L 12
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//>>> Trennzeichen
LAR1 P##Trennzeichen_Str_3
L 3
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
L 95
T LB [AR1,P#3.0]
LAR1 P##Trennzeichen_Str_1
L 1
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Zeit_Trennzeichen_1_Str
L 7
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Zeit_Trennzeichen_2_Str
L 8
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Datum_Trennzeichen_Str
L 7
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
LAR1 P##Zeit_Datum_Trennzeichen
L 15
T LB [AR1,P#0.0]
T LB [AR1,P#2.0]
//;
//Es folgen Int2String sowie MID-Funktionen (Vorzeichen und führende 1 "Abschneiden")
//Es folgen CONCAT-Funktionen
//Pointer bauen - habe hier zum Test mal von 8 Word auf 15 Byte abgeändert (korrekte Länge der Variable)
LAR1 P##StringOhneHeader_ANY
L B#16#10 //Syntax-ID
T LB [AR1,P#0.0]
L B#16#2 //Datentyp WORD 4, Byte 2
T LB [AR1,P#1.0]
L 15 //8 WORD, 15 Byte
T LW [AR1,P#2.0]
L 0
T LW [AR1,P#4.0]
L 184 //Lokaldaten ab xxx
SLD 3
T LD [AR1,P#6.0]
L B#16#87 //vorherige Lokaldaten
T LB [AR1,P#6.0]
//DB erneut öffnen
L #Src_DB_Nr
T #DB_Nr_Word
AUF DB [#DB_Nr_Word]
//Pointer bauen
L 0
SLD 3
LAR1
//BLKMOV SRCBLK ist der #StringOhneHeader_ANY