Hi,
i believe you have already created a Custom Status for user-command.
make a additional field for check box in the internal table whose data you are displaying through ALV.
then in user command populated that record in to the new internal table where Checkbox = 'X' and pass that record to another internal table which you are using for Smartform FM.
or
use read statement to populate 2nd internal table on PRINT command the selected record will populate SLIS_SELFIELD type structure.
SLIS_SELFIELD: It is for cursor positioning in ALV.
if sy-ucomm = 'PRINT'.
refresh itab2.
READ TABLE itable1 into <wa2> INDEX rs_selfield-tabindex.
if sy-subrc is initial.
append wa2 to itab2.
then write code for smartform printing.
endif.
endif.
thanks!!