/* $VER: AdressControl-Import.adm 1.0 (4.7.95) von Jan Geißler. Importiert die Daten des Programms "AddressControl" von Wolf Software. Die Daten müssen im mit "Export SDF" von AddressControl aus exportiert werden. */ OPTIONS RESULTS /* --- RexxReqTools-Library öffnen */ reqname = "rexxreqtools.library" if ~show("L", reqname) then if ~addlib(reqname, 0, -30, 0) then do say reqname "not found!" EXIT end /* --- Datei per Filerequester öffnen */ filename = rtfilerequest("","","AddressControl-Datei laden","Importieren!") if filename = "" then do call rtezrequest("Keine Datei ausgewählt", "Abbruch") EXIT end IF ~OPEN(datei,filename,"R") THEN DO /* Adreßdatei öffnen */ SAY "Kann Adreßdatei nicht öffnen!" EXIT END /* --- Nachfragen, ob Datei im gewünschten Format vorliegt */ line = READLN(datei) /* Definitionszeile überspringen */ NL = "0a"x text = "Dieses Makro setzt voraus, daß die Daten im SDF-Format" NL ||, "des Programms AddressControl von Wolf Software vorliegen." NL ||, "Soll wirklich importiert werden?" gads = "Ja, importieren!|Abbruch" ans = rtezrequest(text,gads) IF ans = 0 THEN EXIT /* --- Abbruch? */ DO WHILE ~EOF(datei) ADM.postcode = "" IF line ~= "" THEN DO /* --- ASCII-Format Die folgende Zeile teilt die Zeile der Quelldatei in die verschiedenen Komponenten. Hier wird vom oben angegebenen Aufbau ausgegangen, wobei "plz ort" für ADM noch aufgeteilt werden muß. Diese Zeile ist bei anderem Aufbau entsprechend anzupassen! (In ARexx können überlange Zeilen durch ein Komma am Zeilen- ende in mehrere Zeilen aufgeteilt werden!) */ PARSE VAR line '"' ADM.lastname '","' ADM.firstname '","' ADM.birthday '","', ADM.address1 '","' ADM.city '","' ADM.postcode '","', ADM.country '","' ADM.telephone '","' ADM.remark1 '","', address2 '","' city2 '","' postcode2 '","', country2 '","' telephone2 '","' remark2 '","', address3 '","' city3 '","' postcode3 '","', country3 '","' telephone3 '","' remark3 '","', ADM.email1 '","' ADM.email2 '","' email3 '","', remark4 '"' IF ADM.birthday = "01-Jan-1978" THEN ADM.birthday = "" IF LENGTH(ADM.birthday) = 11 THEN DO PARSE VAR ADM.birthday tag "-" monat "-" jahr IF monat = "Jan" THEN monat = "01" IF monat = "Feb" THEN monat = "02" IF monat = "Mär" THEN monat = "03" IF monat = "Apr" THEN monat = "04" IF monat = "Mai" THEN monat = "05" IF monat = "Jun" THEN monat = "06" IF monat = "Jul" THEN monat = "07" IF monat = "Aug" THEN monat = "08" IF monat = "Sep" THEN monat = "09" IF monat = "Okt" THEN monat = "10" IF monat = "Nov" THEN monat = "11" IF monat = "Dez" THEN monat = "12" ADM.birthday = tag || "." || monat || "." || jahr END IF LENGTH(remark4) > 0 THEN ADM.remark1 = ADM.remark1 || NL || remark4 IF LENGTH(email3) > 0 THEN ADM.remark1 = ADM.remark1 || NL || "EMail3:" email3 NEWADDRESS ADM IF (LENGTH(city2) > 0) THEN DO STEM2.firstname = ADM.firstname STEM2.lastname = ADM.lastname STEM2.birthday = ADM.birthday STEM2.email1 = ADM.email1 STEM2.email2 = ADM.email2 STEM2.remark1 = ADM.remark1 STEM2.address1 = address2 STEM2.city = city2 STEM2.postcode = postcode2 STEM2.country = country2 STEM2.telephone = telephone2 STEM2.remark1 = remark2 IF LENGTH(remark4) > 0 THEN STEM2.remark1 = STEM2.remark1 || NL || remark4 IF LENGTH(email3) > 0 THEN STEM2.remark1 = STEM2.remark1 || NL || "EMail3:" email3 NEWADDRESS STEM2 END IF (LENGTH(city3) > 0) THEN DO ADM3.firstname = ADM.firstname ADM3.lastname = ADM.lastname ADM3.birthday = ADM.birthday ADM3.email1 = ADM.email1 ADM3.email2 = ADM.email2 ADM3.remark1 = ADM.remark1 ADM3.address1 = address3 ADM3.city = city3 ADM3.postcode = postcode3 ADM3.country = country3 ADM3.telephone = telephone3 ADM3.remark1 = remark3 IF LENGTH(remark4) > 0 THEN ADM3.remark1 = ADM3.remark1 || NL || remark4 IF LENGTH(email3) > 0 THEN ADM3.remark1 = ADM3.remark1 || NL || "EMail3:" email3 NEWADDRESS ADM3 END END /* --- Nächste Zeile lesen */ line = READLN(datei) END ok = CLOSE(datei) call rtezrequest("Fertig.", "OK")