Module OrderDtlReport.wo

     1Use cWebBusinessProcess.pkg
     2Use DataDict.pkg
     3Use cWebReport.pkg
     4Use VENDOR.DD
     5Use INVT.DD
     6Use CUSTOMER.DD
     7Use SALESP.DD
     8Use OrderHea.DD
     9Use OrderDtl.DD
    10
    11Object oOrderDtlReport is a cWebBusinessProcess
    12    Set pbAllowDelete to False
    13    Set pbAllowSaveEdit to False
    14    Set pbAllowSaveNew to False
    15    Set psDescription to "Order Detail For Order"
    16
    17    Object Vendor_DD is a Vendor_DataDictionary
    18        Send DefineAllExtendedFields
    19    End_Object    // Vendor_DD
    20
    21    Object Invt_DD is a Invt_DataDictionary
    22        Set DDO_Server to Vendor_DD
    23        Send DefineAllExtendedFields
    24    End_Object    // Invt_DD
    25
    26    Object Customer_DD is a Customer_DataDictionary
    27        Send DefineAllExtendedFields
    28    End_Object    // Customer_DD
    29
    30    Object SalesP_DD is a Salesp_DataDictionary
    31        Send DefineAllExtendedFields
    32    End_Object    // SalesP_DD
    33
    34    Object OrderHea_DD is a OrderHea_DataDictionary
    35        Set DDO_Server to Customer_DD
    36        Set DDO_Server to SalesP_DD
    37        Send DefineAllExtendedFields
    38    End_Object    // OrderHea_DD
    39
    40    Object OrderDtl_DD is a OrderDtl_DataDictionary
    41        Set DDO_Server to OrderHea_DD
    42        Set DDO_Server to Invt_DD
    43        Send DefineAllExtendedFields
    44    End_Object    // OrderDtl_DD
    45
    46    Set Main_DD to OrderDtl_DD
    47
    48    Object oReport is a cWebReport
    49
    50        Set piConstrainFile To OrderHea.File_Number
    51        Set priConstrainRowId To (NullRowId()) //  We will set this elsehwere
    52        Set piOrdering to 1
    53
    54        Function Break1 Returns String
    55            Number nNum
    56            Get ddValue "OrderHea.Order_Number" To nNum
    57            Function_Return nNum //  Break every time the parent record changes
    58        End_Function // Break1
    59
    60        Procedure OnInitBreakpoints
    61            Send RegisterBreakpoint get_Break1
    62        End_Procedure // OnInitBreakpoints
    63
    64        Procedure OnSubHeader1
    65            Number nOrderNumber nCustomerNumber
    66            String sDate sName sAddress sCity sState sZip sPhone sTerms
    67            String sVia sBy sSalespId sSalespName
    68
    69            Get ddValueEncode "OrderHea.Order_Number" To nOrderNumber
    70            Get ddValueEncode "OrderHea.Order_Date"   To sDate
    71            Get ddValueEncode "Customer.Customer_Number" To nCustomerNumber
    72            Get ddValueEncode "Customer.Name" To sName
    73            Get ddValueEncode "Customer.Address" To sAddress
    74            Get ddValueEncode "Customer.City" To sCity
    75            Get ddValueEncode "Customer.State" To sState
    76            Get ddValueEncode "Customer.Zip" To sZip
    77            Get ddValueEncode "Customer.Phone_Number" To sPhone
    78            Get ddValueEncode "OrderHea.Terms" To sTerms
    79            Get ddValueEncode "OrderHea.Ship_Via" To sVia
    80            Get ddValueEncode "OrderHea.Ordered_By" To sBy
    81            Get ddValueEncode "Salesp.Id" To sSalespId
    82            Get ddValueEncode "Salesp.Name" To sSalespName
    83
    84            Send WriteHtmlTableBegin 'border="0" width="50%" Class="ReportHdr1Table"'
    85
    86            Send WriteHtmlRowBegin
    87                Send WriteHtmlCellHeader 'Order Number' ' Class="Label"'
    88                Send WriteHtmlCell (FormatNumber(nOrderNumber,0)) ' Class="Data"'
    89            Send WriteHtmlRowEnd
    90            Send WriteHtmlRowBegin
    91                Send WriteHtmlCellHeader 'Order Date' ' Class="Label"'
    92                Send WriteHtmlCell sDate ' Class="Data"'
    93            Send WriteHtmlRowEnd
    94            Send WriteHtmlRowBegin
    95                Send WriteHtmlCellHeader 'Customer Number' ' Class="Label"'
    96                Send WriteHtmlCell (FormatNumber(nCustomerNumber,0)) ' Class="Data"'
    97            Send WriteHtmlRowEnd
    98            Send WriteHtmlRowBegin
    99                Send WriteHtmlCellHeader 'Customer Name' ' Class="Label"'
   100                Send WriteHtmlCell sName ' Class="Data"'
   101            Send WriteHtmlRowEnd
   102            Send WriteHtmlRowBegin
   103                Send WriteHtmlCellHeader 'Street Address' ' Class="Label"'
   104                Send WriteHtmlCell sAddress ' Class="Data"'
   105            Send WriteHtmlRowEnd
   106            Send WriteHtmlRowBegin
   107                Send WriteHtmlCellHeader 'City' ' Class="Label"'
   108                Send WriteHtmlCell sCity ' Class="Data"'
   109            Send WriteHtmlRowEnd
   110            Send WriteHtmlRowBegin
   111                Send WriteHtmlCellHeader 'State' ' Class="Label"'
   112                Send WriteHtmlCell sState ' Class="Data"'
   113            Send WriteHtmlRowEnd
   114            Send WriteHtmlRowBegin
   115                Send WriteHtmlCellHeader 'Zip/Postal Code' ' Class="Label"'
   116                Send WriteHtmlCell sZip ' Class="Data"'
   117            Send WriteHtmlRowEnd
   118            Send WriteHtmlRowBegin
   119                Send WriteHtmlCellHeader 'Phone Number' ' Class="Label"'
   120                Send WriteHtmlCell sPhone ' Class="Data"'
   121            Send WriteHtmlRowEnd
   122            Send WriteHtmlRowBegin
   123                Send WriteHtmlCellHeader 'Terms' ' Class="Label"'
   124                Send WriteHtmlCell sTerms ' Class="Data"'
   125            Send WriteHtmlRowEnd
   126            Send WriteHtmlRowBegin
   127                Send WriteHtmlCellHeader 'Ship Via' ' Class="Label"'
   128                Send WriteHtmlCell sVia ' Class="Data"'
   129            Send WriteHtmlRowEnd
   130            Send WriteHtmlRowBegin
   131                Send WriteHtmlCellHeader 'Ordered By' ' Class="Label"'
   132                Send WriteHtmlCell sBy ' Class="Data"'
   133            Send WriteHtmlRowEnd
   134            Send WriteHtmlRowBegin
   135                Send WriteHtmlCellHeader 'Sales Person ID' ' Class="Label"'
   136                Send WriteHtmlCell sSalespId ' Class="Data"'
   137            Send WriteHtmlRowEnd
   138            Send WriteHtmlRowBegin
   139                Send WriteHtmlCellHeader 'Sales Person Name' ' Class="Label"'
   140                Send WriteHtmlCell sSalespName ' Class="Data"'
   141            Send WriteHtmlRowEnd
   142
   143            Send WriteHtmlTableEnd
   144
   145            Send WriteHtml '
'
146 147 Send WriteHtmlTableBegin 'border="0" width="99%" Class="ReportTable"' 148 149 Send WriteHtmlRowBegin 150 Send WriteHtmlCellHeader 'Item ID' 'Class="Header" Align="left"' 151 Send WriteHtmlCellHeader 'Description' 'Class="Header" Align="left"' 152 Send WriteHtmlCellHeader 'Quantity' 'Class="Header" Align="right"' 153 Send WriteHtmlCellHeader 'Price' 'Class="Header" Align="right"' 154 Send WriteHtmlCellHeader 'Total' 'Class="Header" Align="right"' 155 Send WriteHtmlRowEnd 156 157 End_Procedure // OnSubHeader1 158 159 Procedure OnBody 160 String sItemId sDesc 161 Number nQty nPrice nExtended 162 163 Get ddValueEncode "Invt.Item_id" To sItemId 164 Get ddValueEncode "Invt.Description" To sDesc 165 Get ddValueEncode "OrderDtl.Qty_Ordered" To nQty 166 Get ddValueEncode "OrderDtl.Price" To nPrice 167 Get ddValueEncode "OrderDtl.Extended_Price" To nExtended 168 169 Send WriteHtmlRowBegin 170 Send WriteHtmlCell sItemId 'Class="Data" Align="left"' 171 Send WriteHtmlCell sDesc 'Class="Data" Align="left"' 172 Send WriteHtmlCell (FormatNumber(nQty,0)) 'Class="Data" Align="right"' 173 Send WriteHtmlCell (FormatNumber(nPrice,2)) 'Class="Data" Align="right"' 174 Send WriteHtmlCell (FormatNumber(nExtended,2)) 'Class="Data" Align="right"' 175 Send WriteHtmlRowEnd 176 Send AddSubTotal 1 nExtended // Subtotal of field 177 End_Procedure // OnBody 178 179 Procedure OnSubTotal1 180 Number nTotal 181 182 Send WriteHtmlCell "" 'colspan="4" Class="Header"' 183 Get SubTotal 1 To nTotal 184 Send WriteHtmlCell (FormatNumber(nTotal,2)) 'Class="Header" align="right" ' 185 186 Send WriteHtmlTableEnd 187 End_Procedure // OnSubTotal1 188 189 Function RunOrderDtlReport RowId riHdrRec Returns RowId 190 RowId riEnd 191 Integer iStat 192 Set piMaxCount To 0 193 Set priStartRowId To (NullRowId()) 194 Set priConstrainRowId To riHdrRec 195 Get DoRunReport To iStat 196 Function_Return (NullRowId()) 197 End_Function // RunOrderDtlReport 198 199 Function RunAllOrderDtlReport RowId riStart Integer iMax Returns RowId 200 RowId riEnd 201 Integer iStat 202 203 Set piMaxCount To iMax 204 Set piMaxCountBreakLevel To 1 205 Set priStartRowId To riStart 206 Set priConstrainRowId To (NullRowId()) 207 Get DoRunReport To iStat 208 Get priLastRowId To riEnd 209 Function_Return riEnd 210 End_Function // RunAllOrderDtlReport 211 212 End_Object // oReport 213 214 { Published = True } 215 { Description = "" } 216 Procedure SetHRefName String sName 217 Set psHRefname Of oReport To sName 218 End_Procedure // SetHRefName 219 220 { Published = True } 221 { Description = "" } 222 Function RunOrderDtlReport String sHdrRec Returns string 223 RowId riEnd 224 Get RunOrderDtlReport Of oReport (DeSerializeRowId(sHdrRec)) To riEnd 225 Function_Return (SerializeRowId(riEnd)) 226 End_Function // RunOrderDtlReport 227 228 { Published = True } 229 { Description = "" } 230 Function RunAllOrderDtlReport string sStart Integer iMax Returns string 231 RowId riEnd 232 Get RunAllOrderDtlReport Of oReport (DeserializeRowid(sStart)) iMax To riEnd 233 Function_Return (SerializeRowId(riEnd)) 234 End_Function // RunAllOrderDtlReport 235 236End_Object // oOrderDtlReport 237