Skip to Content
0
Former Member
Jan 20, 2012 at 01:37 PM

The length specification is not a numeric literal or a numeric constant ???

831 Views

Hi all,

I am facing this error in using the loop with where condition in which i am specifying length specification.

READ TABLE lt_tds_587 INTO ls_tds_587 WITH KEY pernr = ls_tds_1-pernr.

IF sy-subrc EQ 0.

ls_tds-eepfn = ls_tds_587-eepfn.

  • CONCATENATE ls_tds_587-eepfn '*' INTO lv_eepfn.

lv_length = strlen( ls_tds_587-eepfn ).

  • CONCATENATE 'SGTXT+1(' lv_length ')' into lv_eepfn.

LOOP AT lt_reimb INTO ls_reimb WHERE sgtxt+1(lv_length) = ls_tds_587-eepfn.

IF ls_reimb-shkzg EQ 'H'.

ls_reimb-dmbtr = ( -1 * ls_reimb-dmbtr ).

ENDIF.

ls_tds-reimbursment = ls_tds-reimbursment + ls_reimb-dmbtr.

ENDLOOP.

ENDIF.

Any ideas on how to resolve this?????

I can't take lv_lenth as a constant, because its lenght is not fixed, so is it anyway i can fulfill my requirement???

Regards

Tarun