Raporumuzda kullanabileceğimiz arama yardımlarını bazen filtrelemek gerekebilir, bunun için kullanılan yöntemlerden
biri de “F4IF_FIELD_VALUE_REQUEST” fonksiyonu. Bu fonksiyonun “callback_form” parametresiyle, arama yardım ekranı
kullanıcı karşısına gelmeden bir form bloğuna düşürebilmek. Düşürülen form bloğunda filtreleme yapılabilir, alanlar
gizlenebilir vs.

Seçim ekranından girilen şirket koduna göre filtreleme yaptığımız örneği inceleyelim.

Z_STLOG_NET

*&---------------------------------------------------------------------*
*& Report Z_STLOG_NET
*&---------------------------------------------------------------------*
*&
*&---------------------------------------------------------------------*
REPORT z_stlog_net.

DATA: gt_return TYPE TABLE OF ddshretval .

PARAMETERS : p_bukrs TYPE bukrs OBLIGATORY,
             p_lifnr TYPE lifnr
             .

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lifnr .
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname           = 'BSEG'
      fieldname         = 'LIFNR'
      searchhelp        = 'KRED_C'
      callback_program  = sy-repid
      callback_form     = 'P_LIFNR_VALUE_REQUEST'
    TABLES
      return_tab        = gt_return
    EXCEPTIONS
      field_not_found   = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found   = 4
      OTHERS            = 5.

  IF sy-subrc EQ 0 .
    DATA(v_lifnr) = VALUE lifnr( gt_return[ fieldname =  'LIFNR' ]-fieldval OPTIONAL ) .
    p_lifnr = CONV lifnr( |{ v_lifnr ALPHA = IN }| ) .
  ENDIF.


**&---------------------------------------------------------------------*
**& Search Help Exitleri "
**&---------------------------------------------------------------------*
FORM p_lifnr_value_request TABLES record_tab STRUCTURE seahlpres
                         CHANGING shlp TYPE shlp_descr_t callcontrol LIKE ddshf4ctrl .
*
  APPEND VALUE #( shlpname  = 'KRED_C'
                  shlpfield = 'BUKRS'
                  sign      = 'I'
                  option    = 'EQ'
                  low       = p_bukrs
                ) TO shlp-selopt .
*
ENDFORM .
0