User input as contructor parameter?

hi everyone
suppose i have a constructor(string, int)
usually i specify class object = new constructor(john, 21)
this time how can i let user to input john and 21 to the constructor
thanks

Use your main method arguments:
public static void main( String args[] )
     String stringArg = "John";  // default
     int intArg = 21;  // default
     if ( args.length == 2 ) // use the command line arguments
          stringArg = args[0];
          try
               intArg = Integer.parseInt( args[1] )
          catch (NumberFormatException nfe)
               // error handling goes here
       MyClass myObject = new MyClass( stringArg, intArg );
}RD-R
� {�                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

Similar Messages

  • How can I pass dynamic value as a user input parameter in discoverer?

    Hi,
    I have a requirement for a discoverer report like this: The report will display only details for Suppliers that have expired (or soon to be) Insurance details. That is the Expiration Date is less than or equal to the day the report is being run plus any days specified in the Number of Days in the Future Parameter.
    The sample code as:
    SELECT s.segment1 vendor_number
    ,s.vendor_name
    ,flv1.meaning classification
    ,pca.certificate_number
    ,pca.certifying_agency
    ,pca.expiration_date
    ,flv2.meaning status
    FROM ap_suppliers s
    ,pos_bus_class_attr pca
    ,fnd_lookup_values flv1
    ,fnd_lookup_values flv2
    WHERE pca.vendor_id = s.vendor_id
    AND flv1.lookup_code = pca.lookup_code
    AND flv1.lookup_type = pca.lookup_type
    AND flv2.lookup_code = pca.class_status
    AND flv2.lookup_type = 'POS_BUS_CLASS_STATUSES'
    AND pca.expiration_date <= trunc(sysdate) + <No. of Days in the Future>
    order by pca.expiration_date asc
    Now the parameter is Number of Days in the Future (Enter the number days in the future to extract the data. This will default to 0).
    Is it possible in discoverer to do so as in query i do that like a condition as pca.expiration_date <= trunc(sysdate) + <No. of Days in the Future>.
    How can I pass <No. of Days in the Future> as a user input parameter in discoverer?
    Please help.

    Hi,
    All you need to do is to create the condition in the discoverer instead of in the query.
    Create a custom folder containing the following sq (note that i removed the condition)l:
    SELECT s.segment1 vendor_number
    ,s.vendor_name
    ,flv1.meaning classification
    ,pca.certificate_number
    ,pca.certifying_agency
    ,pca.expiration_date
    ,flv2.meaning status
    FROM ap_suppliers s
    ,pos_bus_class_attr pca
    ,fnd_lookup_values flv1
    ,fnd_lookup_values flv2
    WHERE pca.vendor_id = s.vendor_id
    AND flv1.lookup_code = pca.lookup_code
    AND flv1.lookup_type = pca.lookup_type
    AND flv2.lookup_code = pca.class_status
    AND flv2.lookup_type = 'POS_BUS_CLASS_STATUSES'
    Then create a discoverer report using this folder using all fields.
    Create a new calculation as (use this exact syntax):
    Sysdate + :No_of_Days_in_the_Future
    Create a new condition:
    pca.expiration_date <= <your calculation>
    To complete it add a sort as you did in the SQL.
    That's it.
    Tamir

  • SQL- 2005 : User Input in select statement's where cond [Input Parameter]

    Hi All
    i am using SQL Server 2005 , i want to select the data based on the user input in where condition,
    but i am not sure what to give in where condition,can anyone have any idea on this
    SELECT [NO]
          ,[NAME]
          ,[PAGE_COUNT]
      FROM [DS].[DB].[tablename]
    where [NO]=???
    Regards
    Chaitanya.A

    HI
    public String getEmployeeName(String employeeNumber)
              // TODO : Implement
              String name = new String();
              String exception = new String();
              try
              InitialContext initialContext = new InitialContext();
              DataSource dataSource =(DataSource) initialContext.lookup("jdbc/XXXX");
              java.sql.Connection connection = dataSource.getConnection();
              PreparedStatement stmt =connection.prepareStatement("SELECT [NAME]FROM [XXX].[ASDF].[ABCD] where [NO]=?");
              stmt.setString(1,employeeNumber);
              ResultSet result = stmt.executeQuery();
              while (result.next())
                   name = result.getString("Name");
                   connection.close();
                   return name;
              catch (Exception e)
                   exception = "Exception";
                   return exception;
    i used the above function to achieve my requirement
    Thanks
    Chaitanya.A

  • How to capture user input for customer exit processing?

    I need to calculate the number of working days elapsed in the current fiscal quarter BASED on the USER INPUT on the reporting front.  i.e., say the fiscal quarter started on 1 July 2005 and if the user enters 10 July 2005, I should get the value 8 (Assume that Monday through Friday are all workdays).  If the user enters 12 July 2005, I should get 10.  I have written customer exits and know how to use factory calendar, but <b>THE CHALLENGE</b> is how do I <b>CAPTURE</b> the user input and use it in my exit?  During the varible definition, if I select the check box "Ready for input" then the customer exit is not being processed and unless I check that box I can't get a user entry!  If I look at the import values in the customer exit, I see i_t_var_range with type rrs0_t_var_range.  My strong feeling is that this parameter gets the user input, but I am unable to use it as the customer exit is not being called if I make the user to input the data.  Based on the empirical evidence, I felt that user input and customer exit can not co-exist!!  Please somebody prove me wrong and let me know how can I use the user input to process my "customer-exit" variable.  I would really appreciate any input from the BW community here.

    Hi Sameer,
    Most likely, I'm missing something, but I think that the answer is very simple.
    CASE I_VNAM.
    WHEN 'YOUR_CUSTOMER_EXIT_VAR'.
    IF I_STEP = 2. “ After selecting of input variable
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'USER_INPUT_VAR'.
    CLEAR L_S_RANGE.
    L_S_RANGE-LOW = LOC_VAR_RANGE-LOW(4).
    APPEND L_S_RANGE TO E_T_RANGE.
    ENDLOOP.
    ENDIF.
    ENDCASE.
    In this typical user exit coding you have a user entered value in LOC_VAR_RANGE (originally in I_T_VAR_RANGE) and you construct your user exit variable value in E_T_RANGE.
    Best regards,
    Eugene
    Message was edited by: Eugene Khusainov

  • Calling report from a form with user input parameters

    Hello,
    I am new to Oracle reports. I have an application coded in 6i. I am currently running the application in Oracle Forms Builder 9i. There are also few reports which are called from the forms. Since the application was developed in 6i, the report was called using Run_Product. The forms pass a set of user parameters to the report using the parameter list pl_id. The syntax used was Run_Product(REPORTS, 'D:\Report\sales.rdf', SYNCHRONOUS, RUNTIME,FILESYSTEM, pl_id, NULL);
    I learnt that the Run_product doesnt work in 9i and we need to use run_report_object. I have changed the code to use run_report_object and using web.show_document () i am able to run the report from the form. There are 2 parameters that need to be passed from forms to reports. The parameters are from_date and to_date which the user will be prompted to enter on running the form. In the report, the initial values for these parametes are defined. So, the report runs fine for the initial value always. But when i try to change the user inputs for the form_date and to_date, the report output doesnt seem to take the new values, instead the old report with the initial values(defined in the report) runs again.
    Can someone give me the code to pass the user defined parameters to the report from the forms? I have defined a report object in the forms node as REPTEST and defined a parameter list pl_id and added form_date and to_date to pl_id and used the following coding:
    vrepid := FIND_REPORT_OBJECT ('REPTEST');
    vrep := RUN_REPORT_OBJECT (vrepid,pl_id);
    But this doesnt work.
    Also, Should the parameters defined in the forms and reports have the same name?

    Thanks for the quick response Denis.
    I had referred to the document link before and tried using the RUN_REPORT_OBJECT_PROC procedure and ENCODE functions as given in the doc and added the following SET_REPORT_OBJECT_PROPERTY in the RUN_REPORT_OBJECT_PROC :
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
    But this also dint work. Please help me understand what difference does setting paramform=no OR paramform=yes make?
    In the report, i have defined the user parameters as FROM_DATE and TO_DATE respectively so that they match the form datablock BLK_INPUT items FROM_DATE and TO_DATE.
    My WHEN_BUTTON_PRESSED trigger is as below:
    DECLARE
    report_id report_object;
    vrep VARCHAR2 (100);
    v_show_document VARCHAR2 (2000) := '/reports/rwservlet?';
    v_connect VARCHAR2 (30) := '&userid=scott/tiger@oracle';
    v_report_server VARCHAR2 (30) := 'repserver90';
    BEGIN
    report_id:= find_report_object('REPTEST');
    -- Call the generic PL/SQL procedure to run the Reports
    RUN_REPORT_OBJECT_PROC( report_id,'repserver90','PDF',CACHE,'D:\Report\sales.rdf','paramform=no','/reports/rwservlet');
    END;
    ... and the SET_REPORT_OBJECT_PROPERTY code in the RUN_REPORT_OBJECT_PROC procedure is as:
    PROCEDURE RUN_REPORT_OBJECT_PROC(
    report_id REPORT_OBJECT,
    report_server_name VARCHAR2,
    report_format VARCHAR2,
    report_destype_name NUMBER,
    report_file_name VARCHAR2,
    report_otherparam VARCHAR2,
    reports_servlet VARCHAR2) IS
    report_message VARCHAR2(100) :='';
    rep_status VARCHAR2(100) :='';
    vjob_id VARCHAR2(4000) :='';
    hidden_action VARCHAR2(2000) :='';
    v_report_other VARCHAR2(4000) :='';
    i number (5);
    c char;
    c_old char;
    c_new char;
    BEGIN
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_COMM_MODE,SYNCHRONOUS);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME,report_file_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_SERVER,report_server_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE,report_destype_name);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESFORMAT,report_format);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,' FROM_DATE='||:BLK_INPUT.FROM_DATE||' TO_DATE='||:BLK_INPUT.TO_DATE||' paramform=no');
    hidden_action := hidden_action ||'&report='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_FILENAME);
    hidden_action := hidden_action||'&destype='||GET_REPORT_OBJECT_PROPERTY(report_id,REPORT_DESTYPE);
    hidden_action := hidden_action||'&desformat='||GET_REPORT_OBJECT_PROPERTY (report_id,REPORT_DESFORMAT);
    hidden_action := hidden_action ||'&userid='||get_application_property(username)||'/'||get_application_property(password)||'@'||get_application_property(connect_string);
    c_old :='@';
    FOR i IN 1..LENGTH(report_otherparam) LOOP
    c_new:= substr(report_otherparam,i,1);
    IF (c_new =' ') THEN
    c:='&';
    ELSE
    c:= c_new;
    END IF;
    -- eliminate multiple blanks
    IF (c_old =' ' and c_new = ' ') THEN
    null;
    ELSE
    v_report_other := v_report_other||c;
    END IF;
    c_old := c_new;
    END LOOP;
    hidden_action := hidden_action ||'&'|| v_report_other;
    hidden_action := reports_servlet||'?_hidden_server='||report_server_name|| encode(hidden_action);
    SET_REPORT_OBJECT_PROPERTY(report_id,REPORT_OTHER,'pfaction='||hidden_action||' '||report_otherparam);
    -- run Reports
    report_message := run_report_object(report_id);
    rep_status := report_object_status(report_message);
    IF rep_status='FINISHED' THEN
    vjob_id :=substr(report_message,length(report_server_name)+2,length(report_message));
    message('job id is'||vjob_id);pause;
    WEB.SHOW_DOCUMENT(reports_servlet||'/getjobid'||vjob_id||'?server='||report_server_name,' _blank');
    ELSE
    --handle errors
    null;
    END IF;
    In the code - " hidden_action := hidden_action ||'&'|| v_report_other; " in the RUN_REPORT_OBJECT_PROC procedure above, how do i make sure that the v_report_other variable reflects the user input parameters FROM_DATE and TO_DATE ??? v_report_other is initialised as v_report_other VARCHAR2(4000) :=''; in the procedure. Will ensuring that the v_report_other contains the user input parameters FROM_DATE and TO_DATE ensure that my report will run fine for the input parameters?
    Thanks in advance.
    Edited by: user10713842 on Apr 7, 2009 6:05 AM

  • How to check the value from user input in database or not?

    Hello;
    I want to check the value of user input from JtextFiled in my database or not.
    If it is in database, then i will pop up a window to tell us, otherwise, it will tell us it is not in database.
    My problem is my code do not work properly, sometimes, it tell me correct information, sometime it tell wrong information.
    Could anyone help,please.Thanks
    The following code is for check whether the value in database or not, and pop up a window to tell us.
    while( rs.next()) {
                    System.out.println("i am testing");
                    bInt=new Integer(rs.getInt("id"));
                    if(aInt.equals(bInt)){ // If i find the value in data base, set flag to 1.
                  flag=1;  //I set a flag to check whether the id in database or not
                        break;
             System.out.println("falg" + flag);
                if(flag==1){ //?????????????????????
              String remove1 = "DELETE FROM Rental WHERE CustomerID=" + a;
              String remove2 = "DELETE FROM Revenus WHERE CustomerID=" +a;
              String remove3 = "DELETE FROM Customer WHERE id=" +a;
              s.executeUpdate(remove1);
              s.executeUpdate(remove2);
              s.executeUpdate(remove3);
                    JOptionPane.showMessageDialog(null,"you have success delete the value");
              s.close();
             else//???????????????????????????????
                  JOptionPane.showMessageDialog(null,"I could not found the value"); -------------------------------------------------------------------
    My whole program
    import java.sql.*;
    import java.awt.BorderLayout;
    import javax.swing.JFrame;
    import javax.swing.JScrollPane;
    import javax.swing.JTable;
    import javax.swing.JOptionPane;
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import java.util.*;
    public class DeleteC extends JFrame
        public static int index=0;   
        public static ResultSet rs;
        public static Statement s;
        public static Connection c;
        public static  Object cols[][];
        private static JTable table;
        private static JScrollPane scroller;
        private static int flag=0;
        public DeleteC()
            //information of our connection
            //the url of the database: protocol:subprotocol:subname:computer_name:port:database_name
            String strUrl      = "jdbc:oracle:thin:@augur.scms.waikato.ac.nz:1521:teaching";
            //user name and password
            String strUser      = "xbl1";
            String strPass      = "19681978";
            //try to load the driver
            try {
                Class.forName("oracle.jdbc.driver.OracleDriver");
            catch (ClassNotFoundException e) {
                System.out.println( "Cannot load the Oracle driver. Include it in your classpath.");
                System.exit( -1);
            //a null reference to a Connection object
            c = null;
            try {
                //open a connection to the database
                c = DriverManager.getConnection( strUrl, strUser, strPass);
            catch (SQLException e) {
                System.out.println("Cannot connect to the database. Here is the error:");
                e.printStackTrace();
                System.exit( -1);
           //create a statement object to execute sql statements
        public void getData(String a){
            try {
             //create a statement object to execute sql statements
             s = c.createStatement();
                int index=0;
                Integer aInt= Integer.valueOf(a);
                Integer bInt;
                  //our example query
                String strQuery = "select id from customer";
                //execute the query
                ResultSet rs = s.executeQuery( strQuery);
                //while there are rows in the result set
                while( rs.next()) {
                    System.out.println("i am testing");
                    bInt=new Integer(rs.getInt("id"));
                    if(aInt.equals(bInt)){
                  //JOptionPane.showMessageDialog(null,"I found the value"); 
                  flag=1;
                        break;
             System.out.println("falg" + flag);
                if(flag==1){
              String remove1 = "DELETE FROM Rental WHERE CustomerID=" + a;
              String remove2 = "DELETE FROM Revenus WHERE CustomerID=" +a;
              String remove3 = "DELETE FROM Customer WHERE id=" +a;
              s.executeUpdate(remove1);
              s.executeUpdate(remove2);
              s.executeUpdate(remove3);
                    JOptionPane.showMessageDialog(null,"you have success delete the value");
              s.close();
             else
                  JOptionPane.showMessageDialog(null,"I could not found the value");
            catch (SQLException e) {
                 JOptionPane.showMessageDialog(null,"You may enter wrong id");
    My main program for user input from JTextField.
    import java.awt.*;
    import java.awt.event.*;
    import javax.swing.*;
    import javax.swing.JOptionPane;
    import java.util.*;
    public class EnterID extends JFrame{
        public JTextField tF1;
        public EnterID enID;
        public String tF1Value;
        private JLabel label1, label2, label3;
        private static JButton button;
        private static ButtonHandler handler;
        private static String aString;
        private static Integer aInteger;
        private static Integer checkV=0;
        public static void main(String args[]){
           EnterID eId= new EnterID();
       public EnterID(){
          handler=new ButtonHandler();
          Container c= getContentPane();
          c.setLayout(new GridLayout(3,1));
          button= new JButton("ok");
          button.addActionListener(handler);
          label1 = new JLabel(" CustomerID, Please");
          label2 = new JLabel("Label2");
          label3 = new JLabel();
          label3.setLayout(new GridLayout(1,1));
          label3.add(button);
          label2.setLayout(new GridLayout(1,1));
          aString = "Enter Id Here";
          tF1 = new JTextField(aString);
          label2.add(tF1);
          c.add(label1);
          c.add(label2);         
          c.add(label3);            
          setSize(150,100);
          setVisible(true);     
       private class ButtonHandler implements ActionListener{
         public void actionPerformed(ActionEvent event){
             tF1Value=tF1.getText();
            //   CheckData cData = new CheckData();
             //  aInteger = Integer.valueOf(tF1Value);      
             if(tF1Value.equals(aString)){
              JOptionPane.showMessageDialog(null,"You didn't type value into box");
              setVisible(false); 
            else {
                DeleteC dC= new DeleteC();
                dC.getData(tF1Value);
                setVisible(false); 
    }

    You may have working code now, but the code you posted is horrible and I'm going to tell you a much much much better approach for the JDBC part. (You should probably isolate your database code from your user interface code as well, but I'm skipping over that structural problem...)
    Do this instead:
        public void getData(String a){
            PreparedStatement p;
            String strQuery = "select count(*) the_count from customer where id = ?";
            try {   
             //create a prepared statement object to execute sql statements, it's better, faster, safer
             p = c.prepareStatement(strQuery);
                // bind the parameter value to the "?"
                p.setInt(1, Integer.parseInt(a) );
                //execute the query
                ResultSet rs = p.executeQuery( );
                // if the query doesn't throw an exception, it will have exactly one row
                rs.next();
                System.out.println("i am testing");
                if (rs.getInt("the_count") > 0 ) {
                // it's there, do what you need to...
             else
                  JOptionPane.showMessageDialog(null,"I could not find the value");
            catch (SQLException e) {
                 // JOptionPane.showMessageDialog(null,"You may enter wrong id");
                 // if you get an exception, something is really wrong, and it's NOT user error
            // always, always, ALWAYS close JDBC resources in a finally block
            finally
                p.close();
        }First, this is simpler and easier to read.
    Second, this retrieves just the needed information, whether or not the id is in the database. Your way will get much much slower as more data goes into the database. My way, if there is an index on the id column, more data doesn;t slow it down very much.
    I've also left some important points in comments.
    No guarantees that there isn't a dumb typo in there; I didn't actually compile it, much less test it. It's at least close though...

  • Capturing and displaying user input in Crystal Reports

    Hi all,
    Iu2019m creating a crystal report with SAP as data-source and want to capture user input and display it on the report.  I have defined parameters to capture the input and added them to the report header.   I have then created formula fields to capture user input using the JOIN statement to accommodate multiple values.   Everything works well when users enter values for all the parameters, but when they leave some blank I get an error message u201CParameter value is nullu201D.
    Has anyone encountered this type of problem;  Anyone knows how to resolve this?

    Hi
    In parameter window make the Optional prompt to True.  And change make change in your record selection formula like this :
    (not HasValue({?PrjMgr@SELECT Firstname,lastname FROM OHEM}) OR
    ISNULL({?PrjMgr@SELECT Firstname,lastname FROM OHEM}) OR
    ({?PrjMgr@SELECT Firstname,lastname FROM OHEM} = '') OR
    {OHEM.firstName} = {?PrjMgr@SELECT Firstname,lastname FROM OHEM})
    Regards

  • Can I capture crystal report user input in my web application?

    Folks, I have a report that has a input paramter named "AccountKey". Crystal report launches its own input parameter capture screen where user can type in the AccountKey value and hit OK button. Subsequently the crystal report gets renedred in crystal report viewer.
    I have a requirement of rendering the report in PDF not in crystal report. How do I do that.
    I am able to do that when there is no user input needed in the crystal report or, if I can somehow supply needed input from code-behind, but the moment I has a parameter that expects user-input I loose control.
    Is there anyway I can capture what value user has entered in Crystal Report Input paramagter capture form? or, any alternate that can help me acheive the result?
    Thanks.

    Hi,
    To capture the values of Parameters the best thing you can do is to code for parameters and take values from it through text boxes, so that you can capture it.
    here some sample code for it - try it
    I would like you to know the following code that I have tried at my end using Viewer Object model:
    // Object Declaration
    ParameterFields boParameterFields = null;
    ParameterField boParameterField = null;
    ParameterValues boParameterValues = null;
    ParameterDiscreteValue boParameterDiscreteValue = null;
    ParameterRangeValue boParameterRangeValue = null;
    // loading the report
    CrystalReportViewer1.ReportSource = Server.MapPath("ReportWithSubReport.rpt");
    CrystalReportViewer1.RefreshReport();
    // passing database credentials...
    foreach(CrystalDecisions.Shared.TableLogOnInfo boTableLogOnInfo in CrystalReportViewer1.LogOnInfo)
                  ConnectionInfo boConnectionInfo = boTableLogOnInfo.ConnectionInfo;
                  boConnectionInfo.UserID ="sa";
                  boConnectionInfo.Password="sa";
    // Parameter Country
    boParameterFields = CrystalReportViewer1.ParameterFieldInfo;
    boParameterField = boParameterFields["Country"];
    boParameterValues = boParameterField.CurrentValues;
    boParameterDiscreteValue = new ParameterDiscreteValue();
    boParameterDiscreteValue.Value = "Argentina";
    boParameterValues.Add(boParameterDiscreteValue);
    // Parameter Sales
    boParameterField = boParameterFields["Sales"];
    boParameterValues = boParameterField.CurrentValues;
    boParameterRangeValue = new ParameterRangeValue();
    boParameterRangeValue.StartValue = 25000;
    boParameterRangeValue.EndValue = 100000;
    boParameterValues.Add(boParameterRangeValue);
    // Parameter @percentage in subreport named SubReport
    boParameterField = boParameterFields["@percentage", "SubReport"];
    boParameterValues = boParameterField.CurrentValues;
    boParameterValues.Clear();
    boParameterDiscreteValue = new ParameterDiscreteValue();
    boParameterDiscreteValue.Value = 75;
    boParameterValues.Add(boParameterDiscreteValue);
    Please note that I have used Range and Discrete values as parameter in the above code.
    Also if you want to use the ReportDocument Object model then you can use:
    ReportDocument.SetParameterValues("Parameter name", value)
    Note:- This code is valid for only discrete values of Parameters.
    or
    boParameterFieldDefinitions = boReportDocument.DataDefinition.ParameterFields;
    boParameterFieldDefinition = boParameterFieldDefinitions["@percentage","SubReport"];
    boParameterValues = boParameterFieldDefinition.CurrentValues;
    For getting output in PDF you can export the report to PDF throug viewer or from code fro e.g.-
    boReportDocument.ExportToDisk(ExportFormatType.portabledocumentformat,"c:\\temp\\myrpt.pdf");
    To download sample code click [here|https://boc.sdn.sap.com/codesamples].
    You can also take help from [Dev library|https://boc.sdn.sap.com/node/7770]
    Hope this helps!!
    Regards,
    Amit

  • User input dependant

    dear
    i am creaintg a report, in which i am using two parameters, one parameter is from the DB while other paramter is dependant upon user input like YES or NO. I have two queries, if user enters YES then Q_1 should be executed if user enters NO then Q_2 should be executed. How can I do this in Reports, I am using Oracle Reports 9i. I tried to user BEFORE REPORT trigger but i am unable to call the query there, please help me out in writing code.
    function BeforeReport return boolean is
    begin
    if :OPTION='YES' then
         (Q_1 should be called here)
    end if;
    else if :OPTION='NO then
         (Q_2 should be called here)
    return (TRUE);
    end;
    Message was edited by:
    qadir

    Thanks Marcos dear
    well, i am trying to understand what you suggest but not able to understand, let me jst explain you the query. Actually I am getting two inputs from user one inut is used to build a query i mean if user inputs any data it will be in WHERE clause in my select statement.
    Now other input is just to show that if user inputs YES then Q_1 should be executed, if user inputs NO then Q_2 should be executed. this 2nd input has nothing to do with the database its just YES or NO. If user enters NO then this query should be executed.
    SELECT STO.STO_PART PART,PAR.PAR_DESC DESCRIPTION,'('||STO.STO_CLASS||')' CLASS,
    STO.STO_MINLEV "MIN LEVEL",STO.STO_MAXQTY "MAX LEVEL",STO.STO_ORDLEV "REORDER LEVEL",
    STO.STO_QTY "CURRENT QUANTITY",STO.STO_ABCCLASS "ABC CLASS",STO.STO_PREFSUP "PREFERRED SUPPLIER"
    FROM R5STOCK STO,R5PARTS PAR
    WHERE PAR.PAR_CODE=STO.STO_PART
    AND PAR.PAR_ORG=STO.STO_PART_ORG
    AND STO.STO_QTY<=STO.STO_MINLEV
    AND STO.STO_STORE= :STORE
    AND STO.STO_MINLEV=0
    AND STO.STO_MAXQTY=0
    ORDER BY STO.STO_PART
    otherwise if user inputs YES then
    SELECT STO.STO_PART PART,PAR.PAR_DESC DESCRIPTION,'('||STO.STO_CLASS||')' CLASS,
    STO.STO_MINLEV "MIN LEVEL",STO.STO_MAXQTY "MAX LEVEL",STO.STO_ORDLEV "REORDER LEVEL",
    STO.STO_QTY "CURRENT QUANTITY",STO.STO_ABCCLASS "ABC CLASS",STO.STO_PREFSUP "PREFERRED SUPPLIER"
    FROM R5STOCK STO,R5PARTS PAR
    WHERE PAR.PAR_CODE=STO.STO_PART
    AND PAR.PAR_ORG=STO.STO_PART_ORG
    AND STO.STO_QTY<=STO.STO_MINLEV
    AND STO.STO_STORE= :STORE
    ORDER BY STO.STO_PART
    i am sure you will understand now.

  • Selecting user input from Select option into smart form

    Hi,
    when i use parameter then i wil show company code in smart-form output
    but when i use  select option then its throwing error parameter specified here is different
    what should i do in this case i want to design a big select option screen for taking user input
    REPORT  ZMM.
    TABLES BSEG.
    DATA : V_FORMNAME TYPE TDSFNAME VALUE 'ZPUR_REG',
           V_FMNAME TYPE RS38L_FNAM.
    *PARAMETERS SO_BUKRS TYPE BUKRS.
    SELECT-OPTIONS : SO_BUKRS FOR BSEG-BUKRS.
    DATA : Z_CONTROL TYPE SSFCTRLOP,      "Smart Forms: Control structure
            Z_OPTIONS TYPE SSFCOMPOP.      "SAP Smart Forms: Smart Composer (transfer) options.
    MOVE 'X' TO : Z_control-no_dialog,        "SAP Smart Forms: General Indicator
                   Z_options-tdnewid,          "New Spool Request (Print Parameters)
                   z_control-PREVIEW.         "Print preview
    MOVE 'LP01' TO Z_options-tddest.         "Spool: Output device
    MOVE space  TO Z_options-tdimmed.        "Print Immediately (Print Parameters).
    MOVE 'PRINTER' TO Z_control-device.      "Output device
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        FORMNAME = V_FORMNAME
      IMPORTING
        FM_NAME  = V_FMNAME.
    CALL FUNCTION V_FMNAME
      EXPORTING
        CONTROL_PARAMETERS = Z_CONTROL
        OUTPUT_OPTIONS     = Z_OPTIONS
        USER_SETTINGS      = ''
        BUKRS              = SO_BUKRS.
    pls help me in this regards.
    ketan..

    hi
    thnx for your reply
    can u pls elaborate in my code
    now i changed code   BUKRS    = SO_BUKRS-low.
    either i can give low or high but how to select from range
    REPORT  ZMM.
    TABLES BSEG.
    DATA : V_FORMNAME TYPE TDSFNAME VALUE 'ZPUR_REG',
           V_FMNAME TYPE RS38L_FNAM.
    *PARAMETERS SO_BUKRS TYPE BUKRS.
    SELECT-OPTIONS : SO_BUKRS FOR BSEG-BUKRS.
    DATA : Z_CONTROL TYPE SSFCTRLOP,      "Smart Forms: Control structure
            Z_OPTIONS TYPE SSFCOMPOP.      "SAP Smart Forms: Smart Composer (transfer) options.
    MOVE 'X' TO : Z_control-no_dialog,        "SAP Smart Forms: General Indicator
                   Z_options-tdnewid,          "New Spool Request (Print Parameters)
                   z_control-PREVIEW.         "Print preview
    MOVE 'LP01' TO Z_options-tddest.         "Spool: Output device
    MOVE space  TO Z_options-tdimmed.        "Print Immediately (Print Parameters).
    MOVE 'PRINTER' TO Z_control-device.      "Output device
    CALL FUNCTION 'SSF_FUNCTION_MODULE_NAME'
      EXPORTING
        FORMNAME = V_FORMNAME
      IMPORTING
        FM_NAME  = V_FMNAME.
    CALL FUNCTION V_FMNAME
      EXPORTING
        CONTROL_PARAMETERS = Z_CONTROL
        OUTPUT_OPTIONS     = Z_OPTIONS
        USER_SETTINGS      = ''
        BUKRS              = SO_BUKRS-low.
    ketan..

  • Using User Input Rather Than "strStartFolder".

    Hi guys!  
    This script is very simple but it's part of a project I've been working on for some time now.  Any VBS guru (or novice for that matter) will be able to tell what it does after a brief scan of the code.  Again, like I said, this is a very simple
    script.
    For newcomers, this script siimply looks for duplicate files in a folder on one or more of your drives.
    However, I'm having 2 issues...  
    First, I need to change the script to where the Wscript engine is used to ask for user input via an InputBox and for that data to be read into a variable which could be "strStartFolder"?  If
    not, any variable will do, but having to enter in location you wish to search by editing the script manually is not practical.
    strStartFolder instead of someone having to edit the code manually each time and enter the path to the folder you wish to scan.  In this example, I have last scanned the "Largest Vidz Appz and Musik Folder" on drive H:\.  I did this manually
    of course...  
    I have played with this using several methods which all only seemed to work "partially".  
    The second issue I am having is that you cannot scan just a drive.  It MUST be a folder.  If you input, for example, "H:\" you will receive an error stating that either permission has been denied or the path cannot be found.  
    Still being somewhat of a noob myself when it comes to scripting I'm sure there is some simple parameter I can/could have entered to fix this but I tried, "H:\*", H:\*\", H:\*.xxx"\ (.xxx being the extension of course) and other things).
     Nothing seems to work but I believe that is because of who the original VBS was coded initially.   Again, this is why I come to the greatest resource on the net.
    One more thing, when all is said and done the script should ask for a user's input via Wscript so that an InputBox greets them with a message such as, "Please enter the location you wish to scan for duplicates:".  And then, depending on their
    answer (being of correct syntax, etc, etc) the script runs and outputs a file named "dups.txt" using the Cscript engine.  
    Please note that I have been running the script as follows to allow for output to a text document.  "C:\cscript //nologo FindDuplicates.vbs > duplicates.txt", I would like to avoid having to do this as well if possible but it's ok if not. 
    Running this script by "double clicking" can be a disaster if you have tons of duplicate files.  So asking for user input is the only area where Wscript need be used.  But hey, this is why I'm here.  For guidance...  
    This is cake for most of you so I will be interested in seeing the different ways you all come up with resolving this issue.  
    Anyway, here is the script!  Thanks in advance for your help!
    Dave
    Set objDictionary = CreateObject("Scripting.Dictionary")
    Set objFSO = CreateObject("Scripting.FileSystemObject")
    strStartFolder = "H:\Largest Vidz, Appz and Musik Folder"
    Set objFolder = objFSO.GetFolder(strStartFolder)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
    strName = objFile.Name
    strPath = objFile.Path
    If Not objDictionary.Exists(strName) Then
    objDictionary.Add strName, strPath
    Else
    objDictionary.Item(strName) = objDictionary.Item(strName) & ";" & strPath
    End If
    Next
    ShowSubfolders objFSO.GetFolder(strStartFolder)
    For Each strKey in objDictionary.Keys
    strFileName = strKey
    If InStr(objDictionary.Item(strFileName), ";") Then
    arrPaths = Split(objDictionary.Item(strFileName), ";")
    Wscript.Echo strFileName
    For Each strFilePath in arrPaths
    Wscript.Echo strFilePath
    Next
    Wscript.Echo
    End If
    Next
    Sub ShowSubFolders(Folder)
    For Each Subfolder in Folder.SubFolders
    Set objFolder = objFSO.GetFolder(Subfolder.Path)
    Set colFiles = objFolder.Files
    For Each objFile in colFiles
    strName = objFile.Name
    strPath = objFile.Path
    If Not objDictionary.Exists(strName) Then
    objDictionary.Add strName, strPath
    Else
    objDictionary.Item(strName) = objDictionary.Item(strName) & ";" & strPath
    End If
    Next
    ShowSubFolders Subfolder
    Next
    End Sub
    Again, thank you in advance for your help..  And why is some of my text here in this post showing in smaller font than other text?  It seems to be dependent on the line you type on?  This is,
    of course, not the problem I came here to resolve, I am only curious.  ;-)
    DB
    PAinguIN

    Thank you for your response!  
    So if I used the "MyMessage" variable after the "=" in the line below then the users input should be the folder that is searched as long as your lines are added before this line correct?
    Thanks again!
    DB
    strStartFolder = "H:\Largest Vidz, Appz and Musik Folder"
    PAinguIN

  • Failed to accept user input when run report on Web

    I've testing a report with one input parameter. It's a date with default current date. It is done by using SQL 'select sysdate from dual;' has been added to before form trigger. User is allowed to input any date other than the default sysdate before submitting the report. The report works fine when run in report builder, but it's failed to accepted user input date when called through web browser. The report still uses the current date as SQL parameter rather than user input date.
    Can anyone help me to fix this bug?
    The report is develped by Oracle 9i and is saved and run in .rdf format.

    I created a report with a user defined parameter p_date of DATE type. In the layout model, I created a field with p_date as data source. In the before form trigger, I put
    'select sysdate into :p_date from dual;
    I run the report through rwservlet:
    http://host:port/reports/rwservlet?report=datetest.rdf&destype=cache&desformat=html&userid=scott/tiger@orcl&paramform=yes
    In the html parameter form, I change the date from default current date to a future date and that date is shown in the final report.
    So I can't reproduce the bug.
    One thing you can try it to turn on reports server trace file, see what command line is sent to reports server when you submitting the parameter form.
    Thanks,
    -Shaun

  • How to generate the User-Input XML Body for executing workflows via REST APIs: The Solution

    I see that executing a workflow via REST APIs requires lot of work to be done just to prepare the right User-input XML body. Any mistake and you have some major debugging to do. Larger the number of User-Inputs, the bigger is the problem.Life is so much easier at the WFA GUI with Display names and tooltip help for User Inputs which are very easy for reading and providing the right values. I don't have any such privileges when manually preparing the User-Input XML body.It’s been asked numerous times how to provide User-Input values for type table, or Query (Multi-Select) etc. These are complex User-Input types and has lots of scope for user mistakes.I can have User-input dependency at WFA GUI which allows me to make the right selection, but while preparing my XML body I need to take care of it myself.An operator is allowed to execute workflows, but the same Display names which help him make the right user-inputs, makes it impossible for him to prepare the user-input body xml. Display names can't be used in in XML body and he can't know the exact parameter names by looking at the Display names. So he need to always contact the Admins/Architects for this. And Architects/Admins can't be expected to keep providing User-Input XML body to operators every operator. How about if I could enter all the User-Input values in my workflow execution at WFA GUI, I can do a preview which passed to my satisfaction and then I can magically get the XML body for it which I can use to execute my workflow from REST APIs from any client. It could be so very much easy for me than building my User-Input XML body manually. This is exactly what I'm going to give you right now. You open the WFA in browser, Go to your workflow, Start execution, you input values from GUI reading carefully the display names, preview it to your satisfaction and then get the XML body. Assume your workflow is called “Workflow to Print a given Message”. It’s a simple workflow with only 1 user-input Displayed as "Message to Print" Prerequisites:  The following are the one-time prerequisites. You need PowerShell 3.0 on your WFA server.Import the attached Generate_Workflow_User_Input_Body_in_XML.dar in your WFA. It’s our magical command called "Generate Workflow User Input Body in XML"Add credentials of a WFA Admin/Architect in you WFA itself with Name/IP: localhostMatch: ExactType: OtherName/IP: localhostUsername: <WFA Admin/Architect Username>Password: <User Password>   Steps: Suppose you have a workflow called "Workflow to Print a given Message". You want to execute it from REST apis and need to prepare the user input XML body.  Select this workflow and clone it. The workflow clone is the exact copy of your original workflow word by word, input-by-input. It will open in Edit mode with name "Workflow to Print a given Message - copy".Add the command "Generate Workflow User Input Body in XML" at the beginning of your workflow. This is a must. This command need to be the first command in your cloned workflow.This command requires no input. So for its Parameters just press okay and save the workflow.You are done.Now Execute the clone workflow. You'll see all the user-inputs available to you. Make your choices as you wish. Preview it to confirm that planning is passed and u have no errors.Execute it now.You'll see that the our magical command "Generate Workflow User Input Body in XML" has failed in our clone workflow execution. Don't worry, its fate was decided to be so. But it didn't fail before giving me what I really wanted. i.e. my XML body for my real workflow. It displayed it in the GUI as well as saved it in your WFA server @ C:\temp\<workflow_name_dd_MM_yyyy_hh_mm_ss_.xmlIt also deleted all the reservations of this particular failed job. So NO major residue left to be cleaned.To summarize: Clone Your workflow and Add the command "Generate Workflow User Input Body in XML" as your first command.    Start Execution, provide your User-inputs and preview it. Be satisfied and Press Okay.   Now Execute it.  After a few scconds this cloned workflow will fail with Error "All done. The Workflow will fail now."     See the command execution logs for this command. You'll see the User-Input XML body. It has also saved the XML file at C:\temp in your WFA server.   Have fun. sinhaa  

    Providing a new version 1.1.0 of the command "WFA Schedular" Changes made: Added conditional String Representation based on the Scheduling parameter provided. Provided check for the right number of parameters passed into the command.Added a new parameter "Expiry Date" to automatically stop the recurring execution upon expiry.Check for Posh3.0 version in code.Have Fun!! sinhaa Below example for:Schedule a workflow for recurring execution every alternate day i.e. once in 2 days at 10:30 PM starting 06-Jul-2015 (Today's date is 02-Jul-2015) . The recurring workflow execution  should expire on 31-Dec-2015 and stop.  

  • Condition based on Input value by parameter

    Hi experts,
    I  am looking for a solution in crystal reports  in conjustion to BI . I m using Bex query directly for this report rathing creating an universe.
    I am trying to create a RKF based on parameter value by user's input.
    For example : - user input a date FROM-TO and than I am filtering minimum and maximum value . Based on these 2 values I have to restrict a KF Sales amount.
    Whenever I try to do like this in formula I get this error. Can someone help me in that please ?
    if  ({ZCRETA_ZZCRETA_Q_001_TEST.[ZCALMTH]} <= {@Min}) then {ZCRETA_ZZCRETA_Q_001_TEST.[Measures]-[D6T7LZ8YG3KSRHCE821ZX1WVY]}
    I also tried while do as well but did not work.Bascially I am trying to do something like this
    If Calmonth <= Min ( already filtered by me from parameter's value ) than display sales amount.
    As per this logic I should be able to see all the sales amount wherver Calmonth is less than of equal to minimum value of Calmonth.
    Thanks in Advance,

    Hi, your statement is looking at a formula, not a parameter
    f ({ZCRETA_ZZCRETA_Q_001_TEST.ZCALMTH} <= {@Min}) then {ZCRETA_ZZCRETA_Q_001_TEST.Measures-D6T7LZ8YG3KSRHCE821ZX1WVY}
    If it was a parameter it should look like this
    if ({ZCRETA_ZZCRETA_Q_001_TEST.ZCALMTH} <= {?Min}) then {ZCRETA_ZZCRETA_Q_001_TEST.Measures-D6T7LZ8YG3KSRHCE821ZX1WVY}
    you may also need to add the else.

  • Need User input pop-up in powershell when its run as a background process of an Application

    Hi,
    I have created a powershell script which requires two parameters to be passed onto it for getting executed. This script is called by an application and runs it in background (no console /  window). During this process the application is unable to complete
    the execution of the script due to the missing user inputs (no popup comes for entering parameters by even after using read-host/[system.console]::Read()). 
    The powershell.exe process can only be seen in task manager.
    Is there a way in which my script will create a pop up and ask for the parameter values?
    Thanks,
    Sushruta Banerjee

    Hi,
    I have created a powershell script which requires two parameters to be passed onto it for getting executed. This script is called by an application and runs it in background (no console /  window). During this process the application is unable to complete
    the execution of the script due to the missing user inputs (no popup comes for entering parameters by even after using read-host/[system.console]::Read()). 
    The powershell.exe process can only be seen in task manager.
    Is there a way in which my script will create a pop up and ask for the parameter values?
    Thanks,
    Sushruta Banerjee
    Note that a process that runs with hidden windows will have all of its child process windows hidden. Any popup you add to the script will behidden.  There is nothing you can do about that.  This is by design.
    ¯\_(ツ)_/¯

Maybe you are looking for

  • HUGE file size in InDesign CS5

    Help! Deadline fast approaching and InDesign now down to a crawl. It's definitely InDesign... it's open while I'm typing this and I can see the letters here appear as I type. In InDesign, it's like being back in the dark ages... type way ahead and wa

  • Adobe reader & pdf browser plugin 2 license

    i've got a macbookpro, & my class lectures are presented in pdf format.  every time i go to open 1, i get a popup that i need to order a pdf browser plugin 2 license.  it let me access my pdfs last semester by requesting register later, but this seme

  • Automatic Posting accounts not allowed when G/L Account is entered in LIPS

    Dear all, In order to override the standard G/L account determination when PGI a delivery, we developed a routine to write the G/L account devired by the system and populate LIPS-KONTO with the account we want to post. This is working perfectly as so

  • Filename creation when ripping - no artist?

    when ripping a disc why can't i get artist-song as the filename? is it not possible? and is there an entry for 'genre' or 'style'?

  • Scanner driver samsung scx 4521f / How can I can with a SCX 4521f and Mountain Lion?

    Hi Gents, I have a Samsung SCX-4521f Scanner / Printer and downloaded a few days ago the printer driver, however it seems that the scanner doesn't work. Or if yes, could someone tell me how? Is there a driver somewhere that allow to scan with my Sams