Se creara una función.
1.- Crear "Grupo de Funciones" (se80).
2.- Crear "Módulo de Funciones".
En la pestaña "Import" agregar los nombre de parámetros mostrados en la figura.IV_SET_NAME (nombre del set de datos)
IV_DATA_ELEMENT (nombre del elemento de datos relacionado al set de datos)
3.- En la pestaña "Tablas", ingresar nombre de parámetro...
ET_RANGE (es un rango, contendrá los datos del set datos)4.- Finalmente en la pestaña "Código fuente" copiar el siguiente código:
DATA: lv_new_setid TYPE sethier-setid,
lt_set_lines_basic TYPE STANDARD TABLE OF rgsbv,
ls_set_lines_basic TYPE rgsbv.
DATA: ls_tab TYPE REF TO cl_rs_struc,
lo_data TYPE REF TO data.
FIELD-SYMBOLS: <tabla> TYPE STANDARD TABLE,
<linea> TYPE any,
<campo> TYPE any.
CREATE OBJECT ls_tab.
CALL METHOD ls_tab->add_element
EXPORTING
i_sconame = 'SIGN'
i_type = 'CHAR01'.
CALL METHOD ls_tab->add_element
EXPORTING
i_sconame = 'OPTION'
i_type = 'CHAR02'.
CALL METHOD ls_tab->add_element
EXPORTING
i_sconame = 'LOW'
i_type = iv_data_element.
CALL METHOD ls_tab->add_element
EXPORTING
i_sconame = 'HIGH'
i_type = iv_data_element.
CALL METHOD ls_tab->create
EXPORTING
i_dynamic = rs_c_false
RECEIVING
r_r_data = lo_data
EXCEPTIONS
wrong_struc_definition = 1
no_struc_definition = 2
OTHERS = 3.
ASSIGN lo_data->* TO <linea>.
CREATE DATA lo_data LIKE TABLE OF <linea>.
ASSIGN lo_data->* TO <tabla>.
REFRESH: et_range[].
PERFORM f_get_set_data TABLES <tabla>
USING iv_set_name.
MOVE <tabla>[] TO et_range[].
*&--------------------------------------------------------------*
*& Form F_GET_SET_DATA
*&--------------------------------------------------------------*
FORM f_get_set_data TABLES p_t_range
USING p_v_set.
REFRESH: p_t_range[].
SELECT setleaf~valsign AS sign
setleaf~valoption AS option
setleaf~valfrom AS low
setleaf~valto AS high
INTO CORRESPONDING FIELDS OF TABLE p_t_range
FROM setheader INNER JOIN setleaf
ON setleaf~setclass EQ setheader~setclass
AND setleaf~subclass EQ setheader~subclass
AND setleaf~setname EQ setheader~setname
WHERE setheader~setname EQ p_v_set.
ENDFORM. "f_get_set_data
4.- Utilización:
RANGES: lr_auart FOR vbak-auart.
REFRESH: lr_auart[].
CALL FUNCTION 'ZCFCL_FILL_SET'
EXPORTING
iv_set_name = 'ZCFCL_SD_AUART_KIT'
iv_data_element = 'AUART'
TABLES
et_range = lr_auart.
En el rango "LR_AUART" tenemos los datos del set.
No hay comentarios:
Publicar un comentario