Module CustomerListBR.rv

     1Use DFAllRpt.pkg
     2Use Basic\CustBasicRptImages.inc  // contains the images for the report
     3
     4Open Customer
     5Use dfrptvw.pkg
     6Use dfRadio.pkg
     7Use Windows.pkg
     8
     9DEFERRED_VIEW Activate_oCustomerListBR FOR ;
    10;
    11Object oCustomerListBR is a ReportView
    12
    13    Property Integer piSortIndex Public 1
    14
    15    Set Label to "Customer List"
    16    Set Location to 6 6
    17    Set Size to 80 180
    18
    19    Object oDestination is a RadioGroup
    20        Set Size to 50 80
    21        Set Location to 5 5
    22        Set Label to "Output Device:"
    23        Object oScreen is a Radio
    24            Set Label to "Screen"
    25            Set Size to 10 39
    26            Set Location to 15 10
    27            Set Status_Help to "Preview the report to screen"
    28        End_Object    // oScreen
    29
    30        Object oPrinter is a Radio
    31            Set Label to "Printer"
    32            Set Size to 10 37
    33            Set Location to 30 10
    34            Set Status_Help to "Send the report to the default printer"
    35        End_Object    // oPrinter
    36
    37        // set the Output_Device_Mode each time the radio button changes
    38        Procedure Notify_Select_State Integer iNewItem Integer iOldItem
    39            Forward Send Notify_Select_State iNewItem iOldItem
    40        
    41            If (iNewItem=0) Set Output_Device_Mode To PRINT_TO_WINDOW
    42            Else            Set Output_Device_Mode To PRINT_TO_PRINTER
    43        End_Procedure
    44
    45    End_Object    // oDestination
    46
    47    Object oOrderRadio is a RadioGroup
    48        Set Size to 50 80
    49        Set Location to 5 95
    50        Set Label to "Report Order:"
    51        Object oNumber is a Radio
    52            Set Label to "Number"
    53            Set Size to 10 41
    54            Set Location to 15 10
    55            Set Status_Help to "Sort by customer number"
    56        End_Object    // oNumber
    57
    58        Object oName is a Radio
    59            Set Label to "Name"
    60            Set Size to 10 35
    61            Set Location to 30 10
    62            Set Status_Help to "Sort by customer name"
    63        End_Object    // oName
    64
    65        // set the piSortIndex each time the radio button changes
    66        Procedure Notify_Select_State Integer iNewItem Integer iOldItem
    67            Forward Send Notify_Select_State iNewItem iOldItem
    68        
    69            Set piSortIndex  To (iNewItem + 1)
    70        End_Procedure
    71
    72    End_Object    // oOrderRadio
    73
    74    Object oOkButton is a Button
    75        Set Label to "OK"
    76        Set Size to 14 51
    77        Set Location to 62 71
    78        Set Default_State to True
    79
    80        Procedure OnClick
    81            Send StartReport
    82        End_Procedure
    83
    84    End_Object    // oOkButton
    85
    86    Object oCancelButton is a Button
    87        Set Label to "Cancel"
    88        Set Location to 62 125
    89
    90        Procedure OnClick
    91            Send Request_Cancel
    92        End_Procedure
    93
    94    End_Object    // oCancelButton
    95
    96    Procedure StartReport
    97        Integer iOutputDevice
    98        Handle hoThisWorkspace
    99        String sCurDir sDataPath 
   100        String sFileName
   101                    
   102        Get Output_Device_Mode to iOutputDevice
   103
   104        If (iOutputDevice=PRINT_TO_WINDOW) Begin
   105            // save current location
   106            Get_Current_Directory to sCurDir
   107
   108            // get workspace data path (all users must have r/w rights to it) to output the temp file there
   109            Get phoWorkspace of ghoApplication to hoThisWorkspace
   110            Get psDataPath of hoThisWorkspace to sDataPath
   111            Get PathAtIndex of hoThisWorkspace sDataPath 1 to sDataPath
   112            
   113            // set current directory to DataPath
   114            Set_Directory sDataPath
   115        
   116            Make_Temp_File "TXT" sFileName
   117            Move (".\" - sFileName) to sFileName
   118            Set Output_Device_Name to sFileName
   119        End
   120        Else Begin
   121           Set Output_Device_Name to "WinLST:"
   122        End
   123    
   124        Send Run_Report
   125    
   126        If (iOutputDevice=PRINT_TO_WINDOW) Begin
   127           Runprogram background "NotePad" sFileName
   128           EraseFile sFileName
   129        End
   130        
   131        // restore previous location
   132        Set_Directory sCurDir
   133        
   134    End_Procedure   // StartReport
   135    
   136    Object oCustomer_BasicReport is a BasicReport
   137    
   138        Report_Main_File Customer
   139    
   140        Set Report_Title to "Printing Customer Names"
   141    
   142        Function Starting_Main_Report Returns Integer
   143            Integer iRetVal
   144            Integer iIndex
   145    
   146            Forward Get Starting_Main_Report to iRetVal
   147    
   148            Get piSortIndex To iIndex
   149            Report_Index BY iIndex    // set the sort order
   150            Sysdate Footer.1         // set date for report
   151            
   152            Function_Return iRetVal
   153        End_Function
   154    
   155        Procedure_Section Page_Top as CustHdr
   156            Integer iPage
   157            Get Page_Count To iPage
   158            Print iPage
   159            OutPut_PageCheck
   160        End_Procedure
   161    
   162        Procedure_Section Body as CustBody
   163            Send Update_Status (String(Customer.Customer_Number)- ":" * Customer.Name )
   164            Print Customer.Customer_number
   165            Print Customer.Name
   166            OutPut_PageCheck
   167        End_Procedure
   168    
   169        Procedure_Section Page_Bottom as Footer
   170            OutPut_PageCheck
   171        End_Procedure
   172    
   173    End_Object    // Customer_BasicReport
   174
   175CD_End_Object    // oCustomerListBR
   176