home *** CD-ROM | disk | FTP | other *** search
- * Programma..........: PERSONEL.FRG
- * Datum..............: 22-04-93
- * Versies............: dBASE IV
- *
- * Notities:
- * ------
- * Voordat u deze procedure met het DO-commando gaat uitvoeren
- * moet u LOCATE gebruiken, omdat de CONTINUE-
- * opdracht zich in de hoofdlus bevindt.
- *
- *-- Parameters
- PARAMETERS gl_noeject, gl_plain, gl_summary, gc_heading, gc_extra
- ** De eerste drie parameters zijn van het type Logisch.
- ** De vierde parameter is een tekenreeks en de vijfde is een extra parameter.
- PRIVATE _peject, _wrap, ll_heading
- ll_heading=.F.
-
- *-- Testen op de aanwezigheid van records
- IF EOF() .OR. .NOT. FOUND()
- RETURN
- ENDIF
-
- *-- regelovergang uitschakelen
- _wrap=.F.
-
- IF _plength < (_pspacing * 3 + 1) + (_pspacing + 1) + 2
- SET DEVICE TO SCREEN
- DEFINE WINDOW gw_report FROM 7,17 TO 11,62 DOUBLE
- ACTIVATE WINDOW gw_report
- @ 0,1 SAY "Verhoog de paginalengte voor dit rapport."
- @ 2,1 SAY "Druk op een toets ..."
- x=INKEY(0)
- DEACTIVATE WINDOW gw_report
- RELEASE WINDOW gw_report
- RETURN
- ENDIF
-
- _plineno=0 && regels instellen op nul
- *-- NOEJECT-parameter
- IF gl_noeject
- IF _peject="BEFORE"
- _peject="NONE"
- ENDIF
- IF _peject="BOTH"
- _peject="AFTER"
- ENDIF
- ENDIF
-
- *-- Instellingsomgeving
- ON ESCAPE DO Prnabort
- IF SET("TALK")="ON"
- SET TALK OFF
- gc_talk="ON"
- ELSE
- gc_talk="OFF"
- ENDIF
- gc_space=SET("SPACE")
- SET SPACE OFF
- gc_time=TIME() && systeemtijd opgegeven veld
- gd_date=DATE() &&&& systeemdatum " " " "
- gl_fandl=.F. && vlag voor eerste en laatste pagina
- gl_prntflg=.T. &&Doorgaan met het afdrukken van vlag
- gl_widow=.T. &&vlag voor het controleren van weduwezones
- gn_length=LEN(gc_heading) && lengte van kopregel opslaan
- gn_level=2 &&verwerking van actieve zone
- gn_page=_pageno &&nummer van actieve pagina vastleggen
- gn_pspace=_pspacing &&actieve regelafstand voor afdruk bepalen
-
-
- *-- Instellen van pagina-onderbrekingen
- gn_atline=_plength - (_pspacing + 1)
- ON PAGE AT LINE gn_atline EJECT PAGE
-
- *-- Afdrukken rapport
-
- PRINTJOB
-
- *-- Initiatie van samenvattingsvelden.
- r_msum1=0
-
- IF gl_plain
- ON PAGE AT LINE gn_atline DO Pgplain
- ELSE
- ON PAGE AT LINE gn_atline DO Pgfoot
- ENDIF
-
- DO Pghead
-
- gl_fandl=.T. && eerste pagina gestart
-
- DO Rintro
-
- *-- Bestandslus
- DO WHILE FOUND() .AND. .NOT. EOF() .AND. gl_prntflg
- gn_level=0
- *-- Detailregels
- IF gl_summary
- DO Upd_Vars
- ELSE
- DO __Detail
- ENDIF
- gl_widow=.T. && weduwecontrole inschakelen
- CONTINUE
- ENDDO
-
- IF gl_prntflg
- DO Rsumm
- IF _plineno <= gn_atline
- EJECT PAGE
- ENDIF
- ELSE
- DO Rsumm
- DO Reset
- RETURN
- ENDIF
-
- ON PAGE
-
- ENDPRINTJOB
-
- DO Reset
- RETURN
- * EOP: C:\NL_15\DATA\PERSONEL.FRG
-
- *Bijwerken van samenvattingsvelden en/of rekenvelden.
- PROCEDURE Upd_Vars
- *telling
- r_msum1=r_msum1+1
- RETURN
- * EOP: Upd_Vars
-
- *-- Vlag instellen zodat met ESC de DO WHILE-lus wordt verlaten
- PROCEDURE Prnabort
- gl_prntflg=.F.
- RETURN
- * EOP: Prnabort
-
- PROCEDURE Pghead
- PRIVATE ll_heading, ln_width
- ll_heading = .T.
- ln_width = _rmargin - _lmargin
- ?
- *-- HEADING-parameter afdrukken - als deze niet op eerste regel past
- *-- Waarde toegevoegd aan gn_length is laatste kolom op regel 1 maal twee
- IF .NOT. gl_plain .AND. gn_length + 162 > ln_width
- ?? gc_heading FUNCTION "I;V"+LTRIM(STR(ln_width))
- ?
- ll_heading = .F.
- ENDIF
-
- ?? IIF(gl_plain,'',gd_date) AT 0,;
- "Pag. " AT 72,;
- IIF(gl_plain,'',_pageno) PICTURE "999"
-
- *-- HEADING-parameter afdrukken - als deze op regel een past
- IF .NOT. gl_plain .AND. gn_length > 0 .AND. ll_heading
- ?? " "
- ?? gc_heading FUNCTION "I;V"+LTRIM(STR(ln_width-(_pcolno*2)))
- ENDIF
- ?
- ?
- RETURN
- * EOP: Pghead
-
- PROCEDURE Rintro
- ?
- DEFINE BOX FROM 24 TO 56 HEIGHT 4 SINGLE
- ?
- ?? "A&T MEUBELINDUSTRIE" AT 31
- ?
- ?? "PERSONEELSRAPPORT" AT 32
- ?
- ?
- ?
- ?? ;
- "══════════════════════════════════════════════════════════════════════";
- + "══════════";
- AT 0
- ?
- RETURN
- * EOP: Rintro
-
- PROCEDURE __Detail
- IF 11 * gn_pspace < gn_atline - (_pspacing * 3 + 1)
- IF gl_widow .AND. _plineno+11 * gn_pspace > gn_atline + 1
- EJECT PAGE
- ENDIF
- ENDIF
- DO Upd_Vars
- ?
- ?? Achternaam FUNCTION "T" AT 0,;
- ", " ,;
- Voornaam FUNCTION "T" ,;
- " " ,;
- Invoeg FUNCTION "T" PICTURE "XXXXXXX" ,;
- "NR.: " AT 38,;
- Pers_nr FUNCTION "T" ,;
- Telefoon FUNCTION "T" PICTURE "XXX#X#XXXXX" AT 58
- ?
- ?? Adres1 FUNCTION "T" AT 0,;
- " " ,;
- Adres2 FUNCTION "T"
- ?
- ?? Postcode FUNCTION "T" AT 0,;
- " " ,;
- Woonplaats FUNCTION "T" ,;
- " (" ,;
- Provincie FUNCTION "T" PICTURE "XXX" ,;
- ")"
- ?
- ?? "AFDELING: " AT 5,;
- Afdeling FUNCTION "T" ,;
- "SALARIS: ƒ " AT 58,;
- Salaris FUNCTION "B" PICTURE "999999.99"
- ?
- ?? Functie FUNCTION "T" AT 15,;
- Branche FUNCTION "T" PICTURE "XXXXXXXXXXXXXXX" AT 38,;
- "TOESLAG: " AT 58,;
- Toeslag PICTURE "99.9" ,;
- "%"
- ?
- ?? "IN DIENST PER: " AT 0,;
- In_dienst ,;
- "TITEL: " AT 38,;
- Titel FUNCTION "T" ,;
- "DIENSTJAREN: " AT 58,;
- Dienstjr PICTURE "99"
- ?
- ?? "SPAARFONDS: " AT 3,;
- Spaarfonds PICTURE "Y" ,;
- "DEELTIJD: " AT 38,;
- Deeltijd PICTURE "Y"
- ?
- ?? "BONUS: " AT 8,;
- Bonus FUNCTION "T" ,;
- "SCHAAL: " AT 38,;
- Schaal PICTURE "9"
- ?
- ?? "INFO: " AT 9,;
- Info FUNCTION "T"
- ?
- ?? ;
- "──────────────────────────────────────────────────────────────────────";
- + "──────────";
- AT 0
- ?
- RETURN
- * EOP: __Detail
-
- PROCEDURE Rsumm
- ?? "AANTAL WERKNEMERS: " AT 0,;
- r_msum1 PICTURE "9999"
- gl_fandl=.F. && laatste pagina gereed
- ?
- RETURN
- * EOP: Rsumm
-
- PROCEDURE Pgfoot
- PRIVATE _box, _pspacing
- gl_widow=.F. && weduwecontrole uitschakelen
- _pspacing=1
- ?
- IF .NOT. gl_plain
- _pspacing=gn_pspace
- ENDIF
- EJECT PAGE
- *is het paginanummer hoger dan die van de laatste pagina
- IF _pageno > _pepage
- GOTO BOTTOM
- SKIP
- gn_level=0
- ENDIF
- IF .NOT. gl_plain .AND. gl_fandl
- _pspacing=gn_pspace
- DO Pghead
- ENDIF
- RETURN
- * EOP: Pgfoot
-
- *-- Pagina-onderbreking bij gebruik van PLAIN-optie.
- PROCEDURE Pgplain
- PRIVATE _box
- EJECT PAGE
- RETURN
- * EOP: Pgplain
-
- *-- dBASE-omgeving opnieuw instellen voordat rapport wordt aangeroepen
- PROCEDURE Reset
- SET SPACE &gc_space.
- SET TALK &gc_talk.
- ON ESCAPE
- ON PAGE
- RETURN
- * EOP: Reset
-