SAP Database

CASE: ABAP Keyword a day

Print This Post Email This Post Written by admin on Nov 6th, 2007 | Filed under: ABAP Keywords

CASE

Basic form
CASE f.

Effect Case distinction.
Depending on the current contents of a field, this statement executes one of several alternative processing branches. The field whose contents determine how the subsequent processing is specified after CASE ; the individual processing branches are introduced by WHEN , followed by the value to be tested. The entire block is concluded by ENDCASE . The structure of the CASE statement is as follows:

CASE f.
WHEN f1.

WHEN f2.


ENDCASE.

On reaching such a CASE statement, the processor compares f with f1 .
If f = f1 , it executes the processing block between ” WHEN f1. ” and the next WHEN statement. If there are no further WHEN statements, it executes the processing block up to the ENDCASE statement and then continues with any subsequent processing.
If f <> f1 , the processor compares the field f2 in the next WHEN statement with f and proceeds as with f1 and so on.

Although f should be a variable, f1 can be a variable or a literal. For the comparison ” f = f1 “, the rules are the same as for IF .

There is a second variant of the WHEN statement:

WHEN OTHERS.
No more than one such WHEN statement is allowed within a CASE block. The ” WHEN OTHERS ” processing block is always concluded by ENDCASE , i.e. no further WHEN statements can follow.

The ” WHEN OTHERS ” processing block is executed only if none of the preceding WHEN blocks have been executed, i.e. if all previous comparisons (” f = … ) have returned a negative result.
Example

DATA: ONE TYPE I VALUE 1,
THREE TYPE P VALUE 3.
DO 5 TIMES.
CASE SY-INDEX.
WHEN ONE.
WRITE / ‘That is’.
WHEN 2.
WRITE ‘a’.
WHEN THREE.
WRITE ‘good’.
WRITE ‘example’.
WHEN OTHERS.
WRITE ‘!’.
ENDCASE.
ENDDO.

Output: ” That is a good example ! ! “
Notes
You can nest several CASE statements and even combine them with IF statements.
The statement ” WHEN: f1, f2. ” does not make sense. The example below shows that the block belonging to ” WHEN f1 ” is empty:

WHEN f1.
WHEN f2.
Related
IF , ELSEIF
———————
ABAPer, mail: abap.community@gmail.com http://abaplearner.blogspot.com

If you like this post, you may as well like these too:

  1. ABAP Programs: Internal flow of control (if, case, do, while) REPORT ZSOURCE0902. * Declarations for later useTABLES CUSTOMERS.DATA: COLOR(10) VALUE ‘yellow’, N(4) TYPE N VALUE ‘123′, P TYPE P, C4(4) VALUE ‘124′, C5(5) VALUE ‘00124′, SQUARE_NUMBER TYPE I, X...
  2. ENDCASE : ABAP Keyword a day ENDCASE Basic form ENDCASE. Effect The ENDCASE statement closes a case disinction introduced by CASE . ...
  3. ADD-CORRESPONDING : ABAP Keyword a day ADD-CORRESPONDING Basic form ADD-CORRESPONDING rec1 TO rec2. Effect Interprets rec1 and rec2 as field strings. If, for example, rec1 and rec2 are tables, executes the statement for their header...
  4. DO : ABAP Keyword a day DO Variants 1. DO. 2. DO n TIMES. Variant 1 DO. Addition … VARYING f FROM f1 NEXT f2 Effect Repeats the processing enclosed by the DO and ENDDO...
  5. AT : ABAP Keyword a day AT Events in lists- AT LINE-SELECTION.- AT USER-COMMAND.- AT PFn.Events on selection screens- AT SELECTION-SCREEN.Control break with extracts- AT NEW f.- AT END OF f.- AT FIRST.- AT LAST.-...



Leave a Reply

  • Help Support CRY