01-21-2008 8:30 PM
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
01-21-2008 8:36 PM
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®
01-21-2008 8:36 PM
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®
01-21-2008 8:41 PM
Thanks for that. I wasn't sure if I had to use an idex when a table had a header line.
Thanks again,
Davis.