How do I use report RSWUWFML2 'Preparation Exit'

Hello,
I have to send a mail notification to external email address for some workflow tasks, we have the requirement to send a url to the portal in the mail body, to achieve this we have had some problems that I will comment:
First of all we tried to create a dialog text from SE61, with a command inside like this:
/:if &syst-sysid = 'DE1'
     https://portal.d.domain.com
/:elseif &syst-sysid = 'QE1'
     https://portal.q.domain.com
/:endif
The result after running program RSWUWFML2 is a mail with the two urls, what means  that the command are not being executed and only the text lines are left.
The second solution that we are trying to implement is to use the "Preparation Exit" that is described in OSS note 808971, this exit consist in a FM without any interface that is used to prepare some variables to be used in SE61 texts.
I have tried searching google, SDN, help.sap.com, OSS notes to try to know how to implement this exit but there is no global data defined at RSWUWFML2 to allow this, and a local variable in the FM is not later seen when text of SE61 is rendered.
So my questions are, has anybody implemented sucessfully this exit? could I use it to pass the URL as a parameter to get it in the sent email? Do you have any other suggestions?
I would avoid using extended notification due tu a restriction in the workflow design.
Thank you in advance,
Kind regards,

Hi,
This a simple program you confused more, Do the following to solve you problem.
1) In the Std. program RSWUWFML2 your customized url can not be sent. So  Copy the std. Program to a Custom program (e.g. ZRSWUWFML2)
2) In the Program this program , there is "FORM send_messages"   , there only the content of the mail will available.
3) Here you modify the content & subject of the email as per your requirement. And Give your custom message and your url (e.g.  https://portal.d.domain.com)
4) Then put it the background, as shown in this [Link|https://wiki.sdn.sap.com/wiki/x/moH8B].
Regards,
Surjith

Similar Messages

  • How do I use RSWUWFML2s 'Preparation Exit'?

    G'Day folks,
    Version 6.20 - how can I add custom text symbols to RSWUWFML2's SapScript text that goes into the email?
    I did some research, but the cryptologists at SAP have me a bit baffled on this one:
    A user exit is provided, but lacking doco I looked on OSS where I found the answer in note 808971:
    <i>"The first user exit ... to enable the user to define more variables that can be used in the SE61 texts."</i>
    Bingo, exactly what I want. So how do I use it? According to the note
    <i>"The entered function modules must fill a certain interface. In the case of the "FM for preparation phase", this is an interface without any parameters."</i>
    which is about as useful as explaining how to peel a potato. I sifted through some of the code and ... well so it calls a FM without params near the beginning of the report. So I assume something needs to be declared/stored globally/something'd.... but what?
    Any input appreciated from anyone who's gotten this to work.
    Thanks,
    Mike
    (cross-posted on WUG and SDN)

    HI fns,
    My workflow got trigerred, it got completed successfully.
    I have a problem is, after it completes also it is not stop sending mail.
    two days once or three days once it is sending mail to external inbox say an agent.
    i went throu the following steps.
    1.i went throu SWPR to cancel and stopping it manually but i can't. i didnt get execute button after i press complete manually.
    moreover kindly differentiaite complete manually with replace manually.
    2.went thru a FM  ->SAP_WAPI_WORKITEM_COMPLETE
    so how could i stop it.?
    kindly help.
    thanks in adv,
    Venkat sarathy.

  • 'How to..use reporting variables in BPS'  syntax issue

    Hi,
    I am implementing the white paper 'How to...use reporting variables in BW-BPS' and I am getting a syntax error in the include YBW_BPS_VAR_READ. The error indicates 'Statement is not accessible' for my line:
    SELECT SINGLE * FROM ybw_bps_var_map
    ybw_bps_var_map being my transparent table as described in the white paper.
    I have never seen such a syntax error, has anyone had the same issue? My code is the one in the white paper.
    Thanks for any help.
    David

    Hi David,
    I have the coding up and running. I have not seen this error before and don't know how to resolve it. If you cut&paste it from the PDF, then maybe some special characters got pasted into the ABAP editor. Try to delete the line and type it in manually.
    Regards
    Marc
    SAP NetWeaver RIG

  • How to schedule the report RSWUWFML2

    hi,
    I need some guidance about scheduling the report RSWUWFML2.
    Apart from the default values, I have put the fields  Tasks, radiobutton One message per workitem and checkbox Workitem execution. For the from date and time I need to verify.
    From work item creation date --> current date
    From work item creation time --> current time minus frequency of report run
    example , frequency is 2 hrs then 'from time' will be current time minus 2 hrs so in this way all the duration of the day will be covered for picking the workitems created in time slots of 2 hrs without any overlap.
    Could you please advice upon the same ? if I have to put anything else than the above setting ?
    thanks in advance
    dipti

    Hello Dipti,
    It sounds like your intention is to send work item notifications every 2 hours for newly created work items created in the last 2 hours.  If this is the case you need not worry about the creation date/time parameters.  The program will use the Job suffix parameter (defaults to 2) and store the last run date time for that job suffix each time it is run.  It will get all work items created/changed since this last run date and time.  So go ahead and leave the date/time parameters blank and schedule your job to run every 2 hours.  I hope this helps.
    Regards,
    Bob

  • How to know how many users uses Report Designer?

    Dear Experts,
    Somebody knows if it's possible to know how many users have made look ups in Report Designer on one period or how many modifications?
    Thanks in advance.

    Hi,
    If the cube is checked for Statistics, there is a option settings for BI Statistics under tools, then all the user related info is stored in Techincal Content Cubes. Based on TCT(technical Content Cubes), you need to create a report based on the requirement. From then we can know user log info for the particular queries.
    Hope this helped you
    Thanks
    PT

  • How to activate or deactivate a user-exit based a specific condition

    hi all,
    i want to activate or deactivate(make it trigger) a particular user-exit based in a condition.
    can i do that. if yes please tell me how.
    can we use COMMIT in user-exits or BADI's.
    Thanks & Regards,
    Saroja.

    Hello Saroja
    The solution provided by Rich should be used for testing purposes only in the the reverted sense:
    IF ( syst-uname ne '<specific user>' ).
      RETURN.
    ENDIF.
    " Execute user-exit for specific user
    However, for serious programming you should use a a better strategy. In principle, user-exits are either ON or OFF and, if they are ON, they are ON for <b>all </b>user which is usually not intended.
    The following example shows a (possible) strategy how to execute user-exits based on specific conditions.
    The SAP extension CATS0001 contains the component EXIT_SAPLCATS_001 with the following interface:
    FUNCTION EXIT_SAPLCATS_001.
    *"*"Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(SAP_TCATS) LIKE  TCATS STRUCTURE  TCATS
    *"     VALUE(SAP_PERNR) LIKE  CATSFIELDS-PERNR
    *"     VALUE(SAP_DATELEFT) LIKE  CATSFIELDS-DATELEFT
    *"     VALUE(SAP_DATERIGHT) LIKE  CATSFIELDS-DATERIGHT
    *"     VALUE(SAP_DATEFROM) LIKE  CATSFIELDS-DATEFROM OPTIONAL
    *"     VALUE(SAP_DATETO) LIKE  CATSFIELDS-DATETO OPTIONAL
    *"  TABLES
    *"      SAP_ICATSW STRUCTURE  CATSW
    *"      SAP_ICATSW_FIX STRUCTURE  CATSW OPTIONAL
      INCLUDE ZXCATU01.
    ENDFUNCTION.
    The include ZXCATU01 contains only the following coding:
      CALL FUNCTION 'Z_EXIT_SAPLCATS_001'
        EXPORTING
          sap_tcats            = sap_tcats
          sap_pernr            = sap_pernr
          sap_dateleft         = sap_dateleft
          sap_dateright        = sap_dateright
          SAP_DATEFROM         = SAP_DATEFROM
          SAP_DATETO           = SAP_DATETO
        tables
          sap_icatsw           = sap_icatsw
          SAP_ICATSW_FIX       = SAP_ICATSW_FIX.
    This function module is just a copy of the exit function module in the customer namespace.
    Let us assume that your condition at which the user-exit should be executed is that the employee (SAP_PERNR) belongs to a specific controlling area. Thus, we make another copy of the original exit function module and call this fm within the "general" customer-specific exit function module:
    FUNCTION z_exit_saplcats_001.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(SAP_TCATS) LIKE  TCATS STRUCTURE  TCATS
    *"     VALUE(SAP_PERNR) LIKE  CATSFIELDS-PERNR
    *"     VALUE(SAP_DATELEFT) LIKE  CATSFIELDS-DATELEFT
    *"     VALUE(SAP_DATERIGHT) LIKE  CATSFIELDS-DATERIGHT
    *"     VALUE(SAP_DATEFROM) LIKE  CATSFIELDS-DATEFROM OPTIONAL
    *"     VALUE(SAP_DATETO) LIKE  CATSFIELDS-DATETO OPTIONAL
    *"  TABLES
    *"      SAP_ICATSW STRUCTURE  CATSW
    *"      SAP_ICATSW_FIX STRUCTURE  CATSW OPTIONAL
    " User-Exit specific for employees (SAP_PERNR)
    " belonging to controlling area 1000
      CALL FUNCTION 'Z_EXIT_SAPLCATS_001_1000'
        EXPORTING
          sap_tcats      = sap_tcats
          sap_pernr      = sap_pernr
          sap_dateleft   = sap_dateleft
          sap_dateright  = sap_dateright
          sap_datefrom   = sap_datefrom
          sap_dateto     = sap_dateto
        TABLES
          sap_icatsw     = sap_icatsw
          sap_icatsw_fix = sap_icatsw_fix.
    " User-Exit specific for employees (SAP_PERNR)
    " belonging to controlling area 2000
      CALL FUNCTION 'Z_EXIT_SAPLCATS_001_2000'
        EXPORTING
          sap_tcats      = sap_tcats
          sap_pernr      = sap_pernr
          sap_dateleft   = sap_dateleft
          sap_dateright  = sap_dateright
          sap_datefrom   = sap_datefrom
          sap_dateto     = sap_dateto
        TABLES
          sap_icatsw     = sap_icatsw
          sap_icatsw_fix = sap_icatsw_fix.
    ENDFUNCTION.
    Finally, within the specific exit function module we define the condition when the exit should be executed:
    FUNCTION z_exit_saplcats_001_1000.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(SAP_TCATS) LIKE  TCATS STRUCTURE  TCATS
    *"     VALUE(SAP_PERNR) LIKE  CATSFIELDS-PERNR
    *"     VALUE(SAP_DATELEFT) LIKE  CATSFIELDS-DATELEFT
    *"     VALUE(SAP_DATERIGHT) LIKE  CATSFIELDS-DATERIGHT
    *"     VALUE(SAP_DATEFROM) LIKE  CATSFIELDS-DATEFROM OPTIONAL
    *"     VALUE(SAP_DATETO) LIKE  CATSFIELDS-DATETO OPTIONAL
    *"  TABLES
    *"      SAP_ICATSW STRUCTURE  CATSW
    *"      SAP_ICATSW_FIX STRUCTURE  CATSW OPTIONAL
      IF ( <user BELONGS to CONTROLLING area 1000> ).
        "   execute user-exit
      ELSE.
        RETURN.
      ENDIF.
    ENDFUNCTION.
    The alternative would be to place the entire coding including the conditions in the include ZXCATU01. However, in this case you can test the user exit <b>only in the context of the transaction</b> in which the user-exit is passed.
    Using the strategy I have devised you are able to test the user-exit in general and the specific user-exits <b>independent </b>of the transaction. For example, if you are already working on 6.40 or higher then you could use ABAP Unit Testing for this purpose.
    The same logic can be applied for BAdI where we can have only a single active implementation.
    Finally, I hope to convince that it makes sense to spend some time into a reasonable strategy for implementing user-exits.
    Regards
      Uwe

  • Workflow: Problems with Report RSWUWFML2

    Hi,
    I seem to have a strange problem which I was wondering whether anybody else has experienced ? Basically I am using report RSWUWFML2 to forward work items towards a users outlook inbox. The problem is that the email is received by an completely different user than the agent who has been assigned the work item. Obviously this is causing a problem.
    Does anybody know what could be happening here.I don't think it is a substitution issue.
    Regards
    Dave Hackett

    Hi Dave ,
              RSWUWFML2 report pick's up email id by two methods....
    1. If HR data is maintained  (i.e) user id is linked to empolyee id  - Infotype 105 ( subtype  -0001 ) , system picks up the mail id from  subtype - 0010 .
    2. If HR data is not available , report pick's up the mail id maintained in user master data.  (SU01).
    I hope the mail id maintained in either of this is wrong.
    If you find above settings are ok ...check the personal office settings in the Business Workplace, under Automatic Forwarding.
    Note : There are many sap notes released on RSWUWFML2 ...please check the same , it will be very usefull to u..
    Reward points ...if you find the above useful,,,,
    Regards,
    Vijay
    Message was edited by: Vijayasekar

  • More than one programs using report generator at the same time

    Hi,
    I want to ask that how can I use Report Generator in two program at the same time.
    As I am using Report Generator to log my data into excel, I find that if there are two
    programs contain Report Generator, the program which ran first cannot find its
    report.What can I do apart from alway open a new report?
    Ryan

    Ryan,
    Could you elaborate on what you mean when you say that the program which ran first cannot find its report?  Are you trying to modify the same report simultaneously with these different apps?
    Regards,
    Jared Boothe
    Staff Hardware Engineer
    National Instruments

  • How to use the field of 'FM for Determining Address' in report RSWUWFML2?

    Dear gurus,
    In the selection screen of report RSWUWFML2, there is a field named 'FM for Determining Address' . How to use it? Is it for sending e-mail to specific e-mail addresses?
    Regards
    David

    I will test soon. Thanks to all involved.

  • 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. :)

  • How to create/use SAP Exit variable of Query designer

    Hello experts,
    Can you please guide me on how to create/use SAP Exit variables ?
    Is there any way we can transport customer exit include in which we write all codes related to customer exit variables?
    Kindly provide your valuable inputs on this.
    Thanks,
    Mitesh

    Hello Gautam,
    I think you should first implement the user-exit via the transaction SMOD/CMOD and the SAP-Enhancement RSR00001 User-Exit ( BW Reporting )
    For the concrete implementation I would suggest to encapsulate the variables, as it is described here
    Easy implementation of BEx-Userexit-Variables
    and here: BEx-Userexits reloaded
    Kind regards,
    Hendrik

  • How i can use user-exit

    How i can use user-exit

    hi,
    in order to find out the user exits for any tcode,
    1. get the developement class of the tcode from SE93.
    2. Now goto transaction SMOD and press F4,
    3. give in the Deve class in the dev class and Press ENTER
    this will show u the exits for any tcode.
    or execute this report
    http://www.erpgenie.com/sap/abap/code/abap26.htm
    which gives the list of exits for a tcode
    http://help.sap.com/saphelp_nw04/helpdata/en/bf/ec079f5db911d295ae0000e82de14a/frameset.htm
    For information on Exits, check these links
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    Regards
    Anver

  • How to use the WHENEVER SQLERROR EXIT statement in a PL/SQL block.

    Hi,
    I am getting the following error when trying to add the following statement in an PL/SQL block.
    WHENEVER SQLERROR EXIT SQL.SQLCODE
    [exec] ERROR at line 23:
    [exec] ORA-06550: line 23, column 12:
    [exec] PLS-00103: Encountered the symbol "SQLERROR" when expecting one of the
    [exec] following:
    [exec] := . ( @ % ;
    How can i use the above statement in the PL/SQL Block? I have only IF statement in that block( between BEGIN and END).
    Thanks

    Hi,
    Usually there's always more than one solution.
    Can you post an example of what you're trying to accomplish?
    That would be useful.
    (Place the tag before and after your example to maintain formatting en spacing, see the [fac|http://forums.oracle.com/forums/help.jspa] regarding available tags)                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

  • How can I use a report as a filter that accepts a prompt value in R18?

    In R17 the following setup worked properly. 1) have a main report that uses another report as a filter report. 2) In the filter report, add a criteria statement which is prompted. 3) pass an argument from a web link or embedded web applet on the report URL using the field reference from the filter report criteria prompt. However, in R18 this no longer works. The filter report does not bring back a set of id's that is used for filtering the main report. The main report just displays all records as if there is no filter criteria supplied. Has anyone else encountered this behavior in R18?

    I'm trying to figure out how I can use a simple class
    I have written with methods and properties in Sutdio
    Creator.
    I have been looking around, but I've only found how
    to use an EJB directly from Creator. We would like to
    use a bean that handles all the connections to the
    app server and only returns the result to the JSP.
    I know there has to be a way to do this, if anybody
    has any ideas please help!I'm not sure I follow 100%, but you can use POJOs via Spring integration. Do a search on this forum for Spring and you should find a tutorial I wrote on it a while back.

  • How do I save a Report to file using Report Generation vi's?(not HTML)

    Hi,
    Sorry about re-stating the problem.   I am using the Report Generation vi's to create a report. There is an option to save HTML reports to file, however I must use Standard Report because I need to print in Landscape mode. HTML reports will not print in Landscape. One of the requirements is to save the report to file on the hard disk. I have tried to use the standard Open File and Write File vi's. A file is created, but the report is not saved into the file. How do I connect a report so that it will be saved in the file? I already tried simply wiring the report refnum into the data input of the Write File vi.
    I have attached an example of my code.
    I am using V7.1 Full Version.  I have V8 available if that is any help.
    Any ideas?
    Thanks,
    Chris
    Attachments:
    ReportExample.vi ‏52 KB

    I did find this KB: How to Save Standard Reports?
    Attached is an example of how to do this.  You will have to relink the subVI's or else you will have a broken arrow. One is in LV7 and the other is in LV8
    Message Edited by Sam R on 12-15-2005 02:25 PM
    jigg
    CTA, CLA
    teststandhelp.com
    ~Will work for kudos and/or BBQ~
    Attachments:
    Standard_to_HTML_LV70.zip ‏23 KB
    Standard_to_HTML_LV80.zip ‏29 KB

Maybe you are looking for

  • The Adobe Reader conversion ability to Word (.docx files) will not work. How can I get my money back?

    I signed up and paid for the service that Adobe Reader advertizes that says it can convert PDF files to Word (.docx) files. I tried it immediately after purchasing it and it did not work. What it did was it converted it to a .docx file but the conten

  • Error in Synchronizing Slave Repository

    Hi All, I've created a Master / Slave pattern and when i make any changes in the Master and Synchronize the slave i get the following error: <b>"Unable to retrieve synchronization data from master repository. See the Assertion Log for more informatio

  • Printhead problem on L7680

    We have two of these All In Ones and had "patchy" black printing on one even after repeated head cleaning so we decided to use the Black/Yellow printhead from our "good" printer in the "patchy" one. When we did this, the "patchy" printer said "The fo

  • Error GR493 report painter/writer with special ledger

    Hi , I am trying to create a report painter using a table of a special ledger. The table is the one for 'real item'. The following error appears: 'Table ZIFRSA is not installed in Report Writer. Message no. GR493 Diagnosis The Report Writer can only

  • MIDI Transformer Object

    Is it possible to have the transformer object in the environment combine a note and a MIDI CC value and output different notes depending on the range that the CC value falls into? I'm trying to convert the hi-hat output from my V-drums into several d