/* ** Importieren von ADM-Adressen in MT-RechnungIII ** $VER: Import_ADM.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, "ADM.1") THEN DO; ES_TITLE = "Warnung"; ES_TEXTFORMAT = "ADM 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 Adressen aus" || LF || "ADM (AddressMaster) 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; END; ADDRESS "ADM.1"; ACTIVATEFIRST; DO WHILE(RESULT > 0); GETADDRESS ADM ADDRESS VALUE ARexxPort; IF RESULT != 0 THEN DO; ES_TITLE = "Warnung"; ES_TEXTFORMAT = "ADM bringt einen Fehler" RESULT "beim lesen!"; ES_GADGETFORMAT = "Abbrechen"; EASY_REQUEST; FREEGUI; EXIT; END; NEW_ADDRESS; MTR_Adressnummer = MTR_RESULT; SELECT; WHEN ADM.SALUTATION = "Fräulein" THEN DO; ADDRESS.SALUTATION = 1; END; WHEN ADM.SALUTATION = "Frau" THEN DO; ADDRESS.SALUTATION = 2; END; WHEN ADM.SALUTATION = "Herr" | ADM.SALUTATION = "Herrn" THEN DO; ADDRESS.SALUTATION = 3; END; WHEN ADM.SALUTATION = "Familie" THEN DO; ADDRESS.SALUTATION = 4; END; OTHERWISE DO; ADDRESS.SALUTATION = 0; END; END; ADDRESS.PRENAME = ADM.FIRSTNAME; ADDRESS.SURNAME = ADM.LASTNAME; ADDRESS.COMPANY1 = ADM.COMPANY; ADDRESS.STREET = ADM.ADDRESS1; ADDRESS.ZIP = ADM.POSTCODE; ADDRESS.CITY = ADM.CITY; ADDRESS.STATE_NUMBER = 0; SELECT; WHEN ADM.COUNTRY = "Germany" | ADM.COUNTRY = "" THEN ADM.COUNTRY = "Deutschland"; WHEN ADM.COUNTRY = "Austria" THEN ADM.COUNTRY = "Österreich"; WHEN ADM.COUNTRY = "Swiss" THEN ADM.COUNTRY = "Schweiz"; OTHERWISE NOP; END; j = 0; DO i = 1 to AnzLaender WHILE(j = 0); IF ADM.COUNTRY = Land.Name.i THEN j = i; END; IF j = 0 THEN DO; NEW_COUNTRY; AnzLaender = MTR_RESULT; i = AnzLaender; COUNTRY.NAME = ADM.COUNTRY; 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 NOP; END; SET_COUNTRY AnzLaender; ADDRESS.COUNTRY_NUMBER = AnzLaender - 1; END; ELSE DO; ADDRESS.COUNTRY_NUMBER = j - 1; END; IF LENGTH(ADM.BIRTHDAY) = 10 THEN ADDRESS.BIRTHDAY = SUBSTR(ADM.BIRTHDAY, 7, 4) || SUBSTR(ADM.BIRTHDAY, 4, 2) || SUBSTR(ADM.BIRTHDAY, 1, 2); ELSE IF LENGTH(ADM.BIRTHDAY) = 8 THEN ADDRESS.BIRTHDAY = "19" || SUBSTR(ADM.BIRTHDAY, 7, 2) || SUBSTR(ADM.BIRTHDAY, 4, 2) || SUBSTR(ADM.BIRTHDAY, 1, 2); ADDRESS.PHONE = ADM.TELEPHONE; ADDRESS.EMAIL.0 = ADM.EMAIL1; ADDRESS.EMAIL.1 = ADM.EMAIL2; ADDRESS.FAX = ADM.FAX; ADDRESS.BANK_CODE_NUMBER = ADM.BANKCODE; ADDRESS.BANK_NAME = ADM.BANKNAME; ADDRESS.ACCOUNT = ADM.ACCOUNT; ADDRESS.ADDITIONAL_TEXT = ADM.REMARK1; SET_ADDRESS MTR_Adressnummer; ADDRESS "ADM.1"; ACTIVATENEXT; END; END; /* Oberfläche freigeben */ ADDRESS VALUE ARexxPort; FREEGUI; EXIT;