Hi
you need to control the status of table control in pbo process in order to open/close a row if there'r a corrisponding row in internal table;
PROCESS PBO.
MODLE INIT_VAR.
LOOP....
MODULE LOOP_SCREEN.
MODULE LOOP_SCREEN.
READ TABLE IT_ZLNAME INTO WA_ZLNAME.INDEX <TABLE CONTROL>-CURRENT_LINE.
IF SY-SUBRC = 0,
* The line exists so you can change the setting in order the line in not edidable
LOOP AT SCREEN.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ELSE,
* The line doesn't exist, so you do nothinh except for the next line
IF FIRST_EMPTY_LINE = SPACE.
FIRST_EMPTY_LINE = 'X'.
ELSE.
LOOP AT SCREEN.
SCREEN-INPUT = 0.
MODIFY SCREEN.
ENDLOOP.
ENDIF,
ENDIF.
ENDMODULE.
MODLE INIT_VAR.
CLEAR FIRST_EMPTY_LINE.
ENDMODULE.
Anyway the real solution depends on how you manage the table control
Max