lunedì 3 agosto 2009

Ottenere tutti i valori di un set

Creare la seguente funzione:

FUNCTION ZGET_SET.
*"--------------------------------------------------------------------
*"*"Interfaccia locale:
*" IMPORTING
*" REFERENCE(NOME) TYPE RGSBM-SHORTNAME
*" TABLES
*" TAB STRUCTURE HRRANGES
*" EXCEPTIONS
*" SET_NOT_FOUND
*" SET_IS_EMPTY
*"--------------------------------------------------------------------



DATA: va_new_set_id LIKE sethier-setid.
DATA: tb_option LIKE rgsb4 OCCURS 0 WITH HEADER LINE.


IF nome IS INITIAL.
MESSAGE i208(00) WITH 'Il nome del set non può essere vuoto'
RAISING set_is_empty.
ENDIF.

CALL FUNCTION 'G_SET_GET_ID_FROM_NAME'
EXPORTING
shortname = nome
IMPORTING
new_setid = va_new_set_id.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CALL FUNCTION 'G_SET_GET_ALL_VALUES'
EXPORTING
setnr = va_new_set_id
TABLES
set_values = tb_option.

IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.

CLEAR tb_option.
LOOP AT tb_option.
CLEAR tab.
IF tb_option-to = tb_option-from.
tab-sign = 'I'.
tab-opti = 'EQ'.
tab-low = tb_option-from.
ELSE.
tab-sign = 'I'.
tab-opti = 'BT'.
tab-low = tb_option-from.
tab-high = tb_option-to.
ENDIF.
APPEND tab.
ENDLOOP.




ENDFUNCTION.

Nessun commento:

Posta un commento