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.

Similar Messages

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

  • Showing applets depending upon user input in one web page

    hi, I have three applets. I want to create a webpage, put three buttons (or other interactions) on it. If button one is clicked, applet one is shown. If button two is clicked, applet two is shown. I want this to happen in one web page only and one applet at a time depending on user input. Is there a way to do it? Do I need to use javascript? I am new to javascript ,but if you can point me to relevant javascript topics, i am willing to learn it. Thanks.

    There are a couple of ways I can think of off the bat...
    1) Create an IFrame that the Applet will be displayed in. The button you press submits a form whose target is the IFrame and whose action is a page with the correct Applet.
    2) Actually load all 3 Applets on the page and hide them all in a invisible divs. The button calls a javascript function that unhides a specific div (and hides all the others to be sure only one is displayed at a time).
    3) Uber-javascript AJAX like control that when the button is pushed makes a request to a page that returns the applet tag which the javascript control then inserts into the page at the proper location.
    I would toss up between 1 & 2.
    For code, search Google for important key words (like "form target iframe", or "javascript make divs invisible").

  • How can I have the user input two things to get result

    Hi
    I am trying to produce an interactive slide where the user will input two items and then receive the result.
    The easiest way to describe what I am hoping to do is..........
    Imagine the multipllication table and the user has to input what he wants to mulitiply ie 3 in the first text entry box and 5 in the next presses the button and the result is shown.
    Now imagine the table isn't a mathematical table but a series of words across the x and y axis. The user inputs Word A, Word B and presses submit and the answer (another word) depending on the two inputs appears. There would be 12 x12 table so 144 different combinations.
    Is this possible in Captivate 7?
    thanks
    Ruth

    HI
    There is little relationship between the two, this isn't actually the table but the same principle and shows what I am trying to acheive.
    cookies
    muffins
    cupcakes
    chicken roast
    crispies
    gas mark 1
    great idea
    gas mark 2
    great idea
    flapjacks
    gas mark 2
    gas mark 3
    350 C
    450F
    roast potatoes
    impossible
    great idea
    gas mark 3
    450F
    parsnips
    great idea
    350 C
    gas mark 3
    impossible
    thanks
    Ruth

  • 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

  • Displaying columns based on User Input

    Hi,
    I have a following requirement :
    I have four columns in a report : Performance Indicator ,Target (XTD) , Actual (XTD),Indicator(Traffic Lights)
    Based on the prompt, which contains column named as "Review Frequency" having values as 1. Monthly 2. Quaterly 3. Yearly.
    When User select "Monthly" in pormpt I want to see MTD in Actual and Target column and Indicator depending on these columns.
    When User select "Quaterly" in pormpt I want to see QTD in Actual and Target column and Indicator depending on these columns.
    Can anybody tell me how can we achieve this?
    I think I can achieve this with guided navigation but for that I have to create 3 reports.
    Can anybody have any better idea to create just one report and based on user input I can show/hide columns in a single report?
    This is mainly related to Balanced ScoreCard.
    Thanks in advance
    Regards,
    Vikas

    you have seperate columns for monthly, quarterly, and yearly, right?
    In the prompt, save the "Review Frequency" as a Presentation Variable "abc";
    In the request, you add actual (MTD) column, edit the formula, use something like:
    CASE
    WHEN @{abc}='Monthly' THEN "- SalesFacts"."actual (MTD)"
    WHEN @{abc}='Quarterly' THEN "- SalesFacts"."actual (QTD)"
    ELSE "- SalesFacts"."actual (YTD)"
    END
    then do the same thing for target column.

  • User inputs and simple anim.

    I know this is a bit basic, but I'm having trouble getting this animation to respond to user inputs. I want the circle to start near the centre of the screen and move up until it hits Y less than 10. Here, I've started the animation thread as a response to the user input, I know this probably isn't the best way to do it.
    import java.applet.Applet;
    import java.awt.Graphics;
    import java.awt.Color;
    import java.awt.*;
    import java.awt.event.*;
    public class basicAnimation extends Applet implements Runnable, KeyListener
    {Thread aThread;
            public int Y;
         public void start()
              if (aThread == null)
              {aThread = new Thread(this);
                   aThread.start();}
         public void stop()
              if (aThread != null)
              {aThread = null;}
         public void run()
              while (true)
                   for(Y=350; Y<10; Y--)
                   {repaint();
                        try { Thread.sleep(100); }
                        catch (InterruptedException e) { }}
         public void init()
         {Y=350;}
         public void paint(Graphics g)
         {g.fillOval (415, Y, 10, 10);}
       public void keyPressed(KeyEvent e)
           int keyCode = e.getKeyCode();
           switch(keyCode)
           {case KeyEvent.VK_SPACE:
                   aThread.start();
                 break;}
       public void keyTyped(KeyEvent e){}
       public void keyReleased(KeyEvent e){}
    }

    Sorry, now that I have gotten a better look at your run() method. You need to replace what you have with the code that I gave you in the previous post. If you run a for loop that is inside the thread, you will change Y from being at the center to Y == 10 in one thread iteration. This is much too fast for what you want to do.
    Don't forget that the thread is executing something like 1000 times every second (depending on how you set it up and the speed of your machine). So if you put a for loop inside the thread you are running the for loop about 1000 times a second when all you meant to do is run through one time.

  • Refresh page but SAVE USER INPUT in tabular form WITHOUT UPDATE

    Hi,
    When there is a tabular form in the page and user refreshes it (in anyway) tabular form's elements are always computed with values from the table in db. Can we somehow save user input in fields so that after refreshing page user will see what he/she has typed but not submitted to db?
    Regards,
    Tom

    Hello Andy,
    Let me introduce you to the problem.
    There is a tabular form based on a source table. User modifies the data and after he/she clicks Submit button the validation procedure is being run before MRU. If the result of validation is positive then MRU is run otherwise data should not be submitted to db and user should be informed about the result. Moreover, he/she should see the invalid data in fields. Not the correct one from db.
    Is there any way to save a session state of these fields or of a whole tabular form? I cannot save the data in other table in db.
    User cannot click 'Add row' several times in my app because after he clicks it once then the button disappears and appears again only when he/she clicks 'Submit' first (so after validation procedure).
    Maybe there is some way to store fields' values in memory and then compute the form when page is loading again?
    Imagine the situation that there are 100 rows in tabular form and user modifies it for one hour, clicks Submit, validation result is negative and his/her whole one hour work is lost, because the form has been refreshed according to what is stored in db. Such situation should never occur.
    Regards,
    Tom

  • 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

  • How to make Flash to wait for user input

    Hi,
    I found this PHP script, then I made some changes to make it
    FEED the Flash user interface with online user input.
    The main concept of this script is WAITING for user input, so
    it shows the messages and then go to next line and so on.
    The user input go to directly to TEXT file which writes in
    lines, each line has a unique id = (mag_id).
    There "get_msge.php" which works as the middleware between
    FLASH and messages text file.
    The problem, its doesn’t show any data while there are
    data in the text file.
    Help here please, best regards.
    This is the link of
    problem illustartion
    AS is:
    // create an object to store the variables
    varReceiver = new LoadVars();
    // load the variables from the text file
    varReceiver.load("get_msg.php?file_id=1&msg_id=1",
    "POST");
    // trigger something - when the variables finish loading
    varReceiver.onLoad = function(){
    //the variables have finished loading
    if (this.msg_id == 1) {
    _root.xmsg1_swf.text = this.msg;
    _root.xmsg1_ch.text = this.msg;
    gotoAndPlay("line2");
    } else {WAIT }
    PHP is:
    <?php
    //get these values from the FLASH
    $file_id_swf = $_POST ['file_id'];
    $file_name = "messages/messages".$file_id_swf.".txt";
    $msg_id_swf = $_POST ['msg_id'];
    // [0] ."||".[1] ."||".[2] ."||". [3] ."||".[4]."||". [5].
    //$msg_id."||".date."||".time."||".$from."||".$to."||".$msg.
    $fp = fopen ($file_name, 'rb');
    while (!feof ($fp))
    $msg_txt = fgets ($fp, 1024);
    $line = explode ("||", $msg_txt);
    $msg_id = $line[0];
    $from = $line[3];
    $to = $line[4];
    $msg = utf8_encode ($line[5]);
    if ($msg_id == $msg_id_swf)
    echo
    "msg_id=".$msg_id."&from=".$from."&to=".$to."&msg=".$msg;
    }//while
    fclose ($fp);
    ?>

    Well, given the things that you've written, I don't think it
    could. There technically isn't any code in flash that lets it
    "wait." In order to "wait," you must run the script over again
    until some condition is met.
    However, your code does look accurate. Why do you need to
    wait? The onLoad function will be invoked WHEN something is loaded.
    So, I don't see the reason for the "waiting."
    In addition to that, I would like to say that using text
    files isn't that great with flash. I have done this before and
    noticed several problems with using text files. The biggest problem
    is that the text files are cached after being loaded. Every time
    you re-load it again, you will get what you got the first time
    until you reset your cache (ie. close your browser). I suggest
    using MySQL. (Just my thought.)

  • Derive values based upon user input

    Hello,
    I recieved a request for a report.
    When a user runs the report they are to be prompted for a fiscal year/period.
    Based on the fiscal year/period that the user provides I have the following columns  (in bold below are 2 examples that may make the description more clear).
    1. Revenue for the Fiscal year Prior to the fiscal year of the user input value
    2. Revenue for the Fiscal year/Period prior to the input Fiscal year/period
    3. Revenue for the Year to date accumulation up to the prior fiscal year/period that the user input
    4. Revenue for the Year to date accumulation up to the prior fiscal year (fiscal year rolls back first) and prior period (for period 01, it then rolls back the fiscal year 1 more year) that the user input
    Example 1: If the user ran the query and they provided the value 05/2007, then the values that need to be obtained would be:
    1. Revenue for 2006
    2. Revenue for 04/2007
    3. Revenue for 01/2007 to 04/2007
    4. Revenue for 01/2006 to 04/2006
    Example 2: If the user ran the query and they provided the value 01/2008, then the values that need to be obtained would be:
    1. Revenue for 2007
    2. Revenue for 12/2007
    3. Revenue for 01/2007 to 12/2007
    4. Revenue for 01/2006 to 12/2006
    Please help me with determining how to obtain the user input value, and then how to derive the time periods for the columns based upon that value.
    Thanks,
    Nick
    (points available)
    Edited by: Nick Bertz on Mar 13, 2008 9:43 AM

    Hello,
    See my example.. I am reading the value from Keydate Variable
    WHEN ZVND01
            READ TABLE i_t_var_range INTO w_var_range WITH KEY vnam = 'Keydate'.
             IF SY-SUBRC = 0.
              CLEAR l_s_range.
              l_date = w_var_range-low.
              concatenate l_date(6) '01' into l_first_date.
              CALL FUNCTION 'SLS_MISC_GET_LAST_DAY_OF_MONTH'
              EXPORTING
                        day_in = l_date
              IMPORTING
                         last_day_of_month = l_last_date
              EXCEPTIONS
                        day_in_not_valid = 1
                        OTHERS = 2.
              IF sy-subrc EQ 0.
                l_s_range-low  = l_first_date.
                l_s_range-high = l_last_date.
                l_s_range-sign = k_sign_inclusive.
                l_s_range-opt  = k_option_between.
                APPEND l_s_range TO e_t_range.
              ENDIF.
    Hope this example helps..

  • 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 can I make my user input on the same line as the question?

    The only way I know of doing it is
    System.out.println ("Please enter an uppercase letter of the English Alphabet: ");
              letter = dataIn.readLine ();But that makes Please enter an uppercase letter of the English Alphabet:
    **User input here, a line down**So how can I make it all fit into one line with this sort of layout:
    Please enter an uppercase letter of the English Alphabet:  **USER INPUTS HERE, SAME LINE**

    change your call from println to print.
    check the API docs for this stuff, it tells you everything you need to know.
    Good Luck
    Lee

  • How to configure the schema name dynamically based on user input.

    configure the schema name dynamically based on user input.
    For ex:
    We have two schemas:
    Schema1  - base schema having 15 tables.
    Schema2 -  tables which is specific to modules. Having only 10 tables which is also available in Schema1
    Login to application using Schema 1
    Access a particlular module and select the country. Here country selection is identified.
    Based on the country selection, we need to connect the schema respectively.
    If the user selects France --> It should connect Schema1
    If the user selects Germeny --> It should connect schema2.
    Used: Eclipselink

    You may want to have a different persistence unit for each country, then you just need to switch persistence units, and can put the schema in your orm.xml file.
    You may also want to investigate EclipseLink multi-tenant support,
    http://www.eclipse.org/eclipselink/documentation/2.5/jpa/extensions/a_multitenant.htm
    You can the schema in a persistence unit in code using a SessionCustomizer and the tableQualifier.

  • 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

Maybe you are looking for

  • Is there anything I can possibly do about these logic boards?

    Ok, I have 4 broken 4th Generation iPods. Two of them are white 20GB models, one is a white 40GB model, and one is a U2 Special Edition 20GB model. All of them have broken logic boards. Every month or so I give them another go to see if I can get any

  • Using tv to run gnome ?

    I have got my desktop connected to lcd tv... via hdmi can use firefox with ctrl and + but panels are still stuck at small and firefox refuses to go fullscreen Does anyone use an lcd tv as a monitor ? I want to kick back with a cold beer and surf my f

  • Error in  Charts

    Hi, When i am trying to use pivot chart i am able to see the table but not the pivot chart and it gives me error as follows: bold Error Generating Chart An error occurred during execution of "connect". No connection could be made because the target m

  • ABAP consumer proxy generation for xMII WSDL

    Hi friends, I have a question related to generation of consumer proxies in ECC Box. I am trying to create a consumer proxy for xMII WSDL's using URL method. For the first WSDL, I was able to create a service consumer proxy successfullly. It created w

  • Can not we set lov criteria used in advance table ?

    I have advance table lov, and want to set its criteria as we do in simple region table to  filter records, but there is no option of criteria item in advance table .??? how can we do this task ? any help would be really appreciated Regards, Parvez