Skip to Content

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

To report this post you need to login first.

2 Comments

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

Leave a Reply