Code for execute button on selection screen to get result

hi experts,
I need a help for writing a code for execution button on selection screen.Like in normal report on abap editor
we insert selection criteria like number and we get the result according that particular number on next screen.
same thing i am trying here also. So i am writing a code on button that when i press the button it will go to the next
screen according to the selection criteria.
Plz help me helpful answers are appriatiated !!!
Thanks & regards
Vipul Gupta

hi,
In the OnAction write :
1. get the values entered in selection criteria using :
DATA lo_nd_cn_check TYPE REF TO if_wd_context_node.
    DATA lo_el_cn_check TYPE REF TO if_wd_context_element.
    DATA ls_cn_check TYPE wd_this->element_cn_check.
    DATA lv_ca_check LIKE ls_cn_check-ca_check.
  navigate from <CONTEXT> to <CN_CHECK> via lead selection
    lo_nd_cn_check = wd_context->get_child_node( name = wd_this->wdctx_cn_check ).
  get element via lead selection
    lo_el_cn_check = lo_nd_cn_check->get_element(  ).
  get single attribute
    lo_el_cn_check->get_attribute(
      EXPORTING
        name =  `CA_CHECK`
      IMPORTING
        value = lv_ca_check ).
Now lv_ca_check has your value entered in Selection criteria.
2.  write the select query to fetch data according to selection criteria.
    select *  from <table> into correponding field of table <internl table>
       where Field = lv_ca_check.
3. Now in the internal table <internl table> you have values according to search criteria.
4. Bind the internal table with node  which is binded to table to show data.
lo_nd->bind_table( internaltable ).
I hope it is clear .

Similar Messages

  • Function code for execute button

    Hi,
    I have a requirement like this...
    there is a program for selective deletion from a data target by a transaction called delete_facts.
    this generates a program for selective deletion. when i run this report there comes one screen asks for selections fields and then again excute it then deletion will happen.
    But this program i need to modify for certain default values so as to avoid entering of the values in the selection screen.
    i will use default value this will solve my 1st purpose but since this program has to be scheduled from process chain, the 2nd execute funtionality( once the values appear in the screen) shud be automated.
    can anybody tell me how to do this that is after program runs values will be passed to selection screen and selection screen shud not be shown and execute shud happen automatically.
    this is the code generated by transaction delete_facts:
    *& Report  ZTEST_DELETE1
    REPORT  ZTEST_DELETE1.
    generated Header from i_sel_repid
    generated REPORT (RSDRD)
    (should be deleted after use)
    Generated by..: SALAGUN
    Date/Time.....: 20070322 / 051426
    *REPORT GP457FUV92GJS4663HYHXLYC9Q7 .
    generated Tables from i_t_tables
                     and  i_datatarget
    TABLES:
    SSCRFIELDS,
    /BIC/SZTESTBC
    ,/BI0/SCHNGID
    ,/BI0/SRECORDTP
    ,/BI0/SREQUID
    ,/BI0/SDATE
    ,/BI0/SUNIT
    generated DATA/TYPES
    TYPE-POOLS: RSDRD, RSDQ.
    DATA:
      L_INTERACTIVE      TYPE RS_BOOL,
      L_ANSWER(1)        TYPE C,
      L_TYPE(1)          TYPE C,
      L_PARALLEL         TYPE I,
      L_NO_OF_ROWS       TYPE I,
      L_NO_OF_ROWS_C(10) TYPE C,
      L_TITEL            TYPE RS_CHAR72,
      L_TEXT1            TYPE RS_CHAR72,
      L_TEXT2            TYPE RS_CHAR72,
      L_S_RANGE          TYPE RSDRD_S_RANGE,
      L_S_SELTXT         TYPE RSDQ_S_SELTEXT,
      L_SX_SEL           TYPE RSDRD_SX_SEL,
      L_T_MSG            TYPE RS_T_MSG,
      L_THX_SEL          TYPE RSDRD_THX_SEL,
      L_T_SELTXTS        TYPE RSDQ_T_SELTEXT
                              WITH HEADER LINE.
    generated SELECTION-SCREEN from i_t_selscr
    SELECTION-SCREEN BEGIN OF BLOCK B001 WITH FRAME TITLE T001 .
    SELECT-OPTIONS C001 FOR /BIC/SZTESTBC-/BIC/ZTESTBC
    default 'D' TO  'C'.
    SELECTION-SCREEN   END OF BLOCK B001 .
    SELECTION-SCREEN BEGIN OF BLOCK B002 WITH FRAME TITLE T002 .
    SELECT-OPTIONS C002 FOR /BI0/SCHNGID-SID .
    SELECT-OPTIONS C003 FOR /BI0/SRECORDTP-SID .
    SELECT-OPTIONS C004 FOR /BI0/SREQUID-SID .
    SELECTION-SCREEN   END OF BLOCK B002 .
    SELECTION-SCREEN BEGIN OF BLOCK B003 WITH FRAME TITLE T003 .
    SELECT-OPTIONS C005 FOR /BI0/SDATE-DATE0 .
    SELECTION-SCREEN   END OF BLOCK B003 .
    SELECTION-SCREEN BEGIN OF BLOCK B004 WITH FRAME TITLE T004 .
    SELECT-OPTIONS C006 FOR /BI0/SUNIT-UNIT .
    SELECTION-SCREEN   END OF BLOCK B004 .
    SELECTION-SCREEN BEGIN OF BLOCK B005 WITH FRAME TITLE T005 .
    PARAMETERS L_PA TYPE DBMAN_PARALLEL_DEGREE DEFAULT '01'.
    DATA L_P1(1) TYPE C.
    PARAMETERS L_NL TYPE DBMAN_NO_LOGGING AS CHECKBOX DEFAULT ' '.
    PARAMETERS L_SR TYPE DBMAN_SHOW_REPORT AS CHECKBOX DEFAULT ' '.
    SELECTION-SCREEN   END OF BLOCK B005 .
    generated body from i_t_body
    generated INITIALIZATION from i_t_init
                             and  i_t_seltexts
                             and  i_batch_allowed
                             and  i_datatarget
    INITIALIZATION.
    T001 = 'product'.
    T002 = 'Data Package'.
    T003 = 'Time'.
    T004 = 'Unit'.
    T005 = 'Options'.
    SELECTION-SCREEN FUNCTION KEY 1.
    MOVE 'Execute in Bckgrnd' TO SSCRFIELDS-FUNCTXT_01.
    PERFORM RESTRICT_SEL_OPTIONS(SAPLRSDRD).
    SET TITLEBAR 'SELECTION' OF PROGRAM 'SAPLRSDRD' WITH
    ' Delete selected entries from the data target DELETE '.
    L_S_SELTXT-NAME = 'C001'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Base Code'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'C002'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Change Run ID (SID)'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'C003'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Record type (SID)'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'C004'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Request ID (SID)'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'C005'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Calendar Day'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'C006'.
    L_S_SELTXT-KIND = 'S'.
    L_S_SELTXT-TEXT = 'Unit of measure'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'L_PA'.
    L_S_SELTXT-KIND = 'P'.
    L_S_SELTXT-TEXT = 'Parall. deg. during reconstruc'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'L_NL'.
    L_S_SELTXT-KIND = 'P'.
    L_S_SELTXT-TEXT = 'Switch off logging drng recons'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    L_S_SELTXT-NAME = 'L_SR'.
    L_S_SELTXT-KIND = 'P'.
    L_S_SELTXT-TEXT = 'Display generated report'.
    APPEND L_S_SELTXT TO L_T_SELTXTS.
    generated AT SELECTION-SCREEN OUTPUT from i_sel_repid
    AT SELECTION-SCREEN OUTPUT.
    CALL FUNCTION 'SELECTION_TEXTS_MODIFY'
         EXPORTING
              PROGRAM                     =  'GP457FUV92GJS4663HYHXLYC9Q7'
         TABLES
              SELTEXTS                    =  L_T_SELTXTS
         EXCEPTIONS
              PROGRAM_NOT_FOUND           = 1
              PROGRAM_CANNOT_BE_GENERATED = 2
              OTHERS                      = 3.
    generated AT SELECTION-SCREEN
    AT SELECTION-SCREEN.
    CASE SSCRFIELDS-UCOMM.
      WHEN 'ONLI'.
        L_INTERACTIVE = RS_C_TRUE.
      WHEN 'OPTI'.
      WHEN 'DELS'.
      WHEN 'FC01'.
        L_INTERACTIVE = RS_C_FALSE.
        SSCRFIELDS-UCOMM = 'ONLI'.
      WHEN 'OTHERS'.
    ENDCASE.
    generated END-OF-SELECTION from i_t_selopt
                               and  i_del_repid
                               and  i_datatarget
                               and  i_gen_mode
    END-OF-SELECTION.
    IF NOT C001[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = 'ZTESTBC'.
      LOOP AT C001 .
        CLEAR L_S_RANGE.
        MOVE C001-SIGN TO L_S_RANGE-SIGN.
        MOVE C001-OPTION TO L_S_RANGE-OPTION.
        MOVE C001-LOW TO L_S_RANGE-LOW.
        MOVE C001-HIGH TO L_S_RANGE-HIGH.
        MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
    IF NOT C002[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = '0CHNGID'.
      LOOP AT C002 .
        CLEAR L_S_RANGE.
        MOVE C002-SIGN TO L_S_RANGE-SIGN.
        MOVE C002-OPTION TO L_S_RANGE-OPTION.
        MOVE C002-LOW TO L_S_RANGE-SIDLOW.
        MOVE C002-HIGH TO L_S_RANGE-SIDHIGH.
        MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
    start change
        DESCRIBE FIELD C002-LOW TYPE l_type.
        IF l_type = 'I'.
          CONDENSE L_S_RANGE-LOW.
          CONDENSE L_S_RANGE-HIGH.
        ENDIF.
    stop change
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
    IF NOT C003[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = '0RECORDTP'.
      LOOP AT C003 .
        CLEAR L_S_RANGE.
        MOVE C003-SIGN TO L_S_RANGE-SIGN.
        MOVE C003-OPTION TO L_S_RANGE-OPTION.
        MOVE C003-LOW TO L_S_RANGE-SIDLOW.
        MOVE C003-HIGH TO L_S_RANGE-SIDHIGH.
        MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
    start change
        DESCRIBE FIELD C003-LOW TYPE l_type.
        IF l_type = 'I'.
          CONDENSE L_S_RANGE-LOW.
          CONDENSE L_S_RANGE-HIGH.
        ENDIF.
    stop change
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
    IF NOT C004[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = '0REQUID'.
      LOOP AT C004 .
        CLEAR L_S_RANGE.
        MOVE C004-SIGN TO L_S_RANGE-SIGN.
        MOVE C004-OPTION TO L_S_RANGE-OPTION.
        MOVE C004-LOW TO L_S_RANGE-SIDLOW.
        MOVE C004-HIGH TO L_S_RANGE-SIDHIGH.
        MOVE RS_C_FALSE TO L_S_RANGE-KEYFL.
    start change
        DESCRIBE FIELD C004-LOW TYPE l_type.
        IF l_type = 'I'.
          CONDENSE L_S_RANGE-LOW.
          CONDENSE L_S_RANGE-HIGH.
        ENDIF.
    stop change
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
    IF NOT C005[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = '0CALDAY'.
      LOOP AT C005 .
        CLEAR L_S_RANGE.
        MOVE C005-SIGN TO L_S_RANGE-SIGN.
        MOVE C005-OPTION TO L_S_RANGE-OPTION.
        MOVE C005-LOW TO L_S_RANGE-LOW.
        MOVE C005-HIGH TO L_S_RANGE-HIGH.
        MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
    IF NOT C006[] IS INITIAL.
      CLEAR L_SX_SEL.
      L_SX_SEL-IOBJNM = '0UNIT'.
      LOOP AT C006 .
        CLEAR L_S_RANGE.
        MOVE C006-SIGN TO L_S_RANGE-SIGN.
        MOVE C006-OPTION TO L_S_RANGE-OPTION.
        MOVE C006-LOW TO L_S_RANGE-LOW.
        MOVE C006-HIGH TO L_S_RANGE-HIGH.
        MOVE RS_C_TRUE TO L_S_RANGE-KEYFL.
        APPEND L_S_RANGE TO L_SX_SEL-T_RANGE.
      ENDLOOP.
      INSERT L_SX_SEL INTO TABLE L_THX_SEL.
    ENDIF.
      L_PARALLEL = L_PA.
      IF L_INTERACTIVE EQ RS_C_TRUE.
      CALL FUNCTION 'RSDRD_SEL_DELETION'
           EXPORTING
                I_DATATARGET   = 'DELETE'
                I_THX_SEL           = L_THX_SEL
                I_AUTHORITY_CHECK   = RS_C_TRUE
                I_NO_LOGGING        = L_NL
                I_PARALLEL_DEGREE   = L_PARALLEL
                I_SHOW_REPORT       = L_SR
           CHANGING
                C_T_MSG             = L_T_MSG.
      ELSE.
        CALL FUNCTION 'RSDRD_BUILD_REPORT_FOR_BATCH'
             EXPORTING
              I_REPID        = 'GP457FWJUK1J1F3ZIZZOEH9U533'
              I_DATATARGET   = 'DELETE'
              I_GEN_ONLY          = RS_C_FALSE
              I_THX_SEL           = L_THX_SEL
              I_AUTHORITY_CHECK   = RS_C_TRUE
              I_NO_LOGGING        = L_NL
              I_PARALLEL_DEGREE   = L_PARALLEL
              I_SHOW_REPORT       = L_SR
         CHANGING
              C_T_MSG             = L_T_MSG.
      ENDIF.
    Thanks in advance,
    Vijaya

    hi!
    Function code for execute button is 'ONLI'.
    try ur code using it!!
    Reward points if it helps.
    Regards,
    Neha Bansal.
    Message was edited by:
            Neha Bansal

  • How to disable execute button in selection-screen

    Hi,
    I have already placed a execute button in selection screen but now I want to diable
         1. All std  buttons including F8
         2.   but excluding F1
    regards
    paul

    Hi
    Check this FM : RS_SET_SELSCREEN_STATUS
    sample code :
    DATA: BEGIN OF i_exc OCCURS 0,
           code LIKE sy-ucomm,
       END OF i_exc.
      DATA: ws_repid like sy-repid.
      CLEAR i_exc.
      i_exc-code = 'ONLI'.
      APPEND i_exc.
      MOVE: sy-repid TO ws_repid .
      CALL FUNCTION 'RS_SET_SELSCREEN_STATUS'
        EXPORTING
          p_status  = ' '
          p_program = ws_repid
        TABLES
          p_exclude = i_exc.
    Laxman
    Message was edited by: Laxmana Kumar

  • Disable execute button on selection screen

    Hi Experts,
    I need to disable execute button on the selection screento restrict program to run in foreground and add another buttn which schedules a job in background. Kindly help.
    Thanks in advance.

    TABLES: sscrfields.
    include rsdbc1xx.
    INITIALIZATION .
    sscrfields-functxt_01 = 'Button1'.
    SELECTION-SCREEN: FUNCTION KEY 1.
    AT SELECTION-SCREEN OUTPUT.
      append 'ONLI' to current_scr-excl.
    AT SELECTION-SCREEN.
      CASE sy-ucomm.
      WHEN 'FC01'.
    "* Here you write your logic for background job
      ENDCASE.
    I have the same problem. This works like a charm!
    Thanks Dzed Maroz.
    Edited by: Samanta Limbrada on Mar 30, 2011 6:29 AM

  • Select  all and dselect all can any body provide a code for these buttons

    hi
    i have taken 4 buttons for select  all and dselect all  and sort up and sort down can any body provide a code for these buttons.
    thanks

    hi,
    Refer this link...
    code for select_all and deselect_all in modulepool

  • 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

  • Code  for  'enter' button in user command.

    hi experts,
                       i have developed a initial screen as selection screen for table control.
    data is displayed in second screen(table control).
    <b></b>when user enters inputs in selection screen and presses enter on keyboard
    it should execute to second screen. code for enter button. <b></b>

    Hello,
    in the PBO process should you have the next code:
    for example:
    case sy-ucomm.
    when 'ENTER'.
        CALL SCREEN 0200. " The second window
    when 'SAVE'.
    when ...
    endcase.
    You should have all conditions in the case statement, otherwise you have a error.
    Regards,

  • Buttons in Selection Screen

    Hi,
    In my module pool program, if I click a button, am calling a selection screen using following statement.
          CALL SELECTION-SCREEN 0105 STARTING AT 10 10 ENDING AT 95 16.
    also, in TOP include, I have designed the selection screen as follows
    SELECTION-SCREEN BEGIN OF SCREEN 0105.
    SELECTION-SCREEN BEGIN OF BLOCK proj_def WITH FRAME TITLE text-100.
    SELECT-OPTIONS pspid FOR proj-pspid.
    SELECTION-SCREEN END OF BLOCK proj_def.
    SELECTION-SCREEN END OF SCREEN 0105.
    when I execute, there are some default buttons are coming. But I want to include my own buttons and I have to write code for that. Is it possible? How can I do that?
    Regards,
    SAP Lover.

    Hi,
    Proceed as follows to achieve your requirement.
    1. Click on the button
    2. According to your logic you'll get a Selection Screen as POP-UP
    3. Now select F1 on that input field
    4. Go with Technical Information Option
    5. You'll get the necessary info and here you can notice GUI DATA
    6. Here you can see the program name as RSSYSTDB and Status as %_CSP
    7. Double click on this status.
    8. It will lead you to that status. Click on Display <-> Change / CTRL + F1.
    9. It will ask for the access key. get the access key from BASIS and then here you go to change according to your requirement.
    Hope this helps. Reward if useful.
    Thanks and Regards,
    Maddineni Bharath.

  • Error during creation of push button on selection screen

    Hi,
    I wanted to create push buttons on selection screen,
    Code:
    DATA DB1 TYPE VBAP-WERKS.
    DATA DB2 TYPE MARA-MATNR.
    SELECT-OPTIONS : SPLANT FOR DB1,
                                    SCLASS FOR DB2.
    SELECTION-SCREEN:  FUNCTION KEY 1,
                                        FUNCTION KEY 2,
                                        FUNCTION KEY 3.
    INITIALIZATION.
    DATA FUNCTXT TYPE SMP_DYNTXT.
    CLEAR FUNCTXT.
    DATA: FUNCTXT_01 TYPE SSCRFIELDS-FUNCTXT_01.
    FUNCTXT-TEXT = 'DEL'.
    SSCRFIELDS-FUNCTXT_01 = FUNCTXT.
    CLEAR FUNCTXT.
    FUNCTXT-TEXT = 'EDIT'.
    SSCRFIELDS-FUNCTXT_02 = FUNCTXT.
    CLEAR FUNCTXT.
    FUNCTXT-TEXT = 'CRE'.
    SSCRFIELDS-FUNCTXT_03 = FUNCTXT.
    But during activating, I'm getting the error as : Field "SSCRFIELDS-FUNCTXT_01" is unknown. It is neither in one of the specified tables nor defined by "DATA" statement.
    Please suggest solutions to overcome this error.
    Regards
    Darshan MS

    Hi,
    trans. for examples of selection screen : BIBS
    regards
    Fred

  • Error in search help button at selection-screen

    hi all,
    i have a small issue.
    i have created a seach help button in selection screen .
    my code is as bellow.
    TYPES: BEGIN OF ty_ZSD_SNID,
           KUNNR TYPE KUNNR,
           BAREA TYPE WERKS_D,
          END OF ty_ZSD_SNID.
    DATA : it_z TYPE STANDARD TABLE OF ty_ZSD_SNID.
    selection-screen : begin of block b with frame title text-000.
    select-options : skunnr for zsd_snid-kunnr.
    parameters :     pbarea like zsd_snid-barea obligatory.
    selection-screen : end of block b.
    INITIALIZATION.
      SELECT KUNNR BAREA FROM ZSD_SNID INTO TABLE it_z.
      SORT it_z BY BAREA KUNNR.
      DELETE ADJACENT DUPLICATES FROM it_z COMPARING BAREA KUNNR.
    AT SELECTION-SCREEN ON VALUE-REQUEST FOR SKUNNR-low.
      IF it_z[] IS NOT INITIAL.
        CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
                 EXPORTING
              DDIC_STRUCTURE         = ' '
                   retfield               = 'KUNNR'  " data base table field name
              PVALKEY                = ' '
                  dynpprog               = sy-repid " program name
                  dynpnr                 = sy-dynnr          "screen name
                  dynprofield            = 'SKUNNR-LOW'  " layot field name
              STEPL                  = 0
              WINDOW_TITLE           =
              VALUE                  = ' '
                  value_org              = 'S'
              MULTIPLE_CHOICE        = ' '
              DISPLAY                = ' '
              CALLBACK_PROGRAM       = ' '
              CALLBACK_FORM          = ' '
              MARK_TAB               =
            IMPORTING
              USER_RESET             =
                 TABLES
                   value_tab              = it_z[]   " internal talble name
              FIELD_TAB              =
              RETURN_TAB             =
              DYNPFLD_MAPPING        =
            EXCEPTIONS
              PARAMETER_ERROR        = 1
              NO_VALUES_FOUND        = 2
              OTHERS                 = 3
        IF sy-subrc  <> 0.
         MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
                 WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
        ENDIF.
      ELSE.
        MESSAGE E000(zsdsn).
      ENDIF.
    my issue is , its working properly if records are there in my z table.
    if no records are there in the table then if i do comment the last message statement then its working.
    if i do uncomment like the above code, then its dumming.
    what i should i do ??
    kind regards

    closed because of no answer.

  • Selection screen modification based on various buttons in selection screen

    Hi,
    I have 1 query related with Selection screen modification.
    In my Report Program,I have created GUI Status for my selection screen
    Now 2 buttons in application toolbar are coming on selection sceen.
    For this i used,'At selection screen output' event.
    And there are 2 blocks on selection screen.
    If user press button1 then block2 should not display.
    and if user press button2 then block1 should not display.
    but the problem is i m not getting reqd result and also while doing debugging its not showing me sy-ucomm value.
    Any pointers on this.
    Thanks,
    Mamta

    Hi Mamta,
       have it in a group then you can write code accordingly see sample example,
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS       : p_r1 RADIOBUTTON GROUP rad
                            USER-COMMAND clk DEFAULT 'X'.            " upload Radio Button
    SELECTION-SCREEN COMMENT 5(35) text-003.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : BEGIN OF BLOCK 001 WITH FRAME TITLE text-001.
    PARAMETERS: p_upl       LIKE rlgrap-filename MODIF ID a           "Upload File
                             DEFAULT 'c:\temp\parbmat.xls',
                p_werks     like t001w-werks MODIF ID a,              "Plant
    PARAMETERS: p_rest      LIKE rlgrap-filename MODIF ID a           "Dwonload File Path
                             DEFAULT 'c:\temp\Success.xls'.
    SELECTION-SCREEN : END OF BLOCK 001.
    SELECTION-SCREEN BEGIN OF LINE.
    PARAMETERS : p_r2 RADIOBUTTON GROUP rad.
    SELECTION-SCREEN COMMENT 5(35) text-004.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN : BEGIN OF BLOCK 002 WITH FRAME TITLE text-002.
    PARAMETERS     : p_plant  LIKE marc-werks MODIF ID b.                "Plant
    PARAMETERS     : p_lgort  LIKE mard-lgort MODIF ID b.                "Storage Location
    PARAMETERS     : p_vkorg  LIKE mvke-vkorg MODIF ID b.                "Sales Organization
    PARAMETERS     : p_vtweg  LIKE mvke-vtweg MODIF ID b.                "Distribution Channel
    SELECT-OPTIONS : s_mat FOR  mara-matnr MODIF ID b.                  "Material No No
    SELECT-OPTIONS : s_dat FOR  mara-ersda MODIF ID b.                  "Date on Record Created
    PARAMETERS     : p_down LIKE rlgrap-filename MODIF ID b
                      DEFAULT 'c:\temp\Material Master.xls'.           "Download File Path
    SELECTION-SCREEN : END OF BLOCK 002.
    AT SELECTION-SCREEN OUTPUT.
    *Inactive Fields depending on the radio button
      LOOP AT SCREEN.
        IF p_r1 = 'X'.
          IF screen-group1 = 'B'.
            screen-active = 0.
          ENDIF.
        ELSEIF p_r2 = 'X'.
          IF screen-group1 = 'A'.
            screen-active = 0.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Edited by: suresh suresh on Jul 28, 2009 12:42 PM
    Edited by: suresh suresh on Jul 28, 2009 12:42 PM

  • How to create a transaction code for a function group with screen 100 as st

    Hello ,
    I have requirement where I need to create a function group and create screen 100, 200, 300 and include the function in the screens.
    Customer asked me to create a transaction with the screen 100 as the starting screen.
    Can you please let me know how to create a transaction code for a function group with screen 100 as starting screen.
    [ It is not a module pool program ].
    Thanks
    Prashanth.
    Moderator message - Please ask a specific question and do not ask the forum to do your work for you - post locked
    Edited by: Rob Burbank on Jun 2, 2009 11:49 AM

    Go to transaction SE93, enter a transaction code that you want and click on "create". Enter a text and select the "Transaction with Parameters" button. In the Default Values section, enter START_REPORT in the transaction field. Check the "skip initial screen" box. In the Name of Screen field section enter the following lines:
    Name of screen field:                               Value
    D_SREPOVARI-REPORTTYPE                RW
    D_SREPOVARI-REPORT                        ZPCA
    Save and transport accordingly.

  • Func- Code for Radio-button in Module-pool Prg.

    Hi Friend's.
    I have define 2 Radio button
    on Module-pool screen.
    I am not been able to triger the Radio button in
    Pai .
    How can i assign the function code for
    radio-button in module-pool.
    pls can any one help me

    Hi,
    For radion buttons, what ever the name you will give that name only will hold that value ( Either selected or not ). But this variable should be declared as global variable in main program.
    Still if you want to assign function code, you can assign one like other fields on the screen.

  • Push button on selection screen

    Hi,
    I have provided push button on selection screen after input fields I mean just below to input fields by using the syntax selection screen pushbutton…..   And it is appearing on the selection screen.  As per the requirement I need to enter material number on the selection screen and if I press corresponding push button I need to call one transaction using bdc program.  I wrote case sy-comm and corresponding user command ( whatever is there in the selection screen syntax) in when condition under start of selection event.
    But the control is not going to that place after I press push button. If I put that code inside of at selection screen it is going. But I can not write all the bdc program and select queries inside of at selection screen event if so please suggest me how I can proceed.
    I will give the points.
    Thanks a lot in advance.

    Hi,
    SELECTION-SCREEN BEGIN OF BLOCK b_2 WITH FRAME TITLE text-018.
    SELECT-OPTIONS s_fields FOR qpmk-mkmnr NO-DISPLAY.
    SELECTION-SCREEN PUSHBUTTON /1(24) name USER-COMMAND flds.
    SELECTION-SCREEN END OF BLOCK b_2.
    AT SELECTION-SCREEN.
    IF sscrfields-ucomm = 'FLDS'.
        PERFORM display_fields.
      ENDIF.

  • 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

Maybe you are looking for

  • Problem with Page Break In ALV Report

    Hi I have got a problem in my ALV report. I have a checkbox in the user input screen where users decide whether they want a page break or not in the print preview (or print) page. Now i also have the option to have layout name in the input screen. so

  • How to create the pricing procedure for domestic & import.

    HI,     Pls any body let me know how to create the pricing procedure for domestic & import. what is the use of the keys step condiiton condition type from   to  manual required statistic   subtotal requirement caltype basetype. how system will work b

  • Moving tags in PSE 12

    I recently upgraded from PSE 11 to PSE 12. In PSE 11, all of my tags were in its Keyword category.  However, the upgrade has placed my (hundreds of) tags relating to places and events into the new Places and new Events categories, where I can't find

  • Premiere Pro CC 2014.1 has stopped working

    Here is the message I receive:  Problem Event Name: APPCRASH   Application Name: Adobe Premiere Pro.exe   Application Version: 8.1.0.81   Application Timestamp: 5426694c   Fault Module Name: MXF_SDK_4.4.33_vs10.dll   Fault Module Version: 4.4.33.0  

  • Help with iBook files with media

    Hi, I am currently trying to create a PDF file with embedded video so that it can play within iBooks (so i can put it on the same selve with equilant articles). from what iv read iBooks may have a problem playing PDFs with media as it has something t