Issue with CALL SELECTION-SCREEN

Hi experts,
I am working on a report.
Here on the selection screen , based on the selection of some radiobuttons ,i want to call a secondary selection screen.
So i am using the following program code ,
AT SELECTION-SCREEN on BLOCk blk.
IF p_abc  =  c_x.
    CALL SELECTION-SCREEN 100 STARTING AT 20 5.
    IF sy-subrc <> 0.
      MESSAGE text-011 TYPE c_e .
    ENDIF.
  ENDIF.
so currently , once i complete my slection on the screen 100 , the popup screen stays there and rest of the programing logic is executed correctly.
My issue is that , once i complete my slection on the screen 100, i want that the pop up should be closed
And then the the rest of the program logic should continue.    
please guide me how ,this can be done.
Regards,
Rajesh Kumar.

Hi
The event AT SELECTION-SCREEN and AT SELECTION-SCREEN ON BLOCK  are very similar, only the second event see the part of selection-screen defined in the block.
This events are triggered as soon as the user does something: so press ENTER, F8,........
If u want the second-selction screen is shown once and the main selection-screen has to be displayed under the second one, u can try to run the second one only if the report has to run, so if the user has pressed F8, code ONLI.
AT SELECTION-SCREEN on BLOCk blk.
CHECK SY-UCOMM = 'ONLI'.
IF p_abc = c_x.
  CALL SELECTION-SCREEN 100 STARTING AT 20 5.
  IF sy-subrc 0.
     MESSAGE text-011 TYPE c_e .
  ENDIF.
ENDIF.
In tihs way the rest of the program will be executed, else u need to move all code of the event START-OF-SELECTION and END-OF-SELECTION in the event AT SELECTION-SCREEN, or, just as I said before, to move the calling of POPUP to event START-OF-SELECTION.
Max

Similar Messages

  • Issue with BEx selection screen

    Hi Gurus,
    We recently upgraded from BW 3.5 to 7.0. After the upgrade, while running the BEx queries the selection screen is not popping up and the query runs without the selections in it. Then the report errors out.... " Error Specify a value for variable XXXX".
    Apparently, the query runs fine with selection when executed on WEB.
    Did anyone of you come across with this issue..
    Thanks
    James.

    Hi Guys
    Run your query without the variable ,Try by removing the restrcition , if it is working fine without the variable then
    I would suggest to check your  variable once again like
          Check if 'Ready for input' check is checked for the respective variable,
           Remove the restriction ( drag out the variable )
          check your variable once again with all the setting and variable type
    OR create a new varilable, if it is a customer exit type then check ABAP code written for populating values.
    let me know if this helps,
    cheers
    sukhi

  • Issue with AT SELECTION-SCREEN ON event

    Hi Experts!!
    In the below code, p_jan, p_feb are showing as blank though they are filled in. Is this how this event works?
    PARAMETERS: p_categ TYPE zpycateg,
                             p_jan TYPE sy-datum,
                             p_feb TYPE sy-datum.
    AT SELECTION-SCREEN ON p_categ.
    IF NOT p_jan IS INITIAL.
    ENDIF.
    Please help me out.

    Hi
    That event works for P_CATEG, here other parameters of the screen can't been seen.
    If you want to do a validation has to check several parameters of a selection-screen you should use the event AT SELECTION-SCREEN.
    Anyway if you think it's better the event AT SELECTION-SCREEN ON <screen field>, the values of other fields can be picked up bu fm DYNP_VALUES_READ
    AT SELECTION-SCREEN ON P_CATEG.
      DATA: T_FIELDS TYPE STANDARD TABLE OF DYNPREAD WITH HEADER LINE.
      T_FIELDS-FIELDNAME = 'P_JAN'. APPEND T_FIELDS.
      T_FIELDS-FIELDNAME = 'P_FEB'. APPEND T_FIELDS.
      CALL FUNCTION 'DYNP_VALUES_READ'
        EXPORTING
          DYNAME     = SY-REPID
          DYNUMB     = SY-DYNNR
        TABLES
          DYNPFIELDS = T_FIELDS.
      READ TABLE T_FIELDS WITH KEY FIELDNAME = 'P_JAN'.
      IF NOT T_FIELDS-FIELDVALUE IS INITIAL.
      ENDIF.
    Max

  • Issue with At selection-screen output

    Hi,
      I tried in SDn to find suitable thread atlast i am creating query here.
    My requirement is: i have two radiobuttons.
    when i click first radiobutton it hasto show one selection screen it contains pernr and bukrs
    when i click second radiobutton it has to show second selection screen . This screen includes personnel area and Wage type
    Thanks,
    Maheedhar

    Use "AT SELECTION-SCREEN OUTPUT" and distinguish them with "MODIF ID"
    Code flows like this:
    PARAMETERS r_online RADIOBUTTON GROUP g1
                         USER-COMMAND ex DEFAULT 'X'.
    PARAMETERS r_batch RADIOBUTTON GROUP g1.
    PARAMETERS r_down RADIOBUTTON GROUP g1.
    PARAMETER: p_bukrs LIKE t024e-bukrs OBLIGATORY
                       DEFAULT 'US60'.
    SELECT-OPTIONS: s_werks FOR marc-werks.
    PARAMETER: p_vari TYPE slis_vari MODIF ID md5.
    PARAMETERS: p_a_file LIKE rlgrap-filename
                         DEFAULT '/transfer/us6/ZUS6MM04_MatPlt'
                         MODIF ID md2.
    PARAMETERS: p_h_file LIKE rlgrap-filename
                         DEFAULT '/transfer/us6/ZUS6MM04_MatPlt_HDR'
                         MODIF ID md2.
    PARAMETERS: p_hfile1 LIKE rlgrap-filename
                         DEFAULT '/transfer/us6/ZUS6MM04_MatPlt_HDR'
                         MODIF ID md3.
    PARAMETERS: p_hfile2 LIKE rlgrap-filename
                         default 'C:\Transfer\US6\ZUS6MM04_MatPlt_HDR.txt'
                         MODIF ID md4.
    * AT SELECTION-SCREEN EVENTS
    AT SELECTION-SCREEN OUTPUT.
      PERFORM modify_screen.
    *&      Form  MODIFY_SCREEN
    FORM modify_screen .
      LOOP AT SCREEN.
        IF r_online  = 'X'.
          IF screen-group1 = 'MD3' OR
             screen-group1 = 'MD4' OR
             screen-group1 = 'MD2'.
            screen-active = '0'.
          ENDIF.
        ELSEIF r_batch = 'X'.
          IF screen-group1 = 'MD3' OR
             screen-group1 = 'MD4' OR
            screen-group1 = 'MD5'.
            screen-active = '0'.
          ENDIF.
        ELSEIF r_down = 'X'.
          IF screen-group1 = 'MD2' OR
            screen-group1 = 'MD5'.
            screen-active = '0'.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    ENDFORM.                    " MODIFY_SCREEN

  • Call selection screen from DYNPRO

    I created a report with std selection screen 1000...
    From this selection screen we reach Dynrpro 9000 with a table control etc etc
    Once a line has been selected and the user click on a specific button a selection screen is called...
    SELECTION-SCREEN BEGIN OF SCREEN 9005.
    SELECTION-SCREEN: FUNCTION KEY 1.
    SELECT-OPTIONS : SO_PERSA FOR L_PERSA,
                     SO_BTRTL FOR L_BTRTL,
                     SO_PERSG FOR L_PERSG,
                     SO_PERSK FOR L_PERSK.
    SELECTION-SCREEN END OF SCREEN 9005.
    Unfortunatly when I try to fill in the range but pressing mutliple line button nothing happens...
    Do you have any clue to solve this issue ?

    what is the purpose of defining a func which is triggered for eac selection field ??
    what is the function of it that you need it and don't want the user to use the available searchoptions  ??
    kind regards
    arthur de smidt

  • 2 issues with call transaction to LS24

    Hello All,
    There are 2 issues with call transaction to LS24.
    <b>1) It doesn't take batch value and displays stock for all batches.
    2) When you go back, it doesn't go back to the calling program.</b>
    Any thoughts ?
    <u>Here is my code:</u>
    PARAMETERS: p_lgnum TYPE lgnum,
                p_matnr TYPE matnr,
                p_werks TYPE werks_d,
                p_lgort TYPE lgort_d,
                p_charg TYPE charg_d.
    START-OF-SELECTION.
    END-OF-SELECTION.
      PERFORM display_stock_per_batch.
    *&      Form  DISPLAY_STOCK_PER_BATCH
    FORM display_stock_per_batch .
      SET PARAMETER ID 'LGN' FIELD p_lgnum.
      SET PARAMETER ID 'MAT' FIELD p_matnr.
      SET PARAMETER ID 'WRK' FIELD p_werks.
      SET PARAMETER ID 'LAG' FIELD p_lgort.
      SET PARAMETER ID 'CHA' FIELD p_charg.
      CALL TRANSACTION 'LS24' AND SKIP FIRST SCREEN.
    ENDFORM.                    " DISPLAY_STOCK_PER_BATCH

    hello
    use this code
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-CHARG'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/00'.
    perform bdc_field       using 'RL01S-LGNUM'
                                  p_lgnum.
    perform bdc_field       using 'RL01S-MATNR'
                                  p_matnr.
    perform bdc_field       using 'RL01S-WERKS'
                                  p_werks.
    perform bdc_field       using 'RL01S-LGORT'
                                  p_lgort.
    perform bdc_field       using 'RL01S-BESTQ'
    perform bdc_field       using 'RL01S-SOBKZ'
    perform bdc_field       using 'RL01S-CHARG'
                                  p_charg.
    perform bdc_dynpro      using 'SAPML01S' '0209'.
    perform bdc_field       using 'BDC_OKCODE'
                                  '/EBACK'.
    perform bdc_field       using 'BDC_CURSOR'
                                  'RL01S-LGNUM'.
    perform bdc_transaction using 'LS24'.
    may be it will help u

  • Short dump while using call selection-screen mdynnr

    Hi ALL,
    I need your help and information.
    In programmes, We are using the statament " CALL SELECTION-SCREEN MDYNNR " 
    and passing the screens dynamically into variable mdynnr.
    And the programme is going to dump after executing 50 times.
    When we
    can we use any other statement instead of CALL SELECTION-SCREEN MDYNNR.
    Your information helps us lot.
    Thanks in advance.
    Srinivasa Reddy.

    Hi,
    As you know Call Screen is the statement, but you will get the problem if you are going to call it in the same LUW repeatedly. So, FM is the only convenient way to do it. This is very easy. Just create a FM and replace you statement with this FM. Hopefully this will solve your problem.
    Check this comment " When you call a new main program in order to use a screen sequence (for example, using CALL TRANSACTION), a new SAP LUW begins. This may be an undesired effect, especially when you are trying to modularize a transaction that updates the database.
    An alternative to this is to use an external procedure, whose main program is linked to a screen sequence, and which contains the corresponding dialog modules. Procedures run in the same SAP LUW and internal session as their calling program."
    Thanks,

  • To call Selection screen In BSP

    I have written a report "zdemo" in abap editor with some selection screen. I'm desperately looking for <b>_how to call Selection screen In BSP_</b>.
    Any kind of help will be apreciated.
    nikhil

    Hi Nikhil,
    There is no way that, you can call a selection-screen directly or create automatically as in the case of report in ABAP.
    The possible way could be
    Create one more page for holding the selection screen input fields with a submit button.
    On click on submit, do the processing and call the result page.
    Regards,
    Ravi

  • Back on a CALL SELECTION-SCREEN from an ALV

    Hi all,
    I have created a program with a normal selection-screen (1000).
    According to the selected values, when I press "Execute" I go to a next selection-screen (2000) with instruction CALL SELECTION-SCREEN 2000.
    Then I display an ALV.
    When I press the back button, I want to go back to screen 2000, but actually I go directly to screen 1000.
    PARAMETERS : p_choic1 RADIOBUTTON GROUP cho DEFAULT 'X'.
    PARAMETERS : p_choic2 RADIOBUTTON GROUP cho.
    SELECTION-SCREEN BEGIN OF SCREEN 2000.
    PARAMETERS : p_table TYPE char10.
    SELECTION-SCREEN END OF SCREEN 2000.
    START-OF-SELECTION.
      IF NOT p_choic1 IS INITIAL.
        CALL SELECTION-SCREEN 2000.
        PERFORM alv_process.
      ENDIF.
    Have you got any idea of what I can do to return to screen 2000 from the ALV after pressing Back button ?
    Thanks.

    Hi,
    Follow below sample code...
    SELECTION-SCREEN BEGIN OF SCREEN 2000.
    PARAMETERS p_mat  TYPE matnr.
    PARAMETERS p_enam TYPE ernam.
    SELECTION-SCREEN END OF SCREEN 2000.
    START-OF-SELECTION.
    set PF-STATUS 'STATUS'.
      WRITE:/ p_mat,
              p_enam.
    AT USER-COMMAND.
      CASE SY-UCOMM.
      WHEN 'S2000'.
          CALL SELECTION-SCREEN 2000.
      WHEN 'EXIT'.
          EXIT.
      ENDCASE.
    Ram.

  • Problem with a selection-screen.

    HI, I want to make a screen at execution time.
    Depending of a flag variable, it´s the way that i made the layout of the screen at execution time.
    Here's a code example.
    SELECTION-SCREEN BEGIN OF SCREEN 0200 .
       if pasos-descripcion = '01 DERIVACION BANORTE'.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME title text-T03
    NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 5.
    SELECTION-SCREEN COMMENT 5(3) TEXT-T01 for field cc1.
    parameters cc1(10) type c.
    SELECTION-SCREEN POSITION 25.
    SELECTION-SCREEN COMMENT 25(2) TEXT-T02 for field cc2.
    parameters cc2(10) type c.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B1.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME title text-T04
    NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 5.
    SELECTION-SCREEN COMMENT 5(3) TEXT-T01 for field cc3.
    parameters cc3(10) type c.
    SELECTION-SCREEN POSITION 25.
    SELECTION-SCREEN COMMENT 25(2) TEXT-T02 for field cc4.
    parameters cc4(10) type c.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK B2.
    SELECTION-SCREEN END OF SCREEN 0200.
    elseif pasos-descripcion = '02 DERIVACION BANORTE'.
         SELECTION-SCREEN SKIP 1.
         SELECTION-SCREEN BEGIN OF BLOCK B3 WITH FRAME title text-T05
    NO INTERVALS.
    parameters cc5 type n.
    parameters cc6 type n.
    SELECTION-SCREEN END OF BLOCK B3.
       endif.
    SELECTION-SCREEN END OF SCREEN 0200.
        call selection-screen '0200'.
    I tried to do this, but causes an error.
    How can i try to solve this?, Is it possible to do?
    Thanks.
    Reward points for helpful answers.

    This example was implemented using the standard selection screen which you should use if that is the only selection screen in your program, no need to define selection screen 0200.  But if you do want to define it this way, your code would be like this.
    REPORT zrich_001.
    DATA: pasos-descripcion TYPE string.
    SELECTION-SCREEN BEGIN OF SCREEN 0200 .
    *IF pasos-descripcion = '01 DERIVACION BANORTE'.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-t03
    NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 5.
    SELECTION-SCREEN COMMENT 5(3) text-t01 FOR FIELD cc1 MODIF ID ss1.
    PARAMETERS cc1(10) TYPE c MODIF ID ss1.
    SELECTION-SCREEN POSITION 25.
    SELECTION-SCREEN COMMENT 25(2) text-t02 FOR FIELD cc2 MODIF ID ss1.
    PARAMETERS cc2(10) TYPE c MODIF ID ss1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b1.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-t04
    NO INTERVALS.
    SELECTION-SCREEN BEGIN OF LINE.
    SELECTION-SCREEN POSITION 5.
    SELECTION-SCREEN COMMENT 5(3) text-t01 FOR FIELD cc3 MODIF ID ss1.
    PARAMETERS cc3(10) TYPE c MODIF ID ss1.
    SELECTION-SCREEN POSITION 25.
    SELECTION-SCREEN COMMENT 25(2) text-t02 FOR FIELD cc4 MODIF ID ss1.
    PARAMETERS cc4(10) TYPE c MODIF ID ss1.
    SELECTION-SCREEN END OF LINE.
    SELECTION-SCREEN END OF BLOCK b2.
    *SELECTION-SCREEN END OF SCREEN 0200.
    *ELSEIF pasos-descripcion = '02 DERIVACION BANORTE'.
    SELECTION-SCREEN SKIP 1.
    SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-t05
    NO INTERVALS.
    PARAMETERS cc5 TYPE n MODIF ID ss2.
    PARAMETERS cc6 TYPE n MODIF ID ss2.
    SELECTION-SCREEN END OF BLOCK b3.
    *ENDIF.
    SELECTION-SCREEN END OF SCREEN 0200.
    INITIALIZATION.
      pasos-descripcion =  '01 DERIVACION BANORTE'.
      CALL SELECTION-SCREEN '0200'.
    AT SELECTION-SCREEN.
      IF pasos-descripcion = '01 DERIVACION BANORTE'.
        pasos-descripcion = '02 DERIVACION BANORTE'.
      ELSEIF pasos-descripcion = '02 DERIVACION BANORTE'.
        pasos-descripcion = '01 DERIVACION BANORTE'.
      ENDIF.
    AT SELECTION-SCREEN OUTPUT.
      LOOP AT SCREEN.
        IF pasos-descripcion = '01 DERIVACION BANORTE'.
          IF screen-group1 = 'SS2'.
            screen-active = '0'.
          ENDIF.
        ELSEIF  pasos-descripcion = '02 DERIVACION BANORTE'.
          IF screen-group1 = 'SS1'.
            screen-active = '0'.
          ENDIF.
        ENDIF.
        MODIFY SCREEN.
      ENDLOOP.
    Regards,
    Rich Heilman

  • CALL SELECTION SCREEN problem

    Hello!
    I have a problem. In my riport I have a selection screen (1000), a main screen (2000), and a screen (400) this is called inside a loop, to fill some datas when you hit the print button.
      CLEAR L_TOTAL.
      SORT LT_EBAN BY BNFPO.
      LOOP AT LT_EBAN.
        GT_ITEM2-FIELD01 = SY-TABIX.
        GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
    *---Part name, Type, Maker
        SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
         CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
         ITEM = LT_EBAN-BNFPO.
         CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
    *---Machine
        GT_ITEM2-FIELD06 = ST_400-MACHINE.
    After this, i could not use the LEAVE TO SCREEN 0, because it's not going back to secreen '2000' , I'm getting a blank 400 screen.
    Thatswhy I used CALL SCREEN '2000', and it's fine.
    But in the case of the Selection screen (1000) something is wrong.
    On the screen 2000 I using this logic.
    MODULE EXIT_2000 INPUT.
      CASE OK_CODE.
        WHEN 'BACK' OR 'EXIT'.
          CLEAR OK_CODE.
           CALL SELECTION-SCREEN '1000'.
           LEAVE PROGRAM.
        WHEN 'CANC'.
          PERFORM EXIT_PROGRAM.
          LEAVE PROGRAM.
      ENDCASE.
      CLEAR OK_CODE.
    ENDMODULE.                 " exit_2000  INPUT
    With this logic, the program is going to the SELECTION-SCREEN, when I hit the back button, and when we are already on the SELECTION-SCREEN, it's leaving the program. This is also ok.
    But when I hit the back button, and on the SELECTION-SCREEN I want to run the program again, it's not going to the program logic, it's jumping to this CALL SELECTION-SCREEN '1000', and leaving of course.
    START-OF-SELECTION.
      PERFORM DSP1_PROC.
      IF GT_DISPLAY[] IS INITIAL.
        MESSAGE S208(00) WITH 'No data.'.
        EXIT.
      ENDIF.
      IF S_RET = '1'.
        MESSAGE I208 WITH 'Document not found'.
        S_RET = ' '.
      ELSE.
        S_RET = ' '.
        CALL SCREEN '2000'.
      ENDIF.
    So my question is, that the above logic, when I running the program first time It's working good, at the START-OF-SELECTION, but when I trying to runnig from the SELECTION-SCREEN "second time", from the   START-OF-SELECTION it's jumping to the CALL SELECTION-SCREEN '1000'. How can I avoid this. I want that from the  START-OF-SELECTION, never go to the CALL SELECTION-SCREEN '1000'.
    Thank You
    Edited by: Roland on Dec 5, 2011 11:27 AM

    Hi Max!
    Yeah, I was thinking the same, that the problem is with that loop.
    But I don't know, how can I solved in a different way, because when we hit the print button, we getting all the items from a table, and we starting looping on them. In the loop we passing the values to a GT_ITEM table, later this table is connected with an excell, so it will be printed out in an excell form.
    So I have to call this screen so many times, how many items we have. Sometimes just 1, sometimes 4, 6, 9, and so on.
    For this items I have to add 2 more fields, wich are uploaded by the user. ( The other fields are coming from the table)
    So if I going out from the loop after the CALL SCREEN 400, I think the next item wont be get the values. Or maybe any of them, because this is before the APPEND GT_ITEM. So this methode wont be called, no data would be in the table, nothing will be printed.
    *-Item
      SELECT BNFPO MATNR TXZ01 MENGE MEINS ERNAM PREIS BEDNR EBELN EBELP
        INTO CORRESPONDING FIELDS OF TABLE LT_EBAN
        FROM EBAN
       WHERE BANFN  =  GT_DISPLAY-BANFN
         AND LOEKZ  =  ' '.
      CLEAR L_TOTAL.
      SORT LT_EBAN BY BNFPO.
      LOOP AT LT_EBAN.
        GT_ITEM2-FIELD01 = SY-TABIX.
        GT_ITEM2-FIELD02 = LT_EBAN-MATNR.
    *---Part name, Type, Maker
        SPLIT LT_EBAN-TXZ01 AT ',' INTO GT_ITEM2-FIELD03 GT_ITEM2-FIELD04 GT_ITEM2-FIELD05.
         CONCATENATE GT_ITEM2-FIELD03 '/' GT_ITEM2-FIELD04 INTO DESCR.
         ITEM = LT_EBAN-BNFPO.
         CALL SCREEN 400 STARTING AT 20 7 ENDING AT 60 18.
    *---Machine
        GT_ITEM2-FIELD06 = ST_400-MACHINE.
    *---Using Qty
        WRITE ST_400-USING UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD08.
    *---Now Stock
        CLEAR L_LABST.
        SELECT SUM( LABST ) INTO L_LABST
          FROM ZMM0460T
         WHERE MATNR = LT_EBAN-MATNR
           AND WERKS = '3A10'.
        WRITE L_LABST UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD09.
        WRITE LT_EBAN-MENGE UNIT LT_EBAN-MEINS TO GT_ITEM2-FIELD10.
        IF NOT LT_EBAN-EBELN IS INITIAL.
          CLEAR LS_EKPO.
          SELECT SINGLE NETPR WAERS PEINH
            INTO CORRESPONDING FIELDS OF LS_EKPO
            FROM EKPO AS A INNER JOIN EKKO AS B ON A~EBELN EQ B~EBELN
           WHERE A~EBELN = LT_EBAN-EBELN
             AND A~EBELP = LT_EBAN-EBELP.
          IF LS_EKPO-WAERS <> 'HUF'.
            CALL FUNCTION 'CONVERT_TO_LOCAL_CURRENCY'
              EXPORTING
                DATE             = SY-DATUM
                FOREIGN_AMOUNT   = LS_EKPO-NETPR
                FOREIGN_CURRENCY = LS_EKPO-WAERS
                LOCAL_CURRENCY   = 'HUF'
              IMPORTING
                LOCAL_AMOUNT     = LS_EKPO-NETPR.
          ENDIF.
          IF LS_EKPO-PEINH IS INITIAL. LS_EKPO-PEINH = 1. ENDIF.
          LT_EBAN-PREIS = LS_EKPO-NETPR / LS_EKPO-PEINH.
        ENDIF.
        WRITE LT_EBAN-PREIS CURRENCY 'HUF' TO GT_ITEM2-FIELD11.
        CONDENSE GT_ITEM2-FIELD11.
        CONCATENATE GT_ITEM2-FIELD11 'Ft' INTO GT_ITEM2-FIELD11
          SEPARATED BY SPACE.
        L_NETWR = LT_EBAN-MENGE * LT_EBAN-PREIS.
        WRITE L_NETWR CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
        CONDENSE GT_ITEM2-FIELD12.
        CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
          SEPARATED BY SPACE.
        L_TOTAL = L_TOTAL + L_NETWR.
    *---Unit
        SELECT SINGLE UNIT INTO GT_ITEM2-FIELD13
          FROM ZMM0500T
         WHERE PERNR = LT_EBAN-BEDNR.
    *---Name
        SELECT SINGLE SNAME INTO GT_ITEM2-FIELD14
          FROM PA0001
         WHERE PERNR = LT_EBAN-BEDNR
           AND ENDDA = '99991231'.
    *---Append
        GT_ITEM2-CNTR01 = ''.
        APPEND GT_ITEM2. CLEAR: GT_ITEM2, ST_400, DESCR, ITEM.
      ENDLOOP.
      GT_ITEM2-FIELD11 = 'Total'.
      WRITE L_TOTAL CURRENCY 'HUF' TO GT_ITEM2-FIELD12.
      CONDENSE GT_ITEM2-FIELD12.
      CONCATENATE GT_ITEM2-FIELD12 'Ft' INTO GT_ITEM2-FIELD12
        SEPARATED BY SPACE.
      GT_ITEM2-CNTR01 = 'B'.
      APPEND GT_ITEM2. CLEAR GT_ITEM2.
    ANy idea?
    Thank You
    Edited by: Roland on Dec 5, 2011 1:36 PM
    Edited by: Roland on Dec 5, 2011 1:50 PM

  • CALLING SELECTION SCREEN.

    Hi All,
    My requirement is whenever i am clicking check box on selection screen one window selection screen shu apper where i will enter some data.After pushing execute button it should go to standard selection screen.
    code i hav wirtten as...
    Program *********************************************
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-003 .
    PARAMETERS: pa_ls1 AS CHECKBOX,
                            pa_ls2 AS CHECKBOX USER-COMMAND flag.
    SELECTION-SCREEN END OF BLOCK 1.
    SELECTION-SCREEN BEGIN OF SCREEN 2000 TITLE text-004.
    SELECT-OPTIONS: pa_vkorg FOR vbak-vkorg NO INTERVALS NO-EXTENSION.
    SELECTION-SCREEN END OF SCREEN 2000.
    at selection-screen.
    IF pa_ls2 = 'X'.
    do.
        CALL SELECTION-SCREEN '2000'
        STARTING AT 10 10.
        exit.
    enddo.
      ENDIF.
    with this code i am able to call the screen but cant go back to standard screen.

    HI RUSHIKESH,
    MODIFICATION HAS BEEN MADE INTO YOUR CODE.SEE THE BOLD PART.
    REPORT  ZCLICK.
    tables : vbak.
    SELECTION-SCREEN BEGIN OF BLOCK 1 WITH FRAME TITLE text-003 .
    PARAMETERS: pa_ls1 AS CHECKBOX,
    pa_ls2 AS CHECKBOX USER-COMMAND CLICK.
    SELECTION-SCREEN END OF BLOCK 1.
    SELECTION-SCREEN BEGIN OF SCREEN 2000 TITLE text-004.
    SELECT-OPTIONS: pa_vkorg FOR vbak-vkorg NO INTERVALS NO-EXTENSION.
    SELECTION-SCREEN END OF SCREEN 2000.
    at selection-screen.
    IF pa_ls2 = 'X'.
    <b>PA_LS2 = ''.</b>
    CALL SELECTION-SCREEN '2000'
    STARTING AT 10 10.
    ENDIF.

  • Call Selection Screen

    Hi,
    can any one give me good links for
    All variants of at selection screen..
    some thing on call selection screen
    Thx,
    Shashi

    ·     AT SELECTION-SCREEN
    You should only perform very expensive checks with AT SELECTION-SCREEN if the program is then started. Here, you can read the system field SSCRFIELDS-UCOMM (provided a statement TABLES SSCRFIELDS exists). If the field has one of the values 'ONLI' (= Execute) or 'PRIN' (= Execute and Print), the report is then started, i.e. the selection screen is closed and the processing continues with START-OF-SELECTION.
         Additions:
    ·     ... ON psel
    Effect
    This event is assigned to the selection screen fields corresponding to the report parameter or selection criterion psel.
    If the report starts an error dialog at this point, precisely these fields become ready for input.
    ·     ... ON END OF sel
              For each selection criterion sel on the selection screen, you can call a further screen by pressing a pushbutton. On this screen, you can enter any number of single values and ranges for the selection criterion sel..
    When this screen has been processed (i.e. at the end of PAI for this screen), the event AT SELECTION-SCREEN ON END OF sel is executed.
    At this point, all the values entered are available in the internal table sel.
    ·     ... ON VALUE-REQUEST FOR psel_low_high
    Effect
    In this addition, the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH, where sel is the name of a selection criterion. The effect of this is twofold:
    1.     The possible entries pushbutton for F4 appears beside the appropriate field.
    2.     When the user activates this pushbutton or presses F4 for the field, the event is executed. You can thus implement a self-programmed possible entries routine for the input/output fields of the selection screen. If the program contains such an event and the user presses F4, the system processes this rather than displaying the check table or the fixed values of the Dictionary field.
    ·     ... ON HELP-REQUEST FOR psel_low_high
    Effect
    As with the addition ON VALUE-REQUEST the field psel_low_high is either the name of a report parameter or of the form sel-LOW or sel-HIGH, where sel is the name of a selection criterion. When the user presses F1 on the relevant field, the subsequent processing block is executed. You can thus implement a self-programmed help for the input/output fields of the selection screen. If the program contains such an event and the user presses F1, the system processes this rather than displaying the documentation of the Dictionary field - even if the report parameter or the selection option with LIKE or FOR points to a Dictionary field.
    ·     ... ON RADIOBUTTON GROUP radi
    Effect
    This event is assigned to the radio button groups on the selection screen defined by PARAMETERS par RADIOBUTTON GROUP radi.  If the report starts at an error  dialog at this point ,precisely these fields of the radio button group
    radi become ready for input again.
    ·     ... ON BLOCK block
    Effect
    This event is assigned to the blocks on the selection screen defined by SELECTION-SCREEN BEGIN/END OF BLOCK block. If the report starts at an error
    dialog at this point, precisely these fields of the block block become ready for input again.
         The events assigned to the radio button groups are executed according to the first parameter of the radio button group.
    The events assigned to the blocks are executed "from the inside to the outside".
    ·     ... OUTPUT
    Effect
    This event is executed at PBO of the selection screen every time the user presses ENTER - in contrast to INITIALIZATION. Therefore, this event is not suitable for setting selection screen default values. Also, since AT SELECTION-SCREEN OUTPUT is first executed after the variant is imported (if a variant is used) and after adopting any values specified under SUBMIT in the WITH clause, changing the report parameters or the selection options in AT SELECTION-SCREEN OUTPUT would destroy the specified  values. Here, however, you can use LOOP AT SCREEN or MODIFY SCREEN to change the inout/output attributes of selection screen fields. 
    ·     ... ON EXIT-COMMAND
    Effect
    This event is executed at the exit command of the selection screen - that is, at Back, Cancel, or End,events executed after the screen is sent that do not cause the system to check the input and execute the PAI.
    plz reward if useful
    vivek

  • How to replace the existing selection screen with new selection screen

    Hi,
    I have first selection screen with parametre as a table name, then I have created dynamic selection screen as 2nd selection screen with different fields of that table as select options. This is done using genaration of dynamic report. Now If I click on button on this 2nd selction screen , then I want to replace this 2nd dynamic selection screen , with the other selection screen fields.
    Can anybody guide me, How to do replace one slection screen with different selection screen.
    and one imp thing is this selction screen is populating with dynamic fields on it.
    Regards,
    Mrunal

    As I can understand you want to make some of the screen field to disable or visible on screen  depending upon the interaction of user with screen 1.
    You may use this example code in PBO of screen 2.
    LOOP AT SCREEN.
        " action has been taken to modify the area office screen as per the option chosen at screen 99.
        CASE ACTION.
            " if the user has taken up the option of UPLOAD
          WHEN 'UP'.     " screen processing while we upload the plan
            " during upload we will make dates as output fields only
            IF SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_TO' OR SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_FRM'.
              SCREEN-INPUT = 0.
              MODIFY SCREEN.
            ENDIF.
            " also make 2 buttons disabled
            IF SCREEN-NAME = 'AO_DO' OR SCREEN-NAME = 'AO_VE'.
              SCREEN-ACTIVE = 0.
              MODIFY SCREEN.
            ENDIF.
          WHEN 'DN'.      " screen processing while we upload the approved plan
            " during upload we will make dates as output fields only
            IF SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_TO' OR SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_FRM'.
              SCREEN-INPUT = 0.
              MODIFY SCREEN.
            ENDIF.
            " also make 2 buttons disabled
            IF SCREEN-NAME = 'AO_UP' OR SCREEN-NAME = 'AO_VE'.
              SCREEN-ACTIVE = 0.
              MODIFY SCREEN.
            ENDIF.
          WHEN 'VW'.      " screen processing while we view the plan
            " during upload we will make dates as output fields only
            IF SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_TO' OR SCREEN-NAME = 'ZSDTPLANVRSIO-DAT_FRM'.
              SCREEN-INPUT = 0.
              MODIFY SCREEN.
            ENDIF.
            " also make 2 buttons disabled
            IF SCREEN-NAME = 'RLGRAP-FILENAME' OR SCREEN-NAME = 'FNAME'.
              SCREEN-ACTIVE = 0.
              MODIFY SCREEN.
            ENDIF.
            " and hide the file input field
            IF SCREEN-NAME = 'AO_DO' OR SCREEN-NAME = 'AO_UP'.
              SCREEN-ACTIVE = 0.
              MODIFY SCREEN.
            ENDIF.
        ENDCASE.
      ENDLOOP.

  • Problem in Call Selection Screen

    Hi,
    I am facing a problem on the call selection screen. The no. of nested screens that can be called by using call selection screen is 50. When the count reaches to 51 it is going to short dump. How can i avoid the dump. What is the system field that captures the nested screens count.
    Thanx in advance,

    Maximum number of nested CALL SCREEN is 50, I think you cannot call 51th screen in a row.
    To avoid short dump you can handle exception <b>DYNP_TOO_MANY_CALL_SCREENS</b> and give error (or information) message 'Maximum number of nested sccreen level is 50' .
      TRY .
          CALL SCREEN 100.
        CATCH cx_root .
          MESSAGE e100(00).
      ENDTRY.

Maybe you are looking for

  • Avoid static JInternalPane in 1.4.1

    This post is informational. I am not asking for help. We discovered this problem when transitioning from JRE 1.3.1 to 1.4.1. We use the JInternalFrame to create a floating palette of buttons that pump text constructs into one or more special text pan

  • New Mac convert...

    I finally made the jump to Mac yesterday, and it was a very expensive jump, but I am so glad I did. Lightroom really does run better on my new MacBook Pro than it did on my HP Pavillion. I admit that I was having a lot of problems with the PC and Lr

  • Disable Inbox Rules for Disable Users

    I have found that when our helpdesk disables an AD user account (terminated employee) that has an Outlook inbox rule to forward the email to an email address outside the organization, emails sent to the former employee are still forwarded to that out

  • HT3275 Time machine cannot complete my backup

    Time machine cannot complete my backup because 'an error occurred while creating the backup folder'.  How do I solve this problem?

  • Opening a link in a specific iview using target=""

    Hello everyone, I have a navigation on the left hand side and a wide i view on the right. I would like to click a link on the left and make the file it references (be it excel, pdf, etc) open in the right iview. I can't use raiseEvent and subscribeEv