Application Development 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: 

finding length of variable at run time

Former Member
0 Kudos

Good Morning to all Guru's,

can anybody explains me how i can find out the total length of one field from the internal table at run time?

example.

i wanted to some thing like this.

TYPES:BEGIN OF text12,

text1 TYPE string,

num(4) TYPE n,

calc TYPE i,

off TYPE i,

off1 TYPE i,

END OF text12.

DATA:wa TYPE text12.

DATA:itab TYPE TABLE OF text12.

MOVE 'i know you know' TO wa-text1.

MOVE 1234 TO wa-num.

MOVE 5678 TO wa-calc.

APPEND wa TO itab.

LOOP AT itab INTO wa.

FIND 'you' IN wa-text1 MATCH OFFSET wa-off.

  • FIND (wa-num) MATCH OFFSET wa-off1 . "here i am strucked

SHIFT wa-text1 BY wa-off PLACES.

SHIFT wa-num BY 2 PLACES.

SHIFT wa-num BY wa-off1 PLACES.

WRITE:wa-text1,wa-num,wa-calc.

ENDLOOP.

Please help me out.

Thanks

Priyalatha

1 ACCEPTED SOLUTION

former_member194152
Contributor
0 Kudos

hi,

Use DESCRIBE FIELD statement.

Regards

Gagan

7 REPLIES 7

former_member194152
Contributor
0 Kudos

hi,

Use DESCRIBE FIELD statement.

Regards

Gagan

Former Member
0 Kudos

Hi,

Use STRLEN() to find total data length of a field.

Former Member
0 Kudos

Hi

use strlen(fieldname) it will give you the length.

you can also use describe fieldname for that just pass the itab field to a temp variable and say DESCRIBE on that

reward if helpful

vivekanand

0 Kudos

Thank you vivekanand,

My problem is solved

Former Member
0 Kudos

Hi Priya,

Try This code If it suffices ur requirement. Award Points if useful.

TYPES:BEGIN OF text12,

text1 TYPE string,

num(4) TYPE n,

calc TYPE i,

off TYPE i,

off1 TYPE i,

END OF text12.

DATA : l(5) TYPE n.

DATA : t(5).

DATA:wa TYPE text12.

DATA:itab TYPE TABLE OF text12.

MOVE 'i know you know' TO wa-text1.

MOVE 1234 TO wa-num.

MOVE 5678 TO wa-calc.

APPEND wa TO itab.

LOOP AT itab INTO wa.

FIND 'you' IN wa-text1 MATCH OFFSET wa-off.

FIND wa-num IN wa-num MATCH LENGTH l.

CALL FUNCTION 'CONVERSION_EXIT_ALPHA_OUTPUT'

EXPORTING

input = l

IMPORTING

output = l.

FIND l IN wa-num MATCH OFFSET wa-off1.

SHIFT wa-text1 BY wa-off PLACES.

SHIFT wa-num BY 2 PLACES.

SHIFT wa-num BY wa-off1 PLACES.

WRITE:wa-text1,wa-num,wa-calc.

ENDLOOP.

Former Member
0 Kudos

hi priya

try like this

TYPES:BEGIN OF text12,

text1 TYPE string,

num(4) TYPE n,

calc TYPE i,

off TYPE i,

off1 TYPE i,

name type string,

name1 type string,

END OF text12.

DATA:wa TYPE text12.

DATA:itab TYPE TABLE OF text12.

data: len type i,

num type i.

MOVE 'i know you know' TO wa-text1.

len = strlen( wa-text1 ).

num = 0.

do len times .

num = num + 1 .

*MOVE wa-text1(num) TO name.

move wa-text1(num) to wa-name .

enddo.

MOVE 5678 TO wa-calc.

APPEND wa TO itab.

LOOP AT itab INTO wa.

FIND 'you' IN wa-text1 MATCH OFFSET wa-off.

  • FIND (wa-num) MATCH OFFSET wa-off1 . "here i am strucked

SHIFT wa-text1 BY wa-off PLACES.

SHIFT wa-num BY 2 PLACES.

SHIFT wa-num BY wa-off1 PLACES.

WRITE:wa-name ,wa-num,wa-calc.

ENDLOOP.

Former Member
0 Kudos

LOOP AT itab INTO wa.

FIND 'you' IN wa-text1 MATCH OFFSET wa-off.

  • FIND (wa-num) MATCH OFFSET wa-off1 . "here i am strucked

SHIFT wa-text1 BY wa-off PLACES.

SHIFT wa-num BY 2 PLACES.

SHIFT wa-num BY wa-off1 PLACES.

WRITE:wa-name ,wa-num,wa-calc.

ENDLOOP.

in this wa-off is i so change the off type is c

then its work fine.

regard

kk.