Handling blank values in Database Procedure

Hello Guys,
I am building an application with HANA on ABAP. Here, I have created a database procedure which we are consuming from ABAP via database procedure proxy. In this case, we are facing issues on the below point:
As in conventional ABAP program, within the 'Where Clause' of a select statement if we pass a select-options/parameter with no value, then it will get all the data from the table. However, while passing blank value to database procedure, then it is unable to fetch the data from underlying HANA database tables/views.
In this regard, it will be really helpful, anyone could guide me on how to handle the blank value like we do in ABAP.
With Regards,
Arnab

Have a look on the discussions in this thread.
How to keep filter for Blank values in Calculation view
Regards,
Krishna Tangudu

Similar Messages

  • How to handle Null value in Database Adapter

    I configured the DA Adapter, with operation type as "Perform an Operation on a Table - Select" and added few where clause parameters (StreetNo, StreetName city, country, state, zipcode)too.
    If we won't enter any value for any of the column in the table (S_ADDR_PER) is taking as NULL, so what happening is, if i give "%" or if i leave as "blank" to those columns(input for where clause parameter). The DB adapter not fetching any records. Any help to handle this situation.
    I need query like this...
    select * from S_ADDR_PER where city like '%' AND state is NULL AND addr_line_2 like '%';
    seems.... I can't use the pure SQL option since i don't know which column will be null. Some case the addr_line_2 column will be NULL in table, in some other case the state or city column will be null.

    Hi,
    you can handle null with date like this , If it doesn't wortk for you then please explain your problem.
    select NVL(to_char(sysdate,'DD-MON-YY'),'Not Recorded')
    from dual
    NVL(TO_CHAR(
    08-NOV-05
    select NVL(to_char(NULL,'DD-MON-YY'),'Not Recorded')
    from dual
    SQL> /
    NVL(TO_CHAR(
    Not Recorded
    Regards

  • Using Fault handling framework for executing Database procedure

    We have a requirement wereby we have API to be executed on Oracle DB which would return a code saying 0 or 1.
    I meaning error.
    Now with regards to exception handling we require that we receive remote fault we retry for 3 times & if not successful have a email sent out & a human intervention.
    This can be easily taken care by having define this in Fault polciy.xml
    Another requirement is when the API fails for some reason & we get returncode as 1.Now we would like ot invoke the same policy for this type of error.Although BPEL instance is not failed.But we can throw custom fault.
    Now the APi's that we have can be called in 3 ways.
    1.In each instance we call API exactly once
    2.In each instance we call API in a loop for each record in message.Hence if 10 records are there in message & while executin 7th time it failed then how to handle reminaing records?
    3.In each instance we call API only once but submit all 10 reocrds at once.And at same time 7th record fails then whats best way to handle this?
    We realy want to use fault handling mechanism because it gives a lot of options of replay rethroew continue...but given the requirement can somebody point out a right way of using fault policy?
    Thanks

    U can archive the records in archive tables once the database adapter polls the data.
    -Ramana.

  • How to Handle Blank Field Value based Condition in SmartForms

    Dear Sir,
    In SMARTFORM , we need to define a Condition that incase Field Value is not equal to  BLANK value (blank means that field is empty) then a specific text gets printed .
    Our problem is that  We do not know as how to define  Empty Field Value  based condition .
    Had it been Non Empty Field value based condition then solution was simple and could be done in following way :
    Field Value                        R                     Comparision Value
    WA_KZDKZ                      =                      'X'
    In our case , we need to give Blank (Empty Value) instead of 'X' .
    Kindly help us pl .
    Rgds
    B Mittal

    Hi,
    To handle blank field values in SMARTFORMS,
    Go to the conditions tab in your SMARTFORM and give condition there
    Field                Comparision operator          value
    <Field name>      <> Here symbol is diff     space.
    eg:
    wa_mara-matnr    =/                                   space.
    Regards,
    Santosh Kumar M.

  • How displaying an alert message called from a database procedure

    Hi,
    How can I display an alert message that is called from a database procedure.
    I've tried the following code:
    l_al_button NUMBER;
    l_al_message VARCHAR2(80);
    l_al_id ALERT;
    Set_Alert_Property(l_al_id, alert_message_text,l_al_message);
    l_al_Button := show_alert(l_al_id);
    When trying I receive an error that says that the word ALERT need to be declared.
    Any suggestions?
    Thanks

    Hi,
    leave the procedure without error handling.
    This is what you can do:
    1.Inside the database procedure-
    BEGIN
    RAISE_APPLICATION_ERROR (-20001, 'The chosen length of the Public Key Exponent ....');
    END;
    2.Into your Form -
    BEGIN
    EXCEPTION
    WHEN OTHERS THEN
    IF sqlcode = '-20001' THEN
    Display Your Messages.
    END IF;
    Monica
    END;

  • Value "null" is displayed when retrieving null values from database

    Hi,
    I'm retrieving a record from Oracle database using a ResultSet rs and displaying the values on screen. Some of the columns do not have any data.
    The statements are:
    ResultSet rs
    st=con.createStatement();
    rs=st.executeQuery(............)
    out.println("<input name='punch_line' type='text' value='"+rs.getString(7)+"'>");
    The problem is that there is no value in the database column rs.getString(7). Ideally when the value is null, the field should not display anything. But in my case it is displaying the text "null".
    Can anyone let me know how can I display a blank value instead of displaying the text "null"?
    Thanks,
    Sridhar

    api >
    String getString(int columnIndex)
    Gets the value of the designated column in
    column in the current row of this ResultSet object as
    a String in the Java programming language.
    so null is returned as string object..NO.
    http://java.sun.com/j2se/1.5.0/docs/api/java/sql/ResultSet.html
    Returns:
    the column value; if the value is SQL NULL, the value returned is null
    The Java literal null is returned, not the String "null". The JDBC API provides a method wasNull() to detect if the previous accessed column returned a SQL NULL.

  • How to autopopulate fields in a portal form based on database procedure?

    Dear gurus, I am a newbie to the portal world and i have a rather unique problem. I have searched online but still cant find a solution to my problem. I have a portal form (AS version 10.1.4) based on a db procedure that accepts only one parameter. The form has about 12 fields, two of which are combo boxes. Because of the relationship b/n combo box 1 and combo box 2 and the rest of the form fields, the user has to start out by selecting a value in combo box 1. This auto populates combo box 2 (based on the previous selection). However, when the user selects a value from the populated combo box 2, this is supposed to trigger an action to query the database and retrieve values for the remainder of the form fields and populate them accordingly.
    I tried to use p_session.get and set values but discovered that one cannot do this with form fields that are based on a procedure. I could write javascript to call a database procedure but i am not sure how to pass the return values from the database back to the javascript routine and then populate the remaining fields accordingly.
    HELP ME PLEASE!!!
    Thanks

    Hi Venkat, create a section (section control) for each set of columns you want to hide/reveal. Put your columns in that section. Then set a rule on the dropdown so that if dropdown = "this" then show "this" section.
    cameron rautmann

  • How to copy total freight value from pricing procedure to TAXINN procedure

    Dear Experts,
    I want to copy the total freight value from pricing procedure to TAXINN procedure , i think i have to use SUBROUTINE for that but can you guide me what is the routine number and in which coloum i i have to use e.g. requirement, or ALt CAl Typ, or cond Base value ???
    e.g.
    freight condition type (QTY , freight) will enter manually e.g. 100 Rs and material qty 4 so total freight is 400 Rs this value (400 Rs) i want to copy from Pricing procedure to TAXINN
    How can achieve this ????
    Thanks and regards
    Hanumant Nimbalkar

    Hello,
    If you want to calculate VAT above Freight, then in Pricing procedure make the Sub total as blank for Freight confition types.
    And in Tax procedure, make the condition base value as 363 for VAT condition type.
    Make the tax code for 4 % VAT and u'll get the desired result.
    This will solve ur purpose.
    Regards
    Prabhjot Singh Nayyar

  • CAN I PASS FORM VARIABLES TO THE DATABASE PROCEDURE IN PERSONALIZATION

    When I try to use form variable in the database procedure call from personalization I get the attached error.
    Under forms personalization
    From Actions tab --> builtin --> Execute Procedure when I call a database procedure and pass one of the form variable as parameter I get "ora-01008 couldn't be validate" error
    Can we pass on form variables to the database package using personalization ? If yes, then is this the right way?
    Message was edited by:
    omitchel

    I tried customizing the Quoting Form, it works.
    What you have done is correct, but this is how you call it
    ='begin
    db_proc('''||${item.qothddet_main.quote_name.value}||''');
    end'
    here
    qothddet_main : block name
    quote_name : item name
    Thanks
    Tapash

  • Error by using database procedure in select statement

    hi ,
    I have built a database procedure having one parameter with in out varchar type. that return value with some addition.
    i am using it with some column in select statement only for display purpuses but i am facing error by doing that in select statement. that procedure is working well with bind variable but not with select statement.
    plz help me how i can use a procedure in select statement. or can i do it or not.

    plz help me how i can use a procedure in select statement. or can i do it or not.A workaround could be to create a wrapper function for your procedure. One that only passes the input parameters and returns the output parameter.
    The simply call this function in your select which internally calls the procedure.

  • Inserting blank values and retrieving blank values

    I really want to Insert blank values into Oracle database,and also want to retrieve blank values from table.
    When I try to insert blank values ,Its inserting null values.
    I don't want to insert null for blank.
    Please provide me solution for this.
    Thank you

    user631179, logically if you have a descrition or other printable
    character column where the value is blanks you do not have a value.
    The data item is logically unknown or non-existent, hence NULL.
    You can assign blanks (spaces) for NULL in the querying program
    like SQLPlus does on display. The Pro*C and other language tools
    provides null indicator bytes for this purpose.
    UT1 > l
      1  select fld1, fld2, rpad(nvl(fld4,' '),10,' '), length( rpad(nvl(fld4,' '),10,' '))
      2* from marktest
    UT1 > /
    FLD1             FLD2 RPAD(NVL(F LENGTH(RPAD(NVL(FLD4,''),10,''))
    one                 1                                          10
    TWO                 2 USER51                                   10
                        4 USER51                                   10HTH -- Mark D Powell --
    Message was edited by: Mark to try to keep the test from requiring scrolling
    mpowel01

  • Calling a Database Procedure from an Oracle Form

    Hi,
    I have a question we will be calling the procedure from an Oracle form and through that can we pass like 1000 input values to this procedure and we need to return certain values back to the Oracle Form also. Here the proceduere take two or more parameters. Please advice.
    To receive the input values we have the input parameter of the procedure as type object, so that we can receive multiple parameter values.
    Thanks and Regards
    Srinivas

    user2626293 wrote:
    Hi Francois,
    Thanks for your response, please suggest me as to how we can acheive passing of parameters which can hold multiple values, while making a call to the database procedure from the Oracle Form
    Hi Srinivas,
    Here is an example of procedure...
    CREATE OR REPLACE PROCEDURE P_GET_SAL (P_EMPID NUMBER, P_SAL OUT NUMBER)
    IS
    BEGIN
         SELECT SALARY
         INTO P_SAL
         FROM EMPLOYEE
         WHERE EMPLOYEE_ID=P_EMPID;
    END;
    SQL> VAR G_SAL NUMBER;
    SQL> EXEC P_GET_SAL(100,:G_SAL);
    PL/SQL procedure successfully completed.
    SQL> PRINT G_SAL;
    G_SAL
          2300Hope this helps
    Hamid
    If someone's response is helpful or correct, please mark it accordingly.*

  • Model of how APEX handles data (values)?

    Reference {thread:id=2486655}
    I'm trying to get a model of how APEX handles data (values). There are several places(?) that data (values) can exist. Or so it seems. I'm trying to understand how these work -- to put all the pieces together.
    Question:
    A) Where data can be?
    1) In the database
    2) In the session
    3) Rendered -- and hence displayed on the screen, if a displayed value -- but not in the session
    4) In perhaps(?) some working memory pool(?) but different from the page rendered values I see on the screen?
    5) Other?
    Why do I think this is relevant?
    Question:
    B) If there are rendered values and session values different from the rendered values, then when code executes, which of these values (rendered or session) is it executing against?
    And maybe the answer is, "You don't understand what's going on." Yes, "Exactly!" Hence the question.
    Best wishes,
    Howard

    Howard (DBA in Training) wrote:
    I'm putting this together now. For example:
    I set the value of a Page Item (say, :P2_DATA) to "BEFORE" in a Before Region process and change it to "AFTER" in an After Region Process. 'BEFORE' was displayed on the screen but 'AFTER' was in the session state. So I see that PL/SQL changes these values in the session state. But it doesn't "go back" to change the HTML after the region has been rendered -- hence we see BEFORE shown on the screen. (I'll have to think about what a Dynamic Action does.)
    Also, if a page item has a default value, say 'DEFAULT' then that value doesn't get into the session state. At least, not with my current settings. Oh, that explains a lot of confusion!! I suppose there's a logical reason for this but who would expect default values to be differently from other PL/SQL operations on the item?
    Questions:
    1) So why does a default value not get put into the session state?Several reasons, among them:
    *1. When/why is the value required?* Region items (and thus their source and default values) are rendered in region/item sequence order. The item's source/default value would therefore not be available in session state until it's rendering point. This is frequently later in page show processing than the value is actually required, such as the common use case of including a data value in the page or region title. Setting the value in a Before Header/Regions computation or process makes it available as required before the item is actually rendered.
    *2. The rendered page might not be submitted.* Default values are typically set when a page will create a new row. Consider the situation where the user clicks a "Create" button and is presented with an order entry form containing several default values. They then decide they don't want to create a new order after all, and navigate away from the form page via some mechanism that uses a redirect rather than a submit (such as a default "Cancel" button). This means that no page submit processing is performed, and generally that no session state management is performed. If the default values were set in session state, the order entry page would contain the default values for the non-existent order despite the user never submitting it. This may have unwanted side-effects if these values are referenced elsewhere in the application, and therefore would require extra session state management to be built into the application.
    *3. A rendered item might not be submitted with the page.* Per the HTML specification, the values of disabled controls unchecked checkboxes are not POSTed on page submit. Consider a situation where a checkbox item is set with several default values, but the application requires that the checkboxes be cleared and disabled by a dynamic action if the user chooses certain options from a select list. In this case, on page submission no values are submitted into session state for the checkbox item. If the defaults had been set in session state, then the application would be in an inconsistent state, with the user-selected option indicating that none of the checkboxes were checked, but with session state holding values showing that they were. This would require additional processing to ensure that the application's state was consistent before saving it to the database.<sup>1</sup>
    2 & 3 are particularly significant in basic wizard-generated applications. Doing things in this way, the wizard-generated DML and navigation "just works", without the need for additional session state management.
    2) Is there a Page Item setting that causes the default value to be saved to the session state?No. Hopefully the explanations above provide sufficient reason to show why this is genearlly not desirable. On the rare occasions when it is required, set the session state value using a computation or process.
    <sup>1</sup> There are other reasons&mdash;mainly security related&mdash;that make it good practice to perform such checks in more complex and internet-facing applications anyway.

  • DB: How to handle the value results.GetString("NAME")

    Hello.
    I'm trying to handle the value of a field from my DataBase:
    PreparedStatement sql = Conn.prepareStatement("SELECT NAME FROM MY_TABLE");
    ResultSet results = sql.executeQuery();
    String Name = results.GetString("NAME");
    out.println(myName);
    I'm able to display the value of 'myName' (Tom), but if try:
    if (myName.equals("Tom")) {...}
    or
    if (myName == "Tom") {...}
    There is no response.
    Does anybody have any experience?
    Thank you.

    hey,
    String myName = results.getString("NAME");
    then u can use
    if(myName.equals('Tom'){
    }else
    The above condition will be true if myName has Tom in it.. it has to be T o m . even if it is TOM or tOm or some other case it will never match.. if u are not bothered about the case then
    use
    if(myName.equalsIgnoreCase('Tom'){
    }else
    which will ignore case .
    hope this will help u ....
    Hello.
    I'm trying to handle the value of a field from my
    DataBase:
    PreparedStatement sql = Conn.prepareStatement("SELECT
    NAME FROM MY_TABLE");
    ResultSet results = sql.executeQuery();
    String Name = results.GetString("NAME");
    out.println(myName);
    I'm able to display the value of 'myName' (Tom), but
    if try:
    if (myName.equals("Tom")) {...}
    or
    if (myName == "Tom") {...}
    There is no response.
    Does anybody have any experience?
    Thank you.

  • Database procedure error

    Hi everyone,
    I have form which has two database procedures in key commit trigger. If any error occurs while executing the second database procedure
    I dont want to save the form and first database procedure values. Can anyone please tell me how to pass the database procedure error to
    form so that it can stop the saving of form and first database procedure .
    Thanks in advance for any reply.

    Dear all,
    Thanks for your kind reply.
    I have tried using DBMS_ERROR_CODE in ON-ERROR trigger. My code appears like this.
    create or replace procedure_name(parmeters) as --- This is a database procedure;
    begin
    procedure_body;
    exception
    when others then
    Raise_application_error(-20025,'Error Message');
    end;
    In form in ON_ERROR trigger I have declared like this:
    IF DBMS_ERROR_CODE = -20025 THEN      
    MESG('Error in Insertion');
    Raise form_trigger_failure;
    END IF;
    I am not getting error message that I declared in ON_ERROR trigger instead I am getting error message from raise_application_error statement.
    Could anyone please guide me exactly how to catch the database procedure in form level so that I can stop exceution of the form.

Maybe you are looking for