Screen - Radio Button

Hi,
I have a screen, where I have two radio buttons and input fields in front of them.
I want to make the input fields of one Radio button invisble when the other is selected.
However, when I select the radio button, I have to press Enter to make the input fields visible again.
I want the fields to be visible when the Radio button is selected.Is it possible to do so.
Please suggest.
Thanks in advance,
Archana

plz run the follwing code.
plz reward points if it helps you.
Report ZANID_TEST2 Message-ID ZM.
tables: SSCRFIELDS.
DATA: BEGIN OF it_file OCCURS 0,
       buffer(2000),
      END OF it_file.
DATA: filename1(128),
      filename2(128),
      rec(1750).
DATA: c_fnh_mask TYPE dxfields-filemask VALUE '*',
      searched_dir TYPE dxfields-longpath,
      file_path LIKE dxfields-longpath.
-parameters----
selection-screen:
         Begin of block r1 with frame title text-006.
   parameters:
            p_cp1  radiobutton group rb1 default 'X' USER-COMMAND RND,
            p_mv1  radiobutton group rb1,
            p_ren  radiobutton group rb1,
            p_del1 radiobutton group rb1.
selection-screen:
         End of block r1.
selection-screen:
          begin of block b1 with frame title text-004.
   parameters:
       loc1(128) obligatory lower case   "Location1
                    default 'E:\usr\sap\put' modif id 1,
       file(128) obligatory  lower case    "Filename
               default 'E:\usr\sap\put\ekpo.dat' modif id 2,
       newname(128) obligatory  lower case "Filname
                     default 'abcd.txt' modif id 3,
       loc2(128) obligatory lower case   "Location2
               default 'E:\usr\sap\D12\SYS\gen' modif id 4.
   selection-screen:
   skip,
    PUSHBUTTON /05(23) TEXT-001 USER-COMMAND ZCOPY modif id 5,"COPY
    PUSHBUTTON  30(23) TEXT-002 USER-COMMAND ZMOV modif id 6, "CUT
    PUSHBUTTON  55(23) TEXT-003 USER-COMMAND ZDELETE modif id 7, "DELTE
       skip,
    PUSHBUTTON /30(23) TEXT-005 USER-COMMAND ZREN modif id 8, "RENAME
       end of block b1.
  at selection-screen output .
      perform modify_screen.
start-of-selection.
***your code
*&      Form  modify_screen
form modify_screen.
loop at screen.
         if p_cp1 eq 'X'.
             if screen-group1 = '3' or
                screen-group1 = '6' or
                screen-group1 = '7' or
                screen-group1 = '8'.
                screen-active = 0.
             endif.
         elseif p_mv1 eq 'X'.
             if screen-group1 = '3' or
                screen-group1 = '5' or
                screen-group1 = '7' or
                screen-group1 = '8'.
                screen-active = 0.
             endif.
         elseif p_del1 eq 'X'.
             if screen-group1 = '3' or
                screen-group1 = '4' or
                screen-group1 = '5' or
                screen-group1 = '6' or
                screen-group1 = '8'.
                screen-active = 0.
             endif.
         elseif p_ren eq 'X'.
             if screen-group1 = '4' or
                screen-group1 = '5' or
                screen-group1 = '6' or
                screen-group1 = '7'.
                screen-active = 0.
             endif.
         endif.
         modify screen.
      endloop.
endform.                    " modify_screen

Similar Messages

  • Selection screen radio buttons problem

    How enable and disable the radio button in selection screen?

    Hi Ram,
    Try using the below code it may useful for solving your problem .
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-014.
    SELECT-OPTIONS kunnr FOR komg-kunnr.
    SELECT-OPTIONS waerk  FOR komg-waerk MODIF ID def .
    SELECT-OPTIONS pltyp FOR komg-pltyp MODIF ID abc.
    SELECT-OPTIONS matnr FOR komg-matnr MODIF ID abc.
    SELECT-OPTIONS vkorg FOR a007-vkorg MODIF ID jkl.
    SELECT-OPTIONS vtweg FOR a007-vtweg MODIF ID jkl.
    SELECT-OPTIONS spart FOR a007-spart MODIF ID jkl.
    PARAMETERS datum LIKE rv12l-datint DEFAULT sy-datum.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-015.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS:r3 RADIOBUTTON GROUP g1 DEFAULT 'X' USER-COMMAND ucom.
    SELECTION-SCREEN COMMENT 10(20) text-018.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS:r1 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN COMMENT 10(20) text-016.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS:r2 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN COMMENT 10(20) text-017.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS:r4 RADIOBUTTON GROUP g1.
    SELECTION-SCREEN COMMENT 10(20) text-022.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b2.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF r1 EQ 'X'.
          IF screen-group1 = c_jkl.
            screen-input = 0.
            screen-invisible = 1.
          ENDIF.
        ENDIF.
        IF r2 EQ 'X'.
          IF screen-group1 = c_def OR screen-group1 = c_jkl.
            screen-input = 0.
            screen-invisible = 1.
          ENDIF.
        ENDIF.
        IF r3 EQ 'X'.
          IF screen-group1 = c_abc OR screen-group1 = c_def.
            screen-input = 0.
            screen-invisible = 1.
          ENDIF.
        ENDIF.
        IF screen-group1 = c_ghi.
          screen-input = 0.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Regards,
    Jana

  • Selection screen: Radio button

    HI,
    I want to create a report with the selection screen.
    In the selection screen. there are two radio button under which there are two fields in each of it.  Like Below
    Radio Button 1
    Field 1
    Field 2
    Radio Button 2
    Field 3
    Field 4
    if the User select the first radio button then Field 1 & 2 should be available for input and field 3 & 4 in the other radio button should not be available for input. which means it should be grayed out. Vice versa.
    Where do i need to modify the screen parameter for the fields?..
    Please suggest me a way forward
    Regards
    Suresh Kumar

    Report ZTEST1.
    DATA : FLAG(1) value 1,
          FLAG1(1) value 0.
    selection-screen begin of block b1 with frame.
    PARAMETERS : APPLSER  RADIOBUTTON GROUP  R1 USER-COMMAND R,
                 P_ASER(25) MODIF ID AS,
                 P_ASER1(25) MODIF ID AS.
    *selection-screen end of block b1.
    SELECTION-SCREEN COMMENT /1(30) comm2.
    *selection-screen begin of block b2.
    parameters : PRESER   RADIOBUTTON GROUP  R1,
                 P_PSER(25) MODIF ID PS,
                 P_PSER1(25) MODIF ID PS.
    selection-screen end of block b1.
    AT SELECTION-SCREEN.
      IF SY-UCOMM = 'R'.
          IF APPLSER = 'X'.
            FLAG = '1'.
            FLAG1 = '0'.
          ELSEIF PRESER = 'X'.
            FLAG = '0'.
            FLAG1 = '1'.
          ENDIF.
      ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'AS'.
          SCREEN-INPUT = FLAG.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
      LOOP AT SCREEN.
        IF SCREEN-GROUP1 = 'PS'.
          SCREEN-INPUT = FLAG1.
          MODIFY SCREEN.
        ENDIF.
      ENDLOOP.
    Message was edited by:
            Sriram Ponna

  • Provide code for desplay radio button in POP UP window(REUSE_ALV_POP

    Dear Experts,
    I m using Function module REUSE_ALV_POPUP_TO_SELECT . I can use check box but radio button is required.  How to declared that radio button in  main Program and  I need radio button on POPUP window also along with other fields. That radio button should not display on my main selection screen, Radio Button should be display on POPUP window only .
    Pl provide me code for .....
    Thanks & Regards,
    Swapnika
    Edited by: swapnika on Nov 28, 2011 8:09 AM

    Hi,
    Using radio button for single selection.
    You can double click at  the line for the single selection instead of radio button by leaving I_CHECKBOX_FIELDNAME blank.
    Hope this help.
    Tiwa N.

  • Adding function code dynamically for radio buttons

    Hi Experts,
             I have two  radio buttons in standard screen which when clicked my custom logic should be executed.
    The issue here is the standard screen radio button does not have a Fcode assigned in the field properties because of this no event is triggered when the radio button is selected.
    Thank You,
    Anupama.

    Hi anu,
         Try the following procedure,
    - Combine all the radio buttons into a group. T
    - Create a common function code for all the radio buttons. F
    - Assign all the radio buttons to the same modification group. F
    - Enclose all entire radio button in a frame. F
    Also check the website it help u as u need,
    [http://help.sap.com/saphelp_nw04/Helpdata/EN/3d/c3b23782a9cc68e10000009b38f8cf/content.htm]
    Hope it helps u....
    Regards,
    Annevit

  • Radio buttons are disabled in Custom Infotyope

    Hi All,
      I have created a custom infotype for rating.This infotype is having 5 radiobutton fields. In the field attributes i marked this as an input field.But if go in PA30(create) these radiobuttons are disabled.I am not able to make an input.
    Thanks
    Parthi.

    hi partha,
    give your infotype similar "infotype characterstics" as of a standarad infotype
    check out for time constraints.
    take infotype 000 and ur custom infotype check if there is any differance in the
    "infotype characterstics".
    its surely gng 2 hep you.
    also just check that you have followed the given all steps correctly
    1) Go to Transaction PM01.
    2) Enter the custom Infotype number which you want to create (Should be a 4 digit number, start with 9).
    3) Select the 'Employee Infotype' radio button.
    4) Select the 'PS Structure Infotype'.
    5) Click on Create... A separate table maintenance window appears...
    6) Create a PS structure with all the fields you want on the Infotype
    7) Save and Activate the PS structure
    8) Go back to the initial screen of PM01.
    9) Click on 'All' push button. It takes a few moments.
    10) Click on 'Technical Characteristics'. Infotype list screen appears
    11) Click on 'Change'(pencil) button
    12) Select your Infotype and click on 'Detail' (magnifying glass) button
    13) Give 'T591A' as subtype table
    14) Give 'T591S' as subtype txt tab
    15) Give your subtype field as subtype field
    16) Save and come back to PM01 initial screen
    17) Click on 'Infotype Characteristics' ... Infotype list screen appears
    18) Click on 'Change' (pencil) button
    19) Click on 'New Entries'
    20) Enter your Infotype number and short text
    21) Here we have to set different Infotype Characteristics as per the requirement. (Better open another session with some standard Infotype's infotype characteristics screen and use as the reference to fill yours)
    22) Save your entries.
    23) Now the Infotype is created and ready to use.
    24) If you want to change the layout of the Infotype as per your requirement...
    25) In the PM01 initial screen...Select 'Screen' radio button and give 2000 as the screen name, then click on edit.
    26) In the next screen.. Select 'Layout Editor' and click 'Change'.
    27) Screen default layout appears...here you can design/modify the screen..change the attributes of the fields..etc.
    28) Save and activate. (Don't forget to 'Activate at every level) 
    let me know if its helpful
    thnkx
    bhanu

  • How can i declare a single radio button field in selection-screen ?

    How can i declare a single radio button field in selection-screen ?

    >
    Rob Burbank wrote:
    > And how will you turn it off once it is turned on??
    >
    > Rob
    Thats correct ;)...See ravi if users will ask so many things its our Job to convay the correct solution ....
    Just post your org requirement..SOo some body guide you better//
    Sas

  • Radio button in three column in a single selection-screen

    Hi,
    I am trying to create radio buttons with three column within a single selection-screen.
    I.e.
    Column 1:
    radio1
    Column2:
    radio2
    radio3
    column3:
    radio4
    radio5
    radio6
    Also I wish to give three names(as headers) to each columns.Is is possible?If yes how?

    Hi,
    write as :
    SELECTION-SCREEN COMMENT /1(50) text-001.
    PARAMETERS: r1 RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN COMMENT /1(30) text-002.
    PARAMETERS: r2 RADIOBUTTON GROUP rad1,
                r3 RADIOBUTTON GROUP rad1.
    SELECTION-SCREEN COMMENT /1(30) text-003.
    PARAMETERS: r4 RADIOBUTTON GROUP rad1,
                             r5 RADIOBUTTON GROUP rad1,
                             r6 RADIOBUTTON GROUP rad1.
    Regards,
    Srini.

  • Radio button and selection screen

    hi
    my requirement is that if the user enters some particular combination of value in the select options and clicks a particular radio button there should be an error message displayed.
    1)  I am getting the error message in the form a dialog box , but it has only option of  exit , and the user is thrown of the screen. my requirement is that after the error message the user must still be at the same screen so that he can enter new values.
    2)  the code that i have written also has one more anamoly that the displaying of error depends upon the sequence of  actions .
      if  i enter the value in the select option first and then click the radio button then the error message is displayed which is correct.
    but it doesnt work i click the radio button first and then enter the value, the program is executed and NO ERROR message is flashed.
    here is what i have written
    SELECTION-SCREEN BEGIN OF BLOCK blk WITH FRAME.
    SELECTION-SCREEN BEGIN OF BLOCK blk1 WITH FRAME TITLE  text-001.
    SELECT-OPTIONS: p_year  for  s021-spmon obligatory ,
                    p_kunag  FOR vbrk-kunag  ,
                    p_matnr  FOR vbrp-matnr  ,
                    p_augru  FOR vbrp-augru_auft modif id a1 ,
                    p_vbeln  FOR vbrk-vbeln  .
    SELECTION-SCREEN END OF BLOCK blk1.
    SELECTION-SCREEN BEGIN OF BLOCK blk2 WITH FRAME TITLE  text-002.
    PARAMETERS:  nrw RADIOBUTTON GROUP g1 user-command check,
                 mwd RADIOBUTTON GROUP g1 ,
                 rws RADIOBUTTON GROUP g1 ,
              edu RADIOBUTTON GROUP g1 ,
             standard RADIOBUTTON GROUP g1 default 'X' .
    SELECTION-SCREEN END OF BLOCK blk2.
    SELECTION-SCREEN END OF BLOCK blk.
    at selection-screen output.
       loop at screen.
       if nrw = 'X' and p_augru-low EQ 'MWD'.
           MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
    endif.
       endloop.
    START-OF-SELECTION.
    CASE 'X'.
    WHEN nrw.
    PERFORM set_dates_nrw.
          PERFORM load_data_nrw.
          PERFORM get_cust_info_nrw.
          PERFORM set_alv_field_cat_nrw.
          PERFORM display_alv_nrw.
    endcase.

    Hi
    Change this piece of code
    at selection-screen output.
    loop at screen.
    if nrw = 'X' and p_augru-low EQ 'MWD'.
    MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
    endif.
    endloop.
    by
    <b>at selection-screen.
    if nrw = 'X' and p_augru-low EQ 'MWD'.
    MESSAGE e000(oo) WITH '<Please Enter the correct Order Reason>'.
    endif.</b>
    Reward points if useful.
    Regards,
    Atish

  • Radio button in BEx variable screen

    I want in a report to find the value of Key figure in absolute or not .
    There must be a radio button in the varible screen to populate KF either in absolute or as it is .
    Display absolute ( Yes or No) : .......
    If yes it will show the KF only in absolute else it will show only as it is .
    How should I approach ?

    create two kf.
    1st, your kf.
    2nd (calculated) as absolute value of your  1st kf.
    put a radio button, in design mode, under dimensions choose key figures.
    switch off  design mode.
    hope this helps.
    derya

  • While opening a screen none of the radio button should not selected

    Hi,
    i have three radio button on the screens.By default the first radio button is getting selected for each and every time when ever i'm opening the screen.i dont want the default select should happen and even i dont want any of the radio button should be selected.
    how i can acheive through dialog programming.
    kind regards,
    Poornima.

    Hi,
    You can have radio buttons with any one field selected from a group .
    ex:
    selection-screen begin of block b2 with frame title text-042.
    parameters:r_detail    radiobutton  group g2 user-command cmd default
    'X',
           r_sumry   radiobutton  group g2,
           r_totals    radiobutton group g2.
    selection-screen end of block b2.
    or
    selection-screen begin of block b2 with frame title text-042.
    parameters:r_detail    radiobutton  group g2 user-command cmd,
           r_sumry   radiobutton  group g2 default 'X',
          r_totals    radiobutton group g2.
    selection-screen end of block b2.
    or
    selection-screen begin of block b2 with frame title text-042.
    parameters:r_detail    radiobutton  group g2 user-command cmd,
           r_sumry   radiobutton  group g2 ,
          r_totals    radiobutton group g2 default 'X'.
    selection-screen end of block b2.
    Else you can opt for checkbox and have all of them not checked.
    Regards,
    Dep

  • Creation of selection screen with 2 radio button groups

    Hi All,
    I have following selecton screen to be created:
    1. Radio Button for File
       A. Radio Button for PC File
           - Parameter for PC File Input
       B. Radio Button for UNIX File
           - Parameter for Unix File Input
    2. Radio Button for Material
        - Material Select-Option
    As per above Either of Radio Buttons 1/2 File/Material will be selected.
    If 1(File) Selected Radio Button for PC File/Unix File will be selected, No other radio buttons will be active.
    If 2(Material) Selected Material Select-option input will be given, No other radio buttons will be active.
    How can we write the selection screen code for above design.
    Thanks in advance.
    Thanks,
    Deep.

    Hi,
    go through the following example-----
    **************************************INTERNAL TABLE DECLERATION**************************************
    DATA: BEGIN OF ITAB2 OCCURS 0,
             VALUE(250) TYPE C,
             END   OF ITAB2.
    **************************************DATA DECLERATION************************************************
    DATA: PATH LIKE DYNPREAD-FIELDNAME.
    DATA : P TYPE STRING,
           D TYPE STRING.
    DATA : V_DATASET    LIKE FILENAMECI-FILEEXTERN.
    **************************************SELECTION SCREEN***********************************************
    PARAMETERS: V_PATH TYPE RLGRAP-FILENAME DEFAULT 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
    PARAMETERS: D_PATH TYPE RLGRAP-FILENAME.
    SKIP 5.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME.
    PARAMETERS: PC_ONE    RADIOBUTTON GROUP RAD1 DEFAULT 'X',
                PC_OTHER    RADIOBUTTON GROUP RAD1.
    SELECTION-SCREEN END OF BLOCK B1.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR V_PATH.
    HELP FOR SEARCHING FILES PATH************************************************
      IF PC_ONE = 'X'.
        CALL FUNCTION 'F4_FILENAME'
         EXPORTING
      PROGRAM_NAME        =  'Z8VIJAY_SHADOWER_COVERSIONDATA'
      DYNPRO_NUMBER       = SYST-DYNNR
           FIELD_NAME          = PATH
         IMPORTING
           FILE_NAME           = V_PATH.
    *******CONVERT IN TO STRING************
        P = V_PATH.
      ENDIF.
    **************************************SELECTION SCREEN VALIDATION***********************************
    AT SELECTION-SCREEN.
      IF V_PATH = ''.
        MESSAGE E014.                    "FILE PATH NOT FOUND!!!!!!!
      ENDIF.
      IF D_PATH = ''.
        MESSAGE E016.                "TARGET FILE NOT FOUND!!!!!!!
      ENDIF.
    *******************FOR DOWNLOAD**********
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR D_PATH.
      CALL FUNCTION 'F4_FILENAME'
       EXPORTING
      PROGRAM_NAME        = 'Z8VIJAY_SHADOWER_COVERSIONDATA'
      DYNPRO_NUMBER       = SYST-DYNNR
         FIELD_NAME           = PATH
       IMPORTING
         FILE_NAME           = D_PATH.
    ***************CONVERT INTO STRING***********
      D = D_PATH.
    *******************************************MAIN LOGIC************************************************
    START-OF-SELECTION.
      IF P = ''.
        P = 'C:\Documents and Settings\vchaturvedi\Desktop\vijay.txt'.
      ENDIF.
    ******************UPLOAD DATA FROM OTHERS TO INTERNAL TABLE****************
      CALL FUNCTION 'GUI_UPLOAD'
              EXPORTING
                FILENAME                      = P
             FILETYPE                      = 'ASC'
             HAS_FIELD_SEPARATOR           = ' '
             HEADER_LENGTH                 = 0
             READ_BY_LINE                  = 'X'
             DAT_MODE                      = ' '
             CODEPAGE                      = ' '
             IGNORE_CERR                   = ABAP_TRUE
             REPLACEMENT                   = '#'
             CHECK_BOM                     = ' '
           IMPORTING
             FILELENGTH                    =
             HEADER                        =
              TABLES
                DATA_TAB                      = ITAB2
             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 = 1.
           MESSAGE E014.                    "FILE PATH NOT FOUND!!!!!!!
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
          ENDIF.
    ******************************DOWNLOAD DATA FROM INTERNAL TABLE TO OTHERS******************************
      CALL FUNCTION 'GUI_DOWNLOAD'
        EXPORTING
      BIN_FILESIZE                    =
          FILENAME                        = D
      FILETYPE                        = 'ASC'
      APPEND                          = ' '
      WRITE_FIELD_SEPARATOR           = ' '
      HEADER                          = '00'
      TRUNC_TRAILING_BLANKS           = ' '
      WRITE_LF                        = 'X'
      COL_SELECT                      = ' '
      COL_SELECT_MASK                 = ' '
      DAT_MODE                        = ' '
      CONFIRM_OVERWRITE               = ' '
      NO_AUTH_CHECK                   = ' '
      CODEPAGE                        = ' '
      IGNORE_CERR                     = ABAP_TRUE
      REPLACEMENT                     = '#'
      WRITE_BOM                       = ' '
      TRUNC_TRAILING_BLANKS_EOL       = 'X'
      WK1_N_FORMAT                    = ' '
      WK1_N_SIZE                      = ' '
      WK1_T_FORMAT                    = ' '
      WK1_T_SIZE                      = ' '
    IMPORTING
      FILELENGTH                      =
        TABLES
          DATA_TAB                        = ITAB2
      FIELDNAMES                      =
    EXCEPTIONS
       FILE_WRITE_ERROR                = 1
       NO_BATCH                        = 2
       GUI_REFUSE_FILETRANSFER         = 3
       INVALID_TYPE                    = 4
       NO_AUTHORITY                    = 5
       UNKNOWN_ERROR                   = 6
       HEADER_NOT_ALLOWED              = 7
       SEPARATOR_NOT_ALLOWED           = 8
       FILESIZE_NOT_ALLOWED            = 9
       HEADER_TOO_LONG                 = 10
       DP_ERROR_CREATE                 = 11
       DP_ERROR_SEND                   = 12
       DP_ERROR_WRITE                  = 13
       UNKNOWN_DP_ERROR                = 14
       ACCESS_DENIED                   = 15
       DP_OUT_OF_MEMORY                = 16
       DISK_FULL                       = 17
       DP_TIMEOUT                      = 18
       FILE_NOT_FOUND                  = 19
       DATAPROVIDER_EXCEPTION          = 20
       CONTROL_FLUSH_ERROR             = 21
       OTHERS                          = 22
      IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
      ENDIF.
      IF PC_OTHER = 'X'.
    ****************************8FOR ONE SERVER TO ANOTHER************************************************
      OPEN DATASET V_DATASET FOR INPUT IN TEXT MODE ENCODING DEFAULT.
        IF SY-SUBRC = 0.
          DO.
            READ DATASET V_DATASET INTO ITAB2.
            IF SY-SUBRC <> 0.
              EXIT.
            ENDIF.
            APPEND ITAB2.
          ENDDO.
        ENDIF.
      ENDIF.
    *********************************PRINTING DATA *********************************************************
      LOOP AT ITAB2.
        WRITE :/5 ITAB2-VALUE.
      ENDLOOP.
    ****do reward if usefull
    Regards,
    vijay

  • At-selection screen output and radio button together

    Hi all,
    I want to make  a screen with radio buttons and a drop down menu on selection screen as soon as I check any button and click on Open from drop down menu the output should come according to the button cheked but the problem is that desired output is not coming.
    Please see if something could be done.
    Thanks,
    Shweta

    Hi,
    Here is the code see y it didnt responds,
    I made ZMENU2 in SE41 with Menu bar as OPEN , also activated buttons BACK and EXIT.
    tables : sscrfields.
    CONSTANTS : buttonselected TYPE c LENGTH 1 VALUE 'X'.
    DATA: ok_code LIKE sy-ucomm.
    SELECTION-SCREEN BEGIN OF BLOCK frame1 WITH FRAME TITLE text-001.
    SELECTION-SCREEN ULINE /1(60).
    PARAMETERS: first RADIOBUTTON GROUP rad DEFAULT 'X',
    second RADIOBUTTON GROUP rad,
    third RADIOBUTTON GROUP rad,
    fourth RADIOBUTTON GROUP rad,
    fifth RADIOBUTTON GROUP rad.
    SELECTION-SCREEN END OF BLOCK frame1.
    AT SELECTION-SCREEN OUTPUT.
      SET PF-STATUS 'ZMENU2'.
      If first = buttonselected and ok_code = 'OPEN'..
             WRITE 'You selected first button'.
        ELSEIF second = buttonselected and ok_code = 'OPEN'..
            WRITE 'You selected second button'.
        ELSEIF third = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected third button'.
        ELSEIF fourth = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected fourth button'.
        ELSEIF fifth = buttonselected and ok_code = 'OPEN'.
            WRITE 'You selected fifth button'.
        ELSEIF ok_code ='BACK'.
           LEAVE PROGRAM.
        ELSEIF ok_code ='EXIT'.
          LEAVE PROGRAM.
      ENDIF.

  • Report should executed based on the radio buttons on the selection screen

    Hi everyone,
    Greets....................
    My scenario is I have 2 selection screen blocks on same screen..
    One selection screen block contains input parameters as follows
    Company Code  -  S_BUKRS
    Business Area -  S_GSBER
    Customer Code -  S_KUNNR
    Fiscal Area  -   S_GJAHR
    GL Account - S_HKONT
    Posting Date  -S_ZFBDT
    Ledger Type  -P_RLDNR
    Open Item Key Date -  P_ZFBDT
    Another selection screen block contains 2 radio buttons with the option as follows
    Collection Plan
    *Credit days summary.
    If i click Collection plan the report output should come based on the input parameters in first selection-screen block.
    If i click Credit days summary the report output should come based on the input parameters in first selection-screen block.
    Pls send me the sample code for this.
    Thanks in Advance
    Regards
    Raj kumar

    See the below folling example : it will have radio buttons and depends on radio button it will show output.
    REPORT ZPPR_BOM_INFOL_REPORT no standard page heading
                     line-size 160
                     line-count 60.
    ======================================================================
    Program Name : ZPPR_BOM_INFOL_REPORT
    Description  : This Program would be used for BOM List for a material*
                   and the component's where used list                   *
    Author       : Seshu                                                 *
    Date         : 07/24/2006                                            *
    MODIFICATION HISTORY                                                 *
    DATE    | AUTHOR   | CHANGE #   | DESCRIPTION OF MODIFICATION        *
    |----
    |----
    |----
    *12/04/06 | Seshu    | DEVK921821 | Removed new page for each material *
    ======================================================================
    Table definition                                                    *
    TABLES: mast,
            stko,
            stpo,
            T418,
            makt.
    TYPE - POOLS
    TYPE-POOLS: slis.
    Constants
    constants : c_tcode(4) type c value 'CS03',
                gc_formname_top_of_page TYPE slis_formname
                VALUE 'TOP_OF_PAGE'.
    Variables
    data : v_maktx like makt-maktx,
           wa_stko like stko.
    DATA:
    Objekttyp 'Material'
       otyp_mat(1) TYPE c VALUE '1',
       ootyp_mat(1) TYPE c VALUE 'M',
    Objekttyp 'kein Objekt'
       otyp_noo(1) TYPE c VALUE '2',
    Objekttyp 'Dokument'
       otyp_doc(1) TYPE c VALUE '3',
    Objekttyp 'Klasse'
       otyp_kla(1) TYPE c VALUE '4',
    Objekttyp 'Intramaterial'
       otyp_ntm(1) TYPE c VALUE '5'.
    maximal anzeigbare Menge
    data:   max_num(7)  TYPE p DECIMALS 3 VALUE '9999999999.999',
            ueberl_kz(1) TYPE c VALUE '*',
            min_num(7)  TYPE p DECIMALS 3 VALUE '9999999999.999-',
            b_flag(1) TYPE c VALUE 'X',
            ecfld(250) TYPE c,
            v_flag type c.
    ALV Variables
    DATA: gt_fieldcat TYPE slis_t_fieldcat_alv,
          gs_layout   TYPE slis_layout_alv,
          gs_keyinfo  TYPE slis_keyinfo_alv,
          gt_sp_group TYPE slis_t_sp_group_alv,
          gt_events   TYPE slis_t_event.
    DATA: g_repid LIKE sy-repid.
    DATA: gt_list_top_of_page TYPE slis_t_listheader,
                g_tabname_header TYPE slis_tabname,
                g_tabname_item   TYPE slis_tabname,
                g_save(1) TYPE c,
                gx_variant LIKE disvariant,
                g_variant LIKE disvariant,
                g_default(1) TYPE c,
                g_exit(1) TYPE c.
    Includes                                                             *
    INCLUDE .
    Internal Table Declaration                                           *
    DATA: t_mast LIKE STANDARD TABLE OF mast WITH HEADER LINE.
    *DATA: t_makt LIKE STANDARD TABLE OF makt WITH HEADER LINE.
    BOM Function module Related
    DATA: t_matcat  LIKE cscmat OCCURS 0 WITH HEADER LINE.
    Internal Table for Level by Level Function module
    DATA: t_stb  LIKE stpox OCCURS 0 WITH HEADER LINE.
    Get the Relevant data from FM
    DATA: BEGIN OF hd_tab OCCURS 0,
             stufe LIKE stpox-stufe,
             vwegx LIKE stpox-vwegx,
          END OF hd_tab.
    Final Output
    DATA: BEGIN OF alv_stb OCCURS 0.
            INCLUDE STRUCTURE stpox_alv.
    DATA:   info(3)   TYPE c,
          END OF alv_stb.
    DATA: BEGIN OF stb_orig.
            INCLUDE STRUCTURE stpox.
    DATA: END OF stb_orig.
    DATA: BEGIN OF stb_add.
            INCLUDE STRUCTURE stpol_add.
    DATA: END OF stb_add.
    Internal Table for STPO
    *-- BOM Line item
    TYPES: BEGIN OF ty_stpo,
           stlty TYPE stpo-stlty,
           stlnr TYPE stpo-stlnr,
           stlkn TYPE stpo-stlkn,
           stpoz TYPE stpo-stpoz,
           idnrk TYPE stpo-idnrk,
           meins TYPE stpo-meins,
           menge TYPE stpo-menge, "Component Qty
           END OF ty_stpo.
    DATA: t_stpo TYPE STANDARD TABLE OF ty_stpo WITH HEADER LINE.
    *-- BOM Header
    TYPES: BEGIN OF ty_stko,
           stlty TYPE stko-stlty,
           stlnr TYPE stko-stlnr,
           stlal TYPE stko-stlal,
           stkoz TYPE stko-stkoz,
           bmein TYPE stko-bmein,
           bmeng TYPE stko-bmeng,
           END OF ty_stko.
    DATA: t_stko TYPE STANDARD TABLE OF ty_stko WITH HEADER LINE .
    data : t_makt like makt occurs 0 with header line.
    DATA: BEGIN OF cl_clstab OCCURS 0,                          "YHG079407
             class LIKE klah-class,                             "YHG079407
             klart LIKE klah-klart,                             "YHG079407
             chked LIKE csdata-xfeld,                           "YHG079407
             noobj LIKE csdata-xfeld,                           "YHG079407
             dsply LIKE csdata-xfeld,                           "YHG079407
          END OF cl_clstab.
    *-- Header table
    TYPES: BEGIN OF ty_main_material,
           matnr TYPE mast-matnr, "Material
           werks TYPE mast-werks, "Plant
           maktx TYPE makt-maktx, "Description
           stlal TYPE mast-stlal, "Alternative BOM
           stlnr TYPE stko-stlnr, "BOM Number
           bmein TYPE stko-bmein, "UOM
           bmeng TYPE stko-bmeng, "Base Qty
           expand(1) TYPE c,      "Expanding Field
           END OF ty_main_material.
    DATA: t_main_material TYPE STANDARD TABLE OF ty_main_material WITH
          HEADER LINE.
    *-- Item (Component) Table
    TYPES: BEGIN OF ty_item_material,
           matnr TYPE mast-matnr, "Material
           werks TYPE mast-werks, "Plant
           idnrk TYPE stpo-idnrk, "Component (Material)
           maktx TYPE makt-maktx, "Description
           stlal TYPE mast-stlal, "Alternative BOM
           stlnr TYPE stpo-stlnr, "BOM Number
           meins TYPE stpo-meins, "UOM
           menge TYPE stpo-menge, "Base Qty
           END OF ty_item_material.
    DATA: t_item_material TYPE STANDARD TABLE OF ty_item_material WITH
          HEADER LINE.
    Selection Screen                                                     *
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
    PARAMETERS: p_werks LIKE marc-werks DEFAULT '1000' OBLIGATORY.
    SELECT-OPTIONS s_stlal FOR mast-stlal .
    SELECT-OPTIONS s_stlan FOR mast-stlan DEFAULT '1'.
    SELECTION-SCREEN SKIP.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_bomlst RADIOBUTTON GROUP g1 DEFAULT 'X'.
    SELECT-OPTIONS s_matnr FOR mast-matnr.
    SELECTION-SCREEN SKIP.
    PARAMETERS: p_compon RADIOBUTTON GROUP g1.
    SELECT-OPTIONS: s_idnrk FOR stpo-idnrk.
    SELECTION-SCREEN END OF BLOCK b2.
    SELECTION-SCREEN END OF BLOCK b1.
    selection-screen begin of block b03 with frame title text-b03.
    selection-screen begin of line.
    selection-screen comment 1(40) text-005.
    parameters: p_all radiobutton group r1 default 'X'.
    selection-screen end of line.
    selection-screen begin of line.
    selection-screen comment 1(40) text-006.
    parameters: p_one radiobutton group r1 .
    selection-screen end of line.
    selection-screen end of block b03.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
    PARAMETERS: p_vari LIKE disvariant-variant.
    SELECTION-SCREEN END OF BLOCK b3.
    At slection screen events                                            *
    *-- Process on value request
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vari.
      PERFORM f4_for_variant.
    Intitialisation
    INITIALIZATION.
      g_repid = sy-repid.
      g_tabname_header = 'T_MAIN_MATERIAL'.
      g_tabname_item   = 'T_ITEM_MATERIAL'.
    *-- define keyinformation
      CLEAR gs_keyinfo.
      gs_keyinfo-header01 = 'MATNR'.
      gs_keyinfo-item01   = 'MATNR'.
      PERFORM e03_eventtab_build USING gt_events[].
      PERFORM e04_comment_build  USING gt_list_top_of_page[].
      PERFORM e07_sp_group_build USING gt_sp_group[].
      PERFORM e08_layout_build   USING gs_layout.
    Set Options: save variants userspecific or general
      g_save = 'A'.
      PERFORM variant_init.
    Get default variant
      gx_variant = g_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_DEFAULT_GET'
           EXPORTING
                i_save     = g_save
           CHANGING
                cs_variant = gx_variant
           EXCEPTIONS
                not_found  = 2.
      IF sy-subrc = 0.
        p_vari = gx_variant-variant.
      ENDIF.
    S T A R T - O F - S E L E C T I O N *******************
    start-of-selection.
      if p_all = 'X'.
    Get the data from MAST and MAKT Table
        if p_bomlst = 'X'.
      Get the data Based On Material #
          perform get_data.
        else.
      Get the data Based On Component
          perform get_data_component.
        endif.
      else.
    Get the Single Level Report
    *-- Moved the fiedl catalog here inorder to change the layout based on
    *-- Selection
        PERFORM e01_fieldcat_init  USING gt_fieldcat[].
        PERFORM select_data.
      endif.
    E N D - O F - S  E  L  E  C  T  I  O  N *******************
    end-of-selection.
      if p_one = 'X'.
        perform alv.
      endif.
    User Command
    at line-selection.
    Interactive to CS03 Transaction
      case sy-ucomm.
        when 'PICK' or 'F2'.
          if not alv_stb-idnrk is initial .
            if not alv_stb-werks is initial.
              if not alv_stb-objty is initial.
                SET PARAMETER ID 'MAT' FIELD alv_stb-idnrk.
                SET PARAMETER ID 'WRK' FIELD alv_stb-werks.
                SET PARAMETER ID 'CSV' FIELD alv_stb-OBJTY.
                call transaction c_tcode and skip first screen.
              endif.
            endif.
          endif.
          clear alv_stb.
      endcase.
    *&      Form  get_data
          Get data from MAST and MAKT Table
    FORM get_data.
      data : wa_lines type sy-index.
      REFRESH : T_MAST,
                t_STB,
                t_MATCAT,
                alv_STB.
      CLEAR : T_MAST,
                t_STB,
                t_MATCAT,
                alv_STB.
    Get the data from MAST Table
    Get all the information from MAST - BOM Table
      SELECT * FROM mast INTO TABLE t_mast WHERE matnr IN s_matnr AND
                                                 werks = p_werks  AND
                                                 stlan IN s_stlan AND
                                                 stlal IN s_stlal.
      describe table t_mast lines  wa_lines.
      if wa_lines is initial.
        Write:/2 'List contains no data'.
        stop.
      endif.
      loop at t_mast.
        clear : v_maktx.
    Start of change  Seshu
    Reason - Remove the new page option
        if sy-tabix ne 1.
          skip 1.
        endif.
    End of Change  Seshu
    Get the material Description
        select single maktx from makt into  v_maktx
                                 where matnr = t_mast-matnr
                                 and   spras = 'E'.
    Get the material details from STKO Table
        select single * from stko into wa_stko
                        where STLTY = 'M'
                        and   STLNR = t_mast-stlnr
                        and   STLAL = t_mast-stlal.
    Main Header for Each Material
        format color 5 on.
        write:/2 'Material',20 'Material Description',65 'Alternative BOM',
             90 'Base Qty', 115 'Base Unit'.
        format color 5 off.
        format color 1 on.
        write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
               115 wa_stko-BMEIN.
        format color 1 off.
    Use the Function Module and get the format level by level
        perform get_level_level.
      endloop.
    ENDFORM.                    " get_data
    Top of page                                                  *
    top-of-page.
      perform report_header .
    *&      Form  report_header
          text
    -->  p1        text
    <--  p2        text
    FORM report_header.
      new-page line-size 160 .
      format color col_heading intensified on.
      write:/ sy-uline(160) .
    *--- Write Company Name.
      perform calc_col_and_write using    text-h00
                                          sy-linsz.
    *--- Write Report Title.
      perform calc_col_and_write using    sy-title
                                          sy-linsz.
    *--- Write User Id, Date / Time, Program Id, Page etc.
      perform write_other_hdr_details.
      write:/ sy-uline(160) .
    ENDFORM.                    " report_header
    *&      Form  calc_col_and_write
          text
         -->P_TEXT_H00  text
         -->P_SY_LINSZ  text
    FORM calc_col_and_write USING    P_TEXT
                                     P_LINSZ.
      data: col1 type i,
             col2 type i,
              len  type i,
              str  type i.
      str  = strlen( p_text ).
      col1 = ( p_linsz / 2 ) - ( str / 2 ) .
      len  = p_linsz - col1 - 2.
      write: at  /1  '|'.
      write: at  col1 p_text,
             at  sy-colno(len) space.
      write  at  160 '|'.
    ENDFORM.                    " calc_col_and_write
    *&      Form  write_other_hdr_details
          text
    -->  p1        text
    <--  p2        text
    FORM write_other_hdr_details.
      data: col1 type i,
              col2 type i,
              len  type i.
      col1 = 3.
      write:/1 '|'.
      write: at  col1 'UserId  : ',
                      sy-uname.
      len = sy-linsz - 1.
      write at sy-colno(len) space.
      col2 = sy-linsz - 18.
      write: at col2 'Date: ',
                     sy-datum mm/dd/yyyy.
      write: at sy-linsz '|'.
      write:/1 '|'.
      write: at  col1 'ReportId: ',
                      sy-repid.
      write at sy-colno(len) space.
      col2 = sy-linsz - 18.
      write: at col2 'Page: ',
                      sy-pagno.
      write: at sy-linsz '|'.
    ENDFORM.                    " write_other_hdr_details
    *&      Form  get_data_component
          Get the data based on Component level
    FORM get_data_component.
      data wa_lines type i.
    *-- Get the BOM item details
      SELECT  stlty stlnr stlkn stpoz idnrk meins menge
              FROM stpo
              INTO TABLE t_stpo
      WHERE   idnrk IN s_idnrk.
      IF sy-subrc = 0.
        CLEAR wa_lines.
        DESCRIBE TABLE t_stpo LINES wa_lines.
        IF wa_lines > 0.
          SELECT  stlty stlnr stlal stkoz bmein bmeng
                  FROM stko
                  INTO TABLE t_stko
                  FOR ALL ENTRIES IN t_stpo
          WHERE stlnr = t_stpo-stlnr.
          CLEAR wa_lines.
          DELETE ADJACENT DUPLICATES FROM t_stko COMPARING ALL FIELDS.
          DESCRIBE TABLE t_stko LINES wa_lines.
          IF wa_lines > 0.
    *-- Get the BOM item details
            SELECT * FROM mast INTO TABLE t_mast FOR ALL ENTRIES IN t_stko
                                                WHERE werks = p_werks  AND
                                                  stlnr = t_stko-stlnr
                                                  and stlal in s_stlal.
          ENDIF.
        ENDIF.
      else.
        Write:/2 'List contains no data'.
        stop.
      endif.
      loop at t_mast.
        clear : v_maktx.
    Start of change  Seshu
    Reason - Remove the new page option
        if sy-tabix ne 1.
          skip 1.
        endif.
    End of change    Seshu
    Get the material Description
        select single maktx from makt into  v_maktx
                                 where matnr = t_mast-matnr
                                 and   spras = 'E'.
    Get the material details from STKO Table
        select single * from stko into wa_stko
                        where STLTY = 'M'
                        and   STLNR = t_mast-stlnr
                        and   STLAL = t_mast-stlal.
    Main Header for Each Material
        format color 5 on.
        write:/2 'Material',20 'Material Description',65 'Alternative BOM',
             90 'Base Qty', 115 'Base Unit'.
        format color 5 off.
        format color 1 on.
        write:/2 t_mast-matnr,20 v_maktx,65 wa_stko-STLAL, 85 wa_stko-BMENG,
               115 wa_stko-BMEIN.
        format color 1 off.
    Use the Function Module and get the format level by level
        perform get_level_level.
        clear : t_mast.
      endloop.
    ENDFORM.                    " get_data_component
    *&      Form  obj_ident
          text
    FORM obj_ident.
    weder Mat noch Doc
      CHECK: T_stb-objty NE otyp_mat,
             T_stb-objty NE ootyp_mat,
             T_stb-objty NE otyp_doc,
             T_stb-objty NE otyp_ntm.
    ?T418-WA schon ok
    nein
      IF T_stb-postp NE t418-postp.
        T418 einlesen
        PERFORM t418_lesen USING T_stb-postp.
      ENDIF.
      PERFORM cl_clstab_maint.
    ?MatNr-Eingabe bei diesem PosTyp moeglich
      und keine Textposition
    trifft zu
      IF     t418-matin NE '-'
         AND t418-txpos IS INITIAL.
        aktuelles Objekt ist Material NLAG
        T_stb-objty = '1'.
        PosKurztext in ObjKurztext uebernehmen.
        T_stb-ojtxp = T_stb-potx1.
        MODIFY T_stb.
      ELSE.
        IF T_stb-objty IS INITIAL.
          T_stb-objty = '2'.
          MODIFY T_stb.
        ENDIF.
      ENDIF.
    ENDFORM.                    " obj_ident
    *&      Form  t418_lesen
          text
         -->P_T_STB_POSTP  text
    FORM t418_lesen USING   lkl_postp LIKE stpo-postp.
    T418-WA initialisieren
      CLEAR:
         t418.
    Key angeben
      t418-postp = lkl_postp.
    PosTypDefinition lesen
      READ TABLE t418.
    ENDFORM.                    " t418_lesen
    *&      Form  cl_clstab_maint
          text
    FORM cl_clstab_maint.
    nur fuer Klassenpositionen
      CHECK t_STB-OBJTY EQ OTYP_KLA.
    Teilkey der Klassenpositionentabelle
      CL_CLSTAB-CLASS = t_STB-CLASS.
      CL_CLSTAB-KLART = t_STB-KLART.
    Klassenpositionentabelle lesen
      READ TABLE CL_CLSTAB
         WITH KEY CL_CLSTAB(21)
         BINARY SEARCH.
    aktuelle Klassenposition bereits in Klassenpositionentabelle
    nein
      IF SY-SUBRC <> 0.
        Klassenposition in Klassenpositionentabelle hinzufuegen
        INSERT CL_CLSTAB INDEX SY-TABIX.
      ENDIF.
    ENDFORM.                    " cl_clstab_maint
    *&      Form  alv_stb_prep
          Printing the data as LEVEL BY LEVEL
    FORM alv_stb_prep.
      CLEAR:
          alv_stb,
          stb_orig,
          stb_add.
      IF t_stb-hdnfo IS INITIAL.
        stb_orig = t_stb.
        IF t_stb-mngko >= max_num.
          stb_add-ovfls = ueberl_kz.
        ELSE.
          IF t_stb-mngko <= min_num.
            stb_add-ovfls = ueberl_kz.
          ELSE.
            CLEAR: stb_add-ovfls.
          ENDIF.
        ENDIF.
        IF NOT t_stb-xtlnr IS INITIAL.
          stb_add-bomfl = b_flag.
        ENDIF.
        IF    NOT t_stb-knobj IS INITIAL
           OR NOT t_stb-class IS INITIAL
           OR NOT t_stb-kzclb IS INITIAL.
          stb_add-knofl = 'X'.
        ENDIF.
      ELSE.
        CHECK t_stb-stufe > 1.
        alv_stb-info = 'C30'.
        IF t_stb-ttidx <> t_matcat-index.
          READ TABLE t_matcat INDEX t_stb-ttidx.
        ENDIF.
        stb_orig-hdnfo = t_stb-hdnfo.
        stb_orig-stufe = t_stb-stufe - 1 .
        stb_orig-ojtxp = t_stb-ojtxb.
        IF NOT t_stb-altst IS INITIAL.
          stb_orig-stlal = t_stb-stlal.
          IF stb_orig-stlal(1) EQ '0'.
            stb_orig-stlal(1) = ' '.
          ENDIF.
        ENDIF.
        stb_orig-idnrk = t_matcat-matnr.
      ENDIF.
      CLEAR:
        stb_add-dobjt,
        stb_add-objic.
      CASE t_stb-objty.
        WHEN otyp_mat.
          WRITE: stb_orig-idnrk TO ecfld.
          stb_add-objic = '@A6@'.
        WHEN 'M'.
          WRITE: stb_orig-idnrk TO ecfld.
          stb_add-objic = '@A6@'.
        WHEN otyp_noo.
          WRITE: stb_orig-potx1 TO ecfld.
          stb_add-objic = '@0Q@'.
        WHEN otyp_doc.
          write stb_orig-doknr to ecfld.                        "note 489354
          IF ecfld CP '*# '. ENDIF.                             "note 489354
          sy-fdpos = sy-fdpos + 1.                              "note 489354
          CONCATENATE
    *d      stb_orig-doknr                                      "note 489354
            stb_orig-dokar
            stb_orig-doktl
            stb_orig-dokvr
    *d      INTO ecfld                                          "note 489354
            INTO ecfld+sy-fdpos                                 "note 489354
            SEPARATED BY space.
          stb_add-objic = '@AR@'.
        WHEN otyp_kla.
          CONCATENATE
            stb_orig-class
            stb_orig-klart
            INTO ecfld
            SEPARATED BY space.
          stb_add-objic = '@7C@'.
        WHEN otyp_ntm.
          WRITE: stb_orig-intrm TO ecfld.
        WHEN OTHERS.
      ENDCASE.
    *d CONDENSE ecfld.                                          "note 515408
      stb_add-dobjt = ecfld(40).
      CLEAR: ecfld.
      WRITE stb_orig-stufe TO stb_add-dstuf NO-SIGN.
    *d  MOVE-CORRESPONDING stb_orig TO alv_stb.                 "note 331962
      MOVE-CORRESPONDING stb_add TO alv_stb.
      MOVE-CORRESPONDING stb_orig TO alv_stb.                   "note 331962
      APPEND alv_stb.
    ENDFORM.                    " alv_stb_prep
    *&      Form  get_level_level
          text
    FORM get_level_level.
      REFRESH : T_STB,
                T_MATCAT,
                ALV_STB.
      CLEAR : T_STB,
              T_MATCAT,
              ALV_STB.
      CALL FUNCTION 'CS_BOM_EXPL_MAT_V2'
           EXPORTING
                capid                 = 'PP01'
                datuv                 = sy-datum
                mktls                 = 'X'
                mehrs                 = 'X'
                mtnrv                 = t_mast-matnr
                stlal                 = '01'
                stlan                 = '1'
                stpst                 = 0
                svwvo                 = 'X'
                werks                 = p_werks
                vrsvo                 = 'X'
           TABLES
                stb                   = t_stb
                matcat                = t_matcat
           EXCEPTIONS
                alt_not_found         = 1
                call_invalid          = 2
                material_not_found    = 3
                missing_authorization = 4
                no_bom_found          = 5
                no_plant_data         = 6
                no_suitable_bom_found = 7
                conversion_error      = 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.
      CLEAR: hd_tab.
            Entry der KlassenstatusTab. initialisieren
             cl_clstab,
            Entry 'Objekte von Klassen' initialisieren
             cl_objmemo.
      REFRESH: hd_tab.
      SORT t_matcat BY index ASCENDING.
    Get the All levels
      loop at t_stb.
        IF NOT t_stb-hdnfo IS INITIAL.
          EXIT.
        ENDIF.
    Object Identification
        PERFORM obj_ident.
        READ TABLE hd_tab
            WITH KEY stufe = t_stb-stufe
                     vwegx = t_stb-vwegx
            BINARY SEARCH
            TRANSPORTING NO FIELDS.
        ?gibt es diesen Satz schon
        nein
        IF sy-subrc <> 0.
           dann in SFP-Infosatzverweistab. aufnehmen
    *d       APPEND HD_TAB.                                       "HGH054648
          hd_tab-stufe = t_stb-stufe.
                                                                "HGH054648
          hd_tab-vwegx = t_stb-vwegx.
                                                                "HGH054648
          INSERT hd_tab                                         "HGH054648
            INTO hd_tab                                         "HGH054648
            INDEX sy-tabix.                                     "HGH054648
           PosNr initialisieren
          CLEAR: t_stb-posnr.
           SFP-InfosatzKz setzen
          t_stb-hdnfo = 'X'.
            stb-objty = otyp_mat.
                                                                "HGE246532
           als SFP-Infosatz in die STB aufnehmen
          append t_stb.
        ENDIF.
    *del  ENDIF.
        clear t_stb.
      endloop.
      SORT t_stb ASCENDING BY stufe
                  index ASCENDING
    *del        POSNR ASCENDING.                                  "HGC062735
                  posnr ASCENDING                               "HGC062735
                  hdnfo DESCENDING.
      LOOP AT t_stb.
        T_stb-index = sy-tabix.
        MODIFY T_stb.
        PERFORM alv_stb_prep.
      ENDLOOP.
    Displays the Value as Level by Level
      loop at ALV_stb.
        if sy-tabix = 1.
          format color 3 on.
          write:/2 'Level',12 'Item',22 'Component',
          42 'Material Description',82 'Base Qty',
          107 'Base Unit',120 'Assembly Indicator'.
          format color 3 on.
        endif.
        if alv_stb-MEINs is initial.
          v_flag = 'X'.
        endif.
        if v_flag = 'X'.
          format color 5 on.
          write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                 42 alv_stb-OJTXP.
          format color 1 off.
        else.
          if alv_stb-STUFE = '1'.
            format color 1 on.
            write:/2 ALV_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                   42 alv_stb-OJTXP,72 alv_stb-mngko,
                   107 alv_stb-MEINs, 120 alv_stb-bomfl .
            format color 1 off.
          elseif alv_stb-STUFE = '2'.
            format color 2 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                   42 alv_stb-OJTXP,72 alv_stb-mngko,
                   107 alv_stb-MEINs,120 alv_stb-bomfl.
            format color 2 off.
          elseif alv_stb-STUFE = '3'.
            format color 3 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                    42 alv_stb-OJTXP,72 alv_stb-mngko,
                    107 alv_stb-MEINs,120 alv_stb-bomfl .
            format color 3 off.
          elseif alv_stb-STUFE = '4'.
            format color 4 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                    42 alv_stb-OJTXP,72 alv_stb-mngko,
                    107 alv_stb-MEINs,120 alv_stb-bomfl .
            format color 4 off.
          elseif alv_stb-STUFE = '5'.
            format color 5 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                    42 alv_stb-OJTXP,72 alv_stb-mngko,
                    107 alv_stb-MEINs,120 alv_stb-bomfl .
            format color 5 off.
          elseif alv_stb-STUFE = '6'.
            format color 7 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                   42 alv_stb-OJTXP,72 alv_stb-mngko,
                   107 alv_stb-MEINs,120 alv_stb-bomfl.
            format color 6 off.
          elseif alv_stb-STUFE = '7'.
            format color 7 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                   42 alv_stb-OJTXP,72 alv_stb-mngko,
                   107 alv_stb-MEINs,120 alv_stb-bomfl .
            format color  7 off.
          else.
            format color 1 on.
            write:/2 alv_stb-STUFE,12 alv_stb-posnr,22 alv_stb-idnrk,
                    42 alv_stb-OJTXP,72 alv_stb-mngko,
                    107 alv_stb-MEINs,120 alv_stb-bomfl .
            format color  1 off.
          endif.
        endif.
        hide: alv_stb.
        clear : alv_stb.
        clear v_flag.
      endloop.
    ENDFORM.                    " get_level_level
    *&      Form  f4_for_variant
          text
    FORM f4_for_variant.
      CALL FUNCTION 'REUSE_ALV_VARIANT_F4'
             EXPORTING
                  is_variant          = g_variant
                  i_save              = g_save
                  i_tabname_header    = g_tabname_header
                  i_tabname_item      = g_tabname_item
              it_default_fieldcat =
             IMPORTING
                  e_exit              = g_exit
                  es_variant          = gx_variant
             EXCEPTIONS
                  not_found = 2.
      IF sy-subrc = 2.
        MESSAGE ID sy-msgid TYPE 'S'      NUMBER sy-msgno
                WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
      ELSE.
        IF g_exit = space.
          p_vari = gx_variant-variant.
        ENDIF.
      ENDIF.
    ENDFORM.                    " f4_for_variant
          FORM E03_EVENTTAB_BUILD                                       *
    -->  E03_LT_EVENTS                                                 *
    FORM e03_eventtab_build USING e03_lt_events TYPE slis_t_event.
      DATA: ls_event TYPE slis_alv_event.
      CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
           EXPORTING
                i_list_type = 0
           IMPORTING
                et_events   = e03_lt_events.
      READ TABLE e03_lt_events WITH KEY name = slis_ev_top_of_page
                               INTO ls_event.
      IF sy-subrc = 0.
        MOVE gc_formname_top_of_page TO ls_event-form.
        APPEND ls_event TO e03_lt_events.
      ENDIF.
    ENDFORM.
          FORM E04_COMMENT_BUILD                                        *
    -->  E04_LT_TOP_OF_PAGE                                     

  • Sub screen: Handling the Radio button selection?

    Hi,
    Scenario:
    I have a Main screen and a sub screen. From the main screen I am calling the sub screen. On the Sub screen, I have 2 radio button. On the selection of the Radio buttons, I am activating/deactivating few of the screen elements on the sub screen.
    I have grouped the radio button and also tried assigning Function code to it, but in vain..:(
    Issue
    I am not able to handle the event triggered by the selection of the radio buttons?
    Kindly suggest.
    Regards
    s@k

    Hi,
    Are you still have any Issue, Let us know
    In the Main Screen Element List there is a field OK_CODE pass an entry into it
    in the TOP Include
    DATA : OK_CODE type SY-UCOMM. " This captures the OK_CODE from the Screen.
    Since SUb Screen cant have their Own OK_CODE this can be handled in the Main Screen only
    Try in PAI of Sub Screen using OK_CODE if it is not working then Implement the same in PAI of Main Screen
    The system will generate UCOMM for Radio Button since they are in One Group only. Each Radio button cannt have a separate UCOMM assigned. In Screen Painter (if It is Module Pool) assign a FCode for the Radio Button.
    Even if try changing the FCODe Value they still will have the New Changed Value but cannot be changed.
    This automatically triggers PAI . only way to capture it is check
    case ok_code. " Optionally you can omit this
    when  ok_code = 'RAD'.  " This is common for all the Radio BUttons but cant be different
    if r1 = 'X'.
    elseif r2 'X' " Etc.
    endif.
    endcase.
    Ram
    Edited by: Ramchander Krishnamraju on Feb 26, 2010 10:37 AM

Maybe you are looking for

  • Uploading Importing text file & crosstab display

    <p> I want to upload a text tab delimited file into our db, currently we are uploading it to a temp table in the db, do some validation checks and write to a table when done. I have two questions:</P> <p> 1) Is there a more efficient way of upload/im

  • Can you make an account without giving your credit card?

    Im trying to make an itunes account, and i dont want to enter a credit card number because i will only be using prepaid giftcards, i already have one account where i didnt have to enter credit card info, but its old and it wont let me do it again for

  • Airdrop for Notes Not Available

    I am trying to send a note via Notes by Airdrop from my Macbook Pro Retina mid-2014 to an iPhone 5. I can see all the different options but Airdrop. I click on More and get the Extensions System Preference panel and the Share Menu. Airdrop is checked

  • GRC AC 10 EAM - Distiguish between a firefighter id and a regular user id logon by looking at it

    Hello, I have a requirement where users want to see a change in SAP screen( color/warning/note)  while using a firefighter id. Reason behind the requirement is that some users are not logging off after using the firefighter id and by mistake using th

  • Managing updates for different groups

    Hi I have installed WSUS on a Server 2008 R2 VM and have configure WSUS computer groups using group policy. These groups have all updated and I can see the computers in there containers within WSUS. Does anyone have any advice on how to manage the up