home *** CD-ROM | disk | FTP | other *** search
- /* $VER: DruckeEintrag.adm 1.4 (19.2.1995)
-
- Druckt einen Eintrag mit allen Daten
- (samt ExternInfo-Datei, falls vorhanden)
-
- von Carsten Kullik und Jan Geißler.
-
- 1.0 [CaK] 9.6.94 - Erste Version.
- 1.1 [jan] 13.5.95 - Völlig überarbeitet.
- Anpassung an neue Stemvariablen.
- 1.2 [jan] 15.6.95 - EXTFILE-Parameter bei GETADDRESS
- für ADM2.01
- 1.3 [jan] 25.10.95 - Bei mehreren Telefonnummern war Trennung durch
- Komma im Ausdruck fehlerhaft
- - Externes File wurde nicht gefunden aufgrund
- falschen Parameters bei GetAddress.
- - Ausdruck des externen Files konnte aufgrund
- falschen OPEN()-Parameters noch nie funktioniert
- haben.
- 1.4 [jan] 19.2.96 - Druckt nun auch Gruppennamen aus
- - Kommentierung zumindest ein bißchen verbessert
-
- */
-
-
- OPTIONS RESULTS
-
-
- /* ----- Variablendefinitionen */
-
- file = ""
- ok = "OK"
- ausgabe = 0 /* Ausgabe Info-File vorsorglich sperren */
- LF = '0A'X /* Linefeed*/
-
-
- /* ----- Rexx-Library öffnen */
-
- IF ~SHOW("L","rexxreqtools.library") THEN
- CALL ADDLIB("rexxreqtools.library",0,-30,0)
-
-
- /* ----- Druckerausgabe öffnen */
-
-
- IF ~OPEN(drucker,"PRT:","W") THEN DO /*Druckerausgabe vorbereiten*/
- ECHO "Kann Druckerausgabe nicht einleiten!"
- EXIT
- END
-
-
- /* ----- Adresse holen */
-
- GETADDRESS ADM EXTFILE /* Speicheradresse des akt. Datensatzes */
-
-
- /* ----- Frage, ob ExtInfo-File ausdrucken, falls existent? */
-
- IF EXISTS(ADM.EXTFILE) THEN DO
- Tags = "rt_reqpos=reqpos_centerscr rtez_flags=ezreqf_centertext"
- Frage = "Ausdruck des Datensatzes" datei LF ||"mit externer Datei (ExternInfo)?"
- ausgabe = rtezrequest(Frage,"Ja|Nein",,Tags)
- END
-
-
- /* ----- Name generieren & drucken */
-
- nam = ""
- IF ADM.FULLNAME ~= "" THEN DO
- nam = STRIP(ADM.SALUTATION STRIP(ADM.FIRSTNAME STRIP( ADM.TITLE ADM.LASTNAME)))
- END
- IF ADM.ID ~= "" THEN nam = STRIP(nam " (ID:" ADM.ID || ")")
-
- IF ADM.SORT = "COMPANY" THEN DO
- text = ADM.COMPANY
- CALL Druckzeile
- IF nam ~= "" THEN DO
- text = nam
- CALL Druckzeile
- END
- END; ELSE DO
- IF nam ~= "" THEN DO
- text = nam
- CALL Druckzeile
- END
- text = ADM.COMPANY
- CALL Druckzeile
- END;
-
-
- /* ----- Adresse ausdrucken */
-
- text = LF || ADM.ADDRESS1
- CALL Druckzeile
- text = ADM.ADDRESS2
- CALL Druckzeile
- text = STRIP(ADM.POSTCODE ADM.CITY)
- IF ADM.COUNTRY ~= "" THEN text = text || "," ADM.COUNTRY
- CALL Druckzeile
-
-
- /* ----- Telefonnummern ausdrucken */
-
- text = ""; pp = POS("|",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- ADM.TELEPHONE = INSERT(", ",ADM.TELEPHONE,pp-1)
- pp = POS("|",ADM.TELEPHONE)
- END;
-
- pp = POS(" ",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- pp = POS(" ",ADM.TELEPHONE)
- END;
-
- pp = POS(" ,",ADM.TELEPHONE)
- DO WHILE pp > 0
- ADM.TELEPHONE = DELSTR(ADM.TELEPHONE,pp,1)
- pp = POS(" ,",ADM.TELEPHONE)
- END;
-
- IF ADM.TELEPHONE ~= "" THEN text = text || "Tel.:" ADM.TELEPHONE
- CALL Druckzeile
-
- text = ""
- IF ADM.FAX ~= "" THEN text = "Fax: " ADM.FAX
- CALL Druckzeile
-
-
- /* ----- Geburtstag */
-
- text = ""
- IF ADM.BIRTHDAY ~= "" THEN text = LF || "Geb.:" ADM.BIRTHDAY
- CALL Druckzeile
-
-
- /* ----- Gruppennamen mit ausdrucken */
-
- GETGROUPNAMES stem
- text = ""
- IF ADM.FLAGS ~= "" THEN text = LF|| text || "In ADM-Gruppen:"
- IF POS("A",ADM.FLAGS) > 0 THEN text = text stem.1
- IF POS("B",ADM.FLAGS) > 0 THEN text = text stem.2
- IF POS("C",ADM.FLAGS) > 0 THEN text = text stem.3
- IF POS("D",ADM.FLAGS) > 0 THEN text = text stem.4
- IF POS("E",ADM.FLAGS) > 0 THEN text = text stem.5
- IF POS("F",ADM.FLAGS) > 0 THEN text = text stem.6
- IF POS("G",ADM.FLAGS) > 0 THEN text = text stem.7
- IF POS("H",ADM.FLAGS) > 0 THEN text = text stem.8
- IF POS("I",ADM.FLAGS) > 0 THEN text = text stem.9
- IF POS("J",ADM.FLAGS) > 0 THEN text = text stem.10
- CALL Druckzeile
-
-
- /* ----- Bemerkungsfeld */
-
- text = ""
- IF ADM.REMARK1 ~= "" THEN text = LF || ADM.REMARK1
- CALL Druckzeile
-
-
- /* ----- ExternInfo ausdrucken! */
-
- IF ausgabe THEN DO /*Wenn Ausgabe erwuenscht,*/
- text = LF /*1 Linefeed einfuegen und*/
- CALL Druckzeile
- IF OPEN(datei,ADM.EXTFILE,"R") THEN DO /*das externe Info-File oeffnen*/
- DO WHILE ~EOF(datei) /*Dateiende erreicht? Nein,*/
- text = READLN(datei) /*Zeilen einlesen und an*/
- call Druckzeile
- /*ok = WRITELN(drucker,text) Drucker ausgeben*/
- END
- ok = CLOSE(datei)
- END
- ELSE SAY "Kann Externe Datei nicht öffnen!"
- END
-
- /* ----- Druckerausgabe schließen */
-
- ok = CLOSE(drucker)
-
-
- EXIT
-
- /* ===== PROGRAMMENDE ============= */
-
-
- /* ----- Unterroutine: Zeile drucken */
-
- Druckzeile:
- text = STRIP(text,"T"," ") /*Leerzeichen am Ende entfernen*/
- text = STRIP(text,"T",",") /*Kommas am Ende entfernen*/
-
- IF text ~= "" THEN /*Wenn Zeile nicht leer...*/
- ok = WRITELN(drucker,text) /*Zeile ausgeben*/
-
- RETURN
-