/* ** Importieren von selektierten DFA-Adressen in MT-RechnungIII ** $VER: Import_DFA.rexx V1.01 (29.07.98) */ PARSE ARG ARexxPort; ADDRESS VALUE ARexxPort; OPTIONS RESULTS; LF = '0a'x; /* Zeilenvorschub */ RC = 0; /* Oberfläche sperren */ LOCKGUI; IF ~show(ports, DFA) THEN DO; ES_TITLE = "Warnung"; ES_TEXTFORMAT = "DFA ist nicht aktiv, bitte starten sie dieses" || LF || "und versuchen Sie es erneut"; ES_GADGETFORMAT = "Abbrechen"; EASY_REQUEST; RC = 1; END; IF RC = 0 THEN DO; ES_TITLE = "Achtung!!!!"; ES_TEXTFORMAT = "Es werden alle selektierten" || LF || "Adressen aus DFA importiert!" || LF || LF; ES_TEXTFORMAT = ES_TEXTFORMAT || "Es erfolgt keine Prüfung, ob" || LF || "die Adressen bereits in MT-" || LF || "RechnungIII existieren" || LF || LF; ES_TEXTFORMAT = ES_TEXTFORMAT || "Wollen Sie trotzdem fortfahren?"; ES_GADGETFORMAT = "Ok|Abbrechen"; EASY_REQUEST; IF MTR_RESULT = 0 THEN DO; FREEGUI; EXIT; END; /* Länder einlesen */ NUMBER_COUNTRY; AnzLaender = MTR_RESULT; DO i = 1 to AnzLaender; GET_COUNTRY i; Land.Name.i = COUNTRY.NAME; DO j = 0 TO 63; Land.Bundesland.i.j = COUNTRY.STATE.j; END; END; ADDRESS 'DFA'; FIRST STEM DFA. IF DFA.ADDRESS.24 = 0 THEN NEXTSEL STEM DFA. DO WHILE RC = 0; ADDRESS VALUE ARexxPort; NEW_ADDRESS; MTR_Adressnummer = MTR_RESULT; SELECT; WHEN DFA.ADDRESS.0 = "Fräulein" THEN DO; ADDRESS.SALUTATION = 1; END; WHEN DFA.ADDRESS.0 = "Frau" THEN DO; ADDRESS.SALUTATION = 2; END; WHEN DFA.ADDRESS.0 = "Herr" THEN DO; ADDRESS.SALUTATION = 3; END; WHEN DFA.ADDRESS.0 = "Familie" THEN DO; ADDRESS.SALUTATION = 4; END; OTHERWISE DO; ADDRESS.SALUTATION = 0; END; end; ADDRESS.PRENAME = DFA.ADDRESS.1; ADDRESS.SURNAME = DFA.ADDRESS.2; ADDRESS.STREET = DFA.ADDRESS.4; ADDRESS.ZIP = DFA.ADDRESS.5; ADDRESS.CITY = DFA.ADDRESS.6; SELECT; WHEN DFA.ADDRESS.8 = "Germany" | DFA.ADDRESS.8 = "" THEN DFA.ADDRESS.8 = "Deutschland"; WHEN DFA.ADDRESS.8 = "Austria" THEN DFA.ADDRESS.8 = "Österreich"; WHEN DFA.ADDRESS.8 = "Swiss" THEN DFA.ADDRESS.8 = "Schweiz"; OTHERWISE NOP; END; j = 0; DO i = 1 to AnzLaender WHILE(j = 0); IF DFA.ADDRESS.8 = Land.Name.i THEN j = i; END; IF j = 0 THEN DO; NEW_COUNTRY; AnzLaender = MTR_RESULT; i = AnzLaender; COUNTRY.NAME = DFA.ADDRESS.8; SELECT; WHEN COUNTRY.NAME = "Deutschland" THEN DO; COUNTRY.SYMBOL = "D-"; COUNTRY.PHONE_HOME = "0"; COUNTRY.PHONE_FOREIGN = "00"; COUNTRY.PHONE_FROMFOREIGN = "49"; COUNTRY.STATE.0 = "Baden-Würtemberg" COUNTRY.STATE.1 = "Bayern"; COUNTRY.STATE.2 = "Berlin"; COUNTRY.STATE.3 = "Brandenburg"; COUNTRY.STATE.4 = "Bremen"; COUNTRY.STATE.5 = "Hamburg"; COUNTRY.STATE.6 = "Hessen"; COUNTRY.STATE.7 = "Mecklenburg-Vorpommern"; COUNTRY.STATE.8 = "Niedersachsen"; COUNTRY.STATE.9 = "Nordrhein-Westfalen"; COUNTRY.STATE.10 = "Rheinland-Pfalz"; COUNTRY.STATE.11 = "Saarland"; COUNTRY.STATE.12 = "Sachsen"; COUNTRY.STATE.13 = "Sachsen-Anhalt"; COUNTRY.STATE.14 = "Schleswig-Holstein"; COUNTRY.STATE.15 = "Thüringen"; END; WHEN COUNTRY.NAME = "Österreich" THEN DO; COUNTRY.SYMBOL = "A-"; COUNTRY.PHONE_HOME = "0"; COUNTRY.PHONE_FOREIGN = "00"; COUNTRY.PHONE_FROMFOREIGN = "43"; COUNTRY.STATE.0 = "Burgenland" COUNTRY.STATE.1 = "Kärnten"; COUNTRY.STATE.2 = "Niederösterreich"; COUNTRY.STATE.3 = "Oberösterreich"; COUNTRY.STATE.4 = "Salzburg"; COUNTRY.STATE.5 = "Steiermark"; COUNTRY.STATE.6 = "Tirol"; COUNTRY.STATE.7 = "Vorarlberg"; COUNTRY.STATE.8 = "Wien"; END; WHEN COUNTRY.NAME = "Schweiz" THEN DO; COUNTRY.SYMBOL = "CH-"; COUNTRY.PHONE_HOME = "0"; COUNTRY.PHONE_FOREIGN = "00"; COUNTRY.PHONE_FROMFOREIGN = "41"; COUNTRY.STATE.0 = "Aargau" COUNTRY.STATE.1 = "Appenzell Außer-Rhoden"; COUNTRY.STATE.2 = "Appenzell Inner-Rhoden"; COUNTRY.STATE.3 = "Basel-Land"; COUNTRY.STATE.4 = "Basel-Stadt"; COUNTRY.STATE.5 = "Bern"; COUNTRY.STATE.6 = "Freiburg"; COUNTRY.STATE.7 = "Genf"; COUNTRY.STATE.8 = "Glarus"; COUNTRY.STATE.9 = "Graubünden"; COUNTRY.STATE.10 = "Luzern"; COUNTRY.STATE.11 = "Neuenburg"; COUNTRY.STATE.12 = "Sankt Gallen"; COUNTRY.STATE.13 = "Schaffhausen"; COUNTRY.STATE.14 = "Schwyz"; COUNTRY.STATE.15 = "Solothurn"; COUNTRY.STATE.16 = "Tessin"; COUNTRY.STATE.17 = "Thurgau"; COUNTRY.STATE.18 = "Unterwalden Nidwalden"; COUNTRY.STATE.19 = "Unterwalden Obwalden"; COUNTRY.STATE.20 = "Uri"; COUNTRY.STATE.21 = "Waadt"; COUNTRY.STATE.22 = "Wallis"; COUNTRY.STATE.23 = "Zug"; COUNTRY.STATE.24 = "Zürich"; END; OTHERWISE COUNTRY.STATE.0 = DFA.ADDRESS.7; END; Land.Name.i = COUNTRY.NAME; x = 0; DO j = 0 TO 63; Land.Bundesland.i.j = COUNTRY.STATE.j; IF Land.Bundesland.i.j = DFA.ADDRESS.7 THEN x = j; END; SET_COUNTRY AnzLaender; ADDRESS.COUNTRY_NUMBER = AnzLaender - 1; ADDRESS.STATE_NUMBER = x; END; ELSE DO; ADDRESS.COUNTRY_NUMBER = j - 1; IF DFA.ADDRESS.7 > "" THEN DO; x = -1; DO i = 0 TO 63 WHILE( x = -1); IF Land.Bundesland.j.i = DFA.ADDRESS.7 THEN x = i; END; IF x = -1 THEN DO; GET_COUNTRY j; Land.Name.j = COUNTRY.NAME; DO i = 63 TO 0 BY -1 Land.Bundesland.j.i = COUNTRY.STATE.i; IF COUNTRY.STATE.i = "" THEN x = i; END; COUNTRY.STATE.x = DFA.ADDRESS.7 SET_COUNTRY j; END; ADDRESS.STATE_NUMBER = x; END; END; IF LENGTH(DFA.ADDRESS.9) = 10 THEN ADDRESS.BIRTHDAY = SUBSTR(DFA.ADDRESS.9, 7, 4) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2); ELSE IF LENGTH(DFA.ADDRESS.9) = 8 THEN ADDRESS.BIRTHDAY = "19" || SUBSTR(DFA.ADDRESS.9, 7, 2) || SUBSTR(DFA.ADDRESS.9, 4, 2) || SUBSTR(DFA.ADDRESS.9, 1, 2); ADDRESS.PHONE = DFA.ADDRESS.10; ADDRESS.FAX = DFA.ADDRESS.11; ADDRESS.EMAIL.0 = DFA.ADDRESS.12; ADDRESS.EMAIL.1 = DFA.ADDRESS.13; ADDRESS.EMAIL.2 = DFA.ADDRESS.14; ADDRESS.ADDITIONAL_TEXT = DFA.ADDRESS.15; SET_ADDRESS MTR_Adressnummer; ADDRESS 'DFA'; NEXTSEL STEM DFA. END; END; /* Oberfläche freigeben */ ADDRESS VALUE ARexxPort; FREEGUI; EXIT;