Support Home Sales Website Technology Contact Us
RDP Support  


RDPWin KB Booking Engine - IRM.Net RDPWin4 & PCI Compliance Search

Owner Statements Taking Too Long to Generate

Index
Article ID#: KWin0175
Added: 07/21/11 - DM/MC

Issue

Each owner statement is taking too long to print or preview. Properties with large files can take up to 50 seconds or more for each statement.  The RDP standard statement has combined the HReserve and BookHist files to get the reservation information. However, many customers use a custom statement that does not have these files combined.   

Solution


  1. In the Rental Activity sub report section of statement report, change the Command statement using Crystal Reports. Change the red text in the first command below to the red text in the second command:

    Select MasterBalanceDue, OriginalPostDate, OTotalsAdjustment, HExpense.ResNum as HExpenseResNum, TotalCost, TransactionCode, TransactionDate, TransactionSeqNum, TransactionTable, TxMPkgFlagDate, Reservations.ArrivalDate, Reservations.DepartureDate, Reservations.GuestName, Reservations.ResNum as ReservationResNum, Reservations.ResType, Reservations.ResStatus, Reservations.SharewithResNum from HExpense Left Join (Select ArrivalDate, DepartureDate, GuestName, ResNum, ResStatus, ResType, SharewithResNum from HReserve Union (Select ArrivalDate, DepartureDate, GuestName, ResNum, ResStatus, ResType, SharewithResNum from BookHist)) as Reservations on HExpense.ResNum = Reservations.ResNum where NoPrintFlag <> '*' and HExpense.MasterFile = '71' and HExpense.MasterNum = '{?MasterNum}' and TransactionCode in ('DF','DG','DH','DI','DJ','S0','S1','S2','S3','S4','S5','S6','S7','S8','S9') and (TransactionDate between {?PreviousStatementDate} and {?EndingStatementDate} or (TransactionDate = {?PreviousStatementDate} and TransactionSeqNum >= '{?StartTranID}') or (TransactionDate = {?EndingStatementDate} and TransactionSeqNum <= '{?EndTranID}')) and OTotalsAdjustment <>'Y' Order By HExpenseResNum, TransactionSeqNum

    Select MasterBalanceDue, OriginalPostDate, OTotalsAdjustment, HExpense.ResNum as HExpenseResNum, TotalCost, TransactionCode, TransactionDate, TransactionSeqNum, TransactionTable, TxMPkgFlagDate, HRes.ArrivalDate as HResArrivalDate, HRes.DepartureDate as HResDepartureDate, HRes.GuestName as HResGuestName, HRes.ResNum as HResResNum, HRes.ResType as HResResType, HRes.ResStatus as HResResStatus, HRes.RoomNum as HResRoomNum, HRes.SharewithResNum as HResSharewithResNum, Book.ArrivalDate as BookArrivalDate, Book.DepartureDate as BookDepartureDate, Book.GuestName as BookGuestName, Book.ResNum as BookResNum, Book.ResType as BookResType, Book.ResStatus as BookResStatus, Book.RoomNum as BookRoomNum, Book.SharewithResNum as BookSharewithResNum from HExpense Left Join HReserve as HRes on HExpense.ResNum = HRes.ResNum Left Join BookHist as Book on HExpense.ResNum = Book.ResNum where NoPrintFlag <> '*' and HExpense.MasterFile = '71' and HExpense.MasterNum = '{?MasterNum}' and TransactionCode in ('DF','DG','DH','DI','DJ','S0','S1','S2','S3','S4','S5','S6','S7','S8','S9') and (TransactionDate between {?PreviousStatementDate} and {?EndingStatementDate} or (TransactionDate = {?PreviousStatementDate} and TransactionSeqNum >= '{?StartTranID}') or (TransactionDate = {?EndingStatementDate} and TransactionSeqNum <= '{?EndTranID}')) and OTotalsAdjustment <> 'Y' Order By HExpenseResNum, TransactionSeqNum



  2. After changing the command, the report will require certain fields to mapped. Map them as stated below:

    • Command.ArrivalDate --> Command.HResArrivalDate

    • Command.DepartureDate --> Command.HResDepartureDate

    • Command.GuestName --> Command.HResGuestName

    • Command.ReservationResNum --> Command.HResResNum

    • Command.ResStatus --> Command.HResResStatus

    • Command.ResType --> Command.HResResType

    • Command.SharewithResNum --> Command.HResSharewithResNum

  3. Create the following formulas:

    • ArrivalDate:
      If Not IsNull({Command.HResResNum}) Then
      {Command.HResArrivalDate}
      Else
      {Command.BookArrivalDate}

    • DepartureDate:
      If Not IsNull({Command.HResResNum}) Then
      {Command.HResDepartureDate}
      Else
      {Command.BookDepartureDate}

    • ResNum:
      If Not IsNull({Command.HResResNum}) Then
      {Command.HresResNum}
      Else
      {Command.BookResNum}

    • Sharewith:
      If Not IsNull({Command.HResResNum})Then
      {Command.HResResNum}
      Else
      {Command.BookResNum}


  4. Change the Arrival, ArrivalDisp, Departure, and DepartureDisp formulas, by replacing all the instances of {Command.HResArrivalDate} with {@ArrivalDate}. Replace all instances of {Command.HResDepartureDate with {@DepartureDate}.


  5. Change the GuestName formula to:
    If Not IsNull({Command.HResResNum}) Then
    {Command.HResGuestName}
    Else
    {Command.BookGuestName}


  6. Change NightsDisp formula by replacing {Command.HResSharewithResNum} with {@Sharewith}. Replace {Command.HResResNum} with {@ResNum}.


  7. Change ResType formula to:
    If Not IsNull({Command.HresResNum}) Then
    {Command.HResResType} + {Command.HResResStatus}
    Else
    {Command.BookResType} + {Command.BookResStatus}


  8. Change the Evaluation Formula in TotalNights running total. Replace {Command.HResResType} with Left({@ResType},1)


  9. Change the suppress formula in section Detail A by replacing {Command.HResResType} with Left({@ResType},1)


 
Support Home  RDPWin4 & PCI Compliance Enhancement Requests Open A Web Support Ticket
Training New Sales Website Old Sales Website Contact Us

 Facebook     Twitter      LinkedIn   TODF