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

What is wrong with this code?

Former Member
0 Likes
391

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
Read only

former_member194669
Active Contributor
0 Likes
343

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.

a®

2 REPLIES 2
Read only

former_member194669
Active Contributor
0 Likes
344

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.

a®

Read only

0 Likes
343

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

Thanks again,

Davis.