Dynamically change the XML source of a report

I have seen that it is possible to assign an URL as the source for an XML source. But, how could I change this URL dynamically at run time? is it possible to add parameters to the url in the form of:
http://myserver/myapp/myjsp.jsp?myparameter=[some dynamic value}
so that calling the report will let me assign a value to the parameter?
Or at least, is there a way to send the URL the Report will use upon report invocation?
Thanks,
Fedro

Fedro,
The naswer is the same as you previous question:
Report using an XML Source
But if you want to create a complete URL be sure that you have a valid default value for the parameter.
Regards
Tugdual

Similar Messages

  • Can we change the XML source of the form bulider ?

    Hi,
    I have one doubt in the XMLfrombuilder. in Renderlist form.when we give "Link to xml source " in the hyperlink property it will show the xml source code.
                      is there  any possibility to change  and save the source code so that the changes should reflect to the form.
    Thanks ,
    Rajeev.

    Hi,
    you can write styles direct to the element:
    <td height="10%" valign="top" style="padding:0px;margin:0px;border-left-color:#000000;border-left-width:1px;border-left-style:solid;font-size:1px" width="0%" rowspan="1" colspan="1"> </td>
    or format elements with style from css:
    <a tabindex="0" class="urLnkDragRelate urTxtStd">
    Did you mean that with style use?
    In our project we created forms with some of these properties. E.g. we use under System the property Modified By.
    Regards,
    René

  • Prevent changing the xml source

    Hi,
    we are developing Interactive Forms with WebDynpro for use in an Internet portal. I understand from another post that the LiveCycle Policy Server is not supported in the current SAP environment. From a security perspective, we would like to make sure the xml source of a pdf is not changed before it is sent to the ADS server. Currently it is possible to save a pdf locally, change the file with designer and upload it back to the server (the upload function is a business requirement).
    Is is possible to protect the source in this scenario? Alternatively we would like to prevent javascripts to be executed server-side (ADS). Is it possible to prevent this?
    Software: SAP EP 6.0 SP 15, LiveCycle Designer 7.0
    Thanks for your input,
    Marijn.

    For starters your xsd is missing the Root element.
    Here's an xsd that I created from your xml that validates
    <?xml version="1.0" encoding="UTF-8"?>
    <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="file:///D:/Projects/Test/test.xsd">
    <Customer xmlns="CustomerXSDSchema">
    <CustomerName>Microsoft</CustomerName>
    <CustomerNumber>1</CustomerNumber>
    <CustomerCountry>USA</CustomerCountry>
    </Customer>
    </Root>

  • Dynamically changing the layout of thre report-urgent please

    Can we change the layout of the report dynamically during runtime for example:the user should have flexibility to change the width, size , position of columns before the report is displayed & also he choose some fields not to display as per his discretion.
    Mahesh

    There are several ways of doing this, it really depends on your requirements as to which is suitable. (There are probably other ways of doing this as well).
    - Try Reports XML Customizations
    This is available in 6i and allows you to create a report dynamically on the fly. The template used will also allow you to change the paper size as well. The main limitation is that you are relying only on Reports defaulting to create the layout for you. The advantage is that you can store all your information to create the report in meta-data which can be driven by another tool.
    - Use lexical parameters for queries and format triggers
    Here, you have a fixed layout but dynamically change the query columns to the correct order. You would normally standardise on a "character" column type in order to do this. Even though the layout is fixed, you can use variable sized fields to push objects around. This can be difficult to setup.
    - Use several layouts
    You're reducing the options for the user, but you can have several layouts in the same report and turn them on/off. Effectively creating differing views of the same data.

  • Trying to change the data source for a Crystal Report.

    <p>The method below represents my best attempt to programatically change the data source of a Crystal Report. The goal is to have a routine that will update the data source for reports after they have been distributed to production servers. So far I have not been successful in saving the report back to the CMS. No exceptions are thrown, but when I view the Database Configuration of the report in the CMC nothing has changed.
    </p>
    <p>
    Am I missing a step, or is there another way to accomplish this?
    </p>
    <p>
    Thank you.
    </p>
    <hr />
    <pre>
    private void test(String reportName)
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects;
       IInfoObject reportObj;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dc;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB; //0;
       Fields connFields = null;
       String queryStr = "Select * From CI_INFOOBJECTS " +
          "Where SI_NAME='wfr.rpt' AND SI_KIND='CrystalReport' AND SI_INSTANCE=0";
       newInfoObjects = getCms().executeQuery(queryStr);
       if(newInfoObjects.size() > 0)
          reportObj = (IInfoObject)newInfoObjects.get(0);
          try
             clientDoc = getCms().getReportAppFactory().openDocument(
                reportObj
                , OpenReportOptions._refreshRepositoryObjects
                , java.util.Locale.US);
             dc = clientDoc.getDatabaseController();
             conInfos = dc.getConnectionInfos(null);
             for(int i = 0; i < conInfos.size(); ++i)
                oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(i);
                newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                pBag = newConInfo.getAttributes();
                pBag.putStringValue("QE_ServerDescription", "alio");
                logonProps = new PropertyBag();
                logonProps.putStringValue("Trusted_Connection", "false");
                logonProps.putStringValue("Server", "alio");
                pBag.put("QE_LogonProperties", logonProps);
                newConInfo.setUserName("admin");
                newConInfo.setPassword("password");
                dc.replaceConnection(
                   oldConInfo
                   , newConInfo
                   , connFields
                   , connOptions);
          catch(ReportSDKServerException Ex)
             String msg = "A server error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          catch(Exception Ex)
             String msg = "An error occured while processing the " + reportObj.getKind()
                + " object, " + reportObj.getTitle() + " (" + reportObj.getCUID() + "), from the CMS.";
             Utility.errorOut(msg, Ex);
          finally
             clientDoc.save();
             getCms().commitToInfoStore(newInfoObjects);
             clientDoc.close();
    </pre>
    Edited by: Mark Young on Sep 10, 2009 2:16 PM

    <style type="text/css">
    /<![CDATA[/
        body
            font-size: 1.125em;
              font-family: helvetica,arial,"sans-serif";
          .code{font-family: "courier new",courier,mono,monospace}
          .bi{font-style: italic; font-weight: bold;}
    /]]>/
    </style>
    <p>Justin,</p>
    <p>
    Thank you for the reply. Time constraints have not allowed me to post back to this tread
    till now. I will try your suggestion. My assumption is that <i>Save the report back to the
    info store</i> refers to <span class="code">IInfoStore.commit(IInfoObjects)</span>.
    </p>
    <p>
    I'm afraid that I do not understand why I don't want to change the report client document,
    or why <i>successfully exporting the report with the new login/password</i> is not what I
    want to do. Any explanation on that statement would be appreciated.
    </p>
    <p>
    I did find a way to accomplish my goal. It involved adding the SSOKEY property to the
    logon property bag. Below you'll see my revised code which modifies the report logon and
    server. I have no idea what
    this does, and SAP support has not been able to tell me why it works. However, what I
    discovered is that if I changed the report option, <b>Database Configuration -> When
    viewing report:</b>, in the CMS to <span class="bi">Use same database logon as when report
    is run</span> from <span class="bi">Prompt the user for database logon</span>, then the
    SSOKEY property had been added to the logon property bag having an empty string as its
    value. This allowed me to successfullyupdate and save the modified logon back to the CMS.
    </p>
    <p>
    So I took a chance and added code to always add the SSOKEY property with an empty string
    as its value, and I could then successfully modify and save the report's logon info
    and server. Again, I don't know what this means, but it has worked so far. If anyone has
    some insight or comments, either are welcome. Thank you in advance.
    </p>
    <br />
    <hr />
    <pre>
    private void changeDataSourceOfAWFCrystalReports()
       throws SDKException, ReportSDKException, java.io.IOException
       IInfoObjects newInfoObjects = null;
       IInfoObject reportObj = null;
       IReport curReport = null;
       ReportClientDocument clientDoc = new ReportClientDocument();
       DatabaseController dbController;
       PropertyBag pBag;
       PropertyBag logonProps;
       ConnectionInfo newConInfo;
       ConnectionInfo oldConInfo;
       ConnectionInfos conInfos;
       int connOptions = DBOptions._ignoreCurrentTableQualifiers + DBOptions._doNotVerifyDB;
       Fields connFields = null;
       String outputStr;
       int numOfReports;
       int numOfQueryPages;
       double progressIncrementPerPage = 30;
       int progressIncrementPerReport = 0;
       // Path query to reports is in a .properties file.
       String queryStr = getAppSettingsFile().getWscAwfCrystalReportPathQuery();
       try
          // Executes IInfoStore.getPageingQuery() and generates a list of queries.
          getCms().setPathQueryQueries(queryStr, 100);
          numOfQueryPages = 0;
          // Gets a List&lt;String&gt; of the IPageResult returned from IInfoStore.getPageingQuery().
          if(getCms().getPathQueryQueries() != null)
             numOfQueryPages = getCms().getPathQueryQueries().size();
          if(numOfQueryPages &gt; 0)
             // Use 30% of progress bar for the following loop.
             progressIncrementPerPage = Math.floor(30.0/(double)numOfQueryPages);
          for(int queryPageIndex = 0; queryPageIndex &lt; numOfQueryPages; ++queryPageIndex)
             // Gets the IInfoObjects returned from the current page query
             newInfoObjects = getCms().getPathQueryResultSetPage(queryPageIndex);
             numOfReports = newInfoObjects.size();
             if(newInfoObjects != null && numOfReports &gt; 0)
                progressIncrementPerReport =
                   Math.round((float)Math.floor(progressIncrementPerPage/(double)numOfReports));
                for(int reportIndex = 0; reportIndex &lt; numOfReports; ++reportIndex)
                   reportObj = (IInfoObject)newInfoObjects.get(reportIndex);
                   curReport = (IReport)reportObj;
                   clientDoc = getCms().getReportAppFactory().openDocument(
                      reportObj
                      , OpenReportOptions._refreshRepositoryObjects
                      , java.util.Locale.US);
                   dbController = clientDoc.getDatabaseController();
                   conInfos = dbController.getConnectionInfos(null);
                   for(int conInfosIndex = 0; conInfosIndex &lt; conInfos.size(); ++conInfosIndex)
                      oldConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                      newConInfo = (ConnectionInfo)oldConInfo.clone(true);
                      pBag = newConInfo.getAttributes();
                      pBag.putStringValue(
                         "QE_ServerDescription"
                         ,getConfigFile().getDBDataSourceConnections());
                      logonProps = new PropertyBag();
                      logonProps.putStringValue("Trusted_Connection", "false");
                      <b>logonProps.putStringValue("SSOKEY", "");</b>
                      logonProps.putStringValue(
                         "Server"
                         ,getConfigFile().getDBDataSourceConnections());
                      pBag.put("QE_LogonProperties", logonProps);
                      newConInfo.setUserName(getConfigFile().getUNVConnectionUserName());
                      newConInfo.setPassword(getConfigFile().getUNVConnectionPasswordDecrypted());
                      dbController.replaceConnection(
                         oldConInfo
                         , newConInfo
                         , connFields
                         , connOptions);
                      newConInfo = (ConnectionInfo)conInfos.getConnectionInfo(conInfosIndex);
                   } // end for on conInfosIndex
                   clientDoc.save();
                } // end for on reportIndex
             } // end if on newInfoObjects
          } // end for on queryPageIndex
       } // end try
       catch(ReportSDKServerException Ex)
          // handle...
       catch(Exception Ex)
          // handle...
       finally
          getCms().commitToInfoStore(newInfoObjects);
          if(clientDoc != null)
             clientDoc.close();
    </pre>

  • Dynamically change the Priority Group of Logical Table Sources in OBIEE 11g

    Hi All,
    I have 2 Logical Table Sources(LTS 1 and LTS 2 for a Logical Table in BMM Layer).
    Example: Logical Table : Sample
    LTS Source 1 : Sample 1(Priority Group Set to 1)
    LTS Source 2 : Sample 2(Priority Group Set to 0)
    I have set the Priority Group of Sample 1 LTS Source to 1 and Priority Group of Sample 2 LTS Source to 0.
    I need to dynamically change the Priority Group of Sample 1 LTS Source to 0 if my role is DEVELOPER where role is a column in database.
    If my role is not equal to DEVELOPER then the Priority Group of Sample 1 LTS Source will remain same(1).
    Please suggest how can i achieve this.
    Thanks,
    Soukath Ali

    hello Soukath Ali,
    didi you find a way to dinamically changing Priority Group?
    thanks,
    Maria Teresa Marchetti

  • Dynamically changing the report path

    Is there any way to dynamically change the path where the reports are saved. Teststand 4.1.1
    Message Edited by glennjammin on 04-21-2010 03:30 PM
    Test Engineer
    L-3 Communications
    Solved!
    Go to Solution.

    Yes you can run a VI in the ReportOptions Sequence, add it to the Setup of that sequence. If you dont use FileGlobals.Dated anywhere else then use a Local instead. Just remeber FileGlobals are only global to sequences that are contained in a SequenceFile. They are not global across SequenceFile unless you are using the Batch Process Model.
    You will probably have to set a number of other parameters up to work with ReportOptions.Directory. The best way to handle this is to setup up you exact conditions statically (ie via the Config | Report Options... menu ). Place a breakpoint in the ReportOptions (use a label if you dont have any steps in the ReportOptions sequence at the moment) and run your Sequence. Remeber to use Test UUTs or Single Pass. You dont have to use your full test sequence just create a simple one step sequence.
    When you reach the break point, then you can browse the Parameters.ReportOptions and see what properties are required to ensure your reports are setup correctly.
    Hope this helps.
    Regards
    Ray Farmer 
    Regards
    Ray Farmer

  • How to dynamically change the text of a TextObject with embedded DataField?

    Hi
    I'm trying to dynamically change the text of a TextObject at runtime, by using the .NET library. My problem is that if one or more DatabaseFieldDefinition is embedded inside my text, I'm unable to change the "static text" only, by keeping the field, e.g. I have :
    Text1 => "Contact Name: {Contact.Name}"
    and I'd like to change it to anything else like:
    Text1 => "Nom du Contact: {Contact.Name}"
    Half of my TextObject is static text while second part comes from the dataset.
    (of course the translation is dynamic - it is called at run-time and the new value to be set depends on the calling application language)
    If I simply modify the Text property of my TextObject, the {Contact.Name} embedded field is not evaluated anymore by the Crystal Engine, but considered as a single text.
    Using formulas or parameters looks quite difficult, because it means having many ones just for translation needs - I cannot control the way my users will create their reports and "force them" to use complex methods just in order to put a text and a value together...
    Anyone knows how to deal with that ?

    Only way I can think of doing this:
    1) Create a formula (call it lang) and enter the string "Contact Name" in it
    2) Place the  {Contact.Name} field next to the string
    3) So now you have:
    ContactName:  {Contact.Name}
    4) Check what localization you are after. If you need "Nom du Contact", change the lang formula so it shows "Nom du Contact" using the code below:
    Imports CrystalDecisions.CrystalReports.Engine
    Imports CrystalDecisions.Shared
    Public Class Form1
    Inherits System.Windows.Forms.Form
    Dim Report As New CrystalReport1()
    Dim FormulaFields As FormulaFieldDefinitions
    Dim FormulaField As FormulaFieldDefinition
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
    FormulaFields = Report.DataDefinition.FormulaFields
    FormulaField = FormulaFields.Item(0)
    FormulaField.Text = "[formula text]"
    CrystalReportViewer1.ReportSource = Report
    End Sub
    I realize this may not give you consistent spacing as the translations may have strings of differnt length. Perhaps someone has other idea(s)...

  • Can we change the Data source in AO ?

    Hi Folks,
    Environment: SAP HANA on AO
    I have the following scenario , Am creating a report on one Calculation View: CV and have done some analysis where I have pulled in some dimensions and kept some background filters.
    Now I have to generate the same report on another Calculation View: CV2 ( Similar to structure of CV ) and compare the reports. Is there any way to edit copy the previous report and change the data source? Can you guide me on that?
    Regards,
    Krishna Tangudu

    Hi,
    You can exchange the calc view by clicking on the button next to the data source name in the tab "components", but when you do this, the new data source will overwrite the settings and filters from the previous data source. So no, there is not a supported way of exchanging the datasource and keeping the filters of the previous data source.
    Best regards,
    Victor

  • Changing the Data source in Business Objects XI

    Hi,
      Is it possible to change the data source(not universe) in runtime to generate business objects reports. I am using BOXI 3.1.
    Below is the code I am using to change the universe in runtime. I would like to change this so that i can change the data source instead of changing the universe. My intention is to generate report from multipple database using same universe. Right now I am using multipple universes connected to multiple datasources to achieve this. I am using Report Engine SDK(Java).
               if("Webi".equals(mDocKind))
                   // Added for multiple database support
                   DataProviders dataProvs = documentInstance.getDataProviders();
                try{
                    //To support multiple queries in BO reports
                 for(int count=0;count<dataProvs.getCount(); count++){
                   DataProvider dp=dataProvs.getItem(count);
                   DataSource ds= dp.getDataSource();
                   infoUniverseObjects = getUniverseObject(infoStore,NewUniverseName);
                   infoUniverseObject = (IInfoObject)infoUniverseObjects.get(0);
                   String newDsCuid = infoUniverseObject.getCUID();
                   dataProvs.changeDataSource(ds.getID(), "UnivCUID=" + newDsCuid, true);
                   if(dataProvs.mustFillChangeDataSourceMapping())
                        // Re-map data source to target Universe objects
                        ChangeDataSourceMapping mapping = dataProvs.getChangeDataSourceMapping();
                        ChangeDataSourceObjectMapping[] maps = mapping.getAllMappings();
                        dataProvs.setChangeDataSourceMapping();
                    }//for dataProvs.getCount()
                }catch(Exception e)
                      mLogger.info("BOReportObject","createReport","Inside multiple data providers loop"+e.getMessage());
    Thanks in advance
    Shameer
    Edited by: Shameertaj on May 20, 2009 3:08 AM

    Hi Shameer,
    I think this is only possible with the Universe Designer SDK (which is only available in COM).
    Please kindly refer to the API reference for the Universe Designer SDK for more details:
    http://help.sap.com/businessobject/product_guides/boexir31/en/bodessdk.chm
    Also, please note that changing the universe connection when viewing a document on-demand is not recommended because this could lead to possible issues.
    For example:
    Two users trying to view documents that uses the same universe at approximately the same time.
    But user A wants to use connection X and user B wants to use connection Y.
    This could lead to an error while openning the document or while refreshing/retrieving the the data.
    Hope this helps.
    Regards,
    Dan

  • Dynamically changing the flatfile name..

    Hi friends,
    I 'm Getting data from 30 Flat files...all are with same structure but different data.. .. all these files are now in Application server...
    now i want to upload data into with a single DataSource and to ODS with process chains..
    so, how can i dynamically change the file name in Data Source level.. i saw previous threads.. in that.. through Routines.. we can solve this problem.. but I dont know ABAP code... so, can any one plz give me the exact code.. what i have to write...exact coding..
    <b>
           I already post this question in forums.... but evry one gave different options.. some  one gave the function module..
    BAPI_IPACK_CHANGE    and BAPI_IPACK_START.
      and some one gave  other function module.. like .. EPS_GET_DIRECTORY_LISTING
    i tryd for All these options.. but i'm not getting the exact solution... even i'm unable to pass the parameters also.. beacuse.. in that function what parameters can i pass....</b>
    can u plz suggest me the solution..
    Thanks
    Babu

    Hi  Friends,
      for the above requirement i had write the bellow coding in the routine.. it is working.. but the problem is.. it was loading  only  the last file..(30 th file  data only..)
    data : z1(50) type c,
             z2 type c,
             z3(50) type c,
             z4(50) type c.
             Z2 = 1.
       Do 5 times.
              z1 = 'C:\Documents and Settings\e10035\Desktop\'.
              z3 = '.csv'.
              concatenate z1 z2 z3 into z4.
              p_filename = z4.
              z2 = z2 + 1.
        Enddo.
    SO, CAN YOU PLZ SUGGEST ME.. when ever the file name was changing in the loop.. that automatically should load into the  PSA ..
    plz... plz.... help regarding this..
    Bbau

  • Dynamic change the ALV layout

    Alle experts:
    In ALV layout report, how to dynamic change the layout int ABAP porgram?
    e.g. I have save 5 layout, I need to change them base the my selection in ABAP program? How to do this?
    Thanks in advance!

    Try to call fieldcatlog dymnamically. Refer tofollowing code. Reward if helpful.
    REPORT  zfir0001 MESSAGE-ID ztax.
                               Tables
    TABLES : glt0, t001, skat.
                          Internal Tables
    DATA: BEGIN OF itab OCCURS 0,
            racct               LIKE   glt0-racct,    "Account number
            txt20               LIKE   skat-txt20,    "G/L account short text
            co_1000          LIKE     glt0-hslvt,     "Balance carried forward for company code 1000
            co_1100          LIKE     glt0-hslvt,     "Balance carried forward for company code 1100
            co_1200          LIKE     glt0-hslvt,     "Balance carried forward for company code 1200
    DATA : BEGIN OF itab1 OCCURS 0,
             bukrs LIKE glt0-bukrs,
             waers LIKE t001-waers,
           END OF itab1.
    DATA : BEGIN OF it_itab1 OCCURS 0.
            INCLUDE STRUCTURE glt0.
    DATA : END OF it_itab1.
                          Data Declarations
    DATA : w_total   LIKE glt0-hslvt,
           w_count   LIKE glt0-bukrs,
           w_flg     TYPE c,
           lv_count  TYPE i.
          w_slash   TYPE c VALUE ' '.
                          Selection screen
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE tit1.
    SELECT-OPTIONS : s_bukrs FOR glt0-bukrs OBLIGATORY,
                     s_racct FOR glt0-racct OBLIGATORY,
                     s_ryear FOR glt0-ryear OBLIGATORY,
                     s_rldnr FOR glt0-rldnr OBLIGATORY.
    SELECTION-SCREEN END OF BLOCK b1.
    INITIALIZATION.
      tit1 = 'Please select:'(004).
      TYPE-POOLS: slis.                                 "ALV Declarations
      DATA: i_fieldcat 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.
    ********Geting the selected company code in table itab1****
    START-OF-SELECTION.
      IF NOT s_bukrs-high IS INITIAL.
        itab1-bukrs = s_bukrs-low.
        APPEND itab1.
        w_count = s_bukrs-low.
        DO.
          IF s_bukrs-high = w_count.
            EXIT.
          ELSE.
            w_count =  w_count + 1.
          ENDIF.
          SELECT SINGLE * FROM t001
              WHERE bukrs = w_count.
          IF sy-subrc = 0.
            itab1-bukrs = w_count.
            APPEND itab1.
            CLEAR itab1.
          ENDIF.
        ENDDO.
      ELSE.
        itab1-bukrs = s_bukrs-low.
        APPEND itab1.
      ENDIF.
      SELECT * FROM glt0 INTO CORRESPONDING FIELDS OF TABLE it_itab1
              WHERE rldnr   IN s_rldnr
              AND   bukrs   IN s_bukrs
              AND   ryear   IN s_ryear
              AND   racct   IN s_racct.
      SORT it_itab1 BY bukrs.
      LOOP AT it_itab1.
        AT END OF racct.
          w_flg = 'X'.
        ENDAT.
        SELECT SINGLE txt20 INTO (itab-txt20) FROM skat
                  WHERE spras = sy-langu
                  AND   saknr = it_itab1-racct.
        PACK it_itab1-racct TO it_itab1-racct.
        itab-racct = it_itab1-racct.
        w_total = it_itab1-hsl01 + it_itab1-hsl02 + it_itab1-hsl03 + it_itab1-hsl04 +
                  it_itab1-hsl05 + it_itab1-hsl06 + it_itab1-hsl07 + it_itab1-hsl08 +
                  it_itab1-hsl09 + it_itab1-hsl10 + it_itab1-hsl11 + it_itab1-hsl12 +
                  w_total        + it_itab1-hslvt.
        IF w_flg = 'X'.
          READ TABLE itab1 WITH KEY bukrs = it_itab1-bukrs.
          IF sy-subrc = 0.
            SELECT SINGLE * FROM t001
                WHERE bukrs = itab1-bukrs.
            IF t001-waers = 'JPY' OR
               t001-waers = 'HUF'.
              w_total =  w_total * 100.
            ENDIF.
            CASE it_itab1-bukrs.
              WHEN '1000'.
                itab-co_1000 = w_total.
              WHEN '1100'.
                itab-co_1100 = w_total.
              WHEN '1200'.
                itab-co_1200 = w_total.
            ENDCASE.
            COLLECT itab.
            CLEAR: itab, w_flg, w_total.
          ENDIF.
        ENDIF.
      ENDLOOP.
      SORT itab BY racct.
      IF NOT itab[] IS INITIAL.
        PERFORM field_cat1.
        lv_count = 1.
        LOOP AT itab1.
          PERFORM field_cat USING itab1-bukrs.
        ENDLOOP.
        PERFORM display_alv_report .
      ELSE.
        MESSAGE s000 WITH 'No records Found'(003).
      ENDIF.
    *&      Form  display_alv_report
          text
    FORM display_alv_report .
      gd_repid = sy-repid.
      CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
        EXPORTING
          i_callback_program = gd_repid
          is_layout          = gd_layout
          it_fieldcat        = i_fieldcat[]
          i_save             = 'X'
        TABLES
          t_outtab           = itab
        EXCEPTIONS
          program_error      = 1
          OTHERS             = 2.
    ENDFORM.                    "display_alv_report
    *&      Form  field_cat1
          text
    FORM field_cat1 .
      i_fieldcat-col_pos     =  0.
      i_fieldcat-fieldname   = 'RACCT'.
      i_fieldcat-seltext_m    = 'Account'(001).
      i_fieldcat-fix_column = 'X'.
    i_fieldcat-emphasize   = 'X'.
      APPEND  i_fieldcat TO i_fieldcat.
      CLEAR  i_fieldcat.
      i_fieldcat-col_pos     =  1.
      i_fieldcat-fieldname   = 'TXT20'.
      i_fieldcat-seltext_m    = 'Description'(002).
      APPEND  i_fieldcat TO i_fieldcat.
      CLEAR  i_fieldcat.
    ENDFORM.                                                    "field_cat1
    *&      Form  field_cat
          text
         -->XV_BURKS   text
    FORM field_cat USING xv_burks TYPE char4.
      lv_count = lv_count + 1.
      i_fieldcat-col_pos     = lv_count.
      CONCATENATE 'CO_' xv_burks INTO i_fieldcat-fieldname.
      i_fieldcat-seltext_m    = xv_burks.
    i_fieldcat-just = 'C'.
    i_fieldcat-no_zero = 'X'.
    i_fieldcat-do_sum = 'X'.
      APPEND  i_fieldcat TO i_fieldcat.
      CLEAR  i_fieldcat.
    ENDFORM.   "field_cat
    Edited by: dhanashree wadkar on Apr 30, 2008 6:00 AM

  • OBIEE 10g AGO Function Dynamically Change the Heading

    I created columns in my rpd named Sales Previous Month, Sales 2 months ago and Sales 3 months ago using the AGO Function. This is working fine.
    My problem is when displaying these headings the users would like to see the Month Name instead of the Headings I created. For example if looking at a report for January the users would like to see:
    Sales Previous Month = December
    Sales 2 Months ago = November
    Sales 3 Months ago = October
    Is there any way to dynamically change the value of the column header to show the name of the month?

    Hi SriniVEERAVALLI,
    Thanks for the reply. I have found that I might haven't created the relationship between dimension and fact tables correctly.
    I initially created the foreign key relationship (instead of creating complex join) in physical diagram between the dimension and fact table. And the relationship type is hence greyed out.
    I have deleted the foreign key relationship in physical diagram. Then
    1. In physical diagram, create complex join between dimension and fact . The relationship is 'inner' and can't be changed.
    2. In Logical table diagram, create foreign key between dimension and fact . The relationship can be changed (inner, outer, etc).
    Is this the correct way?
    I tried these on two newly created dummy tables and it worked.

  • Dynamically change the binding of a field

    Hi,
    I've been looking all over the internet for 2 days to find the answer to my question, but I couldn't get any information on my problem. Here's what i'm trying to do :
    Based on a checkbox in my form, I want to export or I don't want to export a field to a XML document.
    My checkbox is working properly and I got the Send button with the XML working too. I only need to find a way to dynamically change the binding property of my field. I've read some informations with the ".bind.match", but I can't seem to make it work.
    I'm using Windows XP, LiveCycle Designer ES2 v.9.0 and I have to run the form in Reader 8.0.
    Thanks alot for your help, it's greatly appreciated.
    Jonathan

    Hi,
    the binding cannot be changed at runtime.
    You can use the checkbox to delete the value of the field so the exported xml contains an empty tag.
    Or you try to delete the data node of the desired field in the data DOM (xfa.datasets).

  • Changing the datasource of a Crystal Report to a Oracle DB using TNS

    I have a problem trying to change the datasource of a crystal report. In the new connection I want to connect to a Oracle DB using TNS.
    Without TNS it's finally working flawlessly with the following code:
         private static void switch_tables(DatabaseController databaseController) throws ReportSDKException {
              // Declare the new connection properties that report's datasource will be switched to.
              final String DBUSERNAME = "user";
              final String DBPASSWORD = "secret";
              final String SERVERNAME = "jdbc:oracle:thin:@1.1.1.1:mysid";
              final String URI = "!oracle.jdbc.OracleDriver!jdbc:oracle:thin:{userid}/{password}@1.1.1.1:mysid";
              final String DATABASE_NAME = "mysid";
              final String DATABASE_DLL = "crdb_jdbc.dll";
              final String SCHEMA_NAME = "SCHEMA.";
              // Obtain collection of tables from this database controller.
              Tables tables = databaseController.getDatabase().getTables();
              // Set the datasource for all main report tables.
              for (int i = 0; i < tables.size(); i++) {
                   ITable table = tables.getTable(i);
                   // Keep existing name and alias.
                   table.setName(table.getName());
                   table.setAlias(table.getAlias());
                   // Change properties that are different from the original datasource.
                   table.setQualifiedName(SCHEMA_NAME + table.getName());
                   // Change connection information properties.
                   IConnectionInfo connectionInfo = table.getConnectionInfo();
                   // Set new table connection property attributes.
                   PropertyBag propertyBag = new PropertyBag();
                   propertyBag.put("Trusted_Connection", "false");
                   propertyBag.put("Server Name", SERVERNAME); //Optional property.
                   propertyBag.put("Connection String", URI);
                   propertyBag.put("Database Name", DATABASE_NAME);
                   propertyBag.put("Server Type", "JDBC (JNDI)");
                   propertyBag.put("URI", URI);
                   propertyBag.put("Use JDBC", "true");
                   propertyBag.put("Database DLL", DATABASE_DLL);
                   connectionInfo.setAttributes(propertyBag);
                   // Set database username and password.
                   // NOTE: Even if these the username and password properties don't change when switching databases, the
                   // database password is not saved in the report and must be set at runtime if the database is secured.
                   connectionInfo.setUserName(DBUSERNAME);
                   connectionInfo.setPassword(DBPASSWORD);
                   connectionInfo.setKind(ConnectionInfoKind.SQL);
                   table.setConnectionInfo(connectionInfo);
                   // Update old table in the report with the new table.
                   databaseController.setTableLocation(table, tables.getTable(i));
    I just call this method with the DatabaseController from a ReportClientDocument instance.
    How do I need to change the connectionInfo to do the connection using TNS?

    Please re-post if this is still an issue but first update to CR4E 2 and retest

Maybe you are looking for

  • Acrobat 9 save as Word

    Can anyone who has this installed confirm if there is a huge improvement from Acrobat 8 when saving/Exporting as Word for editing? We have tried many tools but trying to edit a Word file converted from PDF isn't really easy based on most of the conve

  • How can I get the Firefox browser to work with my high speed internet?

    After switching from dial-up to high speed internet, I can no longer open the Firefox browser (which I was using) even after downloading the latest version. It is set for my default, but I can only use IE to browse. What else do I need to do to make

  • Use plan from stored_outlines from query with different syntax?

    Hello, I'd like to know is there any ability to use via stored_outlines plan from query with different syntax? Database version - 11.1.06 If yes, maybe you'll take a look at steps (based on Metalink 726802.1), what I tried to do to make it work (with

  • What are the SAP inbox tables.

    Hi Team i want to know what are the SAP inbox tables. if i have click on SAP inbox for perticular user, retrived 37000 entries and give short dump "Time Out" . i want to know from which table retrived the records and display into the SAP inbox(SBWP).

  • Runtime create file problem

    Hi all, I have a program that use the Runtime to call external program (.exe) which will generate a new File inside a specified folder. After the generation, I'm trying to get the file using the method exists() from class file but it will always retu