Los Set de datos sirven para guardar un grupo de datos o valores los cuales deberían ser constantes en una tabla estándar, con datos transportables a los diferentes mandantes
Crear Set de datos:
Para ello nos vamos a la transacción GS01
Lo común es utilizar el tipo de set «Set Básico», también cabe destacar que el set se crea por mandante, esto quiere decir que si en un mandante no llega a crearse tendrías problema con el desarrollo transportado.
Para leer los datos del set en un programa se utiliza la función «G_SET_FETCH» o buscando los datos directamente en la tabla «SETLEAF»
*Tablas internas que almacenarán los datos
DATA: it_formula_lines TYPE TABLE OF rgsbf,
it_set_lines_basic TYPE TABLE OF rgsbv,
it_set_lines_data TYPE TABLE OF rgsb3,
it_set_lines_multi TYPE TABLE OF rgsb2,
it_set_lines_single TYPE TABLE OF rgsb1,* Estructuras creadas para ser usadas si es necesario el
wa_formula_lines TYPE rgsbf,
wa_set_lines_basic TYPE rgsbv,
wa_set_lines_data TYPE rgsb3,
wa_set_lines_multi TYPE rgsb2,
wa_set_lines_single TYPE rgsb1,* Rango creado para hacer consultas o para ser usado como parte de una sentencia lógica
rg_belnr TYPE RANGE OF bkpf-belnr,
wa_belnr LIKE LINE OF rg_belnr.* Esta función trae el rango llamado ZFI_00013
CALL FUNCTION ‘G_SET_FETCH’
EXPORTING
setnr = ‘ZFI_00013’
TABLES
formula_lines = it_formula_lines
set_lines_basic = it_set_lines_basic
set_lines_data = it_set_lines_data
set_lines_multi = it_set_lines_multi
set_lines_single = it_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 it_set_lines_basic INTO wa_set_lines_basic.
wa_belnr-sign = ‘I’.
wa_belnr-option = ‘BT’.
wa_belnr-low = wa_set_lines_basic-from.
wa_belnr-high = wa_set_lines_basic-to.
APPEND wa_belnr TO rg_belnr.
ENDLOOP.
Debe estar conectado para enviar un comentario.