Advertisement
Guest User

Untitled

a guest
Feb 29th, 2016
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. PROCEDURE produce-report:
  2.  
  3.   Actualorder = 0.
  4.   DEF VAR newp AS LOG NO-UNDO.
  5.   DEF VAR firstrec AS LOG NO-UNDO.
  6.   DEF VAR firstof AS LOG NO-UNDO.
  7.   DEF VAR SavedDate AS DATE NO-UNDO.
  8.   SavedDate = ReportBeginDate.
  9.   RUN startmeup.
  10.   firstrec = yes.  
  11.   newp = no.
  12.   FR-Mainloop:
  13.   FOR EACH Hours BREAK  
  14.     BY hours.dateval
  15.     BY Hours.locval
  16.     BY hours.dayno
  17.     BY hours.begintime:
  18.     Actualorder = Actualorder + 1.
  19.     newp = no.
  20.     firstof  = no.
  21.     IF ActualOrder = DoNotExceed THEN DO:
  22.       newp = yes.
  23.       Actualorder  = 0.  
  24.     END.  
  25.     print("font","helvetica",7,"").
  26.    
  27.     IF SavedDate <> hours.dateval OR
  28.       currentlocationcode <> Hours.locval OR
  29.       FIRST-OF(hours.dayno) OR newp THEN DO:  
  30.        
  31.        FIND FRLocation NO-LOCK WHERE FRLocation.FacilityLocation = Hours.locval NO-ERROR.  
  32.        ASSIGN
  33.          CurrentLocationCode = FRLocation.FacilityLocation
  34.          CurrentLocation = FRLocation.ShortDescription .  
  35.       IF NOT firstrec THEN RUN setwspurp (hours.dateval).
  36.       IF NOT firstrec THEN RUN end-page(no).
  37.       RUN new-page (IF firstrec THEN no ELSE yes).      
  38.       ASSIGN
  39.        SavedDate = hours.dateval
  40.        firstof = yes .
  41.    
  42.     END. /*first-of(PrintCalendar.sort-order) or  first-of(PrintCalendar.prtord)*/
  43.      
  44.     RUN print-detail (hours.Reservations,firstof).
  45.     Print("Line", "4," + STRING((numperpage * lineinterval) + 51),1,"").  
  46.     IF LAST-OF(hours.dateval) OR LAST-OF(hours.dayno) THEN DO:
  47.          
  48.      
  49.       y-last = max-pos.
  50.    
  51.     END. /*last-of(PrintCalendar.sort-order) */
  52.     firstrec = no.
  53.   END. /**FR-Mainloop**/
  54.    
  55.   RUN end-page(no).
  56.  
  57. END PROCEDURE.
  58.  
  59. PROCEDURE print-detail:
  60.   DEF INPUT PARAMETER l1 AS CHAR EXTENT 8 NO-UNDO.
  61.   DEF INPUT PARAMETER firstof AS LOG NO-UNDO.
  62.  
  63.   DEF VAR name-list AS CHAR EXTENT 8 NO-UNDO.
  64.   DEF VAR phone-list AS CHAR EXTENT 8 NO-UNDO.
  65.   DEF VAR MaxNum AS INT NO-UNDO.
  66.   DEF VAR int64x AS INT64.
  67.   Print("Set-Y","",y-last + 18,""). /***Center Time***/
  68.   name-list = "".  
  69.   print("font","helvetica-bold",7,"").
  70. /*  if lookup(l1,"CLOSED!!!,Location Lock!!!") gt 0 then*/
  71. /*    print("Color","0.9,0.0,0.0",0,""). /*** Red ***/  */
  72.  
  73.   print("trim",STRING(hours.begintime,time-fmt),6,"").
  74.   Print("Set-Y","",y-last + 9,"").
  75.   print("font","helvetica",7,"").
  76.   ix-loop:
  77.   DO ix = 1 TO numperpage:
  78.     IF l1[ix] = "" THEN NEXT ix-loop.
  79.     DO int64x  = 1 TO NUM-ENTRIES(l1[ix]):
  80.       FIND FIRST SADetail NO-LOCK WHERE SADetail.ID = INT64(ENTRY(int64x,l1[ix])) NO-ERROR.
  81.       IF AVAILABLE SADetail THEN DO:
  82.         IF LOOKUP(SADetail.FirstName + " " + sadetail.lastname,name-list[ix]) = 0 THEN DO:
  83.           ASSIGN
  84.             name-list[ix] = list(SADetail.FirstName + " " + sadetail.lastname,name-list[ix])
  85.             MaxNum = IF NUM-ENTRIES(name-list[ix]) GT maxnum THEN NUM-ENTRIES(name-list[ix]) ELSE maxnum.
  86.           IF phone-list[ix] = "" THEN DO:
  87.             IF SADetail.PhoneNumber GT "" THEN phone-list[ix] = STRING(SADetail.PhoneNumber).
  88.             ELSE IF SADetail.HouseholdNumber NE 999999999 AND SADetail.HouseholdNumber <> internalHH AND
  89.               SADetail.HouseholdNumber NE 0  THEN DO:
  90.               FIND SAPerson NO-LOCK WHERE SAPerson.id =  SADetail.PatronLinkID NO-ERROR.
  91.               IF AVAILABLE SAPerson AND SAPerson.PrimaryPhoneNumber GT "" THEN ASSIGN
  92.                 phone-list[ix] = STRING(SAperson.primaryPhoneNumber).
  93.               IF phone-list[ix] = "" THEN DO:
  94.                 FIND SAHousehold NO-LOCK WHERE SAHousehold.HouseholdNumber = SADetail.HouseholdNumber NO-ERROR.
  95.                 IF AVAILABLE SAHousehold AND SAHousehold.PrimaryPhoneNumber GT "" THEN ASSIGN
  96.                   phone-list[ix] = STRING(SAHousehold.primaryPhoneNumber).
  97.               END.
  98.             END.
  99.           END.
  100.         END.  
  101.       END.
  102.     END.
  103.   END.
  104.   IF maxnum = 0 THEN maxnum = 1.
  105.  
  106.   DO ix = 1 TO numperpage:
  107.     Print("Set-Y","",y-last + 9,"").
  108.     print("trim",name-list[ix] + TrimValue,((ix - 1) * LineInterval) + 51 ,"").
  109.     IF trueval(name-list[ix]) GT "" THEN DO:
  110.       Print("Set-Y","",y-last + 18,"").
  111.       print("trim",
  112.         (IF printlandscape THEN "H'Cnt:" ELSE "Headcount: ") + STRING(NUM-ENTRIES(l1[ix])) + (IF trueval(phone-list[ix]) GT "" THEN
  113.         (IF printlandscape AND legalsize NE "Legal" THEN ", Ph:" ELSE ", Phone: ") + phone-list[ix] ELSE "") + TrimValue, ((ix - 1) * LineInterval) + 51,"").
  114.            
  115.     END.  
  116.   END.
  117.  
  118.  
  119. /*  Print("Set-Y","",y-last + 9,"").                  */
  120. /*  print("Color","0.0,0.0,0.0",0,""). /*** Black ***/*/
  121.   print("font","helvetica",7,"").
  122.  
  123.   ASSIGN
  124.     y-last = y-last + 27
  125.     cur-pos = cur-pos + 27
  126.     max-pos = max(max-pos,cur-pos).
  127.   Print("Set-Y","",y-last,"").
  128.  
  129.  
  130. END PROCEDURE.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement