Have you mentioned the correct table control name?
READ TABLE TBL_CTRL-cols INTO wa_fld_list WITH KEY selected = 'X'.
MODIFY TBL_CTRL-cols FROM wa_fld_list INDEX sy-tabix.
What is the sy-tabix value before this statement gets executed?
What is the sy-subrc value after this statement's execution?