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: 

What is wrong with this code?

Former Member
0 Kudos

I am modifying a sapscript print program to suppress certain characteristics; we don't want them to print. To do this I am looping through the characteristic table and doing a case statement on the name. If I wish to suppress the characteristic I delete it from the table. When it runs I get a run-time error (no dump, one of those message errors). It doesn't like the delete statement. I am also putting several characteristics on one line to save space, you will see in the code below:

LOOP AT tkomcon.

CASE tkomcon-atnam.

WHEN 'Z_LENGTH'.

temp_length = tkomcon-atwtb.

  • CONCATENATE ztempstring tkomcon-atwtb INTO ztempstring.

WHEN 'Z_WIDTH'.

temp_width = tkomcon-atwtb.

DELETE tkomcon.

WHEN 'Z_THICKNESS1'.

temp_height1 = tkomcon-atwtb.

DELETE tkomcon.

WHEN 'Z_THICKNESS2'.

temp_height2 = tkomcon-atwtb.

DELETE tkomcon.

WHEN 'Z_THICKNESS3'.

temp_height3 = tkomcon-atwtb.

DELETE tkomcon.

WHEN 'Z_THICKNESS4'.

temp_height4 = tkomcon-atwtb.

DELETE tkomcon.

WHEN 'Z_PCS'.

temp_pcs = tkomcon-atwtb.

WHEN 'Z_BFT_PCE'.

DELETE tkomcon.

WHEN 'Z_BOARD_FT'.

DELETE tkomcon.

WHEN 'Z_PRICE_PASS'.

DELETE tkomcon.

WHEN 'Z_PRICE_PCE'.

temp_price = tkomcon-atwtb.

WHEN 'Z_GRIND'.

DELETE tkomcon.

WHEN 'Z_BORATE'.

DELETE tkomcon.

ENDCASE.

ENDLOOP.

READ TABLE tkomcon INDEX 1.

tkomcon-atwtb = ''.

CONCATENATE temp_length ' x ' temp_width ' x ' temp_height1 ' x ' temp_height2 ' x ' temp_height3

' x ' temp_height4 ' x ' INTO ztempstring.

tkomcon-atbez = ztempstring.

MODIFY tkomcon.

Regards,

Davis

1 ACCEPTED SOLUTION

former_member194669
Active Contributor
0 Kudos

Try this way


LOOP AT tkomcon.
v_tabix = sy-tabix.     "<<<

CASE tkomcon-atnam.
WHEN 'Z_LENGTH'.
temp_length = tkomcon-atwtb.

* CONCATENATE ztempstring tkomcon-atwtb INTO ztempstring.

WHEN 'Z_WIDTH'.
temp_width = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS1'.
temp_height1 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS2'.
temp_height2 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS3'.
temp_height3 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS4'.
temp_height4 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PCS'.
temp_pcs = tkomcon-atwtb.
WHEN 'Z_BFT_PCE'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_BOARD_FT'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PRICE_PASS'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PRICE_PCE'.
temp_price = tkomcon-atwtb.
WHEN 'Z_GRIND'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_BORATE'.
DELETE tkomcon index v_tabix. "<<
ENDCASE.
ENDLOOP.

READ TABLE tkomcon INDEX 1.
v_tabix = sy-tabix.
tkomcon-atwtb = ''.
CONCATENATE temp_length ' x ' temp_width ' x ' temp_height1 ' x ' temp_height2 ' x ' temp_height3
' x ' temp_height4 ' x ' INTO ztempstring.
tkomcon-atbez = ztempstring.
MODIFY tkomcon  index v_tabix.

2 REPLIES 2

former_member194669
Active Contributor
0 Kudos

Try this way


LOOP AT tkomcon.
v_tabix = sy-tabix.     "<<<

CASE tkomcon-atnam.
WHEN 'Z_LENGTH'.
temp_length = tkomcon-atwtb.

* CONCATENATE ztempstring tkomcon-atwtb INTO ztempstring.

WHEN 'Z_WIDTH'.
temp_width = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS1'.
temp_height1 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS2'.
temp_height2 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS3'.
temp_height3 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_THICKNESS4'.
temp_height4 = tkomcon-atwtb.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PCS'.
temp_pcs = tkomcon-atwtb.
WHEN 'Z_BFT_PCE'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_BOARD_FT'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PRICE_PASS'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_PRICE_PCE'.
temp_price = tkomcon-atwtb.
WHEN 'Z_GRIND'.
DELETE tkomcon index v_tabix. "<<
WHEN 'Z_BORATE'.
DELETE tkomcon index v_tabix. "<<
ENDCASE.
ENDLOOP.

READ TABLE tkomcon INDEX 1.
v_tabix = sy-tabix.
tkomcon-atwtb = ''.
CONCATENATE temp_length ' x ' temp_width ' x ' temp_height1 ' x ' temp_height2 ' x ' temp_height3
' x ' temp_height4 ' x ' INTO ztempstring.
tkomcon-atbez = ztempstring.
MODIFY tkomcon  index v_tabix.

0 Kudos

Thanks for that. I wasn't sure if I had to use an idex when a table had a header line.

Thanks again,

Davis.