тема достаточно регулярно возникает.
Нижеприведенный код поможет разобраться с полями из bseg и индексных таблиц.
(Исходник должен быть узким)
Code:
report  ZSHOW.
tables CCSELTAB.
type-pools: ABAP,SLIS,ICON.
parameters: T1 like CCSELTAB-TABNAME value check obligatory
               default 'BSEG'.
parameters: T2 like CCSELTAB-TABNAME value check obligatory
               default 'BKPF'.
parameters: T3 like CCSELTAB-TABNAME  default 'BSIS'.
parameters: T4 like CCSELTAB-TABNAME  default 'BSID'.
parameters: T5 like CCSELTAB-TABNAME  default 'BSIK'.
data WA_COMPONENTS type ABAP_COMPDESCR.
data IT_COMPONENTS type ABAP_COMPDESCR_TAB.
data IT_NAMES type table of ABAP_COMPNAME.
data WA_NAMES type ABAP_COMPNAME.
data: DESCR_STRUC_REF  type ref to CL_ABAP_STRUCTDESCR,
      DESCR_STRUC_REF2 type ref to CL_ABAP_STRUCTDESCR,
      DESCR_STRUC_REF3 type ref to CL_ABAP_STRUCTDESCR,
      DESCR_STRUC_REF4 type ref to CL_ABAP_STRUCTDESCR,
      DESCR_STRUC_REF5 type ref to CL_ABAP_STRUCTDESCR.
data: begin of OUT_LINES occurs 0,
      NAME like DD03L-FIELDNAME,
      F1(5),
      F2(5),
      F3(5),
      F4(5),
      F5(5),
      end of OUT_LINES.
data  G_REPID like SY-REPID.
data: GT_FIELDCAT   type SLIS_T_FIELDCAT_ALV.
data: WA_FIELDKAT   type SLIS_FIELDCAT_ALV.
start-of-selection.
  G_REPID = SY-REPID.
  try.
      DESCR_STRUC_REF  ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( T1 ).
    catch CX_ROOT.
  endtry.
  try.
      DESCR_STRUC_REF2 ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( T2 ).
    catch CX_ROOT.
  endtry.
  if not T3 is initial.
    try.
        DESCR_STRUC_REF3 ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( T3 ).
      catch CX_ROOT.
    endtry.
  endif.
  if not T4 is initial.
    try.
        DESCR_STRUC_REF4 ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( T4 ).
      catch CX_ROOT.
    endtry.
  endif.
  if not T5 is initial.
    try.
        DESCR_STRUC_REF5 ?= CL_ABAP_TYPEDESCR=>DESCRIBE_BY_NAME( T5 ).
      catch CX_ROOT.
    endtry.
  endif.
  if DESCR_STRUC_REF is bound.
    append lines of  DESCR_STRUC_REF->COMPONENTS to IT_COMPONENTS.
  endif.
  if DESCR_STRUC_REF2 is bound.
    append lines of  DESCR_STRUC_REF2->COMPONENTS to IT_COMPONENTS.
  endif.
  if DESCR_STRUC_REF3 is bound.
    append lines of  DESCR_STRUC_REF3->COMPONENTS to IT_COMPONENTS.
  endif.
  if DESCR_STRUC_REF4 is bound.
    append lines of  DESCR_STRUC_REF4->COMPONENTS to IT_COMPONENTS.
  endif.
  if DESCR_STRUC_REF5 is bound.
    append lines of  DESCR_STRUC_REF5->COMPONENTS to IT_COMPONENTS.
  endif.
  loop at IT_COMPONENTS into WA_COMPONENTS.
    WA_NAMES = WA_COMPONENTS-NAME.
    collect WA_NAMES into IT_NAMES.
  endloop.
  loop at IT_NAMES into WA_NAMES.
    clear OUT_LINES.
    OUT_LINES-NAME = WA_NAMES.
    read table DESCR_STRUC_REF->COMPONENTS into WA_COMPONENTS
                                   with key NAME = WA_NAMES.
    if SY-SUBRC is initial.
      OUT_LINES-F1 = ICON_CHECKED.
    else.
      OUT_LINES-F1 = ICON_INCOMPLETE.
    endif.
    read table DESCR_STRUC_REF2->COMPONENTS into WA_COMPONENTS
                                   with key NAME = WA_NAMES.
    if SY-SUBRC is initial.
      OUT_LINES-F2 = ICON_CHECKED.
    else.
      OUT_LINES-F2 = ICON_INCOMPLETE.
    endif.
    if DESCR_STRUC_REF3 is bound.
      read table DESCR_STRUC_REF3->COMPONENTS into WA_COMPONENTS
                                     with key NAME = WA_NAMES.
      if SY-SUBRC is initial.
        OUT_LINES-F3 = ICON_CHECKED.
      else.
        OUT_LINES-F3 = ICON_INCOMPLETE.
      endif.
    endif.
    if DESCR_STRUC_REF4 is bound.
      read table DESCR_STRUC_REF4->COMPONENTS into WA_COMPONENTS
                                     with key NAME = WA_NAMES.
      if SY-SUBRC is initial.
        OUT_LINES-F4 = ICON_CHECKED.
      else.
        OUT_LINES-F4 = ICON_INCOMPLETE.
      endif.
    endif.
    if DESCR_STRUC_REF5 is bound.
      read table DESCR_STRUC_REF5->COMPONENTS into WA_COMPONENTS
                                     with key NAME = WA_NAMES.
      if SY-SUBRC is initial.
        OUT_LINES-F5 = ICON_CHECKED.
      else.
        OUT_LINES-F5 = ICON_INCOMPLETE.
      endif.
    endif.
    append OUT_LINES.
  endloop.
  call function 'REUSE_ALV_FIELDCATALOG_MERGE'
    exporting
      I_PROGRAM_NAME     = G_REPID
      I_INTERNAL_TABNAME = 'OUT_LINES'
      I_INCLNAME         = G_REPID
      I_BYPASSING_BUFFER = 'X'
    changing
      CT_FIELDCAT        = GT_FIELDCAT
    exceptions
      others             = 0.
  WA_FIELDKAT-ICON = 'X'.
  modify GT_FIELDCAT
  from WA_FIELDKAT
  transporting ICON
  where FIELDNAME cp 'F*'.
  read table GT_FIELDCAT into WA_FIELDKAT
  with key FIELDNAME = 'F1'.
  if SY-SUBRC is initial.
    WA_FIELDKAT-SELTEXT_M = WA_FIELDKAT-SELTEXT_S.
    WA_FIELDKAT-SELTEXT_L = T1.
    modify GT_FIELDCAT from WA_FIELDKAT index SY-TABIX.
  endif.
  read table GT_FIELDCAT into WA_FIELDKAT
  with key FIELDNAME = 'F2'.
  if SY-SUBRC is initial.
    WA_FIELDKAT-SELTEXT_M = WA_FIELDKAT-SELTEXT_S.
    WA_FIELDKAT-SELTEXT_L = T2.
    modify GT_FIELDCAT from WA_FIELDKAT index SY-TABIX.
  endif.
  if not DESCR_STRUC_REF3 is bound.
    delete GT_FIELDCAT   where FIELDNAME = 'F3'.
  endif.
  if not DESCR_STRUC_REF4 is bound.
    delete GT_FIELDCAT   where FIELDNAME = 'F4'.
  endif.
  if not DESCR_STRUC_REF5 is bound.
    delete GT_FIELDCAT   where FIELDNAME = 'F5'.
  endif.
  read table GT_FIELDCAT into WA_FIELDKAT
  with key FIELDNAME = 'F3'.
  if SY-SUBRC is initial.
    WA_FIELDKAT-SELTEXT_M = WA_FIELDKAT-SELTEXT_S.
    WA_FIELDKAT-SELTEXT_L = T3.
    modify GT_FIELDCAT from WA_FIELDKAT index SY-TABIX.
  endif.
  read table GT_FIELDCAT into WA_FIELDKAT
  with key FIELDNAME = 'F4'.
  if SY-SUBRC is initial.
    WA_FIELDKAT-SELTEXT_M = WA_FIELDKAT-SELTEXT_S.
    WA_FIELDKAT-SELTEXT_L = T4.
    modify GT_FIELDCAT from WA_FIELDKAT index SY-TABIX.
  endif.
  read table GT_FIELDCAT into WA_FIELDKAT
  with key FIELDNAME = 'F5'.
  if SY-SUBRC is initial.
    WA_FIELDKAT-SELTEXT_M = WA_FIELDKAT-SELTEXT_S.
    WA_FIELDKAT-SELTEXT_L = T5.
    modify GT_FIELDCAT from WA_FIELDKAT index SY-TABIX.
  endif.
  call function 'REUSE_ALV_GRID_DISPLAY'
    exporting
      I_CALLBACK_PROGRAM = G_REPID
      IT_FIELDCAT        = GT_FIELDCAT
    tables
      T_OUTTAB           = OUT_LINES.