##Es wird das „IF“-Statement benutzt, das etwas speziell gehandhabt wird.
##In CVT000 kopiere ich zunächst die komplette Perso-Struktur in den Zielpuffer um, das ist quasi mein Default und Init.
CVT000= 0,213, 0,213,L ; alles kopieren
##CVT010 enthält eine „IFC“-Anweisung und ist eigentlich keine „Konverteranweisung“, weil es einen Status prüft.
CVT010= 35, 35, 35, 35,IFC00=B ;pruefe PERNO-Start='B'
##„Wörtlich“ liest sich die Anweisung etwa so: ##Wenn an Offset 35 das Zeichen ''B' steht, setze die Bedingung-00 auf den Wert 1 oder „wahr“… ##Sonst passiert in dieser Zeile gar nichts. ##…man kann auch mehr als ein Zeichen angeben (IFC00=B1234)
CVT012= 26, 33, 26, 33,IFE00=d+1J ; ENDDA +1 Jahr
##CVT012 enthält eine „IFE“-Anweisung und bezieht sich auf diese ##Bedingung-00: „wenn Bedingung-00 'wahr' ist (also PERNO mit 'B' begann), addiere 1 Jahr auf das Datumsfeld ENDDA) ##CVT012= 26, 33, 26, 33,IFE00=d+1J ; ENDDA +1 Jahr ##IFE00=<Konvertieranweisung> ##|||||+- wenn „wahr“, das Gegenteil wäre „IFE00!<Anweisung>“ ##|||++– Bedingung 00, wurde vorher durch IFC00 gesetzt ##+++—- „execute“ im Ggs. zu „IFC“ = „check“
#Ein Datensatz, bei dem die Bedingung 00 nicht erfüllt ist, durchläuft die CVT012 einfach ohne verändert zu werden.
#Es gibt max. 99 Bedingungen (IF00 … IF99) und alle werden mit dem nächsten neuen Datensatz wieder auf 0 initialisiert.
##Ergebnis: #Input: #PH4CLNT003000000011998081919980826 02710701Mann Thomas… #PH4CLNT003000000501998081919980826 B3310002internation…
#Output: #PH4CLNT003000000011998081919980826 02710701Mann Thomas… #PH4CLNT003000000501998081919990826 B3310002internation…
#Beim zweiten Satz wurde ENDDA+1Jahr gerechnet.