BDC setting Parameter value To 'X'

Hi gurus,
my custom program runs a BDC to trigger standard T.code .In the program of Transaction code there was parameter field
Parametrs:p_xfield type rkkzest-info NO-DISPLAY.
i want to set the P_xfield to "X" by field name p_xfield and fval as "x'
  when i am doing  and setting the value to X  there was an eror message.
Is there any process to set .
I want to set the variable to "X' basing on that entire validation goes,please provide me the help.
Regards,

HI try as given below
This is for SE38 tcode, u have to modify the statement in bold to meet ur requirement.
assign value of your select option to X.
<b>WA_BDCDATA-PROGRAM  = 'SAPMS38M'.
WA_BDCDATA-DYNPRO   = '0100'.
WA_BDCDATA-DYNBEGIN = 'X'.</b>
APPEND WA_BDCDATA TO BDCDATA.
CLEAR WA_BDCDATA.
<b>WA_BDCDATA-FNAM     = 'RS38M-PROGRAMM'.
WA_BDCDATA-FVAL     = PROGRAM.
APPEND WA_BDCDATA TO BDCDATA.</b>
CALL TRANSACTION 'SE38'  USING BDCDATA  MODE 'N'
                         MESSAGES INTO ITAB.
reward if helpful*

Similar Messages

  • Adapter Modules: Set parameter values dynamic?

    Hi everybody,
    is it possible to set parameter values in adapter modules dynamic?
    Thanks Regards
    Mario

    Hi all,
    thanks for your replies.
    My problem is not solved.
    To make it clear,
    I want to set an attachmentName in Mail receiver adapter WITHOUT using the MailPackage.
    This is possible:
    ModuleName:        localejbs/AF_Modules/MessageTransformBean
    ModuleType:        LocalEnterpriseBean
    ModuleKey:        CHAN
    Parametername:        Transform.ContentDisposition
    ParameterValue:        attachment; filename="NameOfAttachment.txt"
    I want to set "NameOfAttachment.txt" dynamically. How can I achieve this? Thanks, regards
    Mario

  • Setting parameter value using hyperlink

    I have a jsp search page which shows records in an html table. In each table row I have the id of the record. I would like to use this id value as a hyperlink and set the value of a hidden field to the id and then submit the form. my idea is to open a new page showing all the details of the specified record by the id which is sent as a parameter from the search page as soon as I click the id hyperlink. I am trying to use javascript, but I am a bit green in this area. I would appreciate any help.

    You could easily do this with JSPs, HTML and JSTL - there's no need for JavaScript in this case.

  • Crystal Report - Set Parameter Value - Case sensitive

    Hi,<br><br>
    We are using Crystal report 2008 CR4E API to implement the crystal report in our application. When we use parameter report with different cases, the code is not setting values for all the parameter fields in the report. Kindly help us in achieving the solution.
    <br><br>
    In Report, SQL Command is used and a parameter is passed to the SQL. The name of the parameter is given uppercase but in the SQL Command it is given in lowercase. The report still pass the parameter to the query and it is running fine in designer.
    But in our application it throws the below exception. If the parameters are defined in same case then it works fine.
    <br><br>
    Code:<br><br>
    reportClientDocument = new ReportClientDocument();<br>
    reportClientDocument.setReportAppServer(ReportClientDocument.inprocConnectionString);<br>
    reportClientDocument.open(reportName, OpenReportOptions._openAsReadOnly);<br>
    DatabaseController dbController = reportClientDocument.getDatabaseController();<br>
    Tables tables = dbController.getDatabase().getTables();<br>
    ITable table = tables.getTable(0);<br>
    IProcedure command = (IProcedure)table;<br>
    ParameterFieldController paramController = reportClientDocument.getDataDefController().getParameterFieldController();<br>
    for (int i=0; i< command.getParameters().size(); i++) {<br>
            ParameterField commandParam = (ParameterField) command.getParameters().get(i);     <br>                         
         String paramName = commandParam.getName();<br>
            String paramValue = getParmeterValues(paramName);<br>
            paramController.setCurrentValue("", paramName, Integer.valueOf(paramValue)); <br>
    }<br>
    <br><br>
    Exception:<br>
    <br>Assertion Failed:
    <br>java.lang.Throwable
    <br>     at com.crystaldecisions.reports.common.asserts.CrystalAssert.ASSERT(Unknown Source)
    <br>     at com.crystaldecisions.reports.common.asserts.CrystalAssert.ASSERT(Unknown Source)
    <br>     at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:2558)
    <br>     at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:645)
    <br>     at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:2234)
    <br>     at com.crystaldecisions.reports.queryengine.Table.if(SourceFile:2161)
    <br>     at com.crystaldecisions.reports.queryengine.Table.for(SourceFile:709)
    <br>     at com.crystaldecisions.reports.queryengine.b.yk(SourceFile:512)
    <br>     at com.crystaldecisions.reports.queryengine.b.yl(SourceFile:878)
    <br>     at com.crystaldecisions.reports.queryengine.QueryInfo.vE(SourceFile:241)
    <br>     at com.crystaldecisions.reports.datafoundation.DFQuery.for(SourceFile:628)
    <br>     at com.crystaldecisions.reports.datalayer.a.do(SourceFile:1621)
    <br>     at com.crystaldecisions.reports.datalayer.a.a(SourceFile:1404)
    <br>     at com.crystaldecisions.reports.dataengine.m.b(SourceFile:334)
    <br>     at com.crystaldecisions.reports.dataengine.j.b(SourceFile:515)
    <br>     at com.crystaldecisions.reports.dataengine.m.o(SourceFile:408)
    <br>     at com.crystaldecisions.reports.dataengine.m.a(SourceFile:173)
    <br>     at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:114)
    <br>     at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:95)
    <br>     at com.crystaldecisions.reports.dataengine.j.case(SourceFile:1080)
    <br>     at com.crystaldecisions.reports.dataengine.h.<init>(SourceFile:108)
    <br>     at com.crystaldecisions.reports.dataengine.DataContext.a(SourceFile:254)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4660)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4574)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.new(SourceFile:2652)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.byte(SourceFile:2610)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.try(SourceFile:2282)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.int(SourceFile:2442)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.I(SourceFile:1013)
    <br>     at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.fo(SourceFile:526)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.if(SourceFile:613)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.a(SourceFile:578)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.X(SourceFile:387)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.moveToPageN(SourceFile:339)
    <br>     at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:78)
    <br>     at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:247)
    <br>     at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.if(SourceFile:642)
    <br>     at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.a(SourceFile:586)
    <br>     at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(SourceFile:636)
    <br>     at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(SourceFile:672)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1944)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.a(SourceFile:167)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.a(SourceFile:529)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter$2.call(SourceFile:527)
    <br>     at com.crystaldecisions.reports.common.ThreadGuard.syncExecute(SourceFile:102)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.for(SourceFile:525)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.int(SourceFile:424)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(SourceFile:352)
    <br>     at com.businessobjects.sdk.erom.jrc.a.a(SourceFile:54)
    <br>     at com.businessobjects.sdk.erom.jrc.a.execute(SourceFile:67)
    <br>     at com.crystaldecisions.proxy.remoteagent.RemoteAgent$a.execute(SourceFile:716)
    <br>     at com.crystaldecisions.proxy.remoteagent.CommunicationChannel.a(SourceFile:125)
    <br>     at com.crystaldecisions.proxy.remoteagent.RemoteAgent.a(SourceFile:537)
    <br>     at com.crystaldecisions.sdk.occa.report.application.ds.a(SourceFile:186)
    <br>     at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:1558)
    <br>     at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(SourceFile:337)
    <br>     at com.crystaldecisions.sdk.occa.report.application.ReportSource.export(SourceFile:286)
    <br>     at com.crystaldecisions.sdk.occa.report.application.AdvancedReportSource.export(SourceFile:209)
    <br>     at com.mysystems.myapp.common.CrystelReport.print(CrystelReport.java:387)
    <br>     at com.ibm._jsp._ShowReport._jspService(_ShowReport.java:316)
    <br>     at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java:87)
    <br>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
    <br>     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146)
    <br>     at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1087)
    <br>     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
    <br>     at com.mysystems.myapp.common.MyServletFilter.doFilter(MyServletFilter.java:107)
    <br>     at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
    <br>     at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
    <br>     at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
    <br>     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:837)
    <br>     at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:680)
    <br>     at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:588)
    <br>     at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
    <br>     at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java:122)
    <br>     at com.ibm.ws.jsp.webcontainerext.AbstractJSPExtensionServletWrapper.handleRequest(AbstractJSPExtensionServletWrapper.java:232)
    <br>     at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
    <br>     at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
    <br>     at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
    <br>     at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:122)
    <br>     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
    <br>     at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
    <br>     at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
    <br>     at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
    <br>     at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
    <br>     at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
    <br>     at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
    <br>     at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
    <br>     at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
    <br>     at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
    <br>     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)
    <br>Rowset restart: moveToStart true
    <br>Rowset execute
    <br>Executing query using command text:
    <br>Select DeptName from Dept where DeptNo = {?deptno}
    <br>
    <br>detected an exception: Unexpected database connector error
    <br>...
    <br>Caused by: com.crystaldecisions.reports.common.QueryEngineException: Unexpected database connector error
    <br>     at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2958)
    <br>     at com.crystaldecisions.reports.queryengine.Rowset.z3(SourceFile:944)
    <br>     at com.crystaldecisions.reports.queryengine.Rowset.bL(SourceFile:533)
    <br>     at com.crystaldecisions.reports.queryengine.Rowset.zM(SourceFile:245)
    <br>     at com.crystaldecisions.reports.queryengine.Connection.a(SourceFile:776)
    <br>     at com.crystaldecisions.reports.queryengine.Table.a(SourceFile:2234)
    <br>     at com.crystaldecisions.reports.queryengine.Table.if(SourceFile:2161)
    <br>     at com.crystaldecisions.reports.queryengine.Table.for(SourceFile:709)
    <br>     at com.crystaldecisions.reports.queryengine.b.yk(SourceFile:512)
    <br>     at com.crystaldecisions.reports.queryengine.b.yl(SourceFile:878)
    <br>     at com.crystaldecisions.reports.queryengine.QueryInfo.vE(SourceFile:241)
    <br>     at com.crystaldecisions.reports.datafoundation.DFQuery.for(SourceFile:628)
    <br>     at com.crystaldecisions.reports.datalayer.a.do(SourceFile:1621)
    <br>     at com.crystaldecisions.reports.datalayer.a.a(SourceFile:1404)
    <br>     at com.crystaldecisions.reports.dataengine.m.b(SourceFile:334)
    <br>     at com.crystaldecisions.reports.dataengine.j.b(SourceFile:515)
    <br>     at com.crystaldecisions.reports.dataengine.m.o(SourceFile:408)
    <br>     at com.crystaldecisions.reports.dataengine.m.a(SourceFile:173)
    <br>     at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:114)
    <br>     at com.crystaldecisions.reports.dataengine.ContextNode.a(SourceFile:95)
    <br>     at com.crystaldecisions.reports.dataengine.j.case(SourceFile:1080)
    <br>     at com.crystaldecisions.reports.dataengine.h.<init>(SourceFile:108)
    <br>     at com.crystaldecisions.reports.dataengine.DataContext.a(SourceFile:254)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4660)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.a(SourceFile:4574)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.new(SourceFile:2652)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.byte(SourceFile:2610)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.try(SourceFile:2282)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.int(SourceFile:2442)
    <br>     at com.crystaldecisions.reports.dataengine.DataProcessor2.I(SourceFile:1013)
    <br>     at com.crystaldecisions.reports.formatter.formatter.objectformatter.ObjectFormatter.fo(SourceFile:526)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.if(SourceFile:613)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.a(SourceFile:578)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.X(SourceFile:387)
    <br>     at com.crystaldecisions.reports.formatter.formatter.paginator.PageFormatter.moveToPageN(SourceFile:339)
    <br>     at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:78)
    <br>     at com.crystaldecisions.reports.formatter.export2.a.a(SourceFile:247)
    <br>     at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.if(SourceFile:642)
    <br>     at com.crystaldecisions.reports.formatter.export2.ExportSupervisorEx.a(SourceFile:586)
    <br>     at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.a(SourceFile:636)
    <br>     at com.businessobjects.reports.sdk.requesthandler.ReportViewingRequestHandler.int(SourceFile:672)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.do(SourceFile:1944)
    <br>     at com.businessobjects.reports.sdk.JRCCommunicationAdapter.if(SourceFile:661)
    <br>     ... 49 more
    <br>Caused by: com.businessobjects.reports.jdbinterface.common.DBException: Unexpected database connector error
    <br>     at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)
    <br>     at com.crystaldecisions.reports.queryengine.driverImpl.jdbc.JDBCQueryDefinition.Execute(Unknown Source)
    <br>     at com.crystaldecisions.reports.queryengine.Connection.bf(SourceFile:2953)
    <br>     ... 91 more
    <br>Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '?'.
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement$StmtExecCmd.doExecute(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.TDSCommand.execute(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(Unknown Source)
    <br>     at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(Unknown Source)
    <br>     at com.mysystems.myapp.connection.StatementImplementaion.execute(StatementImplementaion.java:269)
    <br>     ... 94 more

    Hi,
    Can some one please help with the solution

  • "Missing parameter values."  --  Export and Print only...

    I have a web application and I am using CrystalReportViewer.  I am passing several parameters to Crystal using: 
    report.SetParameterValue(field.Name, Session[field.Name]);
    I have session variables which will hold parameters needed to pass into the report.  The session variables are populated from controls on my webpage after an onclick event.  This even not only populates session, but also passes parameters to the report with the following code: 
    ReportDocument report = new ReportDocument();
    Session["MapPathName"] = "./Reporting/CaseStudy.rpt";
    report.FileName = Server.MapPath(Session["MapPathName"].ToString());
    ParameterFields fields = new CrystalDecisions.Shared.ParameterFields();
    fields = report.ParameterFields;
    foreach (ParameterField field in fields)
          report.SetParameterValue(field.Name, Session[field.Name]);
    CrystalReportViewer1.ReportSource = report;
    This works great for reporting and is very extensible.  However, when clicking on the "Print" or "Export" buttons on the toolbar I get "Missing parameter values."  I attempted to export manually in code using the .ExportToStream function but I still get the error, "Missing parameter values." 
    I received this error also in Refresh, Search, and Navigate functions.  This was corrected by calling a function that supplies the above code block to these functions.  However, I do not see any events for controlling the Print nor the Export events. 
    QUESTION: How can I print or export a report when passing parameters using CrystalReportViewer?  Thanks in advance!
    P.S. - Crystal Reports XI Release 2
    Edited by: KyleSavant on Jun 18, 2009 5:42 PM

    There are no Export or Print events accessible for the viewer
    Since it sounds like you are creating the reportdocument object in your click event, the settings on this object become out of scope on successive postbacks executed by other events.
    to get around this without major changes, you can place your "report" object in session in this event and retrieve it from session on successive postbacks.  This should solve your problems around navigation, printing and exporting.  What you will need to do is check if the session object exists (usually in page_load or page_initialze) and if so, retrieve it from session and bind it to the viewer's reportsource.  If the session object does not exist, then do nothing (ie you have not clicked your button yet that retrieves the parameter values from session and loads the report).  Also, in your click event you can check if the report session object exists and if so, remove it so that it can be re-created with your new parameter values (ie i'm assuming the only time you want to set parameter values is in this event).
    Dan

  • Missing parameter values - mystery solved

    I've tracked down why I was getting this error to the refresh method of the ReportDocument object.
    The sequence of execution is as follows;
    load report
    get/set parameter values
    set database location
    refresh report
    export report
    The refresh step clears all the parameter values and defaults.  I can't believe that this is correct behavour but hey ho, I'll try and work around it by saving all the parameter values to local storage when I open the report and then reset them after the refresh.
    Is this correct?
    Steve

    No, that is exactly how the refresh is supposed to work actually.
    The reportdocument.refresh call removes saved data. That includes any parameters set on the report.
    99% of people who call reportdocument.refresh do not have a need to do so to be honest.
    If you are using an empty report template (ie a report that does not have saved data) then you should not need to call it at all.
    If you want to call it just to make sure, do it before you do anything else, then pass any information you need to the report object.
    Jason

  • Get and Set Parameter ID in BDC Call transaction

    Hi all
    I have written this BDC program to run a transaction eg33  to install meter. After meter get installled System generates  Device location number. I need to use this device location number in calling another transaction il03.  but my data fetching using get and set parameter id is not giving accurate result. Kindly check my code and suggest where should I improve. Or whatelse can I do to fullfill this type of requirement other than GET and SET PARAMETER ID.
    REPORT  ZAC_EG33 NO STANDARD PAGE HEADING
                     LINE-SIZE 100.
    TABLES: EABL,
            BUT000,
            ZISUH0003.
    DATA :
          XYZ LIKE IFLO-TPLNR.
    DATA: IT_STATUS TYPE ZISUH0003.
    DATA: G_INDEX TYPE I,
          G_START_COL TYPE I VALUE '1',      "start column
          G_START_ROW TYPE I VALUE '14',      "start row
          G_END_COL   TYPE I VALUE '18',     "maximum column
          G_END_ROW   TYPE I VALUE '75',  "maximum row
          G_TEXT(20),                         "stores error messages
          G_PAGES        TYPE I,
          G_CURRENT_PAGE TYPE I,
          G_COUNT LIKE SY-DBCNT.
    data: l_file   type file_table,
          file1    type string,
          l_title  type string,
          LENGTH   TYPE I,
          FILES    type filetable,
          SUBRC    type i,
          STR_FILE type STRING,
          D_FILE   type RLGRAP-FILENAME,
          filename TYPE String,
          L_itab_date(10).
    FIELD-SYMBOLS : <FS>.
    DATA: IT_EXCEL LIKE STANDARD TABLE OF ALSMEX_TABLINE WITH HEADER LINE,
          IT_MESS TYPE STANDARD TABLE OF BDCMSGCOLL WITH HEADER LINE.
    TYPES: BEGIN OF TY_OPEN,
            HAUS LIKE REG30-HAUS,
            EADAT(10),
            GERAETNEU LIKE REG30-GERAETNEU,
            MESSDRCK LIKE REG30-MESSDRCK,
            ZWSTANDCE LIKE REG30-ZWSTANDCE,
            END OF TY_OPEN.
    DATA : T_ANLAGE LIKE EANLD-ANLAGE,
           VSTELLE LIKE EVBS-VSTELLE,
           S_ANLAGE LIKE EANLD-ANLAGE,
           temp_c(7).
    DATA: IT_OPEN TYPE STANDARD TABLE OF TY_OPEN WITH HEADER LINE.
    DATA: BDCDATA TYPE STANDARD TABLE OF BDCDATA WITH HEADER LINE.
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
    SELECTION-SCREEN SKIP 2.
    PARAMETERS: P_FILE like RLGRAP-FILENAME OBLIGATORY.
    SELECTION-SCREEN SKIP 2.
    SELECTION-SCREEN END OF BLOCK 1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE  .
      PERFORM GET_FILE_NAME.
      MOVE FILENAME TO P_FILE.
    START-OF-SELECTION.
    CALL FUNCTION 'ALSM_EXCEL_TO_INTERNAL_TABLE'
      EXPORTING
        FILENAME                      = p_file
        I_BEGIN_COL                   = 1  "VF_START_COL
        I_BEGIN_ROW                   = 2  "VF_START_ROW
        I_END_COL                     = 5  "VF_END_COL
        I_END_ROW                     = 10000  "VF_END_ROW
      TABLES
        INTERN                        = IT_EXCEL
      EXCEPTIONS
        INCONSISTENT_PARAMETERS       = 1
        UPLOAD_OLE                    = 2
        OTHERS                        = 3
    IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
    ENDIF.
    IF IT_EXCEL[] IS INITIAL.
      G_TEXT = 'No Data Uploaded'.
    ELSE.
      SORT IT_EXCEL BY ROW COL.
      LOOP AT IT_EXCEL.
        MOVE : IT_EXCEL-COL TO G_INDEX.
        ASSIGN COMPONENT G_INDEX OF STRUCTURE IT_OPEN TO <FS>.
        MOVE IT_EXCEL-VALUE TO <FS>.
        AT END OF ROW.
          IF NOT IT_OPEN IS INITIAL.
          APPEND IT_OPEN." TO IT_LINE.
          CLEAR IT_OPEN.
          CLEAR IT_EXCEL.
          ENDIF.
        ENDAT.
      ENDLOOP.
    ENDIF.
    REFRESH IT_EXCEL.
    ULINE.
    FORMAT COLOR 3 ON.
    WRITE: /1 sy-vline ,
           2 'Material No.' ,
           25 sy-vline,
            2 'Logs' ,
            100 sy-vline.
    uline.
    FORMAT COLOR OFF.
    PERFORM BDC_OPEN_READING.
    MESSAGE S013(ZPS).
    *&      Form  GET_FILE_NAME
          text
    -->  p1        text
    <--  p2        text
    FORM GET_FILE_NAME .
    REFRESH FILES.
    call method cl_gui_frontend_services=>file_open_dialog
                exporting
                  window_title            = l_title
                changing
                  file_table              = files
                  rc                      = subrc
                exceptions
                  file_open_dialog_failed = 1
                  cntl_error              = 2
                  error_no_gui            = 3
                  others                  = 4.
              check sy-subrc = 0.
              loop at files into l_file.
                str_file = l_file.
                move str_file to filename.
                exit.
              endloop.
    ENDFORM.                    " GET_FILE_NAME
    *&      Form  BDC_OPEN_READING
          text
    -->  p1        text
    <--  p2        text
    FORM BDC_OPEN_READING .
    LOOP AT IT_OPEN.
    REFRESH BDCDATA.
    clear : temp_c.
    move it_open-MESSDRCK to temp_c.
    condense : temp_c.
    PERFORM MAP1.
    CALL TRANSACTION 'EG33' USING BDCDATA MODE 'A' MESSAGES INTO IT_MESS.
    +***changes by added on 28/02/08 +
    get parameter id 'IFL' FIELD XYZ.
    PERFORM MAP2.
    set parameter id 'IFL' FIELD XYZ.
    ++*
    CALL TRANSACTION 'IL03' USING BDCDATA MODE 'A' MESSAGES INTO IT_MESS.
    +****end change added on 28.02.08+DATA: G_INSNO LIKE IT_OPEN-HAUS.
    IF NOT IT_MESS[] IS INITIAL.
      G_INSNO = IT_OPEN-HAUS.
      PERFORM GET_MESSAGES  TABLES IT_MESS USING G_INSNO." IT_LINE.
    ENDIF.
    READ TABLE IT_MESS WITH KEY MSGTYP = 'E'.
    IF SY-SUBRC NE 0.
    READ TABLE IT_MESS WITH KEY MSGTYP = 'S'  MSGNR = '622'.
    IF SY-SUBRC EQ 0.
    SELECT SINGLE VSTELLE FROM EVBS INTO VSTELLE WHERE HAUS = IT_OPEN-HAUS.
    SELECT SINGLE ANLAGE FROM EANL INTO T_ANLAGE WHERE VSTELLE = VSTELLE.
    MOVE T_ANLAGE TO IT_STATUS-ANLAGE.
    MOVE 'X' TO IT_STATUS-RFC.
    *perform get_date_format using IT_OPEN-EADAT.
    MOVE IT_OPEN-EADAT TO IT_STATUS-ADATE.
    SELECT SINGLE ANLAGE FROM ZISUH0003 INTO  S_ANLAGE WHERE ANLAGE =
    T_ANLAGE.
      IF SY-SUBRC EQ 4.
        INSERT ZISUH0003 FROM IT_STATUS.
      ELSE.
        UPDATE ZISUH0003 FROM IT_STATUS.
      ENDIF.
      ENDIF.
      ENDIF.
      REFRESH IT_MESS.
      CLEAR   IT_MESS.
    ENDLOOP.
    ENDFORM.                    " BDC_OPEN_READING
           Start new screen                                              *
    FORM BDC_DYNPRO USING PROGRAM DYNPRO.
      CLEAR BDCDATA.
      BDCDATA-PROGRAM  = PROGRAM.
      BDCDATA-DYNPRO   = DYNPRO.
      BDCDATA-DYNBEGIN = 'X'.
      APPEND BDCDATA.
    ENDFORM.
           Insert field                                                  *
    FORM BDC_FIELD USING FNAM FVAL.
      IF FVAL <> SPACE.
        CLEAR BDCDATA.
        BDCDATA-FNAM = FNAM.
        BDCDATA-FVAL = FVAL.
        APPEND BDCDATA.
      ENDIF.
    ENDFORM.
    *&      Form  MAP1
          text
    -->  p1        text
    <--  p2        text
    FORM MAP1 .
    perform bdc_dynpro      using 'SAPLE30D' '0100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'REG30-GERAETNEU'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'REG30-HAUS'
                                  IT_OPEN-HAUS.  "'100000000033'.
    perform bdc_field       using 'REG30-EADAT'
                                  IT_OPEN-EADAT.  "'18.02.2006'.
    perform bdc_field       using 'REG30-GERAETNEU'
                                  IT_OPEN-GERAETNEU.  "'66a'.
    perform bdc_dynpro      using 'SAPLE30D' '0220'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'REG30-TEMP_AREA(02)'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=SAVE'.
    perform bdc_field       using 'REG30-MESSDRCK'
                                   temp_c. "IT_OPEN-MESSDRCK'0.0125'.
    perform bdc_field       using 'REG30-GERWECHS'
                                  '05'.
    perform bdc_field       using 'REG30-ANZDAYSOFPERIOD(01)'
                                  '30'.
    perform bdc_field       using 'REG30-ZWSTANDCE(01)'
                                  IT_OPEN-ZWSTANDCE.  "'10'.
    perform bdc_field       using 'REG30-ZWSTANDCE(02)'
                                  '0'.
    perform bdc_field       using 'REG30-PERVERBR(01)'
                                  '0'.
    perform bdc_field       using 'REG30-PERVERBR(02)'
                                  '0'.
    perform bdc_field       using 'REG30-TEMP_AREA(01)'
                                  '0001'.
    perform bdc_field       using 'REG30-TEMP_AREA(02)'
                                  '0001'.
    perform bdc_field       using 'REG30-PR_AREA_AI(01)'
                                  '0001'.
    perform bdc_field       using 'REG30-PR_AREA_AI(02)'
                                  '0001'.
    ENDFORM.                    " MAP1
    ****CHANGEs added BY ALKA 28.02.08
    *&      Form  MAP2
          text
    -->  p1        text
    <--  p2        text
    FORM MAP2 .
    perform bdc_dynpro      using 'SAPMILO0' '1110'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'IFLO-TPLNR'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'IFLO-TPLNR'
                                  XYZ..
    perform bdc_field       using 'RILO0-TPLKZ'
                                  'AO_GP'.
    perform bdc_dynpro      using 'SAPMILO0' '2100'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'IFLO-PLTXT'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=T\04'.
    perform bdc_field       using 'IFLO-PLTXT'
                                  'DEVICE LOCATION'.
    perform bdc_dynpro      using 'SAPMILO0' '2100'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '=BU'.
    perform bdc_field       using 'IFLO-PLTXT'
                                  'DEVICE LOCATION'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'ITOBATTR-EINZL'.
    perform bdc_field       using 'ITOBATTR-IEQUI'
                                  'X'.
    perform bdc_field       using 'ITOBATTR-EINZL'
                                  'X'.
    ENDFORM.                    " MAP2
    *****END CHANGE added on 28.02.08
    *&      Form  get_date_format
          text
         -->P_IT_ORDER_TABLE_C_DATE  text
    FORM get_date_format USING L_ITAB_DATE." LIKE SY-DATUM.
    data: d_temp(4),
          m_temp(2),
          y_temp(4).
    *move L_ITAB_DATE to L_ITAB_DATE.
    y_temp = L_ITAB_DATE(4).
    m_temp = L_ITAB_DATE+4(2).
    d_temp = L_ITAB_DATE+6(2).
    CONCATENATE d_temp '.' m_temp '.' y_temp into L_ITAB_DATE.
    ENDFORM.                    " get_date_format
    *&      Form  GET_MESSAGES
          text
         -->P_IT_MESS  text
         -->P_G_INSNO  text
    FORM GET_MESSAGES  TABLES IT_MESS STRUCTURE BDCMSGCOLL USING G_INSNO .TABLES T100.
    DATA: L_MSTRING(255).
    LOOP AT IT_MESS WHERE MSGTYP = 'E'   OR MSGTYP = 'S'.
          SELECT SINGLE * FROM T100 WHERE SPRSL = IT_MESS-MSGSPRA
                                    AND   ARBGB = IT_MESS-MSGID
                                    AND   MSGNR = IT_MESS-MSGNR.
          IF SY-SUBRC = 0.
            L_MSTRING = T100-TEXT.
            IF L_MSTRING CS '&1'.
              REPLACE '&1' WITH IT_MESS-MSGV1 INTO L_MSTRING.
              REPLACE '&2' WITH IT_MESS-MSGV2 INTO L_MSTRING.
              REPLACE '&3' WITH IT_MESS-MSGV3 INTO L_MSTRING.
              REPLACE '&4' WITH IT_MESS-MSGV4 INTO L_MSTRING.
            ELSE.
              REPLACE '&' WITH IT_MESS-MSGV1 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV2 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV3 INTO L_MSTRING.
              REPLACE '&' WITH IT_MESS-MSGV4 INTO L_MSTRING.
            ENDIF.
            CONDENSE L_MSTRING.
          ENDIF.
          CONDENSE G_INSNO.
          CONCATENATE 'For' ' ' G_INSNO ',' L_MSTRING INTO L_MSTRING SEPARATED BY SPACE.
    FORMAT COLOR 2 ON.
    *IF IT_MESS-MSGTYP = 'S' AND IT_MESS-MSGNR = '622'.
    *WRITE: 1 sy-vline,
            L_MSTRING    under 'Error Messages',
           100 sy-vline.
    *ULINE.
    *ELSEIF IT_MESS-MSGTYP = 'E'.
    WRITE: 1 sy-vline,
             L_MSTRING    under 'Logs',
            100 sy-vline.
    ULINE.
    *ENDIF.
    ENDLOOP.
    ENDFORM.                    " GET_MESSAGES

    i think there might be some time gap between CALL TRANSACTION and GET PARAMETER ID.....,that is to say,the new No. has not been generated and what you fetch is an old No..
    i think you should use the "CALL TRANSACTION" like the following one:
    CALL TRANSACTION 'EG33' USING BDCDATA MODE 'A'  UPDATE 'L'  MESSAGES INTO IT_MESS .
    then i think you can get the right value.
    P.S: the different update model(from SAP document)
           upd Effect
    "A"   Asynchronous update. Updates of called programs are executed in the same way as if in the             COMMIT WORK statement the AND WAIT addition was not specified.
    "S" Synchronous processing. Updates of the called programs are executed in the same way as if in the COMMIT WORK statement the AND WAIT addition had been specified.
    "L" Local update. Updates of the called program are executed in such a way as if the SET UPDATE TASK LOCAL statement had been executed in it.
    Other As for "A".

  • Setting the value of a parameter

    Hi Experts
                         I want to call transaction ME55 through a Z program and stop at the selection screen with values of ZPROGRAM. There is one parameter which does not have a parameter id. Is there any way to set it.
    Also we cannot do submit because there is code in ME55 based on sy-tcode. So while we do submit then the TCODE is of our ZPROGRAM and hence ME55 shows different output. Can we deal with this?
    Also if we write BDC then the ME55 is behaving unexpectedly ie we wrote a BDC till the first screen of ME55 and then we excute it and try to release it , it releases the PR but instead of stopping at that screen which it would have done if we run ME55, it is coming back to our ZPROGRAM.
    Please help to solve the problem ie set the value of the parameter.

    Which parameter are you trying to set?

  • Crystal Report Viewer 11.5 Java SDK - How to set sub report parameter value

    Good day!
    I have a report with 3 sub-reports in the detail section. Main report has two parameters and each sub-report has one parameter in turn. We have our own JSP to receive parameter values from the user. I am using the following code to do the parameter value setting later into the report. Parameter value setting works for main report, but not for the sub-report.
    I get an Error, for the first sub-report, from the viewer saying:
    The parameter 'parametername' does not allow null values
    On this article: [article link|http://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/com.sap.km.cm.docs/oss_notes_boj/sdn_oss_boj_bi/sap%28bd1lbizjptawmq==%29/bc/bsp/spn/scn_bosap/notes%7B6163636573733d36393736354636443646363436353344333933393338323636393736354637333631373036453646373436353733354636453735364436323635373233443330333033303331333233313337333233323331%7D.do]
    It says to set the report name of the parameter field to the name of the sub report. On this aspect, assuming this tip/solution works, I would like to read the names of the sub-reports and their parameter names. I do not want to hard-code them into our application.
    Here is my current code:
    sdk.occa.report.data.Fields parameterFields = new Fields();
    I have a HashMap of <parameterName, parameterValue>
    Iterate through the map
    report.data.ParameterField aParameterField = new ParameterField();
    aParameterField.setReportName(""); //main report
    report.data.Values theValues = new Values();
    ParameterFieldDiscreteValue aParameterFieldDiscreteValue = new ParameterFieldDiscreteValue();
    aParameterFieldDiscreteValue.setValue (aValue);
    theValues.add(aParameterFieldDiscreteValue);
    aParameterField.setName(parameterName)
    aParameterField.setCurrentValues(theValues);
    parameterFields.add(aParameterField);
    viewer.setParameterFields(parameterFields);
    Please look at the line:
    aParameterField.setReportName(""); //main report
    Here's where I would like to say
    if (parameter is subreport's parameter) then setReportName(subreport name);
    Thx

    It was little difficult to navigate down the objects to find the sub reports and their parameters. I am attaching the code:
    May be there are other ways to do the same.
    public String getReportNameForParameter (String parameterName, ReportClientDocument reportClientDoc)
            String result = "";
            boolean found = false;
            try {
                SubreportController src = reportClientDoc.getSubreportController();
                DataDefController ddc = reportClientDoc.getDataDefController();
                IDataDefinition idd = ddc.getDataDefinition();
                Fields fs = idd.getParameterFields();
                Iterator fiter = fs.iterator();
                while (fiter.hasNext()) {
                    IField ifld = (IField) fiter.next();
                    if (parameterName.equals(ifld.getName())) {
                        found = true;
                    //System.out.println ("\t Field Name/Description/HeadingText: " + ifld.getName() + "/" + ifld.getDescription() + "/" + ifld.getHeadingText());
                if (!found) {
                    IStrings reportNames = src.getSubreportNames();
                    //System.out.println ("  Sub Reports If Any ...");
                    if (reportNames != null) {
                        Iterator iter = reportNames.iterator();
                        while (iter.hasNext()) {
                            String repName = (String) iter.next();
                            //System.out.println ("\t Sub Report Name " + repName);
                            ISubreportClientDocument srcd = src.getSubreport(repName);
                            ddc = srcd.getDataDefController();
                            idd = ddc.getDataDefinition();
                            fs = idd.getParameterFields();
                            fiter = fs.iterator();
                            while (fiter.hasNext()) {
                                IField ifld = (IField) fiter.next();
                                if (parameterName.equals(ifld.getName())) {
                                    result = repName;
                                    break;
                                //System.out.println ("\t\t Field Name/Description/HeadingText: " + ifld.getName() + "/" + ifld.getDescription() + "/" + ifld.getHeadingText());
            //System.out.println ("********************************************************** ");
            catch (Exception exc) {
                System.out.println ("Error/Exception while trying to find the report name for parameter [" + parameterName + "]");
                System.out.println ("*******************************************************************************************");
                exc.printStackTrace();
            return result;

  • Crystal reports 2008 Set optional parameter value

    Hi,
    I'm working with .net Visual Studio 2008 C# and Crystal reports 2008 (Crystal.Decisions) and when I try to set a parameter to optional and set its value to no value, it returns the error: "Invalid parameter name", here is my code:
    foreach (CrystalDecisions.Shared.ParameterField param in Report.ParameterFields)
                            if (!param.HasCurrentValue &&
                                !Report.DataDefinition.ParameterFields[param.Name].IsLinked())
                                switch (param.ParameterValueType)
                                    case ParameterValueKind.NumberParameter:                                  
                                        param.IsOptionalPrompt = true;
                                        param.CurrentValues.IsNoValue = true;                                  
                                        break;
    I'm doing this because some of the parameters can be left null, and in this case I don't want to show the parameter prompt.
    In past versions of Crystal (such as Crystal Reports 11.5) we had the chance to left the parameter value null and did not showed the parameter prompt dialog, and this behavior repeats in a lot of reports.
    thanks in advanced

    Please don't post the same question more than once. This is a public forum so be patient.
    Install SP4 and test again.
    Try these samples:
    http://wiki.sdn.sap.com/wiki/display/BOBJ/CrystalReportsSDKSampleApplications
    Don

  • Setting/Getting Parameter Values BEFORE and AFTER the param window loads

    Hi there. My name is William Sanchez. I posted this question on Brian Wheadon's blog because I'm not sure that what we're trying to accomplish can be currently done with 2008 Crystal Report Viewer  and was wondering if a future version will support this, or if we're just missing something. I've searched through the SDK and API and can't seem to find a solution. Here's what we're trying to accomplish
    In a nutsheel: we think we need to hook into Crystal Report Viewer's parameter window from our WPF app.
    What we need to do is to be able to pass a set of default values to our parameters AND, after that's done programmatically, still display the parameter window for the report. Currently, however, after you do:
    parameterFieldDefinition.ApplyCurrentValues(currentParameterValues);
    it's as if Crystal says: Ok, we got the value, there's no need to show the parameter window anymore. This makes sense, but we need to still be able to show the parameter window to the user because all we did (from our point of view) is to pass in a default "choice". If we were to call ApplyDefaultValues() instead, the actual choices for the parameter are overriden. We basically want to make a default choice for the user from the allowed values for that parameter. But we want to still present the parameter window with the default choice already selected, plus all the other choices available for that parameter. If the crystal report has parameter1 set to false as default, we might want to programmatically set it to true, but still show false as an option on the parameter window.
    Part 2 of what we'd like to accomplish is that after the user changes any of the parameter values, and clicks OK to view the report, we'd like to catch the new parameter values in code to do something with them.
    This is why we're thinking of hooking into the parameter window so that we can tell it what we want both BEFORE it loads and AFTER the user is done...just like we can hook into the CrystalReportViewer refresh button like this:
    CrystalReportsViewer.ReportRefresh += new CrystalDecisions.Windows.Forms.RefreshEventHandler(CrystalReportsViewer_ReportRefresh);
    Our app is a WPF C# .NET 3.5 desktop application. Any assistance or direction will surely be appreciated.
    Kinds Regards,
    William Sanchez
    Edited by: wsanchez78 on Mar 31, 2010 1:20 AM

    Good day Ted, thanks for your reply.
    I did try Parameter.Default value, but what it does is as I mentioned above. If I have Parameter1 as a boolean, with possible values of true and false, if I set Paramter1.Default = true, the parameter window does come up, but it removed the false option from the drop down. So this is not a way to pick one of the various values for Parameter1, but to default it to only one of the values. It's close to what we need, but not fully.
    Also, what are your thoughts about getting the parameter values after the user has made their changes to the CrystalReportViewer parameter window and click OK to pass them to the report. How can we programmatically get those new values?

  • "Missing parameter values." Error when setting record selection formula

    Setup - VS 2008, CR 2008 (v12.0), Win XP & C#.Net
    I have a form which loops through all parameters (non-linked to sub reports, so only off the main report) and allows users to enter the values for each parameter. When hitting the preview button, I loop through all of the saved values, set the parameter field values and then add any additional filters into the recordselection formula as below. The problem i'm having is that the ReportDocument.HasRecords returns true if the ReportDocument.RecordSelectionFormula doesn't filter out every result.
    For example, I have a list of customers and if I set the selection formula to filter out a specific customer, ReportDocument.HasRecors returns true, if I set the selection formula to filter something that doesn't exist i.e. customer "xk39df", the moment this line of code runs "ReportDocument.RecordSelectionFormula = rsFormula;" - ReportDocument.HasRecors returns the following exception as opposed to "False".
    Message: Missing parameter values.
    Source: CrystalDecisions.ReportAppServer.DataSetConversion
    StackTrace:    at CrystalDecisions.ReportAppServer.ConvertDotNetToErom.ThrowDotNetException(Exception e)
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.hasRecords()
       at CrystalDecisions.CrystalReports.Engine.ReportDocument.get_HasRecords()
    ErrorID: MissingParameterFieldCurrentValue
    The strange thing is, it works fine if the recordselectionformula selects a record which exists in the results - all parameters have a current value except for the linked parameters.
    This one has got me stumped!
    foreach (ParameterFieldDefinition parameterField in ReportDocument.DataDefinition.ParameterFields)
                    var query = ReportObjects.Values.Cast<Filters>().Where(objects => objects.ParameterName == parameterField.Name.ToUpper().Trim());
                    foreach (var item in query)
                        parameterField.CurrentValues.Clear();
                        parameterField.CurrentValues.Add(item.ParameterValue);
                        parameterField.ApplyMinMaxValues(item.MinLength, item.MaxLengh);
                        parameterField.ApplyCurrentValues(parameterField.CurrentValues);
                var records = ReportObjects.Values.Cast<Filters>().Where(recordSelection => recordSelection.RecordSelectionFormula.Trim().Length != 0);
                foreach (var item in records)
                    rsFormula += item.RecordSelectionFormula;
                if (rsFormula.EndsWith(" AND "))
                    rsFormula = rsFormula.RTrim(5);
                ReportDocument.RecordSelectionFormula = rsFormula;

    Hi,
    The report has it's own ADO Datasource set in crystal reports, so I just pass the log on information to the report object before doing anything else.
    this.DataSourceConnections[0].SetConnection("ServerName", "Database", "sa", "Password");
    I then do a refresh before applying the parameter values (I do this because the user can preview the report more than one time by using a preview button on the parameter form without re-loading the report object)
    this.Refresh();
    Then I set all parameter values followed by setting the recordselection formula.

  • In flex, How to set a value to one parameter, the parameter defined in a cffunction in a cfc file

    In flex, How to set a value to one parameter, the parameter
    defined in a cffunction in a cfc file, In the cffunction there are
    much cfargument, I want set a value to one of them, such as the
    cfc:
    <cffunction access="remote" name="myShow" output="false"
    returntype="struct">
    <cfargument name="ID" type="numeric" default=0>
    <cfargument name="GoodsID" type="string" default="">
    <cfargument name="DestTime" type="string" default="">
    <cfargument name="DestCount" type="numeric" default=1>
    How I set a value to only parameter one of them , such as set
    GoodsID when use mx:remoteObject.
    Thanks for your help

    Got maybe a solution for you, I have just tested it.
    So, the idea is to use intermediate variables. Imagine Var1 and Var2 variables that you refresh with your more or less complicated queries. Then what you can do is to refresh your final variable Var3 with a query using your intermediate variables. Here is an example for Oracle:
    select #Var1+#Var2 from dual
    This way you can make a chain of dependent variables: Var3 is using Var2 and Var2 is using Var1.
    Hope it helps.
    Shamil

  • (Administration - Marketing - Import), you can set a parameter value "Import mode" for what to do in case of duplication as "update existing records", "Import new records". The final report of this import is presented as a text file that can be viewed in

    Administration - Marketing -> Import, you can set a parameter value "Import mode" for what to do in case of duplication as "update existing records", "Import new records". The final report of this import is presented as a text file that can be viewed in Business Administration - Marketing -> Import -> Exceptions. Whatever the exception, including duplication import occurs during import and recorded in a text file.   What are the fields that determine the duplicity? How I can I can change those?

    You will be returned anything that is in the option's value parameter. What is displayed in the dropdown and what is put in the value attribute do NOT need to be the same, so maybe you should start there.

  • Why are my parameter values not setting in report?

    G'day,
    Like many others I am a developer who is new to crystal reports.  I have researched a lot for setting report parameters and although my code seem to be working when I open the report through code I'm always asked to re-enter the parameter values.
    Here is my code:
    behind button event
    PersonalAttendance myReport = new PersonalAttendance();
    ReportUtility ru = new ReportUtility();
    ru.SetReportParameter(myReport, "reportName","the title");
    myReport.Refresh();
    myReport.SetDataSource([a data source]);
    ReportViewer.ReportSource = myReport;
    method behind custom class "ReportUtility()"
    public void SetReportParameter(ReportClass rc, string FieldName, object parameterValue)
    //Get the collection of parameters from the report
    crParameterFieldDefinitions = rc.DataDefinition.ParameterFields;
    //Access the specified parameter from the collection
    crParameterFieldDefinition = crParameterFieldDefinitions[FieldName];
    //Get the current values from the parameter field.  At this point
    //there are zero values set.
    crParameterValues = crParameterFieldDefinition.CurrentValues;
    //Set the current values for the parameter field
    crParameterDiscreteValue = new ParameterDiscreteValue();
    crParameterDiscreteValue.Value = parameterValue;
    //Add the first current value for the parameter field
    crParameterValues.Add(crParameterDiscreteValue);
    //All current parameter values must be applied for the parameter field.
    crParameterFieldDefinition.ApplyCurrentValues(crParameterValues);
    I'd really appreciate any assistance....
    Cheers,
    Brendan

    Hi,
    For better assistance on this question I would suggest you to post this issue on "Business Objects SDK Application Development".
    Regards,
    Sumit Kanhe

Maybe you are looking for

  • How do I save a numbers spreadsheet on my iPad as a template?

    I have created a Spreadsheet on my iPad for staff to record time and materials on site an I would like to save it as a template so they can open a new copy of it each time and not change the original spreadsheet. Also I would like to be able to lock

  • DataLoad-Problem after adding Nav-Attribute to InfoObject

    hi there, i added a navigational attribute, which i newly created, to an existing infoobject, which had already data loads. i activated the infoobject and modified the transformationrule to fill the new attribute of the infoobject. after i activated

  • Need Help - WiFi network issue

    Hey, just wondering if anyone could help me out here. My problem is that when I go to the WiFi setting page my 'network list' costantly refreshes every 5 seconds or so. I can access my network normally, but upon doing so my network bar shows a check

  • Why my simple vector file is so big

    Hello, i have many simple vector files, created in CS6 that are over 15MB. i had deleted all swatches, brushes and symbols. I jusc cant figure out why those files are so big heres an example: and the .ai file weight is 17,1 MB link to the file: http:

  • Ayuda, cómo agregar "Nombre de Usuario" desde LMS a Captivate

    Saludos a todos, ¿Alguien me puede ayudar? Necesito agregar el "Nombre de Usuario" en todo el curso y/o evaluación en Captivate 5, pero este dato debe de venir desde un LMS. (SumTotal) Ya hice el ejemplo en donde el usuario captura su nombre, pero no