Date problem in selection screen

hi all,
in my selection screen i have two select options as follows
select-options: s_budat for anek-budat obligatory,  (report date)
s_budat1 for anek-budat. (posting date)
means first date i have taken as report date and second as posting date.
my requirement is that whenever i should input some date i should get data
between those dates.
so how to do this bcoz i have done it and it is woking fine for the first but not working for the second.
so plz guide me and bfor answering keep in mind that my both dates refers to same field.
i have given logic like this
IF s_budat-high IS INITIAL.                                            
v_year = s_budat-low+0(4).                                             
v_mon = s_budat-low+4(2).                                              
IF v_mon LT '04'.                                                      
v_year = v_year - 1.                                                   
CONCATENATE v_year '0401' INTO v_low.                                  
v_high = s_budat-low.                                                  
ELSE.                                                                  
CONCATENATE v_year '0401' INTO v_low.                                  
v_high = s_budat-low.                                                  
ENDIF.                                                                 
ELSE.                                                                  
v_low = s_budat-low.                                                   
v_high = s_budat-high.                                                 
ENDIF.                                                                 
  i want in the same way s_budat1 should also work ie if we give some range of date in it then it should show data in between those dates only but it is now showing full data irrespective of date entered in second select option.
Message was edited by:
        sanjeev singh

hi dinesh as u told me i have already done like this but i am not getting the output
when i am entering data in second selectoption s_budat1 it is still considering the
date entered according to date entered in s_budat select option.
i have debuged it also in which i found that after taking date from s_budat
it is not going to s_budat it is simply jumping out.
so here i am sending my code if u can solve it then i will be gratefull to u.
REPORT Z_FA_ACQ  NO STANDARD PAGE HEADING
                 LINE-SIZE 400
                 LINE-COUNT 65(3).
TYPE-POOLS : SLIS.
TABLES : ANLA,               "ASSET MASTER RECORD-SEGMENT
         ANLZ,               "time dependent asset allocations
         ANLC,               "Asset-value fields
         ANEP,               "Asset line item
         ANEK.               "Document header asset posting
*Internal Table Declaration
DATA : BEGIN OF T_ANLA OCCURS 0,
       BUKRS LIKE ANLA-BUKRS,  "Company code
       ANLN1 LIKE ANLA-ANLN1,  "Main asset number
       ANLN2 LIKE ANLA-ANLN2,  "Asset sub-number
       AKTIV LIKE ANLA-AKTIV,  "Asset capitalization date
       TXT50 LIKE ANLA-TXT50,  "Name of asset
       ZUGDT LIKE ANLA-ZUGDT,  "Asset value date of the first posting
       MENGE LIKE ANLA-MENGE,  "Quantity
       MEINS LIKE ANLA-MEINS,  "Base unit of measure
       ANLKL LIKE ANLA-ANLKL,  "Asset class
       END OF T_ANLA.
DATA : BEGIN OF T_ANLZ OCCURS 0,
       BUKRS LIKE ANLZ-BUKRS,
       ANLN1 LIKE ANLZ-ANLN1,
       ANLN2 LIKE ANLZ-ANLN2,
       GSBER LIKE ANLZ-GSBER,   "Business area
       KOSTL LIKE ANLZ-KOSTL,   "Cost center
       STORT LIKE ANLZ-STORT,   "Asset location
       RAUMN LIKE ANLZ-RAUMN,   "Room
       KFZKZ LIKE ANLZ-KFZKZ,   "License plate no. of vehichle
       WERKS LIKE ANLZ-WERKS,   "Plant
       END OF T_ANLZ.
DATA : BEGIN OF T_ANEK OCCURS 0,
       BUKRS LIKE ANEK-BUKRS,
       ANLN1 LIKE ANEK-ANLN1,
       ANLN2 LIKE ANEK-ANLN2,
       BELNR LIKE ANEK-BELNR,
       BUDAT LIKE ANEK-BUDAT,   "Posting date in document
       BZDAT LIKE ANEK-BZDAT,   "Asset value date
       BLDAT LIKE ANEK-BLDAT,   "Document date in document
       BUZEI LIKE ANEK-BUZEI,   "Line item number within the accounting
       XBLNR LIKE ANEK-XBLNR,   "Reference document number
       SGTXT LIKE ANEK-SGTXT,    "Item text
       GJAHR LIKE ANEK-GJAHR,    "Fiscal year
       LNRAN LIKE ANEK-LNRAN,"Sequence number of asset line items in fis
       END OF T_ANEK.
DATA : BEGIN OF T_ANLC OCCURS 0,
       BUKRS LIKE ANLC-BUKRS,
       ANLN1 LIKE ANLC-ANLN1,
       ANLN2 LIKE ANLC-ANLN2,
       ANSWL LIKE ANLC-ANSWL, "Acquisition value reducing transactions f
       NAFAP LIKE ANLC-NAFAP, "Planned ordinary depreciation for the yea
       AAFAP LIKE ANLC-AAFAP,"Planned unplanned depreciation for the yea
       AFABE LIKE ANLC-AFABE, "Real depreciation area
       GJAHR LIKE ANLC-GJAHR, "Fiscal year
       END OF T_ANLC.
DATA : BEGIN OF T_ANEP OCCURS 0,
       BUKRS LIKE ANEP-BUKRS,
       ANLN1 LIKE ANEP-ANLN1,
       ANLN2 LIKE ANEP-ANLN2,
       ANBTR LIKE ANEP-ANBTR,  "Amount posted
       NAFAB LIKE ANEP-NAFAB, "Ordinary depreciation on transactions
       GJAHR LIKE ANEP-GJAHR, "Fiscal year
       AFABE LIKE ANEP-AFABE, "Real depreciation area (01)
       BELNR LIKE ANEP-BELNR, "Accounting document number
        BUZEI LIKE ANEP-BUZEI,"Line item number within the accounting do
        LNRAN LIKE ANEP-LNRAN,"Sequence number of asset line items in fi
       END OF T_ANEP.
DATA : BEGIN OF IT_FINAL OCCURS 0,
        ANLN1 LIKE ANLA-ANLN1,
        ANLN2 LIKE ANLA-ANLN2,
        AKTIV LIKE ANLA-AKTIV,
        TXT50 LIKE ANLA-TXT50,
        ZUGDT LIKE ANLA-ZUGDT,
        MENGE LIKE ANLA-MENGE,
        MEINS LIKE ANLA-MEINS,
        GSBER LIKE ANLZ-GSBER,
        KOSTL LIKE ANLZ-KOSTL,
        STORT LIKE ANLZ-STORT,
        RAUMN LIKE ANLZ-RAUMN,
        KFZKZ LIKE ANLZ-KFZKZ,
        BELNR LIKE ANEK-BELNR,
        BUDAT LIKE ANEK-BUDAT,
        BZDAT LIKE ANEK-BZDAT,
        BLDAT LIKE ANEK-BLDAT,
        XBLNR LIKE ANEK-XBLNR,
        SGTXT LIKE ANEK-SGTXT,
        ANBTR LIKE ANEP-ANBTR,
        NAFAB LIKE ANEP-NAFAB,
        AAFAP LIKE ANLC-AAFAP,
        ANLKL LIKE ANLA-ANLKL,
        GJAHR LIKE ANEK-GJAHR,
        END OF IT_FINAL.
End of Internal table Declaration
*added for date logic by sanjeev
DATA:V_LOW LIKE SY-DATUM,
    V_HIGH LIKE SY-DATUM,
    V_MON(02) TYPE N,
    V_YEAR(04) TYPE N.
*end of date logic
*Declaration for Field Catalog
DATA : LINE_COLOR(4) TYPE C.
DATA : FIELDCATALOG TYPE SLIS_T_FIELDCAT_ALV WITH HEADER LINE,
       GD_LAYOUT TYPE SLIS_LAYOUT_ALV.
DATA: EVENT  TYPE SLIS_ALV_EVENT OCCURS 0 WITH HEADER LINE.
End of field catalog Declaration
*Selection Screen Desing
SELECTION-SCREEN : BEGIN OF BLOCK B_FA WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS : S_BUKRS FOR ANLA-BUKRS DEFAULT 'ML',
                 S_ANLN1 FOR ANLA-ANLN1,
                 S_ANLN2 FOR ANLA-ANLN2 VISIBLE LENGTH 2.
SELECTION-SCREEN : END OF BLOCK B_FA.
*SKIP 2.
SELECTION-SCREEN : BEGIN OF BLOCK B_FA1 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS : S_ANLKL FOR ANLA-ANLKL VISIBLE LENGTH 4,
                 S_AKTIV FOR ANLA-AKTIV,
                 S_GSBER FOR ANLZ-GSBER VISIBLE LENGTH 4,
                 S_KOSTL FOR ANLZ-KOSTL VISIBLE LENGTH 8,
                 S_WERKS FOR ANLZ-WERKS VISIBLE LENGTH 3,
                 S_STORT FOR ANLZ-STORT,
                 S_BUDAT FOR ANEK-BUDAT DEFAULT SY-DATUM.
SELECTION-SCREEN : END OF BLOCK B_FA1.
*SKIP 2.
SELECTION-SCREEN : BEGIN OF BLOCK B_FA2 WITH FRAME TITLE TEXT-003.
SELECT-OPTIONS : S_BUDAT1 FOR ANEK-BUDAT.
SELECTION-SCREEN : END OF BLOCK B_FA2.
*End of Selection screen design
Logic for date
IF S_BUDAT-HIGH IS INITIAL.
V_YEAR = S_BUDAT-LOW+0(4).
V_MON = S_BUDAT-LOW+4(2).
IF V_MON LT '04'.
V_YEAR = V_YEAR - 1.
CONCATENATE V_YEAR '0401' INTO V_LOW.
V_HIGH = S_BUDAT-LOW.
ELSE.
CONCATENATE V_YEAR '0401' INTO V_LOW.
V_HIGH = S_BUDAT-LOW.
ENDIF.
*ELSE.
*v_low = s_budat-low.
*v_high = s_budat-high.
ELSEIF S_BUDAT1-HIGH IS INITIAL.
V_YEAR = S_BUDAT1-LOW+0(4).
V_MON = S_BUDAT1-LOW+4(2).
IF V_MON LT '04'.
V_YEAR = V_YEAR - 1.
CONCATENATE V_YEAR '0401' INTO V_LOW.
V_HIGH = S_BUDAT1-LOW.
ELSE.
CONCATENATE V_YEAR '0401' INTO V_LOW.
V_HIGH = S_BUDAT1-LOW.
ENDIF.
ELSE.
V_LOW = S_BUDAT1-LOW.
V_HIGH = S_BUDAT1-HIGH.
ENDIF.
end of logic
*Start-of-selection
SELECT BUKRS ANLN1 ANLN2 AKTIV TXT50 ZUGDT MENGE MEINS ANLKL
       FROM ANLA
       INTO CORRESPONDING FIELDS OF TABLE T_ANLA
       WHERE ANLN1 IN S_ANLN1
       AND   ANLN2 IN S_ANLN2
       AND   BUKRS IN S_BUKRS
       AND   ANLKL IN S_ANLKL
       AND   AKTIV IN S_AKTIV
      AND   ZUGDT >= V_LOW  " added to get the date logic work
      AND   ZUGDT <= V_HIGH. " added to get the date logic work
CHECK : NOT T_ANLA[] IS INITIAL.
SELECT BUKRS ANLN1 ANLN2 GSBER KOSTL STORT RAUMN KFZKZ
       FROM ANLZ
       INTO CORRESPONDING FIELDS OF TABLE T_ANLZ
       FOR ALL ENTRIES IN T_ANLA
       WHERE ANLN1 = T_ANLA-ANLN1
       AND   ANLN2 = T_ANLA-ANLN2
       AND   BUKRS = T_ANLA-BUKRS
       AND   GSBER IN S_GSBER
       AND   KOSTL IN S_KOSTL
       AND   WERKS IN S_WERKS.
SELECT BUKRS ANLN1 ANLN2 BELNR BUDAT XBLNR SGTXT GJAHR BZDAT BLDAT BUZEI
        LNRAN FROM ANEK
       INTO CORRESPONDING FIELDS OF TABLE T_ANEK
       FOR ALL ENTRIES IN T_ANLA
       WHERE ANLN1 = T_ANLA-ANLN1
       AND   ANLN2 = T_ANLA-ANLN2
       AND   BUKRS = T_ANLA-BUKRS
       AND   BUDAT >= V_LOW    " added to get the date logic work
      AND   BUDAT <= V_HIGH  " added to get the date logic work
AND BZDAT >= V_LOW AND BZDAT <= V_HIGH
AND BLDAT >= V_LOW AND BLDAT <= V_HIGH.
SELECT BUKRS ANLN1 ANLN2 ANSWL NAFAP AAFAP AFABE GJAHR
       FROM ANLC
       INTO CORRESPONDING FIELDS OF TABLE T_ANLC
       FOR ALL ENTRIES IN T_ANLA
       WHERE ANLN1 = T_ANLA-ANLN1
       AND   ANLN2 = T_ANLA-ANLN2
       AND   BUKRS = T_ANLA-BUKRS
       AND   AFABE = '01'.
SELECT BUKRS ANLN1 ANLN2 ANBTR NAFAB GJAHR AFABE BELNR BUZEI LNRAN
       FROM ANEP
       INTO CORRESPONDING FIELDS OF TABLE T_ANEP
       FOR ALL ENTRIES IN T_ANLA
       WHERE ANLN1 = T_ANLA-ANLN1
       AND   ANLN2 = T_ANLA-ANLN2
       AND   BUKRS = T_ANLA-BUKRS
       AND   AFABE = '01'
AND BZDAT >= V_LOW AND BZDAT <= V_HIGH.
SORT T_ANLC BY BUKRS ANLN1 ANLN2.
SORT T_ANLZ BY BUKRS ANLN1 ANLN2 GSBER.
SORT T_ANEP BY BUKRS ANLN1 ANLN2 BELNR BUZEI LNRAN.
LOOP AT T_ANLA.
  MOVE : T_ANLA-ANLN1 TO IT_FINAL-ANLN1,
         T_ANLA-ANLN2 TO IT_FINAL-ANLN2,
         T_ANLA-AKTIV TO IT_FINAL-AKTIV,
         T_ANLA-TXT50 TO IT_FINAL-TXT50,
         T_ANLA-MENGE TO IT_FINAL-MENGE,
         T_ANLA-MEINS TO IT_FINAL-MEINS.
  READ TABLE T_ANLZ WITH KEY BUKRS = T_ANLA-BUKRS
                             ANLN1 = T_ANLA-ANLN1
                            gsber = t_anlz-gsber
                             ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.
  IF SY-SUBRC EQ 0.
    MOVE : T_ANLZ-GSBER TO IT_FINAL-GSBER,
           T_ANLZ-KOSTL TO IT_FINAL-KOSTL,
           T_ANLZ-STORT TO IT_FINAL-STORT,
           T_ANLZ-RAUMN TO IT_FINAL-RAUMN,
           T_ANLZ-KFZKZ TO IT_FINAL-KFZKZ.
  ENDIF.
  READ TABLE T_ANLC WITH KEY BUKRS = T_ANLA-BUKRS
                             ANLN1 = T_ANLA-ANLN1
                             ANLN2 = T_ANLA-ANLN2 BINARY SEARCH.
  IF SY-SUBRC EQ 0.
    MOVE : T_ANLC-AAFAP TO IT_FINAL-AAFAP.
  ENDIF.
added to get the date logic work
LOOP AT T_ANEK WHERE BUKRS = T_ANLA-BUKRS AND ANLN1 = T_ANLA-ANLN1 AND
    ANLN2 = T_ANLA-ANLN2 AND BZDAT >= V_LOW AND BZDAT <= V_HIGH
AND BLDAT >= V_LOW AND BLDAT <= V_HIGH
AND BUDAT >= V_LOW AND BUDAT <= V_HIGH.
    MOVE : T_ANEK-BELNR TO IT_FINAL-BELNR,
           T_ANEK-BUDAT TO IT_FINAL-BUDAT,
           T_ANEK-BZDAT TO IT_FINAL-BZDAT,
           T_ANEK-GJAHR TO IT_FINAL-GJAHR,
           T_ANEK-XBLNR TO IT_FINAL-XBLNR,
           T_ANEK-SGTXT TO IT_FINAL-SGTXT.
READ TABLE T_ANEP WITH KEY BUKRS = T_ANEK-BUKRS
                           ANLN1 = T_ANLA-ANLN1
                           BELNR = T_ANEK-BELNR
                           LNRAN = T_ANEK-LNRAN
                           ANLN2 = T_ANLA-ANLN2.
MOVE : T_ANEP-ANBTR TO IT_FINAL-ANBTR,
        T_ANEP-NAFAB TO IT_FINAL-NAFAB.
    APPEND IT_FINAL.
  ENDLOOP.
ENDLOOP.
PERFORM BUILD_FIELDCATALOG.
PERFORM DISPLAY_ALV_REPORT.
PERFORM BUILD_LAYOUT.
      FORM BUILD_FIELDCATALOG                                       *
FORM BUILD_FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'ANLN1'.
  FIELDCATALOG-SELTEXT_M = 'ASSET MAIN NO'.
  FIELDCATALOG-COL_POS   = 0.
  FIELDCATALOG-OUTPUTLEN = 14.
  FIELDCATALOG-EMPHASIZE = 'X'.
  FIELDCATALOG-KEY       = 'X'.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'ANLN2'.
  FIELDCATALOG-SELTEXT_M = 'SUB NO'.
  FIELDCATALOG-COL_POS   = 1.
  FIELDCATALOG-OUTPUTLEN = 7.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'AKTIV'.
  FIELDCATALOG-SELTEXT_M = 'CAP.DATE'.
  FIELDCATALOG-COL_POS   = 2.
  FIELDCATALOG-OUTPUTLEN = 10.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'TXT50'.
  FIELDCATALOG-SELTEXT_M = 'NAME'.
  FIELDCATALOG-COL_POS   = 3.
  FIELDCATALOG-OUTPUTLEN = 50.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'BZDAT'.
  FIELDCATALOG-SELTEXT_M = 'ASSET VALUE DATE'.
  FIELDCATALOG-COL_POS   = 4.
  FIELDCATALOG-OUTPUTLEN = 17.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'MENGE'.
  FIELDCATALOG-SELTEXT_M = 'QTY'.
  FIELDCATALOG-COL_POS   = 5.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'MEINS'.
  FIELDCATALOG-SELTEXT_M = 'UNITS'.
  FIELDCATALOG-COL_POS   = 6.
  FIELDCATALOG-OUTPUTLEN = 3.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'GSBER'.
  FIELDCATALOG-SELTEXT_M = 'BA'.
  FIELDCATALOG-COL_POS   = 7.
  FIELDCATALOG-OUTPUTLEN = 4.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'KOSTL'.
  FIELDCATALOG-SELTEXT_M = 'COST CENTER'.
  FIELDCATALOG-COL_POS   = 8.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'STORT'.
  FIELDCATALOG-SELTEXT_M = 'LOCATION'.
  FIELDCATALOG-COL_POS   = 9.
  FIELDCATALOG-OUTPUTLEN = 10.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'RAUMN'.
  FIELDCATALOG-SELTEXT_M = 'ROOM'.
  FIELDCATALOG-COL_POS   = 10.
  FIELDCATALOG-OUTPUTLEN = 10.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'KFZKZ'.
  FIELDCATALOG-SELTEXT_M = 'LICENSE PLATE NO'.
  FIELDCATALOG-COL_POS   = 11.
  FIELDCATALOG-OUTPUTLEN = 20.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'BELNR'.
  FIELDCATALOG-SELTEXT_M = 'DOC NO'.
  FIELDCATALOG-COL_POS   = 12.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'BUDAT'.
  FIELDCATALOG-SELTEXT_M = 'POSTING DATE'.
  FIELDCATALOG-COL_POS   = 13.
  FIELDCATALOG-OUTPUTLEN = 15.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'XBLNR'.
  FIELDCATALOG-SELTEXT_M = 'REF NO'.
  FIELDCATALOG-COL_POS   = 14.
  FIELDCATALOG-OUTPUTLEN = 25.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'SGTXT'.
  FIELDCATALOG-SELTEXT_M = 'TEXT'.
  FIELDCATALOG-COL_POS   = 15.
  FIELDCATALOG-OUTPUTLEN = 50.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'ANBTR'.
  FIELDCATALOG-SELTEXT_M = 'ACQ VAL'.
  FIELDCATALOG-DATATYPE     = 'CURR'.
  FIELDCATALOG-DO_SUM = 'X'.
  FIELDCATALOG-COL_POS   = 16.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'NAFAB'.
  FIELDCATALOG-SELTEXT_M = 'ORD.DEP'.
  FIELDCATALOG-DO_SUM = 'X'.
FIELDCATALOG-DATATYPE     = 'CURR'.
  FIELDCATALOG-COL_POS   = 17.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
  FIELDCATALOG-FIELDNAME = 'AAFAP'.
  FIELDCATALOG-SELTEXT_M = 'UNPLAN DEP'.
  FIELDCATALOG-COL_POS   = 18.
  FIELDCATALOG-OUTPUTLEN = 13.
  APPEND FIELDCATALOG TO FIELDCATALOG.
  CLEAR FIELDCATALOG.
ENDFORM.
      FORM BUILD_LAYOUT                                             *
FORM BUILD_LAYOUT.
  GD_LAYOUT-ZEBRA = 'X'.
  GD_LAYOUT-INFO_FIELDNAME = 'LINE_COLOR'.
ENDFORM.
      FORM DISPLAY_ALV_REPORT                                       *
FORM DISPLAY_ALV_REPORT.
  CALL FUNCTION 'REUSE_ALV_LIST_DISPLAY'
      EXPORTING
        I_INTERFACE_CHECK        = ' '
         I_CALLBACK_PROGRAM       = SY-REPID
        i_callback_pf_status_set = '100'
        i_callback_user_command  = sy-ucomm
        I_STRUCTURE_NAME         =
         IS_LAYOUT                = GD_LAYOUT
           IT_FIELDCAT              = FIELDCATALOG[]
        IT_EXCLUDING             =
        IT_SPECIAL_GROUPS        =
        IT_SORT                  =
        IT_FILTER                =
        IS_SEL_HIDE              =
        I_DEFAULT                = 'X'
        I_SAVE                   = ' '
        IS_VARIANT               = ' '
        IT_EVENTS                =
        IT_EVENT_EXIT            = EVENT[]
        IS_PRINT                 =
        I_SCREEN_START_COLUMN    = 0
        I_SCREEN_START_LINE      = 0
        I_SCREEN_END_COLUMN      = 0
        I_SCREEN_END_LINE        = 0
   IMPORTING
        E_EXIT_CAUSED_BY_CALLER  =
        ES_EXIT_CAUSED_BY_USER   =
       TABLES
            T_OUTTAB                 = IT_FINAL
       EXCEPTIONS
            PROGRAM_ERROR            = 1
            OTHERS                   = 2.
ENDFORM.

Similar Messages

  • Problem in Selection Screen.

    Dear Experts,
    I am facing a problem in Selection Screen.
    <b>I have 2 radio buttons ,</b>
    <b>Radio Button 1</b> - Choosing the file from desktop and
    <b>Radio Button 2</b> - Executing from Database
    Under Option1 - i have a <b>FILE</b> parameter which is <b><u>Mandatory.</u></b>
    Problem Case -
    <b>when I choose option 2, Option 1 should be disabled. in the sense the file name which is mandatory here should not be mandatory . Currently, when i choose option 2 - i have to provide some dummy characters in the file parameter because the file parameter is mandatory, and <u><b>I want to avoid this.</b></u>
    Please see the entire code .</b>
    REPORT ZTEST.
    DATA: LV_FILE_PATH(20) TYPE  C.
    DATA: LV_MASK(20)      TYPE  C VALUE   ',*.XLS ,*.XLS.     '.
    *-- Macro to put radiobutton on selection screen
    *-- &1 - radiobutton parameter name
    *-- &2 - text element (description)
    *-- &3 - radiobutton group
    DEFINE MAKE_RADIOBUTTON.
      SELECTION-SCREEN BEGIN OF LINE.
      PARAMETERS: &1 RADIOBUTTON GROUP &3.
      SELECTION-SCREEN COMMENT 3(60) &2.
      SELECTION-SCREEN END OF LINE.
    END-OF-DEFINITION.
    SELECTION-SCREEN BEGIN OF BLOCK A0 WITH FRAME TITLE T000.
    * From Config File
    MAKE_RADIOBUTTON RB_1  ALL_DATA SRC.
    SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE T001.
    * Config file from Presentation server
    PARAMETERS: P_FILE1   LIKE T390D-DBNAME  OBLIGATORY. "
    SELECTION-SCREEN END OF BLOCK A1.
    * From database table
    MAKE_RADIOBUTTON RB_2 INC_DOWN SRC.
    SELECTION-SCREEN END OF BLOCK A0.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR P_FILE1.
      CALL FUNCTION 'WS_QUERY'
           EXPORTING
                QUERY  = 'CD'  "// Current Directory
           IMPORTING
                RETURN = LV_FILE_PATH.
      CALL FUNCTION 'WS_FILENAME_GET'
           EXPORTING
                DEF_FILENAME     = 'TA_DOWNLOAD.MDB'
                DEF_PATH         = LV_FILE_PATH
                MASK             = LV_MASK
                MODE             = 'O'
           IMPORTING
                FILENAME         = P_FILE1
           EXCEPTIONS
                INV_WINSYS       = 1
                NO_BATCH         = 2
                SELECTION_CANCEL = 3
                SELECTION_ERROR  = 4
                OTHERS           = 5.
    INITIALIZATION.
      ALL_DATA = 'From Desktop     : ? '.
      INC_DOWN = 'From Database    : ?'.
      T000     = 'Configuration Upload'.
    Please help
    Thanks

    Hi
    You should do some modifications like these:
    DEFINE MAKE_RADIOBUTTON_1.
      SELECTION-SCREEN BEGIN OF LINE.
      PARAMETERS: &1 RADIOBUTTON GROUP &3 USER-COMMAND &4.
      SELECTION-SCREEN COMMENT 3(60) &2.
      SELECTION-SCREEN END OF LINE.
    END-OF-DEFINITION.
    DEFINE MAKE_RADIOBUTTON_2.
      SELECTION-SCREEN BEGIN OF LINE.
      PARAMETERS: &1 RADIOBUTTON GROUP &3.
      SELECTION-SCREEN COMMENT 3(60) &2.
      SELECTION-SCREEN END OF LINE.
    END-OF-DEFINITION.
    SELECTION-SCREEN BEGIN OF BLOCK A0 WITH FRAME TITLE T000.
    From Config File
    MAKE_RADIOBUTTON_1 RB_1  ALL_DATA SRC AAA.
    SELECTION-SCREEN BEGIN OF BLOCK A1 WITH FRAME TITLE T001.
    Config file from Presentation server
    PARAMETERS: P_FILE1   LIKE T390D-DBNAME MODIF ID FIL. "
    SELECTION-SCREEN END OF BLOCK A1.
    From database table
    MAKE_RADIOBUTTON_2 RB_2 INC_DOWN SRC.
    SELECTION-SCREEN END OF BLOCK A0.
    AT SELECTION-SCREEN OUTPUT.
      IF RB_2 = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'FIL'.
            SCREEN-ACTIVE = 0.
            MODIFY SCREEN.
          ENDIF.
        ENDLOOP.
      ENDIF.
    Max

  • FISCAL year from Date  in the Selection Screen.

    Hi Folks,
    Is there any function module which returns the Fiscal year if we provide the date in ranges.
    I mean, I have a select option for date in the selection screen.So,if a user enters the date say 01042007 01042007 it should return the corresponding fiscal year.
    Kindly let me know if anyone here has any idea regarding this.
    Thanks,
    K.Kiran.

    Hello,
    Check these FM's
    FTIS
    FTI_FISCAL_YEAR_MONTH_GET
    KBPA                           Budget/Plan - application-specific
    KBPA_GET_START_FISCAL_YEAR     Determine Start Year for Funds Management
    KBPA_GET_START_FISCAL_YEAR_OPT
    Vasanth

  • Requirement date in ME2O selection screen.

    Hi Friends,
    I see that requirement date in ME2O selection screen is no where available in the output . Is this equal to PO creation date?

    Actually in ALV grid list out put, the document date is the Requirement date.
    If you analysis the same, you will find the solution.
    See I have analysis the same.
    In my ME2O transaction, I can see the document date as follow for the Purchase order number
    4700048844.
    Here the document date is showing 20.12.2011.
    When I go to to ME23N to display the PO number 4700048844, I can see the document date is different.
    But when I checked the requirement date, then I can see the same date for the PO number.

  • How to restrict or stop the same data provided in selection screen parameters its should stop fetch the data on previously provided data?

    Hi Developer,
    i have issues that i need stop or restrict the same entries provided in the selection screen parameters it should no display that data but it should give an alert message by saying the data all ready viewed or displayed.
    example: organisation :getha pvt.td.
                  name :ramesh.
                  start date:10.2.2013.
    these are parameter which has been displayed by clicking execute ,if provide the same value to display again it should give waring message.
    Please guide me in solve the problem.
    thanks.
    ravi.

    Hi Somendra,
    Thanks for your response sir , i have provided the according to your provided information sir  but it was not  displaying the data first time also its giving message which i have provided ,my issues is if i provide data from time should display if i provide same data next time then only it should restrict the data and give a message.
    example:
    types:BEGIN OF str1,
       ROOMNO type zROOMNO,
       NAME TYPE zname3,
      BRANCH type zBRANCH,
       PHONENUMBER type zPHONENUMBER,
       END OF str1.
       data:it_str1 type TABLE OF str1,
            wa_str1 type str1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME .
         skip.
    PARAMETERS:s_roomno type ZTABLE_2-roomno.
    skip.
    parameters:s_name type ztable_2-name.
    skip.
    PARAMETERS:s_branch type ztable_2-branch.
    skip.
    PARAMETERS:s_pho type ztable_2-phonenumber.
    SELECTION-SCREEN END OF BLOCK b1.
    AT SELECTION-SCREEN.
    SELECT  roomno
             name
             branch
             phonenumber from ztable_2 into TABLE it_str1
             WHERE roomno eq s_roomno and name eq s_name and branch eq s_branch and phonenumber eq s_pho.
       READ TABLE it_str1 INTO wa_str1 with KEY roomno = s_roomno name = s_name branch = s_branch phonenumber = s_pho.
       if sy-subrc eq 0.
         MESSAGE 'THE DATA IS ALL READY VIEWED' TYPE   'E'.
         RETURN.
         ENDIF.
         START-OF-SELECTION.
       SELECT  roomno
             name
             branch
             phonenumber from ztable_2 into TABLE it_str1
             WHERE roomno eq s_roomno and name eq s_name and branch eq s_branch and phonenumber eq s_pho.
         loop at it_str1 into wa_str1.
         WRITE:/1 wa_str1-roomno,
                10 wa_str1-name,
                30 wa_str1-branch,
               60 wa_str1-phonenumber.
         ENDLOOP.
    please guide me in solving the issue sir.
    thanks,
    Ravi

  • Problem with selection screen input

    my problem is when i enter l2_gr or l1_vbeln or l2_vbeln, in the selection screen, the output should come according to that.I am not getting the correct result.
    form summ_report.
      data: l2gr like ekbe-belnr.
       select fs_plant  fv_plant    f~r_plant
              fl1_sto        pl1_delivery  p~l1_gr
              pl2_sto        pl2_delivery  p~bsl_err_message
              kebeln         pl1_pgi       p~l2_pgi
       into (dochdr-swerks,   dochdr-vwerks,   dochdr-rwerks,
             dochdr-l1sto,    docitem-l1xblnr, docitem-l1gr,
            docitem-l2sto,   docitem-l2xblnr, docitem-err_msg,
             tabekko-ebeln,   docitem-l1pgi,   docitem-l2pgi)
       from zdochdr as f inner join zdocitem as p
                          on fl1_sto  =  pl1_sto inner join
                ekko as k on pl1_sto  = kebeln
       where f~s_plant     in s_werks  and
             f~v_plant        in v_werks  and
             f~r_plant  in r_werks  and
             f~l1_sto           in l1_sto   and
             p~l1_delivery      in l1_xblnr and
             p~l1_gr            in l1_gr    and
             p~l2_sto           in l2_sto   and
             p~l2_delivery      in l2_xblnr and
             k~aedat            in s_aedat.
    move : dochdr-swerks    to  final_data-i_swerks,
            dochdr-vwerks    to  final_data-i_vwerks,
            dochdr-rwerks    to  final_data-i_rwerks,
            dochdr-l1sto     to  final_data-i_l1sto,
            docitem-l1xblnr  to  final_data-i_l1xblnr,
            docitem-l1gr     to  final_data-i_l1gr,
            docitem-l2sto    to  final_data-i_l2sto,
            docitem-l2xblnr  to  final_data-i_l2xblnr,
            docitem-l2pgi    to  final_data-i_l2pgi,
            docitem-l1pgi    to  final_data-i_l1pgi,
            docitem-err_msg  to  final_data-i_errmsg.
            append final_data.
        endselect.
    L2 Goods receipt
    loop at final_data.
      select single belnr from ekbe into l2gr
        where ebeln = final_data-i_l2sto and
                  belnr in l2_gr and
                  bwart = '101' and
                  bewtp = 'E' and
                  vgabe = '1'.
      if sy-subrc eq 0.
        move l2gr to final_data-i_l2gr.
      endif.
    leg1 Billing document
    select vbeln from vbfa into (tabvbfa-vbeln)
      where vbeln in l1_vbeln and vbelv in (final_data-i_l2xblnr,final_data-i_l1xblnr).
    select single vbeln from vbrk into tabvbrk-vbeln
       where vbeln = tabvbfa-vbeln and fkart = 'IV'.
      if sy-subrc eq 0.
         move tabvbrk-vbeln to final_data-i_l1vbeln.
      endif.
       endselect.
    leg2 Billing document
    select vbeln from vbfa into (tabvbfa-vbeln1)
             where vbeln in l2_vbeln and
             vbelv in (final_data-i_l2xblnr,
                             final_data-i_l1xblnr).
    select single vbeln from vbrk into tabvbrk-vbeln1 where
                    vbeln = tabvbfa-vbeln1 and fkart = 'ZTYS'.
        if sy-subrc eq 0.
            move tabvbrk-vbeln1 to final_data-i_l2vbeln.
        endif.
       endselect.
    <b>if not l2_gr is initial or
        not l1_vbeln is initial or
         not l2_vbeln is initial.</b>        modify final_data.
      else.
         delete final_data.
      endif.
      endloop.
    endform.
    please help....
    Thanks,
    fractal.

    I think the code in bold is what you are trying to do.
    form summ_report.
      data: l2gr like ekbe-belnr.
      select f~s_plant f~v_plant     f~r_plant
             f~l1_sto  p~l1_delivery p~l1_gr
             p~l2_sto  p~l2_delivery p~bsl_err_message
             k~ebeln   p~l1_pgi      p~l2_pgi
        into (dochdr-swerks, dochdr-vwerks,   dochdr-rwerks,
              dochdr-l1sto,  docitem-l1xblnr, docitem-l1gr,
              docitem-l2sto, docitem-l2xblnr, docitem-err_msg,
              tabekko-ebeln, docitem-l1pgi,   ocitem-l2pgi)
        from zdochdr as f inner join zdocitem as p
          on f~l1_sto = p~l1_sto inner join ekko as k
          on p~l1_sto = k~ebeln
       where f~s_plant     in s_werks
         and f~v_plant     in v_werks
         and f~r_plant     in r_werks
         and f~l1_sto      in l1_sto
         and p~l1_delivery in l1_xblnr
         and p~l1_gr       in l1_gr
         and p~l2_sto      in l2_sto
         and p~l2_delivery in l2_xblnr
         and k~aedat       in s_aedat.
        move: dochdr-swerks   to final_data-i_swerks,
              dochdr-vwerks   to final_data-i_vwerks,
              dochdr-rwerks   to final_data-i_rwerks,
              dochdr-l1sto    to final_data-i_l1sto,
              docitem-l1xblnr to final_data-i_l1xblnr,
              docitem-l1gr    to final_data-i_l1gr,
              docitem-l2sto   to final_data-i_l2sto,
              docitem-l2xblnr to final_data-i_l2xblnr,
              docitem-l2pgi   to final_data-i_l2pgi,
              docitem-l1pgi   to final_data-i_l1pgi,
              docitem-err_msg to final_data-i_errmsg.
        append final_data.
      endselect.
    * L2 Goods receipt
      loop at final_data.
        select single belnr from ekbe
                            into l2gr
                           where ebeln = final_data-i_l2sto
                             and belnr in l2_gr
                             and bwart = '101'
                             and bewtp = 'E'
                             and vgabe = '1'.
        if sy-subrc eq 0.
          move l2gr to final_data-i_l2gr.
        endif.
    * leg1 Billing document
        select vbeln from vbfa
                     into tabvbfa-vbeln
                    where vbeln in l1_vbeln
                      and vbelv in (final_data-i_l2xblnr,final_data-i_l1xblnr).
          select single vbeln from vbrk
                              into tabvbrk-vbeln
                             where vbeln = tabvbfa-vbeln
                               and fkart = 'IV'.
          if sy-subrc eq 0.
            move tabvbrk-vbeln to final_data-i_l1vbeln.
          endif.
        endselect.
    * leg2 Billing document
        select vbeln from vbfa
                     into tabvbfa-vbeln1
                    where vbeln in l2_vbeln
                      and vbelv in (final_data-i_l2xblnr, final_data-i_l1xblnr).
          select single vbeln from vbrk
                              into tabvbrk-vbeln1
                             where vbeln = tabvbfa-vbeln1
                               and fkart = 'ZTYS'.
          if sy-subrc eq 0.
            move tabvbrk-vbeln1 to final_data-i_l2vbeln.
          endif.
        endselect.
        if not <b>final_data-i_l2gr</b>    is initial or
           not <b>final_data-i_l1vbeln</b> is initial or
           not <b>final_data-i_l2vbeln</b> is initial.
          modify final_data.
        else.
          delete final_data.
        endif.
      endloop.
    endform.

  • Problem after selection  screen -reg

    Hi all
    My program is not getting executed after giving the selection screen options.
    can anybody suggest me what could be the problem was.
    Here is my script.
    REPORT  ZVS_SELECT_FLIGHT                       .
    tables: SFLIGHT.
    TYPES: BEGIN OF TY_SFLIGHT,
                      CARRID LIKE SFLIGHT-CARRID,
                      CONNID LIKE SFLIGHT-CONNID,
                      FLDATE LIKE SFLIGHT-FLDATE,
                      PRICE LIKE SFLIGHT-PRICE,
                      CURRENCY LIKE SFLIGHT-CURRENCY,
                      PLANETYPE LIKE SFLIGHT-PLANETYPE,
                      SEATSMAX LIKE SFLIGHT-SEATSMAX,
                      SEATSOCC LIKE SFLIGHT-SEATSOCC,
                    END OF TY_SFLIGHT.
    DATA: IT_SFLIGHT TYPE TY_SFLIGHT occurs 1,
          WA_SFLIGHT TYPE TY_SFLIGHT.
    SELECTION-SCREEN BEGIN OF BLOCK B1 with frame title text-001.
    select-options so_carid for sflight-carrid no-extension no intervals
    obligatory.
    SELECTION-SCREEN END OF BLOCK B1.
    loop at it_sflight into wa_sflight.
    select * from sflight into CORRESPONDING FIELDS OF wa_SFLIGHT where carrid = so_carid.
    append wa_sflight to it_sflight.
    endselect.
    endloop.
    LOOP AT IT_SFLIGHT into WA_SFLIGHT .
    write: / wa_sflight-carrid,
            wa_sflight-connid,
            wa_sflight-fldate,
            wa_sflight-price,
            wa_sflight-currency,
            wa_sflight-planetype,
            wa_sflight-seatsmax,
            wa_sflight-seatsocc.
    endloop.
    Thanks in adv
    sateesh

    hi,
    there is a mistake in your progrm check the code below.
    REPORT ZVS_SELECT_FLIGHT .
    tables: SFLIGHT.
    TYPES: BEGIN OF TY_SFLIGHT,
    CARRID LIKE SFLIGHT-CARRID,
    CONNID LIKE SFLIGHT-CONNID,
    FLDATE LIKE SFLIGHT-FLDATE,
    PRICE LIKE SFLIGHT-PRICE,
    CURRENCY LIKE SFLIGHT-CURRENCY,
    PLANETYPE LIKE SFLIGHT-PLANETYPE,
    SEATSMAX LIKE SFLIGHT-SEATSMAX,
    SEATSOCC LIKE SFLIGHT-SEATSOCC,
    END OF TY_SFLIGHT.
    DATA: IT_SFLIGHT TYPE TY_SFLIGHT occurs 1,
    WA_SFLIGHT TYPE TY_SFLIGHT.
    SELECTION-SCREEN BEGIN OF BLOCK B1 with frame title text-001.
    select-options so_carid for sflight-carrid no-extension no intervals
    obligatory.
    SELECTION-SCREEN END OF BLOCK B1.
    <b>loop at it_sflight into wa_sflight.</b>  <b>"remove this</b>
    select * from sflight into CORRESPONDING FIELDS OF wa_SFLIGHT where carrid <b>in</b> so_carid.
    append wa_sflight to it_sflight.
    endselect.
    <b>endloop.</b><b> "remove this</b>
    LOOP AT IT_SFLIGHT into WA_SFLIGHT .
    write: / wa_sflight-carrid,
    wa_sflight-connid,
    wa_sflight-fldate,
    wa_sflight-price,
    wa_sflight-currency,
    wa_sflight-planetype,
    wa_sflight-seatsmax,
    wa_sflight-seatsocc.
    endloop.
    regards,
    Navneeth K.
    Message was edited by:
            Navneeth Bothra

  • Need stock on particular date entered on selection screen

    I am creating a stock in transit report and need stock on particular date entered by the user on selection screen.How do I calculate stock on a particular date?

    same thread...
    Re: Stock on a particulare date

  • Passing data to dynamic selection screen

    Hi Guys ,
    I need to pass some field values captured in my report to transaction FBL5N . The problem is that one of the fields which i need to input the value in FBL5N is a dynamic selection in FBL5N and is not in the standard selection screen . How do I pass the value to this field .
    Any sort of help would be great .
    thanks

    If a parameter ID is assigned to the field with dynamic selection in FBL5N, you can pass the value by means of SET PARAMETER ID statement.
    Regards,
    Renata

  • How to get data based on selection screen on the output

    Hi Expert,
    Can any one tell me based on material number on slection screen correspondind field i.e on selection scren
    WERKS,MTART,EKGRP,DISPO,BESKZ,MATNR should also get. i.e if i give mtart on selection screen corresponding to material number mtart shoul get.
    NOTE: I HAVE WRITTEN SELECT QUERY FOR TWO TABLES I.E MARA,MBEW.
    Below is my code
    TABLES:MARA,MARC,MARD.
    TYPES: BEGIN OF ty_mbew,
          matnr TYPE matnr,
          bwkey TYPE werks_d,
          lbkum TYPE lbkum,
          END OF ty_mbew.
    TYPES: BEGIN OF ty_close_stk,
           mandt TYPE mandt,
           matnr TYPE matnr,
           cdate TYPE zwkdate,
           bwkey TYPE werks_d,
           meins TYPE meins,
           zlbkum TYPE lbkum,
           WERKS  TYPE WERKS,      "
           MTART  TYPE MTART,
           EKGRP  TYPE EKGRP,
           DISPO TYPE  DISPO,
           BESKZ TYPE BESKZ,      
           salk3 TYPE salk3,
           END OF ty_close_stk.
    TYPES: BEGIN OF ty_mbewh,      
           matnr type matnr,
           bwkey type bwkey,
           lbkum type lbkum,
           lfmon type lfmon,
           end of ty_mbewh.        
    TYPES: begin of wa_matnr,
                matnr type matnr,
           end of wa_matnr.
    dATA : it_matnr type standard table of wa_matnr.
    DATA : it_close_stk_del TYPE STANDARD TABLE OF zclose_stock WITH HEADER LINE.
    DATA : it_close_stk TYPE STANDARD TABLE OF ty_close_stk,
           it_mbew TYPE STANDARD TABLE OF ty_mbew,
           wa_close_stk TYPE ty_close_stk,
           wa_mbew TYPE ty_mbew,
           it_mbewh TYPE STANDARD TABLE OF ty_mbewh,            "89286
           wa_mbewh TYPE ty_mbewh.                              "89286
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE TEXT-001.
    89286*********************
    SELECT-OPTIONS: WERKS FOR MARD-WERKS,    "Plant
                    MTART FOR MARA-MTART,    "Material type
                    EKGRP FOR MARC-EKGRP,    "Purchasing group
                    DISPO FOR MARC-DISPO,    "MRP Controller
                    BESKZ FOR MARC-BESKZ,    "Procurement type
                    s_MATNR FOR MARA-MATNR.  "Material number
    ************89286***************
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE TEXT-002.
    select MATNR INTO CORRESPONDING FIELDS OF TABLE IT_MATNR
           FROM MARA
           WHERE MATNR IN S_MATNR.
    SELECT matnr
             bwkey
             lbkum
             salk3            "MSK25072011
             FROM mbew INTO CORRESPONDING FIELDS OF TABLE it_mbew
            WHERE lfgja = fis_year
              where matnr  in s_matnr
               and  bwkey in werks.

    Hi
    Perhaps I don't understand yet, but you have several select-options in your selection-screen, every select-options can be assigned to different tables (MARA, MARC, MBEW), so you need to decide if to use a JOIN o single SELECTION in order to get all data in one step or many steps.
    IF you need to do several selections, these have to be linked in order to get the data for the records selected in the previous selection, something like that:
    SELECT matnr mtart INTO TABLE t_mara
        FROM mara
          WHERE matnr IN s_matnr
            AND mtart IN s_mtart.
      IF sy-subrc = 0.
        SELECT matnr werks ekgrp INTO TABLE t_marc
          FROM marc
            FOR ALL ENTRIES IN t_mara
              WHERE natnr = t_mara-matnr
                AND ekgrp IN s_ekgrp.
        IF sy-subrc = 0.
          SELECT matnr bwkey lbkum salk3 INTO TABLE t_mbew
            FROM mbew
              FOR ALL ENTRIES IN t_marc
                WHERE matnr = t_marc-matnr
                  AND bwkey = t_marc-werks.
        ENDIF.
      ENDIF.
    But you can use an single join with all tables
    Max

  • Do not want key date in the selection screen in query

    Hi,
    I have made a query for Customer Ageing. I do not want a selection screen- however, i still get a prompt for the 'Key Date'.
    Can someone suggest me a workaround?
    Many Thanks,
    Deepinder

    Hi Deepinder,
    Though Key date is not there in the filter area, it is being used in any restrcited key figures in your report. Check all the RKFs used in your report. Also the ones indirectly involved in calculations. May be you are calculating diff between key date and posting date and then used this difference for further calculations.
    Either you remove those RKFs if not needed, or in the property of your formula variable uncheck ready for input.
    Best Wishes,
    Mayank

  • Show selected data in a selection screen.

    Hi, ABAPers.
    I've made a selection screen with a pushbutton which launches a ALV to make a certain selection criteria (based on pairs of two data). Is it there an easy way of showing (via a list, an ALV embeded into the Sel Screen, etc.) the data selected in a way of giving information to the customer.
    Thanks in advance for your wise help.
    Regards.

    yes , you can make search help based on your requirements.
    1. crate data base view ( make joins of required tables e.g.. kna1, lfa1 ....)
    2.Create search help which will call your view.( selection method ( your view)
    3. in your program call this search help
    DATA: BEGIN OF rp_return OCCURS 0.
            INCLUDE STRUCTURE ddshretval.
    DATA: END OF rp_return.
    PARAMETERS: kunnr TYPE kunnr.
    CALL FUNCTION 'F4IF_FIELD_VALUE_REQUEST'
        EXPORTING
          tabname    = 'KNA1'
          fieldname  = 'KUNNR'
          searchhelp = 'ZSH_your'
        TABLES
          return_tab = rp_return.
      kunnr = rp_return-fieldval.

  • Is there any FM to validate the DATE input in selection screen?

    Hi Experts,
    The Z prog. does hv a field in selection screen, with name of enter_date_as_YYYYMM.
    So, user has to enter the vaue(inturn DATE) as YYYYMM, say 200807.
    1) So, YYYY valid range shuld be 1960-2099 only, if not, throw ERROR message
    2) MM range is obvoiusly 01-12, else ERROR message
    3) if user enters July as 7, prog. need to take it as 07
    so, instaed of coding to validate these, Is there any FM to meet my requirement?
    thanq

    Hi Srinivas,
    You can see the sample code mentioned below. It will throw those errors which u mentioned. Even you can change the logic as u required. This is just for your information...
    parameters: P_date(6) type n  obligatory.
    DATA: p_len TYPE i.
    at selection-screen.
    if ( p_date4(2) lt '01' or  p_date4(2) gt '12' ) .
      MESSAGE e400(ZCA_GENERAL) WITH 'Date format is wrong enter only YYYYMM'.
    elseif ( p_date0(4) lt '1960' or p_date0(4) gt '2099' ).
    MESSAGE e400(ZCA_GENERAL) WITH 'Date format ( Year 1960-2099 ) is wrong enter only YYYYMM'.
    endif.
    Regards,
    Naveen Veshala

  • How to default date values in Selection Screen

    Hi everyone,
    I would like to display the 1st day of the previous month into the I_GSTRP-LOW field and the last day of the current month into the I_GSTRP-HIGH field.
    For example, this in the 5th month of the year (May), therefore, in the selection screen it should appear like this:
    Basic Date: <u>01.04.2006</u>    to   <u>31.05.2006</u>
    How do i do it?
    *& SELECTION-SCREEN                                                    *
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE TEXT-001.
    SELECT-OPTIONS:
      I_AUFNR FOR AFIH-AUFNR,                           "ORDER NUMBER
      I_GSTRP FOR AFKO-GSTRP,                           "BASIC DATE
      I_BUDAT FOR AUFM-BUDAT,                           "POSTING DATE
      I_IWERK FOR AFIH-IWERK DEFAULT '6010' OBLIGATORY, "PLANNING PLANT
      I_ARBPL FOR CRHD-ARBPL,                           "WORK CENTER
      I_ERNAM FOR AUFK-ERNAM,                           "CREATED BY
      I_MATNR FOR RESB-MATNR,                           "MATERIAL
      I_KTEXT FOR AUFK-KTEXT.                           "EQUIPMENT
    SELECTION-SCREEN END OF BLOCK 1.

    Here is the code to populate default values,as per your requirement.
    data : V_date type sy-datum,
           v_month(2) type c,
           v_low_value(8) type c,
           v_high_value(8) type c,
           v_month1(2) type n,
            V_NO_OF_DAYS type T009B-BUTAG,
           v_curr_month type T009B-BUMON,
           v_curr_year  type T009B-BDATJ.
           select-options : i_gstrp for sy-datum.
    initialization.      
    v_date = sy-datum.
    v_month1 = v_date+4(2) - 1.
    write v_month1 to v_month.
    concatenate v_date+0(4)
    v_month
    '01'
    into v_low_value.
    I_GSTRP-LOW = v_low_value.
    v_curr_month = sy-datum+4(2).
    v_curr_year  = sy-datum+0(4).
    CALL FUNCTION 'NUMBER_OF_DAYS_PER_MONTH_GET'
      EXPORTING
        par_month       = v_curr_month
        par_year        = v_curr_year
    IMPORTING
       PAR_DAYS        = V_NO_OF_DAYS
    concatenate sy-datum+0(6)
    V_NO_OF_DAYS
    into v_high_value.
    I_GSTRP-HIGH = v_high_value.
    I_GSTRP-sign = 'I'.
    I_GSTRP-OPTION = 'EQ'.
    APPEND I_GSTRP.
    regards
    srikanth

  • Vl10b change delivery date definition on selection screen

    Okay - here is the scenario.
    I have a custom field that i wish to use as the basis for delivery date fields on the selection screen in VL10B.
    The selection screen use the fields VEPVG-LEDAT for the delivery date range.  i wish to use my own custom delivery field for the selection.
    I have noted that VL10B actually executes VL10X -and VL10X has several user exits that could be applied.
    Anyone know how I could accomplish this?
    Thank!

    Fields on selection screen are mere names. You can give any name. In this case its ST_LEDAT .
    How they are used inside the program is something you may like to change.
    If you do a "find" for ST_LEDAT in program RVV50R10C you will see at how many places this select option is used .
    If you want to change the behaviour ( select statements) you can copy the report and modify it.
    Cheers

Maybe you are looking for