Use cWebBusinessProcess.pkg Use DataDict.pkg Use cWebReport.pkg Use CUSTOMER.DD Use SALESP.DD Use OrderHea.DD Object oOrderReport is a cWebBusinessProcess Set pbAllowDelete to False Set pbAllowSaveEdit to False Set pbAllowSaveNew to False Set psDescription to "Orders by Customer Report" Object Customer_DD is a Customer_DataDictionary Send DefineAllExtendedFields End_Object // Customer_DD Object SalesP_DD is a Salesp_DataDictionary Send DefineAllExtendedFields End_Object // SalesP_DD Object OrderHea_DD is a OrderHea_DataDictionary Set DDO_Server to Customer_DD Set DDO_Server to SalesP_DD Send DefineAllExtendedFields End_Object // OrderHea_DD Set Main_DD to OrderHea_DD Object oReport is a cWebReport Set piConstrainFile To Customer.File_Number Set priConstrainRowId To (NullRowId()) // We will set this elsewhere Set piOrdering to 2 Function Break1 Returns String Function_Return Customer.Customer_Number // Break every time the parent record changes End_Function // Break1 Procedure OnInitBreakpoints Send RegisterBreakpoint get_Break1 End_Procedure // OnInitBreakpoints Procedure OnSubHeader1 String sName Number nNumber Get ddValueEncode "Customer.Customer_Number" To nNumber Get ddValueEncode "Customer.Name" To sName Send WriteHtmlTableBegin 'border="0" width="50%" Class="ReportHdr1Table"' Send WriteHtmlRowBegin Send WriteHtmlCellHeader 'Customer Number' ' Class="Label"' Send WriteHtmlCell (FormatNumber(nNumber,0)) ' Class="Data"' Send WriteHtmlRowEnd Send WriteHtmlRowBegin Send WriteHtmlCellHeader 'Customer Name' ' Class="Label"' Send WriteHtmlCell sName ' Class="Data"' Send WriteHtmlRowEnd Send WriteHtmlTableEnd Send WriteHtmlTableBegin 'border="0" width="99%" Class="ReportTable"' Send WriteHtmlRowBegin Send WriteHtmlCellHeader 'Order Number' 'Class="Header" Align="right"' Send WriteHtmlCellHeader 'Order Date' 'Class="Header" Align="left"' Send WriteHtmlCellHeader 'ID' 'Class="Header" Align="left"' Send WriteHtmlCellHeader 'Order Total' 'Class="Header" Align="right"' Send WriteHtmlRowEnd End_Procedure // OnSubHeader1 Procedure OnBody String sText sDate sId Number nNumber nTotal Get ddValueEncode "OrderHea.Order_number" To nNumber Get ddValueEncode "OrderHea.Order_date" To sDate Get ddValueEncode "Salesp.Id" To sId Get ddValueEncode "OrderHea.Order_Total" To nTotal Send WriteHtmlRowBegin Get AddRowIdLink (FormatNumber(nNumber,0)) To sText Send WriteHtmlCell sText 'Class="Data" Align="right"' Send WriteHtmlCell sDate 'Class="Data" Align="left"' Send WriteHtmlCell sId 'Class="Data" Align="left"' Send WriteHtmlCell (FormatNumber(nTotal,2)) 'Class="Data" Align="right"' Send WriteHtmlRowEnd Send AddSubTotal 1 nTotal // Subtotal of field End_Procedure // OnBody Procedure OnSubTotal1 Number nTotal Send WriteHtmlCell "" 'colspan="3 Class="Header"' Get SubTotal 1 To nTotal Send WriteHtmlCell (FormatNumber(nTotal,2)) 'Class="Header" align="right" ' Send WriteHtmlTableEnd End_Procedure // OnSubTotal1 Function RunOrderReport RowId riHdrRec Returns RowId RowId riEnd Integer iStat Set piMaxCount To 0 Set priStartRowId To (NullRowId()) Set priConstrainRowId To riHdrRec Get DoRunReport To iStat Get priLastRowId to riEnd Function_Return riEnd End_Function // RunOrderReport Function RunAllOrderReport RowId riStart Integer iMax Returns RowId RowId riEnd Integer iStat Set piMaxCount To iMax Set piMaxCountBreakLevel To 1 Set priStartRowId To riStart Set priConstrainRowId To (NullRowId()) Get DoRunReport To iStat Get priLastRowId To riEnd Function_Return riEnd End_Function // RunAllOrderReport End_Object // oReport { Published = True } { Description = "" } Procedure SetHRefName string sName Set psHRefname of oReport to sName End_Procedure // SetHRefName { Published = True } { Description = "" } Function RunOrderReport String sHdrRec Returns string RowId riEnd Get RunOrderReport of oReport (DeSerializeRowId(sHdrRec)) to riEnd Function_return (SerializeRowId(riEnd)) End_Function // RunOrderReport { Published = True } { Description = "" } Function RunAllOrderReport string sStart integer iMax Returns string RowId riEnd Get RunAllOrderReport of oReport (DeserializeRowId(sStart)) iMax to riEnd Function_return (SerializeRowId(riEnd)) End_Function // RunAllOrderReport End_Object // oOrderReport