lunedì 7 novembre 2016

Passare una select-option a una function

*----------------------------------------------------------------------*
* DECLARATIONS                                                         *
*----------------------------------------------------------------------*
TABLES: KNA1.

DATA: gs_range   TYPE fbs_generic_range,
      gv_kunnr_r TYPE fb_t_generic_range.

*----------------------------------------------------------------------*
* LAYOUT                                                               *
*----------------------------------------------------------------------*
SELECT-OPTIONS so_kunnr FOR KNA1-KUNNR.

*----------------------------------------------------------------------*
* PROGRAM BODY                                                         *
*----------------------------------------------------------------------*
START-OF-SELECTION.

  LOOP AT so_kunnr.
    MOVE-CORRESPONDING so_kunnr TO gs_range.
    APPEND gs_range TO gv_kunnr_r.
  ENDLOOP.

  CALL FUNCTION 'ZFUNCTION'
    EXPORTING
      i_kunnr_r = gv_kunnr_r
    EXCEPTIONS
      EMPTY     = 1
      OTHERS    = 2.



FUNCTION ZFUNCTION.
*"----------------------------------------------------------------------
*"*"Interfaccia locale:
*"  IMPORTING
*"     VALUE(I_KUNNR_R) TYPE  FB_T_GENERIC_RANGE
*"  EXCEPTIONS
*"      EMPTY
*"----------------------------------------------------------------------

  DATA ls_range TYPE FBS_GENERIC_RANGE.
  
  RANGES lr_kunnr FOR kna1-kunnr.

  LOOP AT I_KUNNR_R INTO ls_range.
    lr_kunnr-sign = ls_range-sign.
    lr_kunnr-option = ls_range-option.
    lr_kunnr-low = ls_range-low.
    lr_kunnr-high = ls_range-high.
    APPEND lr_kunnr.
  ENDLOOP.

Nessun commento: