‎2007 Jun 25 2:43 PM
Dear Gurus
i want to split a byte string, like '111199222299333399' into a xsting table in this mode:
1111
2222
3333
If the program is like this:
DATA: aa TYPE xstring,
bb(2) TYPE x,
cc TYPE TABLE OF xstring.
aa = '111199222299333399'.
bb = '99'.
SPLIT aa AT bb INTO TABLE cc IN BYTE MODE.
CC has only one line: '111199222299333399'.
can anyone help to split aa as i want?
‎2007 Jun 25 3:22 PM
Hi
try this:
DATA: STRING(200) VALUE '111199222299333399'.
DATA: WA TYPE STRING,
T_FIELD LIKE STANDARD TABLE OF WA.
DATA: SEP(2) VALUE '99'.
SPLIT STRING AT SEP INTO TABLE T_FIELD.
LOOP AT T_FIELD INTO WA.
WRITE / WA.
ENDLOOP.Max
‎2007 Jun 25 3:14 PM
Hi,
Try with this code:
DATA: STRING(60),
P1(20) VALUE '++++++++++++++++++++',
P2(20) VALUE '++++++++++++++++++++',
P3(20) VALUE '++++++++++++++++++++',
P4(20) VALUE '++++++++++++++++++++',
DEL(3) VALUE '***'.
STRING = ' Part 1 *** Part 2 *** Part 3 *** Part 4 *** Part 5'.
WRITE STRING.
SPLIT STRING AT DEL INTO P1 P2 P3 P4.
WRITE / P1.
WRITE / P2.
WRITE / P3.
WRITE / P4.
Regards,
Bhaskar
‎2007 Jun 25 3:17 PM
Thanks. But two requirements have to meet:
1. the number of sub-segment, like '1111' '2222' '3333'.... is unknow. that's why internal table has to be used.
2. byte mode should be used instead of text mode.
‎2007 Jun 25 3:22 PM
Hi
try this:
DATA: STRING(200) VALUE '111199222299333399'.
DATA: WA TYPE STRING,
T_FIELD LIKE STANDARD TABLE OF WA.
DATA: SEP(2) VALUE '99'.
SPLIT STRING AT SEP INTO TABLE T_FIELD.
LOOP AT T_FIELD INTO WA.
WRITE / WA.
ENDLOOP.Max