Difference between CASE and DECODE
Hi All,
Could you please explain me the basic differences between the CASE and DECODE, which performs fast...?
DECODE is Oracle one, and the CASE is ANSI standard.
As per my knowledge, CASE is a statement and DECODE is a function which was defined in the Standard package.
If we use DECODE, the package has to load first, so it will take a little longer than the CASE. CASE is a simple statement which is ANSI standard.
We can use the CASE in the where clause and can not use the DECODE in the where clause.
Please clarify me and correct me if anything wrong.
Thanks,
IMO, the main important point is the way CASE and DECODE handles NULL
SQL> select ename,comm,
2 decode(comm,300,'A',null,'B','C') dcd,
3 case comm when 300 then 'A'
4 when null then 'B'
5 else 'C'
6 end cs
7 from emp;
ENAME COMM D C
SMITH B C --"DECODE treats NULL=NULL. But for CASE, NULL is not equal to "another" NULL
ALLEN 300 A A
WARD 500 C C
JONES B C
MARTIN 1400 C C
BLAKE B C
CLARK B C
SCOTT B C
KING B C
TURNER 0 C C
ADAMS B C
JAMES B C
FORD B C
MILLER B C
14 rows selected.
{code}
Edited by: jeneesh on Jun 3, 2013 1:13 PM
Note: in CASE, you should use IS NULL
{code}
case when comm=300 then 'A'
when comm is null then 'B'
else 'C'
end
{code}
Similar Messages
-
Pls tell me difference between case and decode
Hi all
pls tell me difference between case and decode
regardsWell not entirely true when you consider working with
sign and decode together. Your example could be
written with decode and sign like this:
decode(sign(sal-1000),1,sal+comm,-1,sal,0)But the case expression reads more easily, I admit.Rob it was just example you considered it special case ,BTW can you do it for me by DECODE function.
SQL> SELECT sal,comm,CASE WHEN sal>1000 AND sal<1300 THEN sal+comm ELSE 0 END
2 FROM emp
3 /
SAL COMM CASEWHENSAL>1000ANDSAL<1300THENSAL+COMMELSE0END
5000 0
2850 0
2450 0
2975 0
1250 1400 2650
1600 300 0
1500 0 0
950 0
1250 500 1750
3000 0
800 0
SAL COMM CASEWHENSAL>1000ANDSAL<1300THENSAL+COMMELSE0END
3000 0
1100
1300 0
14 rows selected.Note for OP CASE can be used within PL/SQL witing ORACLE 9i or later release
but DECODE function can only be used within SQL.
Khurram -
Difference between case management and complaint management
Hi ,
Can any one explain the difference between case management and complaint management with some simple example .
Regards,
RahulHi
complaint mngt is for creating, maintaing, processing of complaint documents - when customer calls you and tells about problem with product he bought, you create complaint document in CRM.
case mngt is for managing more documents , it could be documents for many customers. Case is usually about complex problem.
http://help.sap.com/saphelp_crm50/helpdata/en/4c/d7fb717f7b3e4cba12953ec1b9b8c3/frameset.htm
Regards
Radek -
Difference between GUI_UPLOAD and WS_UPLOAD
Hi,
Please make me clear about the difference between GUI_UPLOAD and WS_UPLOAD. In which cases we need to use these modules...??
Thanks,
SatishI would suggest to always use the GUI_UPLOAD. I say this because this is the function module which is used in the GUI_UPLOAD method of the class CL_GUI_FRONTEND_SERVICES. Really, you should probably use the class/method instead of the function module.
data: filename type string.
filename = p_file.
call method cl_gui_frontend_services=>gui_upload
exporting
filename = filename
filetype = 'ASC'
changing
data_tab = iflatf
exceptions
file_open_error = 1
file_read_error = 2
no_batch = 3
gui_refuse_filetransfer = 4
no_authority = 6
unknown_error = 7
bad_data_format = 8
unknown_dp_error = 12
access_denied = 13
others = 17.
Regards,
Rich Heilman -
What is difference between modify and update i am using
hi
what is difference between mofify and update
my requiremen is to have three condition checkec while mofifying or updating from a internal table
the three fields are
cus no
status
date these all are primary key in the database table
so which sould i use modify or update
there might be entry already existing in database table or new entry to be created if already existin it should check on the primary keys and updatat if not it should add a record
pls suggest whihc to use and how to implement the check on teh threee primary key
like if modify ztable from table it_test
now where condition ? can be used or not with modify? and if yes how
if not should i use update will update create a new entry if no entry is there and please give syntex
regards
AroraHi Nishant Arora,
Modify: It works in performing two actions.
They are: Insert + Update.
For Example If a record that is exited in database, so you are modifying that record, it updates that particular record.
Similarly, If the is not existed in the database, you are modifying it, it inserts a new record.
Update: Update means just it updates the status, I mean it only updates the record. It doesn't inserts any new record if that particular record is not present in the database.
These are the cases you need to write these statements.
Syntaxes: :
Go through this links please.,
http://help.sap.com/saphelp_nw04/helpdata/en/e7/968aa8b2384dd9835f91e7f8470064/content.htm
http://help.sap.com/saphelp_nw70/helpdata/en/fc/eb35eb358411d1829f0000e829fbfe/content.htm
Reward points if useful
Cheers,
Swamy Kunche
Edited by: Swamy Kunche on Jun 11, 2008 2:41 PM -
What is the difference between exists and in
hi all
if i have these queries
1- select ename from emp where ename in ( select ename from emp where empno=10)
and
2- select ename from emp where exists ( select ename from emp where empno=10)
what is the difference between exists and in is that only when i use in i have to bring the field name or what.... i mean in a complex SQL queries is it will give the same answer
ThanksYou get two entirely different result sets that may be the same. Haah! What do I mean by that.
SQL> select table_name from user_tables;
TABLE_NAME
BAR
FOO
2 rows selected.
SQL> select table_name from user_tables where table_name in (select table_name from user_tables where table_name = 'FOO');
TABLE_NAME
FOO
1 row selected.
SQL> select table_name from user_tables where exists(select table_name from user_tables where table_name = 'FOO');
TABLE_NAME
BAR
FOO
2 rows selected.So, why is this? the WHERE EXISTS means 'if the next is true', much like where 1=1 being always true and 1=2 being always false. In this case, where exists could be TRUE or FALSE, depending on the subquery.
WHERE EXISTS can be useful for something like testing if we have data, without actually having to return columns.
So, if you want to see if an employee exists you might say
SELECT 1 FROM DUAL WHERE EXISTS( select * from emp where empid = 10);
If there is a row in emp for empid=10, then you get back 1 from dual;
This is what I call an 'optimistic' lookup because the WHERE EXISTS ends as soon as there is a hit. It does not care how many - only that at least one exists. It is optimistic because it will continue processing the table lookup until either it hits or reaches the end of the table - for a non-indexed query. -
Difference between implicit and explicit enhancement points
Hi Folks,
I had learned many documents to findout the difference between explicit and implicit enhancement point.I got the theoritical knowledge on that but losing on the practical side..
Can anybody help me out with one real time scenario where the explicit enhancement points have been implemented and the step by step procedure to implement it..
Hoping for the positive response from you..
Regards,
Rohan.Hi Rohan,
In implicit they are available at the beginning of subroutines defined in the standard reports.
Edit-> Enhancement operations->show implicit enhancement options.
This will highlight all the implicit enhancements in the report.
In Explicit enhancement we have two different types of enhancements -
Enhancement point and Enhancement section.
Enhancement point - SAP has some standard functionality defined for a report , but it may be required that you'll need to add your own code. In this case the code that you'll add will be executed along with the standard code.
Enhancement section - SAP has its standard functionality defines but it may not suit your requirement, in that case you may need to add your code and you'll need that code to be executed only. By this method the existing code is automatically commented and a copy of the same code is available to edit.
After executing the report only your code will be executed and the standard code will be bypassed.
For Practicle implementation, follow this link.
Link : [http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/bb54c452-0801-0010-0e84-a653307fc6fc]
i hope it will give you some clear picture....
Thanks.
Anurag -
Difference between BAPI and RFC?
Difference between BAPI and RFC?
also where to use BAPI and where to use RFC?Hi,
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
Regards,
Prakash -
Difference between -1 and null in the targettype filed
Hi
Could anyone advise what is the difference between -1 and null in the targettype filed in marketing documents?
For example, in Sales Quotation - Rows (QUT1) table, I found for some open sales quotations, the field is null however the DB help file suggest the default value is -1 so I suppose it should be -1 for open documents.
Many thanks for your advisory.Hi, Qian!
I investigated that "-1" value appears in targettype field in Sales Quotation Rows (QUT1 table) when you Dublicate a Sales Quotation document (Ctrl + D). And NULL value appears when you create a new document without dublicating.
In case you want to equal these 2 "empty"-values using T-SQL, you can use ISNULL(targettype, -1) function - this will give you -1 for both the "empty"-values
HTH!
Message was edited by: Aleksey Kuznetsov -
Difference Between Shutdown and Close Database
Hi all,
Let say I want to start the instance of database with the following processes :
1. STARTUP MOUNT
2. ALTER DATABASE OPEN
With two commands above, now the database is open. Then, I want to close the database with command :
3. ALTER DATABASE CLOSE
After this, I want to reopen the database again by using this :
4. ALTER DATABASE OPEN
I know that it will produce an error because when the database is opened and closed, its lifetime has already ended, so we must shutdown it first.
My questions are :
1. What's the difference between CLOSE and SHUTDOWN ? Suppose in the case above, I want to close the database. Why don't I just type SHUTDOWN ? Why is it necessary for me to use command CLOSE instead of SHUTDOWN ?
2. What are the conditions of database when I CLOSE database, also, what are the conditions of database when I SHUTDOWN database ? I want to know more detail because I have tried to find in google, but now satisfying result
Thanks before
Edited by: cycon on Nov 8, 2010 9:00 AMalter database close;this you can execute only from OPEN status
when ever you close the database it will go to mount status here you cannot open the database again, you need to clean sutdown and need to startup.
alter database open;ths you can execute only on MOUNT status, it will takes you to mount --> open status.
Thanks -
Exchange rate difference between MIRO and GR/IR
Hi,
Exchange rate difference between MIRO and GR/IR we need to written off as a expense for imported w/off expense and in case of assets we need to post exchange rate difference to exchange fluctuation account. Currently exchange rate difference is accounting under capital work in progress(Asset)instead of exchange fluctuation.
Thanks in Advance
Regards
Venkata SureshHi,
At MIRO stage, after entering PO number system will automatically populate the GRN value for selection. Here if you found that invoice value, which you have received from the vendor, is more than the system proposed amount, then you can adjust that diff amount in the GL account tab, which is next to PO reference tab in MIRO.
There enter the exch loss GL account and enter the diff amount.
Thanks,
Srinu. -
T-Code for reporting stock quantity difference between IM and WM
Hi All
I'm probably going to kick myself for asking this quastion but is there a report to show the stock quantity differences between IM and WM?
I have searched the forum first but cannot find info.
We have various differences in IM and WM shown in MD04 and LS26. This is usually the result of an unplanned plant to plant transfer not being recipted in at the destination plant.
If no standard T-code is available, which tables can I join to create my own query?
Thanks in advance
Darrencompare MMBE with LS26
Make sure you dont enter a storage location and storage type in selection screen of LS26.
if you post a difference with LI20, then you have just posted a difference within WM, means you moved a quantity from a bin into the difference storate type 998. The balance of both is still equal to your stock shown in MMBE. You have to clear the difference with IM by executing LI21 transaction. Only then the quantity will disappear from difference storage type and will be adjusted in MM and FI.
LX23 will only report real inconstencies and will adjust them.
If you do a MM movement like 303, then this creates a transfer request in WM, this TR needs to be converted into a TO. to move the stock from the bin to the interim storage type for goods issue.
In your case you created just a negative quant in the interim storage type for goods issue and still have a positive quant in the bin, the balance is equal to the stock shown in MMBE. -
What is the difference between TO_CHAR and TO_DATE()?
Hi everybody,
i am facing a problem in my system.It is quite urgent, can you explain me "What is the difference between TO_CHAR and TO_DATE()?".
According to user's requirement, they need to generate a code with format "YYMRRR".
YY = year of current year
M = month of current month (IF M >=10 'A' ,M >=11 'B' , M >=10 'C')
RRR = sequence number
Example: we have table USER(USER_ID , USER_NAME , USER_CODE)
EX: SYSDATE = "05-29-2012" MM-DD-YYYY
IF 10
ROW USER_ID , USER_NAME , USER_CODE
1- UID01 , AAAAA , 125001
2- UID02 , AAAAA , 125002
10- UID010 , AAAAA , 12A010
This is the original Script code. But This script runs very well at my Local. Right format. But it just happens wrong format on production.
12A010 (Right) => 11C010 (Wrong).
SELECT TO_CHAR(SYSDATE, 'YY') || DECODE( TO_CHAR(SYSDATE, 'MM'),'01','1', '02','2', '03','3', '04','4', '05','5', '06','6', '07','7', '08','8','09','9', '10','A', '11','B', '12','C') || NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE FROM TVC_VSL_SCH
WHERE TO_CHAR(SYSDATE,'YY') = SUBSTR(USER_CODE,0,2)
AND TO_CHAR(SYSDATE,'MM') = DECODE(SUBSTR(USER_CODE,3,1),'1','01',
'2','02', '3','03', '4','04', '5','05',
'6','06', '7','07', '8','08', '9','09',
'A','10', 'B','11', 'C','12')
I want to know "What is the difference between TO_CHAR and TO_DATE()?".try to use following select
with t as
(select TO_CHAR(SYSDATE, 'YY') ||
DECODE(TO_CHAR(SYSDATE, 'MM'),
'01', '1',
'02', '2',
'03', '3',
'04', '4',
'05', '5',
'06', '6',
'07', '7',
'08', '8',
'09', '9',
'10', 'A',
'11', 'B',
'12', 'C') as code
from dual)
SELECT t.code || NVL(SUBSTR(MAX(USER_CODE), 4, 3), '000') USER_CODE
FROM TVC_VSL_SCH
WHERE SUBSTR(USER_CODE, 1, 3) = t.codeand yes you need check time on your prodaction server
good luck
Edited by: Galbarad on May 29, 2012 3:56 AM -
What is the difference between upgradation and migration.
Hi Guru's
what is the difference between upgradation and migration.
actuallly i involved in upgradation project, here my role is
1. first i check the query's in 3.5 save the query and transport the query. and check the query in bex analyzer also.
2. go to BI .7 find the query;s ,give the query name and save the query ,
3. once save the query, again will come to 3.5 open the query , it will not open. this is my job here,
come to 7.0 check the query in analyzer also.
i am having littile bit confusion, how it will comes query in 7.0, why are u saving the query's in 3.5 and 7.0
query's already available in 7.0 why are u doing this work?
can i know the upgrades those objects, is it neccessary, if necessary how can i upgrade.
infoobje , transferrules, transferstructure ,infosoure, datasoure,updaterules, ods, cubes.
Points will be Assingned ,
Thanks & Regards
prabhavathiHi,
I was talking in a general sense not on a query level.
If your taling about migration in that level meaning as a part of larger upgradation (in your case 3.x to 7) there may be many places where you need to do this kind of activities.
Fr eg migration into new data flow, Migration of Web templates from BW 3.x to Netweaver 2004s, etc
Hope this helps.
Thanks,
JituK -
Difference Between BAPI And RFC in ABAP
Hi,
i want to know difference between BAPI and RFC in SAP,
can we call SAP GUI screen from NON SAP System Using BAPI.
Reg,
HariharanHi Ravishankar,
The difference is not importat while you understand the concept.
I think, RFC is the protocol for calling functions from external systems in R/3.
I understand like BAPI a series of complet functions that SAP offers you for use and model a business use.
But if I need program a function that can be called for external system i would call it RFC_NAME, because is a unique function that makes a single task.
In other words, the difference i think is about work idea more than another thing.
RFC
A remote function call is a call to a function module running in a system different from the caller's. The remote function can also be called from within the same system (as a remote call).
RFC consists of two interfaces : A calling interface for ABAP Programs and a calling interface for Non-SAP programs.
The RFC Interface takes care of :-
- Converting all parameter data to the representation needed in the remote system
Calling the communication routines needed to talk to the remote system.
Handling communications errors, and notifying the caller, if desired ( using EXCEPTIONS paramater of the CALL FUNCTION).
BAPI
BAPIs are standardized programming interfaces (methods) enabling external applications to access business processes and data in the R/3 System.
BAPIs provide stable and standardized methods to achieve seamless integration between the R/3 System and external applications, legacy systems and add-ons.
BAPIs are defined in the BOR(Business object repository) as methods of SAP business object types that carry out specific business functions.
BAPIs are implemented as RFC-enabled function modules and are created in the Function Builder of the ABAP Workbench.
The most critical difference btwn BAPI and FM is that BAPI can be wrapped in Business objects whereas RFC cant.
BAPI are RFC enabled function modules. the difference between RFc and BAPI are business objects. You create business objects and those are then registered in your BOR (Business Object Repository) which can be accessed outside the SAP system by using some other applications (Non-SAP) such as VB or JAVA. in this case u only specify the business object and its method from external system in BAPI there is no direct system call. while RFC are direct system call Some BAPIs provide basic functions and can be used for most SAP business object types. These BAPIs should be implemented the same for all business object types. Standardized BAPIs are easier to use and prevent users having to deal with a number of different BAPIs. Whenever possible, a standardized BAPI must be used in preference to an individual BAPI.
The following standardized BAPIs are provided:
Reading instances of SAP business objects
GetList ( ) With the BAPI GetList you can select a range of object key values, for example, company codes and material numbers.
The BAPI GetList() is a class method.
GetDetail() With the BAPI GetDetail() the details of an instance of a business object type are retrieved and returned to the calling program. The instance is identified via its key. The BAPI GetDetail() is an instance method. BAPIs that can create, change or delete instances of a business object type
The following BAPIs of the same object type have to be programmed so that they can be called several times within one transaction. For example, if, after sales order 1 has been created, a second sales order 2 is created in the same transaction, the second BAPI call must not affect the consistency of the sales order 2. After completing the transaction with a COMMIT WORK, both the orders are saved consistently in the database.
Create( ) and CreateFromData! ( )
The BAPIs Create() and CreateFromData() create an instance of an SAP business object type, for example, a purchase order. These BAPIs are class methods.
Change( )
The BAPI Change() changes an existing instance of an SAP business object type, for example, a purchase order. The BAPI Change () is an instance method.
Delete( ) and Undelete( ) The BAPI Delete() deletes an instance of an SAP business object type from the database or sets a deletion flag.
The BAPI Undelete() removes a deletion flag. These BAPIs are instance methods.
Cancel ( ) Unlike the BAPI Delete(), the BAPI Cancel() cancels an instance of a business object type. The instance to be cancelled remains in the database and an additional instance is created and this is the one that is actually canceled. The Cancel() BAPI is an instance method.
Add<subobject> ( ) and Remove<subobject> ( ) The BAPI Add<subobject> adds a subobject to an existing object inst! ance and the BAPI and Remove<subobject> removes a subobject from an object instance. These BAPIs are instance methods.
Check these Links out
http://searchsap.techtarget.com/ateQuestionNResponse/0,289625,sid21_cid558752_tax293481,00.html
http://www.sap-img.com/abap/interview-question-on-bapi-rfc-abap-objects-tables.htm
http://www.sap-img.com/fu033.htm
http://www.sap-img.com/abap/ale-bapi.htm
Refer following SDN threads:
Diff. Between BAPI and RFC
Re: BAPI and RFC
Hope this resolves your query.
Reward all the helpful answers.
Regards
Maybe you are looking for
-
Help Please! How can I tell what is stored on my iPod?
I just recently got a new iPod Nano, and started using iTunes to upload music to it. But, for some reason, I can only fit like 60 or so songs onto it. I have a 1 GB Nano. If I click onto my iPod in iTunes, it says at the bottom of the screen that I h
-
there was a problem connecting to the server...please check the share name..every 3 seconds. made computer useless. Lion. It only complains about one of my PCs that usually shares OK with the imac.
-
How do I record a numeric output values and then use them?
So at the moment I just have a numeric value being display with a numeric indicator. I want to record this value somewhere for later use. Such as doing calculations. I want to store many numeric values that are outputed to this single indicator at di
-
How to cancel/kill a long SQL query?
For example, I issued a SQL query from Java, which may run for a long time, then, I want to cancel/kill it after a certain amount of time, how can I do it? Also, is there a way to cancel/kill the query session in Oracle without using Java/JDBC? Thank
-
Have ticked " Sync only ticked songs and videos" but I Tunes is ignoring that and synching evrything leaving me no further capacity. Please help