Sample for printing report directly to printer

Hi Guys
Does anyone have a report which can print directly to the printer when the radio button option is selected .
I want to print the ALV in excel format.
Printer >>>>.
Screeb >>>>>
Regards
P.Eslam

Hi
I tried with this FM but giving short dump error can anyone explain why pls see the below program for testing.
REPORT  Z_ESLP_ZTCODE .
"LINE-SIZE 600 .
TABLES : AGR_TCODES,
AGR_USERS,
TSTCT.
type-pools: slis.                                 "ALV Declarations
CONSTANTS MARK VALUE 'X'.
*Data Declaration
LIFNR, NAME1, STRAS, ORT01, REGIO, PSTLZ, PFACH, LAND1
TYPES: BEGIN OF  T_DISP,
AGR_TCODES TYPE AGR_TCODES-TCODE ,             " Transaction code A
AGR_NAME   TYPE AGR_TCODES-AGR_NAME,           " Role Name B
AGR_UNAME  TYPE AGR_USERS-UNAME,               " Short User Name B
TTEXT      TYPE TSTCT-TTEXT,                   " Description Name C
TEXTC      TYPE USER_ADDR-NAME_TEXTC,          " Long User Name
SPRSL      TYPE TSTCT-SPRSL ,                  " Language c
END OF t_disp.
DATA: it_disp TYPE STANDARD TABLE OF t_disp INITIAL SIZE 0,
      wa_disp TYPE t_disp.
*ALV data declarations
data: fieldcatalog type slis_t_fieldcat_alv with header line,
      gd_tab_group type slis_t_sp_group_alv,
      gd_layout    type slis_layout_alv,
      gd_repid     like sy-repid,
      gt_events     type slis_t_event,
      gd_prntparams type slis_print_alv.
DATA:L_PARAMS TYPE PRI_PARAMS,
       L_VALID TYPE C.
DATA: w_file      TYPE  rlgrap-filename VALUE 'it_value'.
SELECTION PARAMETER CRITERIA
SELECTION-SCREEN BEGIN OF BLOCK BLK WITH FRAME.
SELECTION-SCREEN BEGIN OF BLOCK BLK1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: P_TCODE FOR AGR_TCODES-TCODE  , "OBLIGATORY, "no-extension no intervals,
U_NAME FOR AGR_USERS-UNAME,
R_NAME FOR AGR_USERS-AGR_NAME .
SELECTION-SCREEN END OF BLOCK BLK1.
SELECTION-SCREEN BEGIN OF BLOCK BLK2 WITH FRAME TITLE TEXT-002.
SELECTION-SCREEN END OF BLOCK BLK2.
SELECTION-SCREEN END OF BLOCK BLK.
SELECTION-SCREEN BEGIN OF BLOCK radio WITH FRAME.
  PARAMETERS :scr   RADIOBUTTON GROUP rbg1 ,
              pr  RADIOBUTTON GROUP rbg1 .
  SELECTION-SCREEN END OF BLOCK radio.
*Start-of-selection.
START-OF-SELECTION.
perform data_retrieval.
perform build_fieldcatalog.
perform build_layout.
perform build_events.
perform build_print_params.
perform display_alv_report.
*&      Form  BUILD_FIELDCATALOG
      Build Fieldcatalog for ALV Report
form build_fieldcatalog.
  fieldcatalog-fieldname   = 'AGR_UNAME'.
  fieldcatalog-seltext_m   = 'User'.
  fieldcatalog-col_pos     = 0.
  fieldcatalog-outputlen   = 10.
  fieldcatalog-emphasize   = 'X'.
  fieldcatalog-key         = 'X'.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
  fieldcatalog-fieldname   = 'TEXTC'.
  fieldcatalog-seltext_m   = 'Name'.
  fieldcatalog-outputlen   = 50.
  fieldcatalog-col_pos     = 1.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
  fieldcatalog-fieldname   = 'AGR_NAME'.
  fieldcatalog-seltext_m   = 'Role Name'.
  fieldcatalog-outputlen   = 15.
  fieldcatalog-col_pos     = 2.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
  fieldcatalog-fieldname   = 'AGR_TCODES'.
  fieldcatalog-seltext_m   = 'Trans Code'.
  fieldcatalog-col_pos     = 3.
  fieldcatalog-outputlen   = 15.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
  fieldcatalog-fieldname   = 'TTEXT'.
  fieldcatalog-seltext_m   = 'DESCRIPTION'.
  fieldcatalog-outputlen   = 40.
  fieldcatalog-col_pos     = 4.
  append fieldcatalog to fieldcatalog.
  clear  fieldcatalog.
endform.                    " BUILD_FIELDCATALOG
*&      Form  BUILD_LAYOUT
      Build layout for ALV grid report
form build_layout.
  gd_layout-no_input          = 'X'.
  gd_layout-colwidth_optimize = 'X'.
  gd_layout-totals_text       = 'Totals'(201).
endform.                    " BUILD_LAYOUT
*&      Form  DISPLAY_ALV_REPORT
      Display report using ALV grid
form display_alv_report.
  gd_repid = sy-repid.
  call function 'REUSE_ALV_GRID_DISPLAY'
       exporting
            i_callback_program      = gd_repid
            i_callback_top_of_page   = 'TOP-OF-PAGE'  "see FORM
            i_callback_user_command = 'USER_COMMAND'
           i_grid_title           = outtext
            is_layout               = gd_layout
            it_fieldcat             = fieldcatalog[]
           it_special_groups       = gd_tabgroup
            it_events               = gt_events
            is_print                = gd_prntparams
            i_save                  = 'X'
           is_variant              = z_template
       tables
            t_outtab                = it_disp
       exceptions
            program_error           = 1
            others                  = 2.
  if sy-subrc  EQ 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
        WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
  endif.
endform.                    " DISPLAY_ALV_REPORT
*&      Form  DATA_RETRIEVAL
      Retrieve data form lfa1 table and populate itab it_lfa1
form data_retrieval.
CASE MARK.
    WHEN scr.
   SELECT AGR_TCODESTCODE AGR_TCODESAGR_NAME AGR_USERSUNAME TSTCTTTEXT USER_ADDR~NAME_TEXTC
  INTO TABLE IT_DISP
  FROM AGR_TCODES
  INNER JOIN AGR_USERS
  ON  AGR_TCODESAGR_NAME = AGR_USERSAGR_NAME
  INNER JOIN USER_ADDR
  ON AGR_USERSUNAME = USER_ADDRBNAME
  INNER JOIN TSTCT
  ON AGR_TCODESTCODE = TSTCTTCODE
  where
  agr_tcodes~tcode in p_tcode
  and
  agr_users~uname in u_name
  and
  agr_tcodes~agr_name in r_name
  and
  TSTCT~SPRSL EQ 'E'.
    WHEN pr.
  CALL FUNCTION 'FTBU_START_EXCEL'
    EXPORTING
      data_name           = w_file
      data_path_flag      = 'T'
*---Start Excel and not Wait
      wait                = ' '
    TABLES
      data_tab             = it_disp
    EXCEPTIONS
      no_batch            = 1
      excel_not_installed = 2
      wrong_version       = 3
      internal_error      = 4
      invalid_type        = 5
      cancelled           = 6
      download_error      = 7
      OTHERS              = 8.
      NEW-PAGE PRINT ON   PARAMETERS L_PARAMS NO DIALOG.
       write : 'print'.
      NEW-PAGE PRINT ON.
ENDCASE.
endform.                    " DATA_RETRIEVAL
Form  TOP-OF-PAGE                                                 *
ALV Report Header                                                 *
Form top-of-page.
*ALV Header declarations
data: t_header type slis_t_listheader,
      wa_header type slis_listheader,
      t_line like wa_header-info,
      ld_lines type i,
      ld_linesc(10) type c.
Title
  wa_header-typ  = 'H'.
  wa_header-info = 'Transaction codes by User and Role Name ' .
  append wa_header to t_header.
  clear wa_header.
Date
  wa_header-typ  = 'S'.
  wa_header-key = 'Date: '.
  CONCATENATE  sy-datum+6(2) '.'
               sy-datum+4(2) '.'
               sy-datum(4) INTO wa_header-info.   "todays date
  append wa_header to t_header.
  clear: wa_header.
Total No. of Records Selected
  describe table it_disp lines ld_lines.
  ld_linesc = ld_lines.
  concatenate 'Total No. of Transaction Records Selected: ' ld_linesc
                    into t_line separated by space.
  wa_header-typ  = 'A'.
  wa_header-info = t_line.
  append wa_header to t_header.
  clear: wa_header, t_line.
  call function 'REUSE_ALV_COMMENTARY_WRITE'
       exporting
            it_list_commentary = t_header.
           i_logo             = 'Z_LOGO'.
endform.
*&      Form  BUILD_EVENTS
      Build events table
form build_events.
  data: ls_event type slis_alv_event.
  call function 'REUSE_ALV_EVENTS_GET'
       exporting
            i_list_type = 0
       importing
            et_events   = gt_events[].
  read table gt_events with key name =  slis_ev_end_of_page
                           into ls_event.
  if sy-subrc = 0.
    move 'END_OF_PAGE' to ls_event-form.
    append ls_event to gt_events.
  endif.
    read table gt_events with key name =  slis_ev_end_of_list
                           into ls_event.
  if sy-subrc = 0.
    move 'END_OF_LIST' to ls_event-form.
    append ls_event to gt_events.
  endif.
endform.                    " BUILD_EVENTS
*&      Form  BUILD_PRINT_PARAMS
      Setup print parameters
form build_print_params.
  gd_prntparams-reserve_lines = '3'.   "Lines reserved for footer
  gd_prntparams-no_coverpage = 'X'.
endform.                    " BUILD_PRINT_PARAMS
*&      Form  END_OF_PAGE
form END_OF_PAGE.
  data: listwidth type i,
        ld_pagepos(10) type c,
        ld_page(10)    type c.
  write: sy-uline(50).
  skip.
  write:/40 'Page:', sy-pagno .
endform.
*&      Form  END_OF_LIST
form END_OF_LIST.
  data: listwidth type i,
        ld_pagepos(10) type c,
        ld_page(10)    type c.
  skip.
  write:/40 'Page:', sy-pagno .
endform.

Similar Messages

  • Error - Printing a report directly to printer

    Hi,
    i'm using oracle forms 9i and i'm trying to print a report directly to printer. I using the code above:
    SET_REPORT_OBJECT_PROPERTY(ReportId,REPORT_DESFORMAT,'PDF');
    SET_REPORT_OBJECT_PROPERTY(ReportId,REPORT_SERVER,GetReportTnsName);
    IF ReportDesType = 'CACHE' THEN
    SET_REPORT_OBJECT_PROPERTY(ReportId,REPORT_DESTYPE,CACHE);
    ReportServerJob:=RUN_REPORT_OBJECT(ReportId, PList);
    rep_status := report_object_status(ReportServerJob);
    IF rep_status=’FINISHED’ THEN
    JobId := substr(ReportServerJob,length(GetReportTnsName)+2,length(ReportServerJob));
    WEB.SHOW_DOCUMENT ('/reports/rwservlet/getjobid'||JobId||'?server='||GetReportTnsName,'_blank');
    ELSE
    message ('Error’);
    END IF;
    -- logic for sending report directly to printer
    ELSIF ReportDesType = 'PRINTER' then
    SET_REPORT_OBJECT_PROPERTY(ReportId,REPORT_DESTYPE,PRINTER);
    SET_REPORT_OBJECT_PROPERTY(ReportId,REPORT_DESNAME,:parameter.p_print);
    ReportServerJob:=RUN_REPORT_OBJECT(ReportId, PList);
    rep_status := report_object_status(ReportServerJob);
    IF rep_status=’FINISHED’ THEN
    message ('Report sent to printer successfully');
    ELSE
    --handle errors
    message ('Error’);
    END IF;
    end if ;
    i get this error :
    REP-50157: Erro no envio do ficheiro para a impressora lp65. Sair com o código de erro 64
    NEED HELP !!
    Regards,

    The printer has to be known on the server where the Reports service runs.
    Also, the user who runs the Reports service has to have access to that printer. If you are running on Windows, Reports Service runs as Local system by default. Change that to a real (domain) user, who has access to the printer.

  • Functional specs for generating Report.

    < MODERATOR:  All points have been UNASSIGNED and the message locked.  Please do not share email addresses, documents, or links to copyrighted or company confidential information on these forums. >
    Hi
    This is Sunil garg Sd consultant.
    Can any body provide me the format with exaples for writing a functional specs to generate the Reports.
    How we will write yhe processing logic of that repot.
    Tables & thier relations.
    Please Help me
    Thanks & Regards
    Sunil garg

    Patial example of Functional Specs. Please map it in Excel & it will give you better clearity. This is Sample for SD report covering Link Between Project System, Sales Order, Delivery, Billing & Accounting Document
    <b>Initial Screen</b>:
    Fields | Table-Field | Remark | Table Joint
    Sales Organization | VBAK-WAERK | Single Selection
    Distribution Channel | VBAK-VTWEG | Multiple Selection
    Division | VBAK-SPART | Multiple Selection
    Sales office | VBAK-VKBUR | Multiple Selection
    Sold to Party | VBPA-KUNNR | Multiple Selection | VBAK-VBELN=VBPA-VBELN
    Material | VBAP-MATNR | Multiple Selection | VBAK-VBELN=VBAP-VBELN
    WBS Element | VBAP-PS PSP PNR | Multiple Selection | VBAK-VBELN=VBAP-VBELN
    Sales Order Type | VBAK-AUART | Multiple Selection
    Billing Type | VBRK-FKART | Multiple Selection | VBAK-VBELN=VBFA-VBELV & VBRK-VBELN=VBFA-VBELN
    Period
    <b>Main Screen</b>:
    <i>Header</i>
    Sales Organization | VBAK-VKORG
    Period
    <i>Item Level</i>:
    Sold-to-Party | VBPA-KUNNR where VBPA-PARVW = AG
    Distribution Channel | VBAK-VKWEG
    Division | VBAK-SPART
    WBS Element | VBAP-PS_PSP_PNR
    Sales Office | VBAK-VKBUR
    Sales Doc type | VBAK-AUART
    Sales Doc No | VBAK-VBELN
    Material | VBAP-MATNR
    Mat Desc | VBAP-ARKTX
    Qty | VBAP-KWMENG
    UOM | VBAP-MEINS
    Doc Currency | VBAK-WAERK
    Delivery No | LIKP-VBELN
    Billing Document Type | VBRK-FKART
    Billing Document No | VBRK-VBELN
    Billing Document Line No | VBRP-POSNR
    Quantity | VBRP-FKIMG
    Price - Base Price
    Price - Service Tax
    Price - Education Cess
    Price - VAT
    Price - Other taxes
    Price - Total
    Accounting Document Number | BKPF-BELNR
    Table Joints at Item Level:
    VBAK-VBELN = VBPA-VBELN
    VBAK-VBELN = VBAP-VBELN
    VBAK-VBELN = VBFA-VBELV (For Delivery)
    VBAK-VBELN = VBFA-VBELV
    LIKP-VBELN = VBFA-VBELV
    VBRK-VBELN = VBRP-VBELN
    VBRK-XBLNR = BKPF-XBLNR
    some details are missing, please try to identify & use it as per your requirement.
    Regards,
    Rajesh Banka
    Reward suitable points.
    How to give points: Mark your thread as a question while creating it. In the answers you get, you can assign the points by clicking on the stars to the left. You also get a point yourself for rewarding (one per thread).

  • Print Crystal Report directly from C# without using Report Viewer

    Hello All,
    I need to print a crystal report directly to the printer without using ReportViewer in C#. I've a CrystalReport2(belowCode) which requires a query (Select * from JobHeader where JobNumber='J012345') to display all the data. I'm stuck with database connection
    and putting all the data to DataAdapter in C# (Below Code). I also have 8 subreports in my CrystalReport2. Can somebody please give me hand on this? I'm struggling with it. Thanks.
    Regards
    using CrystalDecisions.CrystalReports.Engine;
    using System;
    using System.Drawing;
    using System.Collections;
    using System.ComponentModel;
    using System.Windows.Forms;
    using System.Data;
    using System.Data.SqlClient;
    namespace csharp_win_printtoprinter
    /// <summary>
    /// Summary description for Form1
    /// </summary>
    public class Form1 : System.Windows.Forms.Form
    //CR Variables
    ReportDocument crReportDocument;
    private System.Windows.Forms.Button button1;
    private System.Windows.Forms.PrintDialog printDialog1;
    private System.Windows.Forms.Button button2;
    private System.Drawing.Printing.PrintDocument printDocument1;
    private CrystalDecisions.Windows.Forms.CrystalReportViewer crystalReportViewer1;
    private CrystalReport1 CrystalReport11;
    private Chart Chart1;
    /// <summary>
    /// Required designer variable
    /// </summary>
    private System.ComponentModel.Container components = null;
    public Form1()
    // Required for Windows Form Designer support
    InitializeComponent();
    // TODO: Add any constructor code after InitializeComponent call
    /// <summary>
    /// Clean up any resources being used
    /// </summary>
    protected override void Dispose( bool disposing )
    if( disposing )
    if (components != null)
    components.Dispose();
    base.Dispose( disposing );
    #region Windows Form Designer generated code
    /// <summary>
    /// Required method for Designer support - do not modify
    /// the contents of this method with the code editor
    /// </summary>
    private void InitializeComponent()
    this.button1 = new System.Windows.Forms.Button();
    this.printDialog1 = new System.Windows.Forms.PrintDialog();
    this.button2 = new System.Windows.Forms.Button();
    this.printDocument1 = new System.Drawing.Printing.PrintDocument();
    this.crystalReportViewer1 = new CrystalDecisions.Windows.Forms.CrystalReportViewer();
    this.Chart1 = new csharp_win_printtoprinter.Chart();
    this.CrystalReport11 = new csharp_win_printtoprinter.CrystalReport1();
    this.SuspendLayout();
    // button1
    this.button1.Font = new System.Drawing.Font("Microsoft Sans Serif", 16F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.button1.Location = new System.Drawing.Point(32, 56);
    this.button1.Name = "button1";
    this.button1.Size = new System.Drawing.Size(160, 104);
    this.button1.TabIndex = 0;
    this.button1.Text = "Print Report No Choose Printer";
    this.button1.Click += new System.EventHandler(this.button1_Click);
    // button2
    this.button2.Font = new System.Drawing.Font("Microsoft Sans Serif", 15.75F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
    this.button2.Location = new System.Drawing.Point(272, 56);
    this.button2.Name = "button2";
    this.button2.Size = new System.Drawing.Size(160, 104);
    this.button2.TabIndex = 1;
    this.button2.Text = "Choose Printer";
    this.button2.Click += new System.EventHandler(this.button2_Click);
    // crystalReportViewer1
    this.crystalReportViewer1.ActiveViewIndex = 0;
    this.crystalReportViewer1.BorderStyle = System.Windows.Forms.BorderStyle.FixedSingle;
    this.crystalReportViewer1.Cursor = System.Windows.Forms.Cursors.Default;
    this.crystalReportViewer1.Location = new System.Drawing.Point(47, 188);
    this.crystalReportViewer1.Name = "crystalReportViewer1";
    this.crystalReportViewer1.ReportSource = this.CrystalReport11;
    this.crystalReportViewer1.Size = new System.Drawing.Size(903, 296);
    this.crystalReportViewer1.TabIndex = 2;
    // Form1
    this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
    this.ClientSize = new System.Drawing.Size(1164, 505);
    this.Controls.Add(this.crystalReportViewer1);
    this.Controls.Add(this.button2);
    this.Controls.Add(this.button1);
    this.Name = "Form1";
    this.Text = "Form1";
    this.Load += new System.EventHandler(this.Form1_Load);
    this.ResumeLayout(false);
    #endregion
    /// <summary>
    /// The main entry point for the application
    /// </summary>
    [STAThread]
    static void Main()
    Application.Run(new Form1());
    private void button1_Click(object sender, System.EventArgs e)
    crReportDocument = new ReportDocument();
    //Create an instance of a report
    crReportDocument = new CrystalReport2();
    //Use error handling in case an error occurs
    try
    //Set the printer name to print the report to. By default the sample
    //report does not have a defult printer specified. This will tell the
    //engine to use the specified printer to print the report. Print out
    //a test page (from Printer properties) to get the correct value.
    System.Drawing.Printing.PrintDocument printDocument = new System.Drawing.Printing.PrintDocument();
    crReportDocument.PrintOptions.PrinterName = printDocument.PrinterSettings.PrinterName;
    //Start the printing process. Provide details of the print job
    //using the arguments.
    crReportDocument.PrintToPrinter(0 ,true , 1, 1);
    //Let the user know that the print job is completed
    MessageBox.Show("Report finished printing!");
    catch(Exception err)
    MessageBox.Show(err.ToString(), "Unexpected exception");
    private void Form1_Load(object sender, System.EventArgs e)
    private void button2_Click(object sender, System.EventArgs e)
    //Open the PrintDialog
    this.printDialog1.Document = this.printDocument1;
    DialogResult dr = this.printDialog1.ShowDialog();
    if(dr == DialogResult.OK)
    //Get the Copy times
    int nCopy = this.printDocument1.PrinterSettings.Copies;
    //Get the number of Start Page
    int sPage = this.printDocument1.PrinterSettings.FromPage;
    //Get the number of End Page
    int ePage = this.printDocument1.PrinterSettings.ToPage;
    string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
    crReportDocument = new ReportDocument();
    //Create an instance of a report
    crReportDocument = new Chart();
    try
    //Set the printer name to print the report to. By default the sample
    //report does not have a defult printer specified. This will tell the
    //engine to use the specified printer to print the report. Print out
    //a test page (from Printer properties) to get the correct value.
    crReportDocument.PrintOptions.PrinterName = PrinterName;
    //Start the printing process. Provide details of the print job
    //using the arguments.
    crReportDocument.PrintToPrinter(nCopy, false, sPage, ePage);
    //Let the user know that the print job is completed
    MessageBox.Show("Report finished printing!");
    catch(Exception err)
    MessageBox.Show(err.ToString());

    1. This is a VB.Net forum not a Visual C# forum. For Visual C# questions try this forum.
    Visual C#
    2. Crystal Reports are not supported by Microsoft. Therefore, unless somebody responding in the Visual C# forum has experience with whichever version of Crystal Reports you are using, you will probably not receive an answer in the Visual C# forum. SAP has
    their own assistance for Crystal Reports using Visual Studio. You can try to find an appropriate forum to ask questions in at SAP in the below link.
    SAP Community Network
    La vida loca

  • Form 6i printing report directly to printer

    Hi Professionals,
    I am in badly need of help to print my barcode report directly to printer from form, currently it is working fine if i make it preview first and then user has to select network printer to print, but user is not accepting that manual step, and therefore we are unable to launch our material management module.
    MY CURRENT CODE WHICH WORKING FINE WITH PREVIEW..................
    add_parameter(PL_ID, 'DESTYPE', TEXT_PARAMETER, 'PREVIEW');
    add_parameter(PL_ID, 'MAXIMIZE', TEXT_PARAMETER, 'YES');
    add_parameter(pl_id,'paramform',TEXT_PARAMETER,'NO');
    add_parameter(pl_id,'STR',TEXT_PARAMETER,:IM_STR_ISSUE_MASTER.STR_CODE);
    add_parameter(pl_id,'BAT',TEXT_PARAMETER,:IM_STR_ISSUE_DETAILS.BAT_ID);
    add_parameter(pl_id,'DIV',TEXT_PARAMETER,:IM_STR_ISSUE_DETAILS.GRP_CODE);
    add_parameter(pl_id,'GRP',TEXT_PARAMETER,:IM_STR_ISSUE_DETAILS.SUB_GRP_CODE);
    add_parameter(pl_id,'ITM',TEXT_PARAMETER,:IM_STR_ISSUE_DETAILS.ITEM_CODE);
    add_parameter(pl_id,'COPIES',TEXT_PARAMETER,:IM_STR_ISSUE_DETAILS.QTY);
    RUN_PRODUCT(REPORTS,'F:\IMS\REPORTS\STOCK_IN_BARCODE.rep',SYNCHRONOUS,RUNTIME,FILESYSTEM,PL_ID);
    IF I CHANGE IT TO THE FOLLOWING FOR DIRECT PRINTING IT IS NOT WORKING
    ADD_PARAMETER(PL_ID, 'DESTYPE', TEXT_PARAMETER, 'PRINTER');
    ADD_PARAMETER(PL_ID, 'DESNAME', TEXT_PARAMETER, 'SOLABEL');
    I appreciate any efforts to resolve this issue.
    Thanks
    Ahon
    Edited by: [email protected] on Oct 4, 2009 11:20 PM

    Guide to Implement local printing on client in 10gas/9ias
    To archive this goal we have used orarrp(Oracle Reports Remote Printing Utility), which can be downloaded from the OTN website http://otn.oracle.com/sample/products/reports/index.html.
    Steps:
    1.Add the required ORARRP mime types to the Oracle HTTP Server configuration.
    (Note: This will be the Oracle HTTP Server belonging to the Oracle Application Server 10g/9ias middle (BI & Forms) tier)
    Do this manually by editing the httpd.conf
    or
    via the Oracle Application Server 10g AS Console e.g.
    Navigate to the Middle Tier Components Page
    Click on HTTP_Server -> Administration -> MIME Types
    NOTE: MIME types added in httpd.conf are as per requirement mode in which report has to be run e.g. pdf, rt(rtf) and html etc. syntax for manual entry in httpd.conf is given below.
    AddType application/x-orarrp-text     rrpt
    AddType application/x-orarrp-ps     rrpp
    AddType application/x-orarrp-pdf     rrpa
    AddType application/x-orarrp-rt     rrpr
    AddType application/x-orarrp-ini     rrpi
    AddType application/x-orarrp-html     rrph
    2. Create an aliasmatch in forms.conf pointing to a physical directory \tmp- for example, directory will be c:\tmp
    Do this by manually editing the forms.conf
    or
    via the Oracle Application Server 10g AS Console e.g.
    Navigate to the Middle Tier Components Page
    Click on HTTP_Server -> Administration -> Advanced Server Properties -> forms.conf
    Add a line like :
    # Virtual path for physical directory of temp
    AliasMatch ^/tmp/(..*) "C:\tmp/$1"
    ** IMPORTANT NOTE **
    The advantages of making the changes via EM / AS console, rather than editing the files manually, are:
    - the EM / AS console will put the mime type entries in the correct place
    - the EM / AS console automatically issues a 'dcmctl updateconfig' which synchronizes the file changes with the Infrastructure Metadata Repository
    - the EM / AS console will do the required restart of the HTTP Server component
    (Only the HTTP Server needs to be stopped and restarted – Oracle AS 10g components can remain up and running)
    If the changes are made manually then the following commands must be issued after the changes to httpd.conf and forms.conf have been made.
    Run these command at run prompt
    DRIVE:\oracle\FRHome_1\dcm\bin\dcmctl.bat updateconfig -ct ohs -v -d
    (to synchronize the changes with the Metadata Repository)
    DRIVE:\oracle\FRHome_1\dcm\bin\dcmctl.bat stop -ct ohs -v -d
    DRIVE:\oracle\FRHome_1\dcm\bin\dcmctl.bat start -ct ohs -v -d
    where DRIVE: is the drive where \oracle\frhome_1\ is installed.
    3. Copy and run orarrp.exe on client machine in program files\orarrp\ folder.
    4. Set value of options '”choose_printer=no” in orarrp.ini created at above folder.
    5. Add following lines in your code of run_report procedure.
    In declare section
    vc_file varchar2(225);
    In begin block add
    /* Generate a pseudo unique filename */
    vcfile:=:global.user_code||to_char(sysdate,'YYYYMMDDHHMISS');
    vcfile:=vcfile||'.rrpr';
    /* In this example - output will be rtf so adding .rrpr extension */
    set_report_object_property(repid, report_filename,store_var);
    set_report_object_property(repid, report_server, :global.r_server);
    set_report_object_property(repid, report_execution_mode, batch);
    set_report_object_property(repid, report_comm_mode, SYNCHRONOUS);
    set_report_object_property(repid, report_destype, file);
    set_report_object_property(repid, report_desformat,'rtf');
    set_report_object_property(repid,REPORT_DESNAME,'C:\tmp\'||vcFile);
    ---- path can be made dynamic by making a database entry in makess.path_entry for tmp folder and
    ---using proc_path procedure from path lib.
    :GLOBAL.PrintOutPut := vcFile;
    In Run report section make following change:
         vc_reportserverjob := RUN_REPORT_OBJECT(repid,pi_id);
         report_job_id:=substr(vc_reportserverjob,length(:global.r_server+2,length(vc_reportserverjob));
         v_rep_status:=report_object_status(vc_reportserverjob);
         if v_rep_status='FINISHED' then
              web.show_document('/tmp/'||:global.printoutput,'_blank');
         else
              message ('error when running report'||v_rep_status);
    end if;
    Edited by: amitphynyl on Oct 5, 2009 1:36 AM

  • How to print the report directly without previewing (report viewer) using c# windows application

    Hi,
    Currently, we are using crystal report to all of our reporting applications, but since I/users have encountered some issues about CR's speed to load only a simple report, maybe it is now time for us to adopt a new reporting environment in which I think SSRS
    can fill this problem.
    To start with, I have here a sample code, that uses the crystal report to print the report directly without previewing:
    csCashInvoiceCal csCashCal; --Crystal report name .rpt
    dsCsReceipt dsCs; --created dataset
    DataTable u;
    DataRow s;
    private System.Drawing.Printing.PrintDocument printDocument1;
    private System.Windows.Forms.PrintDialog printDialog1;
    ParameterValues paramValue;
    ParameterDiscreteValue discreteValue;
    ParameterFieldDefinition fieldDefinition;
    private void btnPrint_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt2();
    print2();
    csCashCal.Close();
    this.Cursor = Cursors.Default;
    private void loadReceipt2()
    dsCs = new dsCsReceipt(); --created dataset
    u = dsCs.Tables.Add("DtCsReceipt");
    u.Columns.Add("Qty", Type.GetType("System.String"));
    u.Columns.Add("UOM", Type.GetType("System.String"));
    u.Columns.Add("Description", Type.GetType("System.String"));
    u.Columns.Add("UnitPrice", Type.GetType("System.String"));
    u.Columns.Add("Discount", Type.GetType("System.String"));
    u.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    s = u.NewRow(); double.TryParse(dgvDesc.Rows[i].Cells[Discount2.Name].Value.ToString(), out discount);
    s["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    s["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    s["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    s["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    s["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    s["Discount"] = "";
    s["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    u.Rows.Add(s);
    catch (Exception) { }
    csCashCal = new csCashInvoiceCal();
    csCashCal.SetDataSource(dsCs.Tables[1]);
    //csCashCal.Refresh();
    loadParameter2();
    private void loadParameter2()
    ParameterFieldDefinitions paramFieldDefinitions;
    paramValue = new ParameterValues();
    discreteValue = new ParameterDiscreteValue();
    paramFieldDefinitions = csCashCal.DataDefinition.ParameterFields;
    discreteValue.Value = date;
    fieldDefinition = paramFieldDefinitions["Date"];
    commonParam();
    discreteValue.Value = txtcsno.Text;
    fieldDefinition = paramFieldDefinitions["InvoiceNo"];
    commonParam();
    discreteValue.Value = txtNameTo.Text;
    fieldDefinition = paramFieldDefinitions["CustomerName"];
    commonParam();
    discreteValue.Value = txtAdd.Text;
    fieldDefinition = paramFieldDefinitions["CustomerAddress"];
    commonParam();
    ------other parameters----
    private void commonParam()
    paramValue.Clear();
    paramValue.Add(discreteValue);
    fieldDefinition.ApplyCurrentValues(paramValue);
    private void print2()
    using (printDocument1 = new System.Drawing.Printing.PrintDocument())
    using (this.printDialog1 = new PrintDialog())
    //this.printDialog1.UseEXDialog = true;
    this.printDialog1.Document = this.printDocument1;
    DialogResult dr = this.printDialog1.ShowDialog();
    if (dr == DialogResult.OK)
    int nCopy = this.printDocument1.PrinterSettings.Copies;
    int sPage = this.printDocument1.PrinterSettings.FromPage;
    int ePage = this.printDocument1.PrinterSettings.ToPage;
    string PrinterName = this.printDocument1.PrinterSettings.PrinterName;
    try
    csCashCal.PrintOptions.PrinterName = PrinterName;
    csCashCal.PrintToPrinter(nCopy, false, sPage, ePage);
    printcount++;
    //saveCountPrint();
    catch (Exception err)
    MessageBox.Show(err.ToString());
    This is only a simple sales receipt application that uses dgv and textboxes to push its data to dataset to the crystal report, a simple one but there are instances that it is very slow.
    But I'm having trouble implementing this using SSRS, since I'm only new to this one, wherein I created the report using report wizard, with two button options inside the form for print preview or direct print selection. Actually, it is very easy to implement
    with print preview because it uses reportviewer. My problem is that how can I print the report directly without using a reportviewer?
    So here is my code so far which I don't know what's next:
    private void button2_Click(object sender, EventArgs e)
    this.Cursor = Cursors.WaitCursor;
    loadReceipt3();
    //print3();
    this.Cursor = Cursors.Default;
    ReportParameter[] parameter = new ReportParameter[11];
    private void loadParameter3()
    parameter[0] = new ReportParameter("InvoiceNo", txtcsno.Text);
    parameter[1] = new ReportParameter("Date", date);
    parameter[2] = new ReportParameter("CustomerTin", txtTin.Text);
    parameter[3] = new ReportParameter("CustomerName", txtNameTo.Text);
    parameter[4] = new ReportParameter("CustomerAddress", txtAdd.Text);
    parameter[5] = new ReportParameter("Agent", agent);
    parameter[6] = new ReportParameter("Discount", "Discount: ");
    parameter[7] = new ReportParameter("TotalDiscount", lblDiscount.Text + "%");
    parameter[8] = new ReportParameter("TotalSales", rdtotal);
    parameter[9] = new ReportParameter("Tax", rdtax);
    parameter[10] = new ReportParameter("TotalAmount", rdnet);
    private void loadReceipt3()
    DataSet dsrs = new DataSet();
    DataTable dtrs = new DataTable();
    DataRow drs;
    dtrs.Columns.Add("Qty", Type.GetType("System.String"));
    dtrs.Columns.Add("UOM", Type.GetType("System.String"));
    dtrs.Columns.Add("Description", Type.GetType("System.String"));
    dtrs.Columns.Add("UnitPrice", Type.GetType("System.String"));
    dtrs.Columns.Add("Discount", Type.GetType("System.String"));
    dtrs.Columns.Add("Amount", Type.GetType("System.String"));
    try
    for (int i = 0; i < dgvDesc.Rows.Count - 1; i++)
    drs = dtrs.NewRow();
    drs["Qty"] = double.Parse(dgvDesc.Rows[i].Cells[Qty.Name].Value.ToString());
    drs["UOM"] = dgvDesc.Rows[i].Cells[Uom2.Name].Value.ToString();
    drs["Description"] = invcode + dgvDesc.Rows[i].Cells[Description.Name].Value.ToString();
    drs["UnitPrice"] = dgvDesc.Rows[i].Cells[UnitPrice.Name].Value.ToString();
    if (discount != 0)
    drs["Discount"] = "(" + string.Format("{0:0.##}", discount) + "%)";
    else
    drs["Discount"] = "";
    drs["Amount"] = dgvDesc.Rows[i].Cells[Amount2.Name].Value.ToString();
    dtrs.Rows.Add(s);
    catch (Exception) { }
    int addtlRow = 7;
    if (addtlRow > (count - 1))
    addtlRow = addtlRow - (count - 1);
    for (int i = 0; i < addtlRow; i++)
    dtrs.Rows.Add();
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    localreport.Refresh();
    //what's next....
    So what's next after local..refresh()? Actually, I have googled a lot but I didn't found the exact solution that I'm looking for which confuses me a lot.
    Anyway I'm using VS 2010 with sql server 2012 express.
    You're help will be greatly appreciated.
    Thank you,
    Hardz

    After some further studies with ReportViewer controls and with the use of this tutorial @ : http://msdn.microsoft.com/en-us/library/ms252091.aspx, which helps me a lot on how to print a report without using a report viewer, I found out what is missing
    with my code above and helps solve my question.
    Here's the continuation of the code above:
    private void loadReceipt3()
    loadParameter3();
    LocalReport localreport = new LocalReport();
    localreport.ReportPath = @"..\..\SsrsCashReceipt.rdlc";
    localreport.SetParameters(parameter);
    localreport.DataSources.Clear();
    localreport.DataSources.Add(new ReportDataSource("dsSalesReceiptSsrs", dtrs));
    Export(localreport);
    print4();
    private IList<Stream> m_streams;
    private int m_currentPageIndex;
    private void Export(LocalReport report)
    string deviceInfo =
    @"<DeviceInfo>
    <OutputFormat>EMF</OutputFormat>
    <PageWidth>8.5in</PageWidth>
    <PageHeight>11in</PageHeight>
    <MarginTop>0.25in</MarginTop>
    <MarginLeft>0.25in</MarginLeft>
    <MarginRight>0.25in</MarginRight>
    <MarginBottom>0.25in</MarginBottom>
    </DeviceInfo>";
    Warning[] warnings;
    m_streams = new List<Stream>();
    report.Render("Image", deviceInfo, CreateStream,
    out warnings);
    foreach (Stream stream in m_streams)
    stream.Position = 0;
    private void print4()
    if (m_streams == null || m_streams.Count == 0)
    throw new Exception("Error: no stream to print.");
    PrintDocument printDoc = new PrintDocument();
    PrintDialog printDlg = new PrintDialog();
    printDlg.Document = printDoc;
    DialogResult dr = printDlg.ShowDialog();
    if (dr == DialogResult.OK)
    if (!printDoc.PrinterSettings.IsValid)
    throw new Exception("Error: cannot find the default printer.");
    else
    printDoc.PrintPage += new PrintPageEventHandler(PrintPage);
    m_currentPageIndex = 0;
    printDoc.Print();
    Dispose();
    public void Dispose()
    if (m_streams != null)
    foreach (Stream stream in m_streams)
    stream.Close();
    m_streams = null;
    private Stream CreateStream(string name, string fileNameExtension, Encoding encoding, string mimeType, bool willSeek)
    Stream stream = new FileStream(name + "." + fileNameExtension,
    FileMode.Create);
    m_streams.Add(stream);
    return stream;
    private void PrintPage(object sender, PrintPageEventArgs ev)
    Metafile pageImage = new
    Metafile(m_streams[m_currentPageIndex]);
    // Adjust rectangular area with printer margins.
    Rectangle adjustedRect = new Rectangle(
    ev.PageBounds.Left - (int)ev.PageSettings.HardMarginX,
    ev.PageBounds.Top - (int)ev.PageSettings.HardMarginY,
    ev.PageBounds.Width,
    ev.PageBounds.Height);
    // Draw a white background for the report
    ev.Graphics.FillRectangle(Brushes.White, adjustedRect);
    // Draw the report content
    ev.Graphics.DrawImage(pageImage, adjustedRect);
    // Prepare for the next page. Make sure we haven't hit the end.
    m_currentPageIndex++;
    ev.HasMorePages = (m_currentPageIndex < m_streams.Count);
    Thank you very much for this wonderful tutorial. :)

  • Print BW report directly

    Hi Experts,
    we want to print a Report directly after clicking on print version. We don't want to first open the pdf file and then click another time on print. Is there any solution?
    The best solution would be, that we print automatically the report on our local printer after confirming the filter variables.
    Thanks for your help
    Sebastian

    There should be a javascript command, something like window.print, which you could put in the onLoad function of the page.
    The problem here is that it doesn't print in the nice PDF version.
    Cheers,
    Andrew

  • Can not print report directly to printer.

    Hi,
    We are using Crystal Report Server for reporting in our project.
    The version we are using is Crystal Report Server XI R2 and Crystal Report Server XI R2 SP 2.
    Please kindly advice us on the following issues we faced:
    - Can not print report directly to printer.
      The print button on the Crystal Report Viewer prints the report to pdf and user have to click "Print" again in the pdf file. This is unusual and not convenient. As we have hundreds of reports to print, is there a way we can print the reporrt directly to printer?
    - "Set to Null"
      In the default interface of the Crystal Report View, there's is this "set to null" check box that we can not remove. Is there a way to do without it?
    Thank you,
    Kenny Tew

    Morning Kenny,
    The printer settings are in server management console. Additionally see what settings you have setup for the printer for the report in the server. If it is setup to use End User printer then check your End user machine settings and make sure the printer is setup as a default printer on his/her machine.
    Please let us know how you get along with the issue.
    As far as "Set to Null" I am not sure where it is set up. A screenshot of it might help understanding it better?
    Many thanks
    Regards
    Jehanzeb
    Edited by: Jehanzeb Navid on Oct 6, 2008 11:07 AM
    Is this issue on all computers or only one computer?
    I have just tested this on my colleague machine and it asks for default printer and not pdf however on mine I setup for pdf.

  • Print RDLC Report Directly to Printer with SubReports!

    I am currently printing a report directly to the default printer using the code from this link. 
    http://msdn.AddHandler
    ReportViewer1.LocalReport.SubreportProcessing, AddressOf SubreportProcessingEventHandler
    and this code:
    Public Sub SubreportProcessingEventHandler(ByVal sender As Object, ByVal e As SubreportProcessingEventArgs)
    Dim zrpt = e.ReportPath
    Select Case zrpt
    Case "WOPartsSubReport"
    Dim ds1 As New WOPartsSubReportDataSet
    Dim da1 As New WOPartsSubReportDataSetTableAdapters.wopartsTableAdapter
    da1.Fill(ds1.woparts)
    e.DataSources.Add(New ReportDataSource("DataSet1", ds1.Tables("woparts")))
    Case "WOLaborSubReport"
    Dim ds2 As New WOLaborSubReportDataSet
    Dim da2 As New WOLaborSubReportDataSetTableAdapters.wolaborTableAdapter
    da2.Fill(ds2.wolabor)
    e.DataSources.Add(New ReportDataSource("DataSet1", ds2.Tables("wolabor")))
    Case "WOLockoutSubReport"
    Dim ds As New WOLockOutSubReportDataSet
    Dim da As New WOLockOutSubReportDataSetTableAdapters.wolockTableAdapter
    da.Fill(ds.wolock)
    e.DataSources.Add(New ReportDataSource("DataSet1", ds.Tables("wolock")))
    End Select
    End Sub
    But now that I am NOT using a reportviewer how can I still get the subreports to work and still print directly to the printer?  Where would I put the code to do that?
    Thanks,
    Stacy

    Hi Stacy,
    Sorry for the delay.
    It’s Christian that I have involved to help on this issue. Maybe the issue requires a more in-depth level of support. Alternatively, you could contact Microsoft Customer Support Services (CSS) via telephone so that a dedicated Support Professional can assist
    you in a more efficient manner. Please understand that contacting phone support will be a charged call, but it will be free if this is a product issue. To obtain the phone numbers for specific technology request please take a look at the web site listed below:
    http://support.microsoft.com/default.aspx?scid=fh;EN-US;PHONENUMBERS
    Another option would be creating a thread on our Connect site:
    http://connect.microsoft.com/sql.
    Regards,
    Mike Yin
    If you have any feedback on our support, please click
    here
    Mike Yin
    TechNet Community Support

  • Not able to take print a report directly to the printer

    Hi All,
    Can anyone help me to print a report directly to the printer?. Currently, I am viewing the reports in the screen and then taking print of that report. If anyone knows the solution for this, please give me the feedback immediately. It is very urgent.

    HI ALL
    i have the same problem plz tel me som solution 4 it
    thanx in advance

  • Print report directly from URL

    i have SSRS report where i have prompt to enter to get data. once the data is populated i would like to print directly from the print option rather saving to pdf and print. My page settings format is setup to 9X11 size. with this i can save and print fine.
    But if i print directly to print on A-4 right most part is not printing and looks like i have to change settings in my report. How do we print this kind of report correctly on A-4 size paper. Any help much appreciated.

    Hi SQL Instane,
    Per my understanding that you want to print the report directly when click the print button and print on A-4, you have set the size to 9X11 and after print out, some of the part is not printing, right?
    By default  the size setting for print to A4 is 8.5X11 or 11X8.5, If you have changed to 9X11 and didn't set the body size of the report properly, it my cause the issue you are facing.
    Details information below for your reference about how to do the size setting:
    Change the report size setting to 8.5(Page Width)X11(Page height), you can also try to decrease the size of the "left margin" and "right margin" to increase the width.
    Check the body size setting and maek sure they have the relationship as below:
    Body Width + Left margin + Right margin <=Page width
    Body height+ Top margin + Button margin <=Page height
    If you have many columns and need to increase the width, you can also change the default setting "potrait" (8.5X11)to "Landscape"(11X8.5)
    Article about  the Pagination in Reporting Services for your reference:
    http://msdn.microsoft.com/en-us/library/dd255278.aspx
    If your problem still exists, please try to provide more details information.
    Any problem, please feel free to ask.
    Regards
    Vicky Liu

  • When send the report directly to the printer from Oracle IDS 9i

    Hi.....
    I m using Oracle IDS 9i, Oracle AS 9i and Database 9i for my new project.But i m facing a problem when i m trying to show a report from oracle IDS 9i.When i send the report directly to the printer without showing it,then the printer connected to the application server is working.But the printer connected to with PC(From where a send the command) is not working but printer connected with AS is working,but not that one which one i m wanting.....Why this problem is happening?Can anyone help me?
    KSI

    Note:It is always better to have network based printers rather then PC shared printers. What that means is your printer is not connected to a PC. It has a direct connection to the network via NIC. You would then setup the printer on your AS in the printers setup. If the AS is rebooted you do not need to authenticate the printer shares again with a network based printer.
    If I understand you correctly, you have a printer connected to your AS(application server) and a printer connected to your PC. You can submit a report direct to the printer connected to the AS but cannot send a report direct to your printer connected to your PC.
    From the symptoms you described, the problem is usually associated with the AS not being able to see the printer shared on your PC. You either have the address to your printer address defined wrong or your AS is trying to direct a job to your printer but doesn't have rights to do it.
    First, Try to print a notepad job to your printer attached to your PC from the AS. This will tell you if you have access to do so or not.
    - If it can't, you need to figure out why? This has nothing to do with oracle.
    Second, thing to check is your Oracle "Report Queue Manager" on the AS. Make sure that you can submit a report manually from the Report Queue Manager. If it fails the "Report Queue Manager" will give you useful errors as to why it failed. This will help you isolate the problem.
    Third, Once you can submit a job from the reports queue manager manually to your shared printer you should be able to submit from your application direct. If it still does not work your address to the printer is incorrect. Try submitting manually through the reports queue manager again. When selecting printer you will be given a list of accessible printers from the AS. Select the one connected to your PC. Once selected the full network address will appear. Copy and use this as the printer location in your job submission through your application.
    That's it... Where using this right now and it works great. Hope this helps.
    Eric.

  • Printing a report directly to an printer via the printer's IP Address.

    I am looking for how to print a report (either text or pdf) from a PL/SQL procedure, directly to a known IP Address of a printer.
    We have a report that is generated through forms as a pdf. The user can then obviously read it and print it to a printer from their machine.
    We are trying to implement a Stored procedure that will print that report directly to a know printer's IP Address.
    How can this be done?

    Check out the orarrp utility (Oracle Reports Remote Printing Utility) on Metalink, note 277431.1.
    It may be easier in the end to set up printers on the OAS. I guess that client PC's are using network printers, or are the really using printers connected directly to the PC?

  • Printing a report directly to the printer on the client machine

    Hi All,
    I am migrating reports from 6i to 10g, all these reports are called from menu and some from forms. There are some reports which are directly sent to the printer for printing. My question is when we run those reports that are sent directly to the printer from OAS, Can we make it refer to the printer set up on the client machine?. Can any one let me know regarding this?.
    Regards,
    Prasad.

    Check out the orarrp utility (Oracle Reports Remote Printing Utility) on Metalink, note 277431.1.
    It may be easier in the end to set up printers on the OAS. I guess that client PC's are using network printers, or are the really using printers connected directly to the PC?

  • How to Dynamically Select the Data File for a Report at Print Time

    How do you configure a Crystal report to ask for the file to be reported on as the report is being printed, and allow the user to browse to the file?
    The environment is Crystal Reports XI, SP3, with ODBC connection to Sage Timberline Office data version 9.7.  The client names their Payroll unposted time file each pay period, and also needs to report on their posted data file, depending on the time period for the report.  The client will need to select both the date range and the file name.
    I have created a SQL statement in Add Command in Database Expert, which prompts for a file name, but it does not let you browse to select a file on the computer.
    Therefore, in the prompts when they print the report, the parameter offers the user a default file name similar to the name they currently use, so they only have to change the payroll period end date in the supplied file name to run the report successfully.
    The client is concerned that sometimes a user will name their data file differently, and not know how to input the file name into the Crystal report prompt at print time.
    My research on dynamic prompts showed you can link to fields inside the data record, but I did not see a way to dynamically link to select the actual files used in the report.
    Another question is that the naming convention used by the SQL query is different than the basic Windows file name, but I think I can handle that issue.
    The actual file name is typically similar to:
    04-10-11 BP NEW.PRT
    However, in the SQL query, the record ID looks like:
    PRT_00-00-00 BP NEW__TIME
    The SQL Statement using a parameter is:
    SELECT
    "PRT_CURRENT__TIME"."Employee",
    "EMPLOYEE1"."Employee_Name",
    "PRT_CURRENT__TIME"."Date",
    "PRT_CURRENT__TIME"."Units",
    "PRT_CURRENT__TIME"."Job",
    "JOB1"."BP_Emps_Used"
    FROM
    "PRT_CURRENT__TIME" AS "PRT_CURRENT__TIME"
    INNER JOIN "JCM_MASTER__JOB" AS "JOB1"
    ON "PRT_CURRENT__TIME"."Job"="JOB1"."Job"
    INNER JOIN "PRM_MASTER__EMPLOYEE" AS "EMPLOYEE1"
    ON "PRT_CURRENT__TIME"."Employee"="EMPLOYEE1"."Employee"
    WHERE "JOB1"."BP_Emps_Used" = 1
    AND
    ("PRT_CURRENT__TIME"."Date" BETWEEN
    {?As of Date} - 41 AND {?As of Date})
    UNION ALL
    ( SELECT
    "PRT_NEW__TIME"."Employee",
    "EMPLOYEE2"."Employee_Name",
    "PRT_NEW__TIME"."Date",
    "PRT_NEW__TIME"."Units",
    "PRT_NEW__TIME"."Job",
    "JOB2"."BP_Emps_Used"
    FROM
    "{?NEWPRT}" AS "PRT_NEW__TIME"
    INNER JOIN "JCM_MASTER__JOB" AS "JOB2"
    ON "PRT_NEW__TIME"."Job"="JOB2"."Job"
    INNER JOIN "PRM_MASTER__EMPLOYEE" AS "EMPLOYEE2"
    ON "PRT_NEW__TIME"."Employee"="EMPLOYEE2"."Employee"
    WHERE "JOB2"."BP_Emps_Used" = 1
    AND
    ("PRT_NEW__TIME"."Date" BETWEEN
    {?As of Date} - 41 AND {?As of Date})

    Hello,
    Sorry you'll have to contact Sage on how to do this. We can help you once you get connected but we can't help you get around their connection methods.
    There is no Preview Set Database Connection method you can use in CR Designer. The Designer assumes you select it first or use the Set Location option before previewing or refreshing the data.
    If you are doing this in the Sage program itself we can't help you, you'll have to contact Sage for assistance.
    Sage is an OEM Partner they are responsible for supporting their product and CR. If they have issues help you then they will contact us directly for assistance.
    Thank you
    Don

Maybe you are looking for