Quantcast
Channel: SCN: Message List
Viewing all articles
Browse latest Browse all 8533

Re: Multiple listbox in screen painter with same field

$
0
0

Hi.

 

I think you want to use F4 function. So you can filter the diferent records you want to show for each field.

 

 

right ?

 

e.g. 1 - To online PROGRAM:

 

In the screen codding after user_command module, write :

 

Module User_command_0100.

 

PROCESS ON VALUE-REQUEST.
   FIELD table-fieldNMODULE f4_list_values. " CREATE ONE PER EACH FIELD YOU NEED..AND ITS SCREEN-NAME HERE ...





MODULE f4_list_valuesINPUT.

*   SELECT RECORDS you need.

select * from mara where .....


*     fill list of values to show
       LOOP AT it_table.
         CLEAR it_value_tab.
         it_value_tab-line =
it_table-field.
         APPEND it_value_tab.
       ENDLOOP.

 

*     fill columns to show
       CLEAR it_field_tab.
       it_field_tab-tabname   = 'TABLE.
       it_field_tab-fieldname = 'FIELD'.
       it_field_tab-langu     = 'E'.
       it_field_tab-position  = '1'.
       APPEND it_field_tab.

 

 




*     F4 help also returning the value to be displayed in internal table
       CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
         EXPORTING
           retfield        = 'FIELD_NAME_HERE'
           dynpprog        = 'SAPMz_PROG_NAME_HERE'
*          window_title    =
         TABLES
           value_tab       = it_value_tab
           field_tab       = it_field_tab
           return_tab      = it_return_tab
         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.
       ELSE.

*     Return the selected value
         READ TABLE it_return_tab INDEX 1.
         IF sy-subrc = 0.

*     Conversion exit ALPHA, external->internal
           REPLACE ALL OCCURRENCES OF '.' IN it_return_tab-fieldval WITH space IN CHARACTER MODE.
           CONDENSE it_return_tab-fieldval NO-GAPS.

           CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
             EXPORTING
               input  = it_return_tab-fieldval
             IMPORTING
               output = mara-matnr.
         ENDIF.

       ENDIF.

      ENDIF.


ENDMODULE.                    "f4_list_values INPUT





 

 

 

 

e.g. 2 - To report program/executable:



For each field, you create a at selection-screen on value-request for p_fieldN (create one at selection...to each field)

 

 

 

AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_matnr.


F4 help for fields that are only known at runtime
  CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
    EXPORTING
      tabname          = 'MAKT'
      fieldname        = 'MATNR'
      value            ='*'
    TABLES
      return_tab        = it_return_tab
    EXCEPTIONS
      field_not_found  = 1
      no_help_for_field = 2
      inconsistent_help = 3
      no_values_found  = 4
      OTHERS            = 5.
  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

*Return the selected value
  READ TABLE it_return_tab INDEX 1.
  IF sy-subrc EQ 0.

*Conversion exit ALPHA, external->internal
    REPLACE ALL OCCURRENCES OF '.' IN it_return_tab-fieldval WITH space IN CHARACTER MODE.
    CONDENSE it_return_tab-fieldval NO-GAPS.
    CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
      EXPORTING
        input  = it_return_tab-fieldval
      IMPORTING
        output = p_matnr.
  ENDIF.


 

best regards.

Glauco


Viewing all articles
Browse latest Browse all 8533

Trending Articles