lunes, 30 de enero de 2012

Set de datos en SAP usándolos con ABAP

Autor  

Fernando Muñoz Beltrán 

 

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 culaquier 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.
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.



No hay comentarios:

Publicar un comentario