Make your own free website on Tripod.com

SAP PM & ABAP Code Niraj Visnoi

Input help in screen in SAP ABAP

Home
What is SAP ?
SAP LSMW Explained with example
SAP PM T-Codes
PM BRD/COR Maintenance
Add Your URL
User Exits & Enhancements
Best Of SAP Links
BDC Code
My Resume
SAP SmartForms Step by Step
SAP ABAP ALV Grid Explained with Example
Useful Tips
Contact Information Guest Book and Consultants List
ABAP Code
ABAP System Fields
SAPScript
SAPScript Graphics
SAPScript Print Program
ABAP ListViewer
Dialog Programming
SAP Tables
SAP ALE and IDOC
Recommended SAP ABAP Coding guidelines
SAP General ABAP
Submit Your Code
SAP Books For consultants
Free Website Submission and ROR Sitemap generator
Free Domain Search
Free HoroScope

Value or Input help can be programmed for selection screen or for  module pools.

Input help can be programmed in selection screen using event
AT SELECTION-SCREEN ON VALUE-REQUEST FOR  FIELD and for module pools in event
PROCESS ON VALUE_REQUEST   using module call starting with FIELD
i.e FIELD field MODULE module
 
 There ar number of function modules that can be used for the purpose, but these
can fullfill the task easily or combination of them.
 
DYNP_VALUE_READ
F4IF_FIELD_VALUE_REQUEST
F4IF_INT_TABLE_VALUE_REQUEST
POPUP_WITH_TABLE_DISPLAY
 
DYNP_VALUE_READ
 This function module is used to read values in the screen fields. Use of this
FM causes forced transfer of data from screen fields to ABAP fields.
   There are 3 exporting parameters
    DYNAME = program name   = SY-CPROG
    DYNUMB = Screen number  = SY-DYNNR
    TRANSLATE_TO_UPPER    = 'X'
 and one importing TABLE parameter  
   DYNPFIELDS = Table of TYPE DYNPREAD
 The DYNPFIELDS parameter is used to pass internal table of type DYNPREAD
to this FM and the values read from the screen will be stored in this table.This
table consists of two fields:
FIELDNAME   : Used to pass the name of screen field for which the value is to
                        be read.
FIELDVALUE  : Used to read the value of the field in the screen.
 
e.g.
DATA: SCREEN_VALUES TYPE TABLE OF DYNPREAD ,
           SCREEN_VALUE   LIKE  LINE OF SCREEN_VALUES.
 
SCREEN_VALUE-FIELDNAME = 'KUNNR' .             * Field to be read
APPEND SCREEN_VALUE TO SCREEN_VALUES. * Fill the table
 
CALL FUNCTION 'DYNP_VALUES_READ'
       EXPORTING
            DYNAME                   = SY-CPROG
            DYNUMB                   = SY-DYNNR
            TRANSLATE_TO_UPPER       = 'X'
       TABLES
            DYNPFIELDS               = SCREEN_VALUES.

  READ TABLE SCREEN_VALUES INDEX 1 INTO SCREEN_VALUE.Now the screen value for field KUNNR is in the SCREEN_VALUE-FIELDVALUE and can be used for further processing like using it to fill the internal table to be used as parameter in F4IF_INT_TABLE_VALUE_REQUEST ETC.

F4IF_FIELD_VALUE_REQUEST
  This FM is used to display value help or input from ABAP dictionary.We have to pass the name of the structure or table(TABNAME) along with the field name(FIELDNAME) . The selection can be returned to the specified screen field if three
parameters DYNPNR,DYNPPROG,DYNPROFIELD are also specified or to a table if RETRN_TAB is specified.
 
CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
       EXPORTING
            TABNAME           = table/structure
            FIELDNAME         = 'field name'
            DYNPPROG         =  SY-CPROG
            DYNPNR              =  SY-DYNR
            DYNPROFIELD     = 'screen field'
       IMPORTING
            RETURN_TAB      = table of type DYNPREAD
            .
 
F4IF_INT_TABLE_VALUE_REQUEST
       This FM is used to dsiplay values stored in an internal table as input
help.This FM is used to program our own custom help if no such input help
exists in ABAP dictionary for a particular field. The parameter VALUE_TAB is used to pass the internal table containing input values.The parameter RETFIELD
is used to specify the internal table field whose value will be returned to the screen field or RETURN_TAB
       If DYNPNR,DYNPPROG and DYNPROFIELD are specified than the user selection is passed to the screen field specified in the DYNPROFIELD. If RETURN_TAB is specified the selectionis returned in a table.
 
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
       EXPORTING
            RETFIELD           = field from int table whose value will be returned 
            DYNPPROG        = SY-CPROG
            DYNPNR             = SY-DYNNR
            DYNPROFIELD    = 'screen field'
            VALUE_ORG       = 'S'
       TABLES
            VALUE_TAB        = internal table whose values will be shown.
            RETURN_TAB      = internal table of type DDSHRETVAL 
       EXCEPTIONS
            parameter_error    = 1
            no_values_found   = 2
            others                  = 3.

            
 
POPUP_WITH_TABLE_DISPLAY
 This FM is used to display the contents of an internal table in a popup window.The user can select a row and the index of that is returned in the CHOISE
parameter.The VALUETAB is used to pass the internal table.
 A suitable title can be set using TITLETEXT parameter. The starting and end position of the popup can be specified by the parameters STARTPOS_COL / ROW and ENDPOS_ROW / COL .
 
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
        EXPORTING
             ENDPOS_COL   = 
             ENDPOS_ROW   = 
             STARTPOS_COL
             STARTPOS_ROW
             TITLETEXT        = 'title text'
        IMPORTING
             CHOISE           = 
        TABLES
             VALUETAB      = 
        EXCEPTIONS
             BREAK_OFF    = 1
             OTHERS          = 2.
e.g.
 
DATA: w_choice TYPE SY-TABIX.
DATA: BEGIN OF i_values OCCURS 0 WITH HEADER LINE,
          values TYPE I,
           END OF i_values.
PARAMETRS : id TYPE I. 
AT SELECTION-SCREEN ON VALUE-REQUEST FOR id
i_values-values = '0001'.
APPEND i_values.
i_values-values = '0002'.
APPEND i_values.
i_values-values = '0003'.
APPEND i_values.
i_values-values = '0004'.
APPEND i_values.
 
CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'               
     EXPORTING                                         
          ENDPOS_COL   = 40                             
          ENDPOS_ROW   = 12                              
          STARTPOS_COL = 20                              
          STARTPOS_ROW = 5                             
          TITLETEXT    = 'Select an ID'         
    IMPORTING                                           
         CHOISE       = w_choice                          
     TABLES                                             
          VALUETAB     =  i_values                          
     EXCEPTIONS                                         
          BREAK_OFF    = 1                             
          OTHERS       = 2.
CHECK w_choice > 0.
READ TABLE i_values INDEX w_choice.
...now we can process the selection as it is contained
...in the structure i_values.
 
Other FM that may be used to provide input help  is HELP_START .
 

Enter supporting content here

http://sap.niraj.tripod.com

Search http://sap.niraj.tripod.com Search www

 http://sap.niraj.tripod.com      Niraj Visnoi *INDIA * niraj_visnoi@consultant.com      
 CELL No. 91 9911413767       Copyright 2006 all rights reserved