Creaciòn de set de datos
Gs01
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:
