Table in selection screen...

Dear Abapers,
               Is it possible to get the table in selection screen,I want to give input from table in selection screen itself.Can anyone suggest some ideas pl?
Thanks in Advance.

Hello,
Yes it is possible using Module pool programming. You can use table control for your multiple inputs.
Then loop throgh the table control to populate table control data(input data) to your internal table for further use in PAI of the screen.
Regards
Arindam

Similar Messages

  • How to fill internal table with selection screen field.

    Hi all,
    i am new to sap . pls tell me how to fill internal table with selection screen field.

    Hi,
    Please see the example below:-
    I have used both select-options and parameter on the selection-screen.
    Understand the same.
    * type declaration
    TYPES: BEGIN OF t_matnr,
            matnr TYPE matnr,
           END OF t_matnr,
           BEGIN OF t_vbeln,
             vbeln TYPE vbeln,
           END OF t_vbeln.
    * internal table declaration
    DATA : it_mara  TYPE STANDARD TABLE OF t_matnr,
           it_vbeln TYPE STANDARD TABLE OF t_vbeln.
    * workarea declaration
    DATA : wa_mara  TYPE t_matnr,
           wa_vbeln TYPE t_vbeln.
    * selection-screen field
    SELECTION-SCREEN: BEGIN OF BLOCK b1.
    PARAMETERS : p_matnr TYPE matnr.
    SELECT-OPTIONS : s_vbeln FOR wa_vbeln-vbeln.
    SELECTION-SCREEN: END OF BLOCK b1.
    START-OF-SELECTION.
    * I am adding parameter value to my internal table
      wa_mara-matnr = p_matnr.
      APPEND wa_mara TO it_mara.
    * I am adding select-options value to an internal table
      LOOP AT s_vbeln.
        wa_vbeln-vbeln =  s_vbeln-low.
        APPEND  wa_vbeln TO  it_vbeln.
      ENDLOOP.
    Regards,
    Ankur Parab

  • Adding new table dynamic selection screen of transaction FBL5N (LDB DDF).

    Hi,
    I have a requirement to add SEGMENT (CEPC-SEGMENT) field on the dynamic selection screen of transaction FBL5N (LDB DDF).
    Please let me know how can I meet this requirement
    Thanks

    I did not find any screen exits for this Tcode, may be you need to use enhancement spots.

  • To show data from internal table on selection Screen

    HI,
    please solve my problem.
    i am taking the LIFNR from MSEG in one internal table
    AND LIFNR FROM MY ZTABLE in other internal table
    after this  READ the table and take the data in
    LIFNER2
    my condition is:
    {READ TABLE it_mseg WITH KEY mblnr = it_mkpf-mblnr.
    i_DATA-lifnr = it_mseg-lifnr.
    Read table it_ZTMM_LOG_REQ_HDR with key repid = it_ztmm_reporting-repid.
    i_data-lifnr1 = it_ZTMM_LOG_REQ_HDR-lifnr.
    if i_data-lifnr = ' ' .
    i_data-lifnr2 = i_data-lifnr1.
    else.
    i_data-lifnr2 = i_data-lifnr.
    endif.}
    the LIFNR3 is in my final table
    the lifnr3 field i have to show on selection sceen
    the it_mseg is not my 1st selection condition.
    Regards,
    Pankaj Vashista

    Pankaj,
    It is always better to have even the MJHAR in the where/read with key clause as there is a possibility of same material doc number getting repeated in two fiscal years.
    K.Kiran.

  • How to use table field values as dynamic parameters on selection screen

    Hi,
    I need help on dynamic selection parameters.
    I need to display no. of parameters from the fields of a database table.
    Basically i want to pass field values of a table to selection screen and we can use those values as parameter on selection screen.
    If there are 10 entries in a table field( say field is field_name and entries are bukrs,kunnr etc.)
    I need to display as many parameters on screen as many values are there in field_name( In this case it is 10)
    SELECTION-SCREEN: BEGIN OF BLOCK b2 WITH FRAME TITLE text-t02.
    PARAMETERS:
                           p_bukrs(5) ,
                           p_kunnr(5) ,
    SELECTION-SCREEN END OF BLOCK b2.
    Thanx

    Hi,
    You can create it using Dynamic Program.Check this link below.
    [Creating Dynamic Programs|http://help.sap.com/saphelp_46c/helpdata/en/9f/db996135c111d1829f0000e829fbfe/content.htm]
    Hope this might help you.
    Thanks,
    Prashanth

  • Calling selection screen of a standard table

    Hi All,
    I want to call KNA1 table's Selection Screen' from a customized program. Can anyone let me know how to do this.
    Customer program-->KNA1 table selection screen
    Thank you

    Hi,
    goto se16 and give the table name, then execute it.
    it will display the selection screen. Then GOto System in the menu entry. select the status. then will all information like program name and screen name and screen number.
    <REMOVED BY MODERATOR>
    Edited by: subas  Bose on Apr 10, 2008 5:42 PM
    Edited by: Alvaro Tejada Galindo on Apr 10, 2008 11:44 AM

  • How to create the selection screen dynamically

    Hi,
    I have a requirement to create the selection screen Dynamically. All the fields that should appear on the selection screen will be available in a custom table. So, based on the entries available in the Z tables, the selection screen should be built. Eg. If there are 10 records available in the Z table, the selection screen should consist of 10 fields. If there are 100 entries, the Selection screen should contain 100 fields. and the logic to build this selection screen should be carried out dynamically in the program.
    Could anyone of you please share the valuable inputs on this. If anyone has the sample code to do this, please share.
    Thanks in advance.
    Regards,
    Paddu.

    Hi,
    Kindly go through this sample program below:
    DEMO_LIST_FORMAT_INPUT *and
    check this function module:
    FREE_SELECTIONS_DIALOG *.
    Hope it helps
    Regards
    Mansi

  • How to use MM/YYYY Format in the selection Screen?

    There is this program RMCB0300 where the date format in the selection screen has MM/YYYY Format.
    I am working on a report which requires it "Period" Field in the selection screen to be in the same format.
    However, i am trying to give the select option as " SL_SPMON FOR S031-SPMON MODIF ID PER." and declaring S031 table in the declaration part.
    But still, its not been able to provide me F4 help in the inpur screen.
    Can someone please provide me some guidance in this regard?

    Hi,
    the following works for me..
    *& Report  ZPMONAT                                                     *
    report  zpmonat                                 .
    tables: s031.
    selection-screen begin of block abc.
    select-options:  sl_spmon for s031-spmon.
    selection-screen end of block abc.
    at selection-screen on value-request for sl_spmon-low.
      perform monat_f4.
    at selection-screen on value-request for sl_spmon-high.
      perform monat_f4.
    start-of-selection.
    end-of-selection.
    *&      Form  monat_f4
    *       text
    *  -->  p1        text
    *  <--  p2        text
    form monat_f4 .
      data: begin of mf_dynpfields occurs 1.
              include structure dynpread.
      data: end   of mf_dynpfields.
      data: mf_returncode   like sy-subrc,
            mf_monat        like isellist-month,
            mf_hlp_repid    like sy-repid.
      field-symbols: <mf_feld>.
    * Wert von Dynpro lesen
      get cursor field mf_dynpfields-fieldname.
      append mf_dynpfields.
      mf_hlp_repid = sy-repid.
      do 2 times.
        call function 'DYNP_VALUES_READ'
          exporting
            dyname               = mf_hlp_repid
            dynumb               = sy-dynnr
          tables
            dynpfields           = mf_dynpfields
          exceptions
            invalid_abapworkarea = 01
            invalid_dynprofield  = 02
            invalid_dynproname   = 03
            invalid_dynpronummer = 04
            invalid_request      = 05
            no_fielddescription  = 06
            undefind_error       = 07.
        if sy-subrc = 3.
    *     Aktuelles Dynpro ist Wertemengenbild
          mf_hlp_repid = 'SAPLALDB'.
        else.
          read table mf_dynpfields index 1.
    *     Unterstriche durch Blanks ersetzen
          translate mf_dynpfields-fieldvalue using '_ '.
          exit.
        endif.
      enddo.
      if sy-subrc = 0.
    *   Konvertierung ins interne Format
        call function 'CONVERSION_EXIT_PERI_INPUT'
          exporting
            input         = mf_dynpfields-fieldvalue
          importing
            output        = mf_monat
          exceptions
            error_message = 1.
        if mf_monat is initial.
    *     Monat ist initial => Vorschlagswert aus akt. Datum ableiten
          mf_monat = sy-datlo(6).
        endif.
        call function 'POPUP_TO_SELECT_MONTH'
          exporting
            actual_month               = mf_monat
          importing
            selected_month             = mf_monat
            return_code                = mf_returncode
          exceptions
            factory_calendar_not_found = 01
            holiday_calendar_not_found = 02
            month_not_found            = 03.
        if sy-subrc = 0 and mf_returncode = 0.
    *     ASSIGN (MF_DYNPFIELDS-FIELDNAME) TO <MF_FELD>. " ==>> note 148804
    *     <MF_FELD> = MF_MONAT.
          call function 'CONVERSION_EXIT_PERI_OUTPUT'
            exporting
              input  = mf_monat
            importing
              output = mf_dynpfields-fieldvalue.
          collect mf_dynpfields.
          call function 'DYNP_VALUES_UPDATE'
            exporting
              dyname               = mf_hlp_repid
              dynumb               = sy-dynnr
            tables
              dynpfields           = mf_dynpfields
            exceptions
              invalid_abapworkarea = 01
              invalid_dynprofield  = 02
              invalid_dynproname   = 03
              invalid_dynpronummer = 04
              invalid_request      = 05
              no_fielddescription  = 06
              undefind_error       = 07.           "<<== note 148804
        endif.
      endif.
    endform.                                                    " monat_f4
    Regards,
    Suresh Datti

  • How to restrict more than one 1 range in select option on selection screen.

    Hi all,
    I have a requirement where I need to restrict user from giving more than 1 range for a date selct option ..other all features of multiple selection will be as usual...
    for eg we can do this if we disable / hide other cells if the user clicks on multiple ranges tab.. If only 1 cell is available to give the range user will not be able to give more than 1 range....
    I was thinking if I could use select_options_restrict but how do i fill its parameters...
    Can anyone send me the sample code or the same to achieve this functionality...I have used select_options_restrict to hide multiple ranges itself  ... But here user will be able to give range but only 1....
    Thanks and Regards
    Sweta

    HI,
    Please try the below logic.
    SELECT-OPTIONS: so_addr   FOR    ADR6-SMTP_ADDR NO INTERVALS.
    ***********remove_range_for_select_option******************* .
      DATA: ls_restrict  TYPE  SSCR_RESTRICT,    "The type for SELECT_OPTIONS_RESTRICT
            ls_opt_list  TYPE  SSCR_OPT_LIST,    "One list of options
            ls_asn       TYPE  SSCR_***.         "One line of table associating selection screen
                                                                      "object with opt. list
      CLEAR: ls_restrict,
             ls_opt_list,
             ls_asn.
    *Only EQ valid, discrete values, Include & Exclude
      ls_opt_list-name       = 'EQ'.
      ls_opt_list-options-eq = 'X'.
      APPEND ls_opt_list TO ls_RESTRICT-OPT_LIST_TAB.
      LS_ASN-KIND            = 'S'.
      LS_ASN-NAME            = 'SO_ADDR'.            "Select Option
      LS_ASN-SG_MAIN         = 'I'.
      LS_ASN-SG_ADDY         = '*'.
      LS_ASN-OP_MAIN         = 'EQ'.
      LS_ASN-OP_ADDY         = ' '.
      APPEND LS_ASN TO LS_RESTRICT-***_TAB.
    *Make use of SELECT-OPTIONS easier on the selection screen
      CALL FUNCTION 'SELECT_OPTIONS_RESTRICT'
        EXPORTING
          RESTRICTION            = LS_RESTRICT
        EXCEPTIONS
          TOO_LATE               = 1
          REPEATED               = 2
          SELOPT_WITHOUT_OPTIONS = 3
          SELOPT_WITHOUT_SIGNS   = 4
          INVALID_SIGN           = 5
          EMPTY_OPTION_LIST      = 6
          INVALID_KIND           = 7
          REPEATED_KIND_A        = 8
          OTHERS                 = 9.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    Edited by: Rajasekhar Reddy P on Mar 16, 2009 2:03 PM

  • How to configure selection screen in report

    Hi all,
          could anyone help me in configuring the selection screen in the report.
    Advance Thanks
    Regards
    Guhapriyan

    Here is some basic code to generate a selection screen.
    tables: afko.
    selection-screen begin of block b1 with frame title text-001 .
    select-options: s_gltrp for afko-gltrp.
    parameters: p_gltrp type afko-gltrp.
    selection-screen begin of line.
    selection-screen comment (25) text-005.
    selection-screen position 33.
    parameters: p_pln as checkbox default ' '.
    selection-screen end of line.
    selection-screen end of block b1.
    selection-screen begin of block b2 with frame title text-004 .
    selection-screen begin of line.
    selection-screen comment (20) text-002.
    selection-screen position 33.
    parameters: p_det as checkbox default 'X'.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment (20) text-003.
    selection-screen position 33.
    parameters: p_sum as checkbox.
    selection-screen end of line.
    selection-screen end of block b2.
    Regards,
    Rich Heilman

  • Selection screen pushbutton

    I have designed one push button on the selection screen below to input fields. If I press that button then I need to do some bdc programs after that I need to display log in the output screen. For this what I did is I have created perform statement in at selection screen event. And I am calling all the transactions inside of that form. But I am not able to display log in the output screen as it is under at selection screen event. So how to provide the log in the output screen after pressing push button.
    What I did is under start of selection I am looping messtab internal tables. The log displaying after I press execute button but it is not displaying after I press push button.
    Please help me what logic I have to build for this.
    Thanks a lot in advance.

    Try something like this.
    REPORT  RICH_0001.
    tables: sscrfields.
    selection-screen PUSHBUTTON  1(20) pb_test user-command PB1.
    at selection-screen.
      if sy-ucomm = 'PB1'.
         sscrfields-ucomm = 'ONLI'.
      endif.
    start-of-selection.
    write:/ 'StartOfSelection has been executed'.
    Regards,
    Rich Heilman

  • How to link a search help to a selection screen field

    Hi All,
    I am using field PKWRG from PA0017 table in selection screen. I need F4 help there as in Tcode PA30 . But this field does not have value table or check table. However, it has a search help attached 'TRV_PKWRG' .
    But, I donot know how to assign a search help to a selection screen field. Please help.
    Regards,
    Nibha

    Hello,
    Fetch all the data which from the table which you want to show in the search help and pass the value to the FM
    F4IF_INT_TABLE_VALUE_REQUEST and the selection-screen event must be
    at selection-screen on value request parameter or selection option variable.
    BCALV_TEST_FULLSCREEN
    BCALV_TEST_FULLSCREEN_CALLS
    BCALV_TEST_FULLSCREEN_PRINT
    BCALV_TEST_FULLSCREEN_STATUS
    BCALV_TEST_GRID
    BCALV_TEST_GRID_DRAG_DROP
    BCALV_TEST_GRID_EDITABLE
    BCALV_TEST_GRID_EVENTS
    BCALV_TEST_GRID_INDEX
    BCALV_TEST_GRID_TOOLBAR
    BCALV_TEST_HIERSEQ_LIST
    BCALV_TEST_LIST
    BCALV_TEST_LIST_PRINT
    BCALV_TEST_LIST_STATUS
    BCALV_VERIFY_DTYPES_D0100_F01
    BCSMENUF01
    BDLCOF10
    BDLDVI10
    BDLTREDF

  • Radio Buttons on Selection Screen

    Hi,
    I have four radio buttons on selection screen in a frame, all belonging to the same group.
    When the program is called using transaction 1, first two radio buttons are displayed. When the program is called using transaction 2, bottom two radio must be displayed.
    I am doing this using the following code.
    The problem is : When last two are displayed, there is empty space left on the top and first two are displayed there is empty space left in the bottom of the frame. How can this be taken care of such there are no empty spaces in the box frame?
    Code:
    Radio Buttons for Table Name
    SELECTION-SCREEN BEGIN OF BLOCK bl1 WITH FRAME TITLE text-005.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : p_ot   RADIOBUTTON GROUP grp1 MODIF ID one.
    SELECTION-SCREEN COMMENT 5(31) text-001 FOR FIELD p_ot.
    SELECTION-SCREEN END   OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : p_exp   RADIOBUTTON GROUP grp1 MODIF ID one.
    SELECTION-SCREEN COMMENT 5(31) text-002 FOR FIELD p_exp.
    SELECTION-SCREEN END   OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : p_cost   RADIOBUTTON GROUP grp1 MODIF ID two.
    SELECTION-SCREEN COMMENT 5(31) text-003 FOR FIELD p_cost.
    SELECTION-SCREEN END   OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : p_att   RADIOBUTTON GROUP grp1 MODIF ID two.
    SELECTION-SCREEN COMMENT 5(31) text-004 FOR FIELD p_att.
    SELECTION-SCREEN END   OF LINE.
    SELECTION-SCREEN END OF BLOCK bl1.
    Initialization
    INITIALIZATION.
    Display Table Names depending on transaction calling the program
      PERFORM display_table_names.
    FORM display_table_names.
      DATA : l_mod_id(3) TYPE c.
      IF sy-tcode EQ 'ZVTEST1'.
        l_mod_id = 'ONE'.
      ELSEIF sy-tcode EQ 'ZVTEST2'.
        l_mod_id = 'TWO'.
      ENDIF.
      LOOP AT SCREEN.
        IF screen-group1 EQ l_mod_id.
          screen-invisible   = '1'.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    ENDFORM.                    " display_table_names

    Hi,
    REPORT  Z_SALES MESSAGE-ID ZZ                          .
    *                             Variables                                *
    DATA: IT_BDCDATA LIKE BDCDATA OCCURS 0 WITH HEADER LINE,
          IT_MSGS LIKE BDCMSGCOLL OCCURS 0 WITH HEADER LINE.
    DATA: V_FILE TYPE STRING.
    *                         Internal Tables                              *
    DATA: BEGIN OF IT_SALES OCCURS 0,
            AUART,
            VKORG,
            VTWEG,
            BSTKD,
            KUNNR_KUNAG,
            KUNNR_KUNWE,
            KETDAT,
            KPRGBZ,
            PRSDT,
            BSTKD_1,
            KUNNR_KUNAG1,
            KUNNR_KUNWE1,
            KETDAT_1,
            KPRGBZ_1,
            PRSDT_1,
            ZTERM_1,
            INCO1,
            INCO2,
            MABNR,
            KWMENG,
            BSTKD_2,
            KUNNR_KUNAG2,
            KUNNR_KUNWE2,
            KETDAT_2,
            KPRGBZ_2,
            PRSDT_2,
            ZTERM_2,
            INCO1_1,
            INCO2_2,
            KSCHL,
            KBETR,
          END OF IT_SALES.
    *                       Selection-Screen                               *
    *Selection Screen 1
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
    PARAMETERS : P_FILE(25) TYPE C,
                 O_FILE(25) TYPE C.
    SELECTION-SCREEN END OF BLOCK B1.
    *Selection Screen 2
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
    PARAMETERS: CAL_TRA RADIOBUTTON GROUP G1 USER-COMMAND FLAG,
                SESSION RADIOBUTTON GROUP G1 DEFAULT 'X'.
    SELECTION-SCREEN END OF BLOCK B2.
    *Selection Screen 3
    SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME TITLE TEXT-003.
    PARAMETERS: MODE DEFAULT 'X' MODIF ID BL1,
                UPDATE DEFAULT 'X' MODIF ID BL1.
    SELECTION-SCREEN END OF BLOCK B3.
    *Selection Screen 4
    SELECTION-SCREEN BEGIN OF BLOCK B4 WITH FRAME TITLE TEXT-003.
    PARAMETERS: SES_NAM(25) MODIF ID BL2,
                KEP_TRAS TYPE C DEFAULT 'X' MODIF ID BL2,
                LOC_DATE TYPE SY-DATUM MODIF ID BL2,
                USER TYPE SY-UNAME DEFAULT SY-UNAME MODIF ID BL2.
    SELECTION-SCREEN END OF BLOCK B4.
    *                     At  Selection-Screen Output                      *
    AT SELECTION-SCREEN OUTPUT.
      IF CAL_TRA = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'BL1'.
            SCREEN-ACTIVE = '1'.
          ENDIF.
          IF SCREEN-GROUP1 = 'BL2'.
            SCREEN-ACTIVE = '0'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
      IF SESSION = 'X'.
        LOOP AT SCREEN.
          IF SCREEN-GROUP1 = 'BL1'.
            SCREEN-ACTIVE = '0'.
          ENDIF.
          IF SCREEN-GROUP1 = 'BL2'.
            SCREEN-ACTIVE = '1'.
          ENDIF.
          MODIFY SCREEN.
        ENDLOOP.
      ENDIF.
    *                     At  Selection-Screen                             *
    AT SELECTION-SCREEN.
      PERFORM VALIDATE_MANDATORY_FIELDS.
    *****************            INITIALIZATION         ********************
    INITIALIZATION.
      LOC_DATE  = SY-DATUM - 1.
    *                       Start of Selection                             *
    START-OF-SELECTION.
      V_FILE = P_FILE.
      CALL FUNCTION 'GUI_UPLOAD'
        EXPORTING
          FILENAME                = V_FILE
          FILETYPE                = 'ASC'
          HAS_FIELD_SEPARATOR     = ' '
        TABLES
          DATA_TAB                = IT_SALES
        EXCEPTIONS
          FILE_OPEN_ERROR         = 1
          FILE_READ_ERROR         = 2
          NO_BATCH                = 3
          GUI_REFUSE_FILETRANSFER = 4
          INVALID_TYPE            = 5
          NO_AUTHORITY            = 6
          UNKNOWN_ERROR           = 7
          BAD_DATA_FORMAT         = 8
          HEADER_NOT_ALLOWED      = 9
          SEPARATOR_NOT_ALLOWED   = 10
          HEADER_TOO_LONG         = 11
          UNKNOWN_DP_ERROR        = 12
          ACCESS_DENIED           = 13
          DP_OUT_OF_MEMORY        = 14
          DISK_FULL               = 15
          DP_TIMEOUT              = 16
          OTHERS                  = 17.
      IF SY-SUBRC <> 0.
        MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
                WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
    *&      Form  VALIDATE_MANDATORY_FIELDS
    *       text
    FORM VALIDATE_MANDATORY_FIELDS.
      IF P_FILE IS INITIAL OR O_FILE IS INITIAL.
        MESSAGE E000 WITH 'ENTER BOTH THE FILE NAMES'.
      ENDIF.
      IF CAL_TRA = 'X'.
        IF MODE IS INITIAL OR UPDATE IS INITIAL.
          MESSAGE E000 WITH 'ENTER BOTH THE OPTIONS'.
        ENDIF.
        IF SY-SUBRC <> 0.
          IF MODE <> 'A' OR MODE <> 'E' OR MODE <> 'N'
          OR MODE <> 'a' OR MODE <> 'e' OR MODE <> 'n'.
            MESSAGE E000 WITH 'Mode should be either A, E or N'.
          ENDIF.
          IF UPDATE <> 'S' OR UPDATE <> 'A'
          OR UPDATE <> 's' OR UPDATE <> 'a'.
            MESSAGE E000 WITH 'Mode should be either S or A'.
          ENDIF.
        ENDIF.
      ENDIF.
      IF SESSION = 'x'.
        IF SES_NAM   IS INITIAL
        OR KEP_TRAS  IS INITIAL
        OR LOC_DATE  IS INITIAL
        OR USER      IS INITIAL.
          MESSAGE E000 WITH 'ENTER ALL THE FIELDS'.
        ENDIF.
      ENDIF.
    ENDFORM.                    "VALIDATE_MANDATORY_FIELDS
    Regards
    vijay

  • 2 selection screen in one report.

    hi,
    i need to have 2 selection screen in one report....based on the input of 1st selection screen i need to display another selection screen. The 1st selection screen consist of three radio buttons....selecting one of them should allow me to further input data....
    i tried user command, modif id...but the problem is the 2nd selection screen is also displayed initially and den after clickin d radio button i get only the 2nd selection screen...
    i cannot use module pool programming coz of user requirement.
    could anybody help with the code??

    Hi
    Please this code ..
    SELECTION-SCREEN: BEGIN OF BLOCK c1 WITH FRAME TITLE text-001.
    Upload table
    PARAMETER: p_upload TYPE char01  RADIOBUTTON GROUP rsel
                        DEFAULT 'X'  USER-COMMAND ucomm,
    Edit Tables
               p_edt_tb TYPE  char01 RADIOBUTTON GROUP rsel.
    SELECTION-SCREEN: END OF BLOCK c1.
    Upload table
    SELECTION-SCREEN: BEGIN OF BLOCK c2 WITH FRAME TITLE text-002.
    PARAMETERS: p_tab   TYPE char16     MODIF ID m1,
                p_comp  TYPE char18     MODIF ID m1,
                p_plant TYPE werks_d    MODIF ID m1,
                p_excel TYPE localfile  MODIF ID m1.
    SELECTION-SCREEN: END OF BLOCK c2.
    Edit Table
    SELECTION-SCREEN: BEGIN OF BLOCK c3 WITH FRAME TITLE text-003.
    Replace component
    PARAMETER: p_rp_cmp TYPE char01  RADIOBUTTON GROUP edtb
                          DEFAULT 'X' USER-COMMAND ucomm MODIF ID m2,
    Edit Lines
               p_edt_ln TYPE  char01 RADIOBUTTON GROUP edtb MODIF ID m2.
    SELECTION-SCREEN: END OF BLOCK c3.
    SELECTION-SCREEN: BEGIN OF BLOCK c4 WITH FRAME TITLE text-004.
    Replace component
    PARAMETERS: p_tab_r   TYPE char16 MODIF ID m3,   "Assembly Table Name
                p_comp_r  TYPE char18 MODIF ID m3.   "Upload Table Name
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN COMMENT 1(31)  FOR FIELD p_fcomp  MODIF ID m3.
    PARAMETER: p_fcomp  TYPE zpart  MODIF ID m3.
    SELECTION-SCREEN COMMENT 62(20) FOR FIELD p_tcomp  MODIF ID m3.
    PARAMETER  p_tcomp  TYPE zpart  MODIF ID m3.
    SELECTION-SCREEN END OF LINE.
    Edit Lines
    PARAMETERS: p_fexcel TYPE localfile  MODIF ID m4,
                p_texcel TYPE localfile  MODIF ID m4.
    SELECTION-SCREEN: END OF BLOCK c4.
    SELECTION-SCREEN: BEGIN OF BLOCK c5 WITH FRAME TITLE text-005.
    validate data
    PARAMETERS: p_valid AS CHECKBOX DEFAULT space
                        USER-COMMAND ucomm MODIF ID m5,
    Background Processing
                p_back  AS CHECKBOX DEFAULT space
                        USER-COMMAND ucomm.
    SELECTION-SCREEN: END OF BLOCK c5.
    AT SELECTION-SCREEN OUTPUT.
    Design selection parameters dynamically
      PERFORM sub_set_file_param.
    FORM sub_set_file_param .
      LOOP AT SCREEN.
    If Upload is check
        IF  NOT  p_upload IS INITIAL.
          IF screen-group1 = 'M2' OR
             screen-group1 = 'M3' OR
             screen-group1 = 'M4'.
            screen-active = 0.
          ENDIF.
        ELSE.
    If Edit Tables is check
          IF screen-group1 = 'M1'.
            screen-active = 0.
          ENDIF.
        ENDIF.
    If Replace Component is check
        IF p_rp_cmp IS NOT INITIAL.
          IF screen-group1 = 'M4' OR
             screen-group1 = 'M5'.
            screen-active = 0.
          ENDIF.
        ELSE.
    If Edit Lines is check
          IF screen-group1 = 'M3'.
            screen-active = 0.
          ENDIF.
        ENDIF.
    Modify the screen
        MODIFY SCREEN.
      ENDLOOP.
    ENDFORM.

  • Dynamic ALV as per the periods on the selection screen

    Hello Experts
    I am new to dynamic ALV , Please help me to sought out my confusion.
    I want to create a dynamic ALV , based on the period mentioned at selection screen.
    for example I want to display the movement type  ( sum of the quantity ) for materials for the full month.
    I want the ALV output as below.
    Material  .........qty 01.04.2011..... qty 02.04.2011... qty 03.04.2011 ........ qty 30.04.2011
    AB1........................... 30.................... 20............................. 50......................... 200
    AB2.................................................... 50 ............................. 80 ..........................10
    I create an internal table itab with there fields to selact the data
    MATNR
    date
    qty
    select MATNR
           date
           qty
    into itab
    from mseg
    where based on the selection screen.
    then collect the data to other table date wise , now i have summrise data of material quantity
    now the results after collection data into table itab2 is as follows
    Material  ................... date ................................   qty
    AB1  ....................    01.04.2011.......................  30
    AB1  ...................     02.04.2011 ....................... 20
    AB1  ...................   03.04.2011.......................  50
    AB1  ...................   .30.04.2011.......................  200
    AB2 ....................   02.04.2011.......................   50
    AB2 .......................   03.04.2011.......................   80
    AB2 .......................   30.04.2011 .......................   10
    How can I display these fields horizontally instead of vertically ,
    and to the exact column as per the field catalog column header belongs to date.
    it would be so helpful if somebody explain with code by taking the above example.
    Thanks in Advance

    Hello Both Experts ,
    I write the below code and it is working for the requirement.
    Can you please check
    REPORT  z_test_dynamic                          .
    TABLES : mkpf , mseg .
    TYPES : BEGIN OF t_mseg ,
          mblnr TYPE mblnr ,
          bwart TYPE bwart ,
          matnr TYPE matnr ,
          werks TYPE werks_d ,
          menge TYPE menge_d ,
          budat TYPE budat ,
      END OF t_mseg.
    TYPES : BEGIN OF t_mseg_1 ,
          matnr TYPE matnr ,
          menge TYPE menge_d ,
          budat TYPE budat ,
      END OF t_mseg_1.
    DATA : gt_mseg TYPE STANDARD TABLE OF t_mseg ,
           gs_mseg TYPE t_mseg,
           gt_mseg_1 TYPE STANDARD TABLE OF t_mseg_1 ,
           gs_mseg_1 TYPE t_mseg_1,
           gt_mseg_2 TYPE STANDARD TABLE OF t_mseg_1 ,
           gs_mseg_2 TYPE t_mseg_1..
    DATA : gt_date TYPE STANDARD TABLE OF sy-datum ,
          gs_date TYPE sy-datum..
    DATA: ok_code LIKE sy-ucomm,
          g_container TYPE scrfname VALUE 'CONTAINER_01',
          grid1  TYPE REF TO cl_gui_alv_grid,
          g_custom_container TYPE REF TO cl_gui_custom_container.
    DATA: gt_fieldcat TYPE lvc_t_fcat.
    DATA: gp_table TYPE REF TO data.
    FIELD-SYMBOLS: <gt_table> TYPE table.
    SELECTION-SCREEN : BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    SELECT-OPTIONS : s_matnr FOR mseg-matnr ,
                     s_bwart FOR mseg-bwart NO INTERVALS,
                     s_werks FOR mseg-werks ,
                     s_budat FOR mkpf-budat .
    PARAMETERS   : p_mjahr TYPE mjahr OBLIGATORY.
    SELECTION-SCREEN : END OF BLOCK b1.
    PERFORM field_catalog.
    CALL METHOD cl_alv_table_create=>create_dynamic_table
      EXPORTING
        it_fieldcatalog = gt_fieldcat
      IMPORTING
        ep_table        = gp_table.
    ASSIGN gp_table->* TO <gt_table>.
    PERFORM select_main_data.
    PERFORM move_data.
    *&      Form  select_main_data
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM select_main_data .
      SELECT      mseg~mblnr
          mseg~bwart
          mseg~matnr
          mseg~werks
          mseg~menge
          mkpf~budat
        INTO TABLE gt_mseg
        FROM mseg AS mseg INNER JOIN mkpf AS mkpf
        ON mseg~mblnr = mkpf~mblnr AND
           mseg~mjahr = mkpf~mjahr
        WHERE matnr IN s_matnr AND
             budat IN s_budat AND
             werks IN s_werks AND
             bwart IN s_bwart AND
             mseg~mjahr EQ p_mjahr .
      IF  gt_mseg IS NOT INITIAL.
        LOOP AT gt_mseg INTO gs_mseg.
          gs_mseg_1-matnr = gs_mseg-matnr.
          gs_mseg_1-budat = gs_mseg-budat.
          gs_mseg_1-menge = gs_mseg-menge.
          COLLECT gs_mseg_1 INTO gt_mseg_1.
        ENDLOOP.
      ENDIF.
      gt_mseg_2 = gt_mseg_1.
      DELETE ADJACENT DUPLICATES FROM gt_mseg_2  COMPARING matnr.
    ENDFORM.                    " select_main_data
    *&      Form  field_catalog
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM field_catalog .
      DATA : lt_day_attributes TYPE STANDARD TABLE OF casdayattr ,
             ls_day_attributes TYPE casdayattr .
      DATA: ls_fieldcat TYPE lvc_s_fcat ,
            lv_fieldname TYPE lvc_fname.
      IF s_budat-high IS INITIAL.
        s_budat-high = s_budat-low.
      ENDIF.
      CALL FUNCTION 'DAY_ATTRIBUTES_GET'
       EXPORTING
    *   FACTORY_CALENDAR                 = ' '
    *   HOLIDAY_CALENDAR                 = ' '
         date_from                        = s_budat-low
         date_to                          = s_budat-high
         language                         = sy-langu
    * IMPORTING
    *   YEAR_OF_VALID_FROM               =
    *   YEAR_OF_VALID_TO                 =
    *   RETURNCODE                       =
        TABLES
          day_attributes                   = lt_day_attributes
    * EXCEPTIONS
    *   FACTORY_CALENDAR_NOT_FOUND       = 1
    *   HOLIDAY_CALENDAR_NOT_FOUND       = 2
    *   DATE_HAS_INVALID_FORMAT          = 3
    *   DATE_INCONSISTENCY               = 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.
      LOOP AT lt_day_attributes INTO ls_day_attributes.
        gs_date = ls_day_attributes-date.
        APPEND gs_date TO gt_date.
      ENDLOOP.
      ls_fieldcat-fieldname = 'MATNR'.
      ls_fieldcat-inttype    = 'CHAR18'.
      ls_fieldcat-coltext    = 'MATERIAL'.
    *   ls_fieldcat-decimals_o   = '2'.
      ls_fieldcat-outputlen = 18.
      APPEND ls_fieldcat TO gt_fieldcat.
      LOOP AT gt_date INTO gs_date.
        CONCATENATE 'QTY_' gs_date INTO lv_fieldname.
        ls_fieldcat-fieldname = lv_fieldname.
        ls_fieldcat-inttype    = 'QUAN'.
        ls_fieldcat-coltext    = gs_date.
        ls_fieldcat-decimals_o   = '2'.
    *    ls_fieldcat-outputlen = 18.
        APPEND ls_fieldcat TO gt_fieldcat.
      ENDLOOP.
    ENDFORM.                    " field_catalog
    *&      Form  move_data
    *       text
    *  -->  p1        text
    *  <--  p2        text
    FORM move_data .
      DATA: l_row TYPE sy-index.
      FIELD-SYMBOLS: <ls_table>.
      FIELD-SYMBOLS: <l_field> ,
                     <l_mseg_1> TYPE t_mseg_1.
      DATA: ls_fieldcat TYPE lvc_s_fcat .
      ASSIGN LOCAL COPY OF INITIAL LINE OF <gt_table> TO <ls_table>.
      SORT gt_mseg_1 BY matnr.
      LOOP AT gt_mseg_1 ASSIGNING <l_mseg_1> .
        IF <l_field> IS ASSIGNED.
          UNASSIGN <l_field>.
        ENDIF.
        MOVE-CORRESPONDING <l_mseg_1> TO <ls_table>.
          READ TABLE gt_fieldcat INTO ls_fieldcat WITH KEY coltext = <l_mseg_1>-budat.
          IF sy-subrc EQ 0.
            ASSIGN COMPONENT ls_fieldcat-fieldname OF STRUCTURE <ls_table> TO <l_field>.
            <l_field> = <l_mseg_1>-menge.
          ELSE.
            <l_field> =  0.
          ENDIF.
        AT end of matnr.
          APPEND <ls_table> TO <gt_table>.
    clear <ls_table>.
        ENDAT.
      ENDLOOP.
    ENDFORM.                    " move_data
    your answers help me lot . I am awarding the points.
    Very Very Thanks
    Edited by: Dilraj Singh on Apr 13, 2011 3:58 PM
    Edited by: Dilraj Singh on Apr 13, 2011 4:09 PM
    Edited by: Dilraj Singh on Apr 13, 2011 4:23 PM

Maybe you are looking for

  • Reserving the sales order stock for a customer

    Hello SAP gurus !! My client is wants to Reserve the stocks once the order is placed or confirmed by the Customers. For Example; --  If 10 c/s are available in the plant and a customer has ordered 10 c/s...  next time .. if someone is creating order

  • Iq505 screen is white

    The screen on my IQ505 touchsmart turned white! Cleaned and restarted, screen is white but can hear the computer go through startup and touch screen responds with sound when I touch it as if everything is working fine. I have found a few posts about

  • Shall i update my N96 to V30?

    Hey People Shall i update? as all im after is the audio theme? Help

  • HT1202 I want to put the songs onto an Ipad from my Itunes??? HELP

    I want to put the songs onto my niece's Ipad from my Itunes... but when i plug the ipad into the computer it says I need to select one of the following 'set up as new ipad' or 'resore from this back up :rachels iphone' .. but i dont want to erase any

  • Equium A100-338 - battery power problem

    Hi, My daughter has a Equium A100-338 bought in the UK 15 months ago, running Vista Home Premium. It has recently developed a problem with the battery life, which in theory should mean replacing the battery, but I'm not so sure! The battery runs down