Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Split material description

Former Member
0 Likes
816

Dear ABAPers,

Material description and construction is : 100% COTTON TWILL72X66/20/2X10

But I need to split

description : 100% COTTON TWILL

construction: 72X66/20/2X10

Is ther any body to help me?

Bishnu

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
709

Hello


data: t1(40),
      t2(40),
      t3(40),
      pointer type i.
t1 = '100% COTTON TWILL72X66/20/2X10'.
search t1 for '/'.
pointer = sy-fdpos.
do.
  pointer = pointer - 1.
  if t1+pointer(1) CO SY-ABCDE.
    pointer = pointer - 1.
    if t1+pointer(1) CO SY-ABCDE.
      pointer = pointer + 2. exit.
    endif.
  endif.
enddo.
t2 = t1+0(pointer).
t3 = t1+pointer.
write: t2, t3.

5 REPLIES 5
Read only

Former Member
0 Likes
710

Hello


data: t1(40),
      t2(40),
      t3(40),
      pointer type i.
t1 = '100% COTTON TWILL72X66/20/2X10'.
search t1 for '/'.
pointer = sy-fdpos.
do.
  pointer = pointer - 1.
  if t1+pointer(1) CO SY-ABCDE.
    pointer = pointer - 1.
    if t1+pointer(1) CO SY-ABCDE.
      pointer = pointer + 2. exit.
    endif.
  endif.
enddo.
t2 = t1+0(pointer).
t3 = t1+pointer.
write: t2, t3.

Read only

0 Likes
709

Dear Maroz,

Thanks a lot.

Read only

Former Member
0 Likes
709

Hi,

Try the below code.

data : lv_str TYPE String VALUE '100% COTTON TWILL72X66/20/2X10'.
data : lv_str1 TYPE string,
       lv_str2 TYPE string.
REPLACE REGEX '([[:alpha:]])(\d)' IN lv_str WITH '$1#$2'.
SPLIT lv_str AT '#' INTO lv_str1 lv_str2.

This will solve your problem.

Regards

Karthik D

Read only

Former Member
0 Likes
709

Hi,

Check this. Round about way though



DATA: DESC TYPE STRING,
      DESC1 TYPE STRING,
      CONST TYPE STRING,
      MEAS TYPE STRING,
      TEMP TYPE I,
      TEMP1 TYPE STRING,
      POS TYPE I,
      LENG TYPE I,
      MOFF TYPE I,
      MLEN TYPE I,
      FOFF TYPE I,
      FLEN TYPE I,
      OFF TYPE I,
      T_ITAB TYPE TABLE OF MATCH_RESULT_TAB.

DESC = '100% COTTON TWILL72X66/20/2X10'.

OFF = 0.
WHILE SY-SUBRC EQ 0.
  FIND  ` ` IN SECTION OFFSET OFF OF DESC
        MATCH OFFSET FOFF MATCH LENGTH FLEN.
IF SY-SUBRC EQ 0.
*  WRITE: FOFF.
  OFF = FOFF + FLEN.
ENDIF.
ENDWHILE.

DESC1 = DESC+0(FOFF).

LENG = STRLEN( DESC ).
TEMP =  LENG - FOFF.
TEMP = TEMP - 1.
FOFF = FOFF + 1.
CONST = DESC+FOFF(TEMP).


FIND REGEX '([[:alpha:]]*)' IN CONST
     IGNORING CASE
     MATCH OFFSET MOFF MATCH LENGTH MLEN.

CLEAR LENG.
CLEAR TEMP.
LENG = STRLEN( CONST ).
TEMP = LENG - MLEN.
TEMP1 = CONST+0(MLEN).
MEAS = CONST+MLEN(TEMP).
CLEAR DESC.
CONCATENATE DESC1 TEMP1 INTO DESC SEPARATED BY SPACE.
WRITE:/ DESC.
WRITE:/ MEAS.

Read only

0 Likes
709

Dear Nitwick

Thanks .