Monday 8 June 2015

String Functions? String Compares!

-------------------------------------------------------------------------------------------------------------------------------

Comparisons can be applied on strings with types C, D, N, and T.




<operator>


Meaning


CO


Contains Only


CN


Contains Not only


CA


Contains Any


NA


contains Not Any


CS


Contains String


NS


contains No String


CP


Contains Pattern


NP


contains No Pattern


CO- Contains Only
 -------------------------------------------------------------------------------------------------------------------------
* contains only: true, if operand1 only contains characters from operand2.
* it is case-sensitive and trailing blanks are respected in both operands.
*IF the comparison IS  false, sy-fdpos contains the offset
* of the first character in operand1 that is not contained in operand2.
* IF the comparison IS true, sy-fdpos contains the length of operand1.


DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF 'GRA' CO res.
  WRITE :'Success'sy-fdpos" Success -> sy-fdpos = strlen ( 'GRA' )
ELSE.
  WRITE :'Failure'sy-fdpos.
ENDIF.
ULINE.
IF 'GRAPX' CO res.
  WRITE :'Success'sy-fdpos.
ELSE.
  WRITE :'Failure'sy-fdpos" Failure-> sy-fdpos = offset position of X
ENDIF.

-----------------------------------------------------------------------------------------------------------------------
Output:

-----------------------------------------------------------------------------------------------------------------------

CN Contains Not Only
-----------------------------------------------------------------------------------------------------------------------
* contains not only->
* If true, sy-fdpos contains the offset of the first
* character in operand1 that is not contained in operand2.
* If false, sy-fdpos contains the length of operand1.

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF 'GRA' CN res.
  WRITE :'Success'sy-fdpos.
ELSE.
  WRITE :'Failure'sy-fdpos" Failure-> sy-fdpos = strlen ( 'GRA' )
ENDIF.
ULINE.
IF 'GRAPX' CN res.
  WRITE :'Success'sy-fdpos" Success -> sy-fdpos = offset position of X
ELSE.
  WRITE :'Failure'sy-fdpos.
ENDIF.
-----------------------------------------------------------------------------------------------------------------------
Output:


-----------------------------------------------------------------------------------------------------------------------

CA- Contains Any
-----------------------------------------------------------------------------------------------------------------------
* contains any->
* True, if operand1 contains at least one character from operand2.
* then sy-fdpos contains the offset of the first character in operand1
* that is also contained in operand2
* If the comparison is false, sy-fdpos contains the length of operand1.

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF 'ZYGRA' CA res.
  WRITE :'Success:'sy-fdpos" Success -> sy-fdpos = offset OF 'G'
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
ULINE.
IF 'YX' CA res.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos" Failure-> sy-fdpos = strlen ( 'GRA' )
ENDIF.

-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

NA- Contains Not Any
-----------------------------------------------------------------------------------------------------------------------
* contains not any->
* True, if operand1 does not contain any characters from operand2.
* If the comparison is false,sy-fdpos contains the offset of the first
* character in operand1 that is also contained in operand2.
* If the comparison is true, sy-fdpos contains the length of operand1.

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF 'ZYGRA' NA res.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos" Failure-> sy-fdpos = offset of 'G'
ENDIF.
ULINE.
IF 'YXZ' NA res.
  WRITE :'Success:'sy-fdpos"Success -> sy-fdpos = STRLEN ( 'YXZ' )
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

CS- Contains String
-----------------------------------------------------------------------------------------------------------------------
* contains String->
* True, if operand1 contains the string in operand2 and not case sensitive
* If the comparison is false,sy-fdpos contains the length of operand1
* If the comparison is true, sy-fdpos contains the  offset of the operand2 in operand1

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF RES CS 'PrO'.
  WRITE :'Success:'sy-fdpos.  "Success -> sy-fdpos = Offset of 'P' in res
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
ULINE.
IF RES CS 'YXZ'.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos" Failure-> sy-fdpos = strlen ( res )
ENDIF.
-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

NS- Contains No String
-----------------------------------------------------------------------------------------------------------------------
* contains no string->
* True, If operand1 does not contains the string operand and not case sensitive
* If the comparison is TRUE,sy-fdpos contains the length of operand1
* If the comparison is FALSE, sy-fdpos contains the  offset of the operand2 in operand1

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF res NS  'PrO'.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos" Failure-> sy-fdpos =  offset of 'P' in res
ENDIF.
ULINE.
IF res NS 'YXZ'.
  WRITE :'Success:'sy-fdpos.  "Success -> lengeth of ( res )
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

CP- Contains Pattern
-----------------------------------------------------------------------------------------------------------------------
* contains Pattern->
* True, If operand1 contains pattern operand2 and not case sensitive
* If the comparison is TRUE,sy-fdpos contains the offset of operand2 in operand
* If the comparison is FALSE, sy-fdpos contains the length of operand1

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF res CP  '*Ro*'.
  WRITE :'Success:'sy-fdpos"Success ->  sy-fdpos = Offset of 'R' in res
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
ULINE.
IF res CP '*XY*'.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos" Failure-> sy-fdpos =  length of ( res )
ENDIF.
-----------------------------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------------------------------

NP- Contains No Pattern
-----------------------------------------------------------------------------------------------------------------------
* contains no Pattern->
* True, If operand1 does not contains pattern operand2 and not case sensitive
* If the comparison is TRUE,sy-fdpos contains the length of operand1
* If the comparison is FALSE, sy-fdpos contains the offset of operand2 in operand1

DATA res TYPE string VALUE 'SAP ABAP PROGRAM'.

IF res NP  '*Ro*'.
  WRITE :'Success:'sy-fdpos.
ELSE.
  WRITE :'Failure:'sy-fdpos.  " Failure-> sy-fdpos =   Offset of 'R' in res
ENDIF.
ULINE.
IF res NP '*XY*'.
  WRITE :'Success:'sy-fdpos.  "Success ->  sy-fdpos =  length of ( res )
ELSE.
  WRITE :'Failure:'sy-fdpos.
ENDIF.
-----------------------------------------------------------------------------------------------------------------------

-------------------------------------------------------------------------------------------------------------------------------

No comments:

Comments system

Disqus Shortname