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?
ThanksU 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 MittalHi,
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?
ThanksHi,
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,
Sridharapi >
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!!!
ThanksHi 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 NimbalkarHello,
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:
omitchelI 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 youuser631179, 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
Srinivasuser2626293 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,
HowardHoward (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—mainly security related—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. -
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
-
i do have a copy of life 11- if i install it on my mac pro that is mac os x lion 10.7.2....will idvd download and no harm done to other applications?
-
Unable to install trial version of Acrobat Pro XI
I am unable to install a trial version of Acrobat Pro XI from the link on the site: Download Adobe Acrobat free trial | Acrobat XI Professional It keeps saying that the installer file is damaged. Can someone please help? Thanks.
-
Satellite Pro A120 - can I update to Windows 7?
I have a Satellite Pro A120 (model PSAC1A-045005 - purchased in Australia) which I wish to update to Windows 7 from XP The Toshiba Australia site says it is not compatible with Windows 7 and the upgrade from Windows XP to Windows 7 is unsupported. Lo
-
but the dvd only got set-up.exe (only for windows)??? how can i install it to mac? Student and Teacher Edition Information
-
Hi SDN, We are using the standard SAP Quick Poll iview in our site. In the End User Part, there is a button which displays 'Show History' which takes us back to the previous polls. We donot want this feature to be part of the end user screen. I trie