Autor Tema: Visualiza/Modifica tablas con... 'SE16N_INTERFACE'  (Leído 6913 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado abapito

  • Usuario Completo
  • ***
  • Mensajes: 76
    • Ver Perfil
Visualiza/Modifica tablas con... 'SE16N_INTERFACE'
« en: 28 de Noviembre de 2012, 03:43:01 pm »
Esta función la suelo utilizar desde un ALV para que le lleve al usuario a visualizar los datos de una tabla.

Puedes pasarle los parámetros que necesites de la tabla, ponerla como editable, solo visualización, etc...

Cómodo y muy rápido de realizar.


* data declaration for the FM
  DATA: l_tab      TYPE se16n_tab,
        t_sel      TYPE se16n_or_t,
        la_sel     LIKE LINE OF t_sel,
        t_sel_tab  TYPE se16n_or_seltab_t,
        la_sel_tab LIKE LINE OF t_sel_tab.
* Table name
  l_tab = 'ZXXXXX'.



  LOOP AT s_bukrs.
    la_sel_tab-field   = 'BUKRS'.
    la_sel_tab-sign    = s_bukrs-sign.
    la_sel_tab-option  = s_bukrs-option.
    la_sel_tab-low     = s_bukrs-low.
    la_sel_tab-high    = s_bukrs-high.
    APPEND la_sel_tab TO t_sel_tab.
  ENDLOOP.

* Fill the main selection table
  la_sel-pos = 1.
  la_sel-seltab = t_sel_tab.
  APPEND la_sel TO t_sel.
*
* Function module for the SE16N
  CALL FUNCTION 'SE16N_INTERFACE'
    EXPORTING
      i_tab                  = l_tab
      i_edit                 = 'X'
      i_clnt_dep             = 'X'
    TABLES
*     IT_OUTPUT_FIELDS       =
      it_or_selfields        = t_sel
    EXCEPTIONS
      no_values              = 1
      OTHERS                 = 2
            .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.