Skip to Content

Set de datos en SAP usándolos con ABAP

Set de datos en SAP usándolos con ABAP

Introducción

Un set de datos es un objeto en SAP el cual se usa para agrupar conjuntos o rangos de valores. Para este artículo vamos a enfocarnos en los set de datos que podemos usar para parametrizar información en algún programa en especial. En el ejemplo que voy a mostrar uso un set de datos para crear parametrizaciones en el sistema sin necesidad de crear tablas.

Ventajas

  • Se crean fácilmente, cada vez que se crea un set de datos este es independiente de otros.
  • Pueden ser usados transversalmente en el sistema, es decir funcionan para cualquier módulo.
  • Permiten que la información se centralice y se modifique con facilidad.

Transacciones para su uso

GS01: Usada para la creación de set de datos

GS02: Usada para la modificación de set de datos

GS03: Usada para la visualización de set de datos

Ejemplo

El siguiente ejemplo muestra la manera como se hace la consulta del set de datos y se extrae la información para ser usada en un programa ABAP.

DATA:   lit_formula_lines TYPE TABLE OF rgsbf,
        lit_set_lines_basic TYPE TABLE OF rgsbv,
        lit_set_lines_data TYPE TABLE OF rgsb3,
        lit_set_lines_multi TYPE TABLE OF rgsb2,
        lit_set_lines_single TYPE TABLE OF rgsb1,
* Estructuras creadas para ser usadas si es necesario
        lwa_formula_lines TYPE rgsbf,
        lwa_set_lines_basic TYPE rgsbv,
        lwa_set_lines_data TYPE rgsb3,
        lwa_set_lines_multi TYPE rgsb2,
        lwa_set_lines_single TYPE rgsb1,
* Rango creado para hacer consultas o para ser usado como parte de una sentencia lógica
        lr_dauat TYPE RANGE OF afpo-dauat.
* Esta función trae el rango llamado ZORDENES_DESARROLLO
CALL FUNCTION 'G_SET_FETCH'
        EXPORTING
          setnr                     = '0000ZORDENES_DESARROLLO'
       TABLES
         formula_lines             = lit_formula_lines
         set_lines_basic           = lit_set_lines_basic
         set_lines_data            = lit_set_lines_data
         set_lines_multi           = lit_set_lines_multi
         set_lines_single          = lit_set_lines_single
       EXCEPTIONS
         no_authority              = 1
         set_is_broken             = 2
         set_not_found             = 3
         OTHERS                    = 4
                .
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.
  LOOP AT lit_set_lines_basic INTO lwa_set_lines_basic.
    lwa_dauat-sign = 'I'.
    lwa_dauat-option = 'BT'.
    lwa_dauat-low = lwa_set_lines_basic-from.
    lwa_dauat-high = lwa_set_lines_basic-to.
    APPEND lwa_dauat TO lr_dauat.
  ENDLOOP.

Transporte

Para incuir un set de datos en una orden de transporte se debe ir a la opción:

Capture.PNG

O ejecutar la transacción GCTS, lo cual llevaria a la siguiente pantalla:

Capture.PNG

Se selecciona la opción Sets, se digita el número del set que se quiere tansportart:

Capture.PNG

Se selecciona el set:

Capture.PNG

y por último la orden en la que se desea enviar:

Capture.PNG

2 Comments
You must be Logged on to comment or reply to a post.