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