ABAP: Obtener ID de un SET

Con la función estandar de SAP G_SET_GET_ID_FROM_NAME podremos obtener el ID de un SET, esto nos servirá para utilizar otras funciones como G_SET_FETCH o G_SET_GET_ALL_VALUES, las cuales nos permitiran obtener los valores de un SET. Para utilizar esta función sólo tendremos que pasarle el Nombre del SET y obtendremos el ID del SET (entre otros datos)

 

Parámetros de Entrada

  • CLIENT: Mandante
  • SHORTNAME: Nombre del SET
  • OLD_SETID: ID de SET (Opcional)
  • TABNAME: Nombre de tabla (Opcional)
  • FIELDNAME: Nombre del campo (Opcional)
  • KOKRS: Sociedad CO (Opcional)
  • KTOPL: Plan de cuentas (Opcional)
  • LIB: Bilbioteca (Opcional)
  • RNAME: Informe (Opcional)
  • SETCLASS: Clase de SET (Opcional)
  • CHECK_SET_EMPTY: Comprobar si el SET está vacío (Vacío por defecto)
  • SUPRESS_POPUP: Omitir Pop-Ups (Vacío por defecto)
  • NO_DYNAMIC_SETS: No set Dinamicos (Vacío por defecto)

 

Parámetros de Salida

  • NEW_SETID: ID del SET
  • SET_INFO: Estructura SETINFO con la información del SET (Tipo de SET, Usuario creador, Fecha creación, Modificado por, …)
  • T_SETS: Relacion de SETs con estructura SETLIST

 

Función

En este ejemplo en concreto, lo único que nos intenresa es el ID del SET.

DATA: lv_shortname TYPE SETHIER-SHORTNAME VALUE 'NOMBRE_SET',
      lv_setid     TYPE sethier-setid.

CLEAR: lv_setid.

CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
  EXPORTING
    shortname                = lv_shortname
  IMPORTING
    new_setid                = lv_setid
  EXCEPTIONS
    no_set_found             = 1
    no_set_picked_from_popup = 2
    wrong_class              = 3
    wrong_subclass           = 4
    table_field_not_found    = 5
    fields_dont_match        = 6
    set_is_empty             = 7
    formula_in_set           = 8
    set_is_dynamic           = 9
    OTHERS                   = 10.

 

Para ver mas funciones de SAP pulse en el siguiente enlace: Listado de funciones

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *