Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Serch help as per parameter

Former Member
0 Likes
435

dear all,

I am creating search help using F4IF_INT_TABLE_VALUE_REQUEST using parameter.

but when i am using selection-option as a input parameter i am not getting perfect value

eg.

SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME TITLE text-001.

PARAMETERS     : bukrs TYPE febko-bukrs OBLIGATORY.
SELECT-OPTIONS : hbkid FOR  febko-hbkid OBLIGATORY.
SELECT-OPTIONS : hktid FOR  febko-hktid.
PARAMETERS : aznum TYPE febko-aznum.
*SELECT-OPTIONS : aznum FOR  febko-aznum.
*SELECT-OPTIONS : azdat FOR  febko-azdat OBLIGATORY.
PARAMETERS : r_open RADIOBUTTON GROUP rb1.
PARAMETERS : budat TYPE bkpf-budat DEFAULT sy-datum.
PARAMETERS : r_clear RADIOBUTTON GROUP rb1.
SELECT-OPTIONS : augdt FOR bsas-augdt.
SELECTION-SCREEN END OF BLOCK blk.


AT SELECTION-SCREEN OUTPUT.

AT SELECTION-SCREEN ON VALUE-REQUEST FOR aznum.

   PERFORM statement_no.

form STATEMENT_NO .

   DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.
   dynfields-fieldname = 'BUKRS'.

   APPEND dynfields.

   CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       dyname               = sy-cprog
       dynumb               = sy-dynnr
       translate_to_upper   = 'X'
     TABLES
       dynpfields           = dynfields
     EXCEPTIONS
       invalid_abapworkarea = 1
       invalid_dynprofield  = 2
       invalid_dynproname   = 3
       invalid_dynpronummer = 4
       invalid_request      = 5
       no_fielddescription  = 6
       invalid_parameter    = 7
       undefind_error       = 8
       double_conversion    = 9
       stepl_not_found      = 10
       OTHERS               = 11.

   READ TABLE dynfields WITH KEY fieldname = 'BUKRS'.
   bukrs = dynfields-fieldvalue.


   CLEAR : dynfields.
   REFRESH : dynfields.
   dynfields-fieldname = 'HBKID-LOW'.
   APPEND dynfields.
   CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       dyname               = sy-cprog
       dynumb               = sy-dynnr
       translate_to_upper   = 'X'
     TABLES
       dynpfields           = dynfields
     EXCEPTIONS
       invalid_abapworkarea = 1
       invalid_dynprofield  = 2
       invalid_dynproname   = 3
       invalid_dynpronummer = 4
       invalid_request      = 5
       no_fielddescription  = 6
       invalid_parameter    = 7
       undefind_error       = 8
       double_conversion    = 9
       stepl_not_found      = 10
       OTHERS               = 11.
   READ TABLE dynfields WITH KEY fieldname = 'HBKID-LOW'.
   hbkid-LOW = dynfields-fieldvalue.

    CLEAR : dynfields.
   REFRESH : dynfields.
   dynfields-fieldname = 'HBKID-HIGH'.
   APPEND dynfields.
   CALL FUNCTION 'DYNP_VALUES_READ'
     EXPORTING
       dyname               = sy-cprog
       dynumb               = sy-dynnr
       translate_to_upper   = 'X'
     TABLES
       dynpfields           = dynfields
     EXCEPTIONS
       invalid_abapworkarea = 1
       invalid_dynprofield  = 2
       invalid_dynproname   = 3
       invalid_dynpronummer = 4
       invalid_request      = 5
       no_fielddescription  = 6
       invalid_parameter    = 7
       undefind_error       = 8
       double_conversion    = 9
       stepl_not_found      = 10
       OTHERS               = 11.
   READ TABLE dynfields WITH KEY fieldname = 'HBKID-HIGH'.
   hbkid-high = dynfields-fieldvalue.
   hbkid-sign = 'I'.
   IF hbkid-high IS INITIAL.
      hbkid-option = 'EQ'.
   ELSE.
       hbkid-option = 'BT'.
   ENDIF.
APPEND hbkid.

CLEAR : it_helptab.
SELECT absnd ktonr aznum azdat hbkid FROM febko INTO TABLE it_helptab
               WHERE bukrs = bukrs AND hbkid IN hbkid.


CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
   EXPORTING
*   DDIC_STRUCTURE         = ' '
     retfield               = 'AZNUM'
*   PVALKEY                = ' '
    DYNPPROG               = sy-repid
    DYNPNR                 = sy-dynnr
    DYNPROFIELD            = 'AZNUM'
*   STEPL                  = 0
    WINDOW_TITLE           = 'Statement Number'
*   VALUE                  = ' '
    VALUE_ORG              = 'S'
*   MULTIPLE_CHOICE        = ' '
*   DISPLAY                = ' '
*   CALLBACK_PROGRAM       = ' '
*   CALLBACK_FORM          = ' '
*   MARK_TAB               =
* IMPORTING
*   USER_RESET             =
   tables
     value_tab              = it_helptab
*   FIELD_TAB              =
*   RETURN_TAB             = it_return
*   DYNPFLD_MAPPING        =
* EXCEPTIONS
*   PARAMETER_ERROR        = 1
*   NO_VALUES_FOUND        = 2
*   OTHERS                 = 3
           .
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
*         WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

*READ TABLE it_return into wa_return index 1.
*aznum = wa_return-fieldval.

endform.                    " STATEMENT_NO


1 REPLY 1
Read only

laurent_fournier2
Contributor
0 Likes
396

Hi,

If you want parameter use :

*READ TABLE it_return into wa_return index 1.
*aznum = wa_return-fieldval.

For select-options use :

*READ TABLE it_return into wa_return index 1.
*aznum-low = wa_return-fieldval.

Regards.