Custom Reports

44 | PROMO REPORT (Custom Report)

Learn how to demonstrates an example of a Custom Promo Report. Disclaimer: This report may need modifications or alterations base on each system setup and configuration.

This article demonstrates an example of a Custom Promo Report.
 

Disclaimer:

This report may need modifications or alterations base on each system setup and configuration.

Report Query:

 

<?xml version="1.0" encoding="utf-8"?>

<cViews xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

  <iViewID>679</iViewID>

  <iListType>25</iListType>

  <dtDateUpdated>2016-06-20T10:05:59</dtDateUpdated>

  <iOperatorID>0</iOperatorID>

  <sName>PROMO REPORT</sName>

  <sViewXML>&lt;?xml version="1.0" encoding="utf-16"?&gt;&lt;cCustomReport xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&gt;&lt;sReportName&gt;Promotion Report&lt;/sReportName&gt;&lt;sSQL&gt;Select Till, Sum(cnt), Gross, Sum(IsNull([Price Promo],0)+ Isnull([MultiBuy Promo],0) + IsNull([Voucher Promo],0)) as DiscTotal,

Promoname, DiscountNum,

isnull([Price Promo],0), isNUll([Multibuy Promo],0), isNull([Voucher Promo],0)

 From(

Select D.Name as till, Sum(A.DiscAmt_1) as disc, B.Name as promoname, Sum(A.Gross) as gross,

Case When B.PromoType = 0 then 'Price Promo'

 When B.PromoType = 1 then 'Multibuy Promo'

 When B.PromoType = 2 then 'Voucher Promo'

 Else '' end as promotype, Count(Distinct A.Transactionid) as cnt, B.DiscountNum

From Translines A

Join ProdPromo B on b.ProdPromoID = A.DiscPromoID and B.DiscountNum = A.DiscNum_1

Join Transactions C on C.Transactionid = A.Transactionid

Join Workstation D on D.Workstationid = C.TillID

Join Store E on E.StoreID = D.StoreID

Where C.ShiftId &amp;gt;= {ShiftFrom} and C.ShiftID &amp;lt;= {Shiftto}

and E.VenueID like'{VenueId}'

and E.StoreID like '{Storeid}'

Group by D.Name, B.Name, B.PromoType, B.DiscountNum

union all

Select D.Name as till, Sum(A.DiscAmt_2) as disc, B.Name as promoname, Sum(A.Gross) as gross,

Case When B.PromoType = 0 then 'Price Promo'

 When B.PromoType = 1 then 'Multibuy Promo'

 When B.PromoType = 2 then 'Voucher Promo'

 Else '' end as promotype, Count(Distinct A.Transactionid) as cnt, B.DiscountNum

From Translines A

Join ProdPromo B on b.ProdPromoID = A.DiscPromoID and B.DiscountNum = A.DiscNum_2

Join Transactions C on C.Transactionid = A.Transactionid

Join Workstation D on D.Workstationid = C.TillID

Join Store E on E.StoreID = D.StoreID

Where C.ShiftId &amp;gt;= {ShiftFrom} and C.ShiftID &amp;lt;= {Shiftto}

and E.VenueID like'{VenueId}'

and E.StoreID like '{Storeid}'

Group by D.Name, B.Name, B.PromoType, B.DiscountNum

union all

Select D.Name as till, Sum(A.DiscAmt_3) as disc, B.Name as promoname, Sum(A.Gross) as gross,

Case When B.PromoType = 0 then 'Price Promo'

 When B.PromoType = 1 then 'Multibuy Promo'

 When B.PromoType = 2 then 'Voucher Promo'

 Else '' end as promotype, Count(Distinct A.Transactionid) as cnt, B.DiscountNum

From Translines A

Join ProdPromo B on b.ProdPromoID = A.DiscPromoID and B.DiscountNum = A.DiscNum_3

Join Transactions C on C.Transactionid = A.Transactionid

Join Workstation D on D.Workstationid = C.TillID

Join Store E on E.StoreID = D.StoreID

Where C.ShiftId &amp;gt;= {ShiftFrom} and C.ShiftID &amp;lt;= {Shiftto}

and E.VenueID like'{VenueId}'

and E.StoreID like '{Storeid}'

Group by D.Name, B.Name, B.PromoType, B.DiscountNum) sel

pivot

Sum(disc)

For promotype in ([Price Promo], [Multibuy Promo], [Voucher Promo])

) as piv

Group By Till, PromoName, Gross, [Price Promo], [Multibuy Promo], [Voucher Promo], Discountnum&lt;/sSQL&gt;&lt;iFlags&gt;11&lt;/iFlags&gt;&lt;bShowShifts&gt;0&lt;/bShowShifts&gt;&lt;iShiftFrom&gt;0&lt;/iShiftFrom&gt;&lt;iShiftTo&gt;0&lt;/iShiftTo&gt;&lt;bShowDates&gt;0&lt;/bShowDates&gt;&lt;dtDateFrom&gt;0001-01-01T00:00:00&lt;/dtDateFrom&gt;&lt;dtDateTo&gt;0001-01-01T00:00:00&lt;/dtDateTo&gt;&lt;bShowVenue&gt;0&lt;/bShowVenue&gt;&lt;isNegVenueID&gt;0&lt;/isNegVenueID&gt;&lt;bShowStore&gt;0&lt;/bShowStore&gt;&lt;iNegStoreID&gt;0&lt;/iNegStoreID&gt;&lt;bShowProducts&gt;0&lt;/bShowProducts&gt;&lt;iProductID&gt;0&lt;/iProductID&gt;&lt;bShowOperators&gt;0&lt;/bShowOperators&gt;&lt;iOperatorID&gt;0&lt;/iOperatorID&gt;&lt;bShowAccounts&gt;0&lt;/bShowAccounts&gt;&lt;iAccountID&gt;0&lt;/iAccountID&gt;&lt;bShowWorkStations&gt;0&lt;/bShowWorkStations&gt;&lt;iWorkstationID&gt;0&lt;/iWorkstationID&gt;&lt;bShowSuppliers&gt;0&lt;/bShowSuppliers&gt;&lt;iSupplierID&gt;0&lt;/iSupplierID&gt;&lt;bShowVoucherSetups&gt;0&lt;/bShowVoucherSetups&gt;&lt;iVoucherSetupID&gt;0&lt;/iVoucherSetupID&gt;&lt;bShowTableGroups&gt;0&lt;/bShowTableGroups&gt;&lt;iTableGroupID&gt;0&lt;/iTableGroupID&gt;&lt;bchkSubItems&gt;0&lt;/bchkSubItems&gt;&lt;bchkInactive&gt;0&lt;/bchkInactive&gt;&lt;bchkExtra1&gt;0&lt;/bchkExtra1&gt;&lt;oColumnDefs&gt;&lt;dictionary&gt;&lt;item&gt;&lt;key&gt;0&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;0&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Till Name&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;No&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;Text&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;1&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;1&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Qty of Trans&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;No&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;Int&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;2&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;2&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Gross Sales&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;Yes&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;CurrInt&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;3&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;3&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Total Discounts&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;Yes&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;CurrInt&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;4&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;4&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Promo Name&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;No&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;Text&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;5&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;5&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Disc Totaliser&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;No&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;Text&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;DiscItemNum&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;6&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;6&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Price Promo&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;Yes&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;CurrInt&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;7&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;7&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Multibuy Promo&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;Yes&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;CurrInt&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;item&gt;&lt;key&gt;8&lt;/key&gt;&lt;type&gt;Xfer.cColInfo&lt;/type&gt;&lt;value&gt;&amp;lt;?xml version="1.0" encoding="utf-16"?&amp;gt;&amp;lt;cColInfo xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"&amp;gt;&amp;lt;sKey&amp;gt;8&amp;lt;/sKey&amp;gt;&amp;lt;sText&amp;gt;Voucher Promo&amp;lt;/sText&amp;gt;&amp;lt;Hidden&amp;gt;No&amp;lt;/Hidden&amp;gt;&amp;lt;Read_only&amp;gt;Yes&amp;lt;/Read_only&amp;gt;&amp;lt;Total&amp;gt;Yes&amp;lt;/Total&amp;gt;&amp;lt;FixedColumn&amp;gt;No&amp;lt;/FixedColumn&amp;gt;&amp;lt;ParentCol&amp;gt;No&amp;lt;/ParentCol&amp;gt;&amp;lt;eFormat&amp;gt;CurrInt&amp;lt;/eFormat&amp;gt;&amp;lt;eList&amp;gt;None&amp;lt;/eList&amp;gt;&amp;lt;/cColInfo&amp;gt;&lt;/value&gt;&lt;/item&gt;&lt;/dictionary&gt;&lt;/oColumnDefs&gt;&lt;/cCustomReport&gt;</sViewXML>

  <UpdateAll>false</UpdateAll>

  <ID_Set>0</ID_Set>

</cViews>

 

 

Other Parameter Settings:

This file needs to be saved as a *.REP file using a document editor