*---------------------------------------------------------------------* * FORM VIM_SINGLE_ENTRY_FILL_SELLIST * *---------------------------------------------------------------------* * fill sellist in case of single entry maintenance * *---------------------------------------------------------------------* FORM vim_single_entry_fill_sellist. DATA: countx TYPE i, nam_ix TYPE i. FIELD-SYMBOLS:

. LOOP AT x_namtab WHERE keyflag NE space AND texttabfld EQ space. CHECK x_header-clidep EQ space OR sy-tabix GT 1. nam_ix = sy-tabix. assign component x_namtab-viewfield of structure to

. * ASSIGN +X_NAMTAB-POSITION(X_NAMTAB-FLENGTH) TO

. READ TABLE dpl_sellist WITH KEY viewfield = x_namtab-viewfield operator = 'EQ' negation = space. IF sy-subrc NE 0. CLEAR dpl_sellist. dpl_sellist-viewfield = x_namtab-viewfield. dpl_sellist-operator = 'EQ'. dpl_sellist-and_or = 'AND'. dpl_sellist-tabix = nam_ix. APPEND dpl_sellist. ENDIF. countx = sy-tabix. CLEAR dpl_sellist-converted. dpl_sellist-ddic = 'S'. CLEAR dpl_sellist-value. CALL FUNCTION 'VIEW_CONVERSION_OUTPUT' EXPORTING value_intern =

tabname = x_header-maintview fieldname = x_namtab-viewfield * inttype = x_namtab-inttype * datatype = x_namtab-datatype * decimals = x_namtab-decimals * convexit = x_namtab-convexit * sign = x_namtab-sign outputlen = x_namtab-outputlen intlen = x_namtab-flength IMPORTING value_extern = dpl_sellist-value. IF dpl_sellist-value EQ space. dpl_sellist-initial = 'X'. ELSE. CLEAR dpl_sellist-initial. ENDIF. MODIFY dpl_sellist INDEX countx. x_namtab-readonly = 'S'. MODIFY x_namtab. ENDLOOP. ASSIGN dpl_sellist[] TO . x_header-subsetflag = x_header-selection = 'X'. MODIFY x_header INDEX 1. PERFORM init_subset_keyfields. ENDFORM. "vim_single_entry_fill_sellist