Shared Top Border

Enterprise Resource
Planning Portal

 

Advertise | Founder BLOG

ERPGenie.COM ABAP Tips and Tricks Database

THE ultimate
ERP website

 

Forums | Vote for us |

Google    Other Search Options

Login

Login to view more content!!!





Lost Password?
No account yet? Register

Registered Access

Poll

What area of ABAP are you interested in?
 
Home arrow Tips and Tricks arrow General arrow Processing Strings
Processing Strings PDF Print E-mail
User Rating: / 0
PoorBest 
Written by Kevin Wilson   
Wednesday, 30 May 2007
  1. shifting strings by a given number of places
  2. shifting up to a given string
  3. shifting a string depending on the first or last sign
  4. replacing values
  5. translating signs
  6. overlaying strings
  7. searching strings
  8. length of a string
  9. condensing strings
  10. concatenating strings
  11. splitting strings
  12. moving parts of strings
REPORT demo_data_string.

* shifting strings by a given number of places

DATA: t1(10) TYPE c VALUE 'abcdefghij',
      string1 LIKE t1.

string1 = t1.
WRITE string1.
SHIFT string1.
WRITE / string1.
string1 = t1.
SHIFT string1 BY 3 PLACES LEFT.
WRITE / string1.
string1 = t1.
SHIFT string1 BY 3 PLACES RIGHT.
WRITE / string1.
string1 = t1.
SHIFT string1 BY 3 PLACES CIRCULAR.
WRITE / string1.

SKIP.
ULINE.

* shifting up to a given string

DATA: t2(10) TYPE c VALUE 'abcdefghij',
      string2 LIKE t2,
      str2(2) TYPE c VALUE 'ef'.

string2 = t2.
WRITE string2.
SHIFT string2 UP TO str2.
WRITE / string2.
string2 = t2.
SHIFT string2 UP TO str2 LEFT.
WRITE / string2.
string2 = t2.
SHIFT string2  UP TO str2 RIGHT.
WRITE / string2.
string2 = t2.
SHIFT string2  UP TO str2 CIRCULAR.
WRITE / string2.

SKIP.
ULINE.

* shifting a string depending on the first or last sign

DATA: t3(14) TYPE c VALUE '    abcdefghij',
      string3 LIKE t3,
      str3(6) TYPE c VALUE 'ghijkl'.

string3 = t3.
WRITE string3.
SHIFT string3 LEFT DELETING LEADING space.
WRITE / string3.
string3 = t3.
SHIFT string3 RIGHT DELETING TRAILING str3.
WRITE / string3.

SKIP.
ULINE.

* replacing values

DATA: t4(10) TYPE c VALUE 'abcdefghij',
      string4 LIKE t4,
      str41(4) TYPE c VALUE 'cdef',
      str42(4) TYPE c VALUE 'klmn',
      str43(2) TYPE c VALUE 'kl',
      str44(6) TYPE c VALUE 'klmnop',
      len4 TYPE i VALUE 2.

string4 = t4.
WRITE string4.
REPLACE str41 WITH str42 INTO string4.
WRITE / string4.
string4 = t4.
REPLACE str41 WITH str42 INTO string4 LENGTH len4.
WRITE / string4.
string4 = t4.
REPLACE str41 WITH str43 INTO string4.
WRITE / string4.
string4 = t4.
REPLACE str41 WITH str44 INTO string4.
WRITE / string4.

SKIP.
ULINE.

* translating signs

DATA: t5(10) TYPE c VALUE 'AbCdEfGhIj',
      string5 LIKE t5,
      rule5(20) TYPE c VALUE 'AxbXCydYEzfZ'.

string5 = t5.
WRITE string5.
TRANSLATE string5 TO UPPER CASE.       "#EC SYNTCHAR
WRITE / string5.
string5 = t5.
TRANSLATE string5 TO LOWER CASE.       "#EC SYNTCHAR
WRITE / string5.
string5 = t5.
TRANSLATE string5 USING rule5.         "#EC SYNTCHAR
WRITE / string5.

SKIP.
ULINE.

* overlaying strings

DATA: t6(10) TYPE c VALUE 'a c e g i ',
      string6 LIKE t6,
      over6(10) TYPE c VALUE 'ABCDEFGHIJ',
      str6(2) TYPE c VALUE 'ai'.

string6 = t6.
WRITE string6.
WRITE / over6.
OVERLAY string6 WITH over6.
WRITE / string6.
string6 = t6.
OVERLAY string6 WITH over6 ONLY str6.
WRITE / string6.

SKIP.
ULINE.

*searching strings

DATA string7(30) TYPE c VALUE 'This is a little sentence.'.
WRITE: / 'Searched', 'SY-SUBRC', 'SY-FDPOS'.

ULINE /1(26).
SEARCH string7 FOR 'X'.
WRITE: / 'X', sy-subrc UNDER 'SY-SUBRC',
               sy-fdpos UNDER 'SY-FDPOS'.
SEARCH string7 FOR 'itt   '.
WRITE: / 'itt   ', sy-subrc UNDER 'SY-SUBRC',
                   sy-fdpos UNDER 'SY-FDPOS'.
SEARCH string7 FOR '.e .'.
WRITE: / '.e .', sy-subrc UNDER 'SY-SUBRC',
                  sy-fdpos UNDER 'SY-FDPOS'.
SEARCH string7 FOR '*e'.
WRITE: / '*e ', sy-subrc UNDER 'SY-SUBRC',
                sy-fdpos UNDER 'SY-FDPOS'.
SEARCH string7 FOR 's*'.
WRITE: / 's* ', sy-subrc UNDER 'SY-SUBRC',
                sy-fdpos UNDER 'SY-FDPOS'.

SKIP.
ULINE.

*

DATA: string8(30) TYPE c VALUE 'This is a fast first example.',
      pos8 TYPE i,
      off8 TYPE i.

WRITE / string8.
SEARCH string8 FOR 'ft' ABBREVIATED.
WRITE: / 'SY-FDPOS:', sy-fdpos.
pos8 = sy-fdpos + 2.
SEARCH string8 FOR 'ft' ABBREVIATED STARTING AT pos8 AND MARK.
WRITE / string8.
WRITE: / 'SY-FDPOS:', sy-fdpos.
off8 = pos8 + sy-fdpos - 1.
WRITE: / 'Off:', off8.

SKIP.
ULINE.

* length of a string


DATA: int TYPE i,
      word1(20) TYPE c VALUE '12345',
      word2(20) TYPE c ,
      word3(20) TYPE c VALUE '   4         '.
int = strlen( word1 ). WRITE   int.
int = strlen( word2 ). WRITE / int.
int = strlen( word3 ). WRITE / int.

SKIP.
ULINE.

* condensing strings

DATA: string9(25) TYPE c VALUE ' one  two   three    four',
      len9 TYPE i.

len9 = strlen( string9 ).
WRITE: string9, '!'.
WRITE: / 'Length: ', len9.
CONDENSE string9.
len9 = strlen( string9 ).
WRITE: string9, '!'.
WRITE: / 'Length: ', len9.
CONDENSE string9 NO-GAPS.
len9 = strlen( string9 ).
WRITE: string9, '!'.
WRITE: / 'Length: ', len9.

SKIP.
ULINE.

* concatenating strings


DATA: c1(10)  TYPE c VALUE  'Sum',
      c2(3)   TYPE c VALUE  'mer',
      c3(5)   TYPE c VALUE  'holi ',
      c4(10)  TYPE c VALUE  'day',
      c5(30)  TYPE c ,
      sep(3)  TYPE c VALUE ' - '.

CONCATENATE c1 c2 c3 c4 INTO c5.
WRITE c5.
CONCATENATE c1 c2 c3 c4 INTO c5 SEPARATED BY sep.
WRITE / c5.

SKIP.
ULINE.

* splitting strings

DATA: string10(60) TYPE c ,
      p1(20) TYPE c VALUE '++++++++++++++++++++',
      p2(20) TYPE c VALUE '++++++++++++++++++++',
      p3(20) TYPE c VALUE '++++++++++++++++++++',
      p4(20) TYPE c VALUE '++++++++++++++++++++',
      del10(3) TYPE c VALUE '***'.
string10 = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'.
WRITE string10.
SPLIT string10 AT del10 INTO p1 p2 p3 p4.
WRITE / p1.
WRITE / p2.
WRITE / p3.
WRITE / p4.

SKIP.
ULINE.

* moving parts of strings

DATA: mc1(10) TYPE c VALUE 'ABCDEFGHIJ',
      mc2(10) TYPE c .
MOVE mc1 TO mc2 PERCENTAGE 40.
WRITE mc2.
MOVE mc1 TO mc2 PERCENTAGE 40 RIGHT.
WRITE / mc2.

Related Items:

 
< Prev   Next >

Google Search

Statistics

Contribution Activity
Utilities: 38
Tips and Tricks: 334
Sample Code: 166
Total Contributions: 553

Member Activity
Members: 6310 since 2/1/2007!
New: 1 since yesterday!
Visitors: 1184080
We have 3 guests online

Newest Members

Welcome our newest members:

Google Ads

Shared Bottom Border

Contact Us | Polls | Add URL | Contribute | Privacy | Terms | Feedback

Discussion Forum | BLOG | Consultants: Post your resume | Companies: Advertise on ERPGenie.COM | Post Job
Financials Consultant | Consultant Review | Gallia Consulting | Supply Chain Project | SAP Financials Forum
GenieHoldings.COM, Inc. | Genie Press | WorkflowGenie | ESAGenie | ERPTopSites | ABAP Tips and Tricks | SAP Solutions Database

EDIGenie | Searching Survivor