Call screen inside EXIT_SAPMM07M_001

Hi Gurus,
Here's my problem - We have implemented EXIT_SAPMM07M_001. There's a CALL SCREEN 9000 inside the logic. What's weird is that inside our DEV box, the screen is being called without any problem. But when we transported it to our Quality box, when the program goes thru the command CALL SCREEN 9000, it does not go to the PBO modules but instead calls CONVERSION_EXIT_MATN1_OUTPUT for no apparent reason whatsoever.
I'm thinking it's because the screen contains an element MATNR. However, the other fields are not being populated due to the fact the PBO was not called.
Any thoughts? Let me know if you need more details. Thanks in advance!

Hi
check the request, probably there are some request that are not transported to the QAS system.
Regards.

Similar Messages

  • CALL SCREEN inside a FM ( parameter passing to PBO ) ?

    Hello Friends,
    I have the following issue:
    I have a FM with some import parameter; inside the FM I am calling a screen. the screen has some input fields, and I have to set the value to input fields those import parameter of fm. I can staticaly set the input fields values in PBO, ( but as I said I need to take the values from FM ) is it possible ?
    I try to set, in PBO ( pbo include ), but it did not recognise the FM import parameters---
    Note, all those includes of PBO, and FM is in same FG....
    Regards,

    Hi guys,
    Thanks for your input,
    Problem solved, actually befoer calling the screen, I set the parameters:
    like in my FM I have following code:
    DESC_in         = DESC.
    LAUFZEIT_in = LAUFZEIT.
    call screen 0100 STARTING AT  5 5.
    Where as desc and laufzeit, are import parametes in the FM and desc_in and laufzeit_in are input fields on screen......
    Anyway, thanks for your input..
    Regards

  • Call transaction inside Update task

    <b>Is it possible to use call transaction inside an update function module?</b>
    My requirement is like this.
    When I execute LB10 storage units will be created..then we have to go to lt09 and then create a TO's there for all these Storage units..
    Now, when I try to call a bdc session from an exit, the storage units are not  updated there. so the BDC is getting failed..
    To resolve this, I kept all the BDC code in to a Zfunction module and made it an update funtion module. I am calling this function module form the exit IN UPDATE TASK.
    But the call transaction is not working....
    I have tried with L_TO_CREATE_MOVE_SU inside the Z function module..Still no use..
    is there any other way that I can solve this?

    Hi,
       Calling a FM in Update Task is one of the bundling techniques used in ABAP to avail functionality provided by SAP Update System. Here all database updates are processed at the end of the SAP LUW in contrast to normal FM call where the database updates are done and commited at the time of call (Database LUW). It is necessary to bundle all your database updates in an SAP LUW e.g. all database updates in a transaction (like VA01) should be bundled. Almost all standard SAP transactions use bundling techniques.
    This technique separates the dialog process and update process. The dialog part of the transaction can span more than one screen(one dialog step) and can be processsed by more than one dialog work process. A work process is released when the dialog step changes (screen changes) and the work process sends a database commit (called Implicit Database LUW). So with each screen change there is a database commit and database remains in consistent state.
    Now when using bundling technique, when a COMMIT WORK is encountered, system ends the dialog process with a dialog work porcess and starts the update process using an update work process.
    The dialog step containing the COMMIT WORK is considerd as the last dialog step of the transaction and all the update function modules are processed now in the last dialog step by the update work process though they were called earlier during the earlier dialog steps.
    It is necessary to create update FMs to take advantage of this technique. The update FM is created FM by setting the Update moduleradiobutton in the Attributes tab in SE37.
    In a normal FM call, if there are database updates (UPDATE, INSERT, MODIFY, DELETE) than database is commited after the FM processing is over as the FM starts its own Database LUW and ends it too.
    <b>Reward Points</b>
    Regards

  • Call Screen problem in a report

    Hi All,
    I have a report in which I am calling an ALV grid screen 1000. I select some line items and click on execute. On execution in the PAI I have called a function module which has a call screen statement inside it. This should call the screen 100 with tabstrip(This screen is not related to this report. This belongs to some other function group). But when I execute the report instead of calling the screen 100 again the screen 1000 is only being displayed. I have found that the PBO of screen 100 and all the subscreens in it are being called but after that this 100 screen not displayed as mentioned already. Please someone let me know if I am missing something somewhere.
    Thank you,
    Sri.

    Hi Madhu,
    I am calling the screen from PAI of the ALV grid screen. I have debuged and checked. The PBO of the screen and the corresponding subscreens is being called but after that instead of the wanted screen this ALV grid screen is being called. And when I press back button then again PAI of the actual screen is being called.
    When the same FM is called from other classic reports without using ALV grid it is working fine.
    Thanks,
    Sri.

  • Selection screen inside a custom container

    hey guys,
    I have a requirement to display a selection-screen inside  a container,How can we solve this problem?
    Hey guys Help me out.
    Regards,
    Midhun Abraham
    Edited by: Midhun Abraham on Oct 7, 2008 7:08 AM

    you can call a selection screen in sub screen area
    declare selection screen as
    begin of selection-screen 0100 as subscreen.
    end of selection-screen...
    then,
    in flow logic of your module pool screen
    PBO
    call subscreen <sub_area> including sy-repid '0100'.
    " at selection-screen output event is called
    PAI.
    call subscreen <sub_area>.
    "at selection-screen is called

  • Call Screen

    Hi ALL,
    I have a stmt call screen 100 inside a subroutine.On this screen i have a continue button.When i press the continue button i want the stmts below this call screen 100 stmt and all other subroutines to be executed.I dont want to stop as soon as my call screen is executed.
    As this stmt is inside a  subroutine, i cannot place all the other subroutines in the PAI of this screen 100 .
    Pls suggest.

    Hi,
    Use it this way:-
    Say you have for PAI module code:-
    module m_100.
      perform sub1.
      perform sub2.
      perform sub3.
    endmodule.
    form sub1.
      "code
      set screen <screen_number>.
      "code
    endform.
    form sub2.
      "code
    endform.
    form sub3.
      "code
      "code
      leave screen.
    endform.
    This will execute all the code for sub1 and the set screen say 200 and will execute rest code for sub2 and sub3. When statement leave screen is encountered then the control moves to screen 200.
    Hope this solves your problem.
    Thanks & Regards,
    Tarun Gambhir

  • RFC call screen

    Hi All,
      Can we use Call screen or Call transaction in RFC.
    Regards
    Krishna

    Hi,
    As far as I know if an FM(BAPI)  is called from the legecy as RFC it will return you the table that data you can acess.
    as far as call screen is concern inside an FM it is quite possible but during RFC call u can't see the screen.
    call transaction is also possible but dont expect u will get the transaction screen u will get the resultant data.
    Regards

  • What is the diffrence of 'call screen 100' and 'leave to screen 100'

    Thank u

    hi,
    You can insert a screen sequence. This adds another layer to a stack.
    You insert a screen sequence using the CALL SCREEN <nnnn> statement.
    Note: Layers created in this way must be removed afterwards. You can do this by setting the next screen
    statically or dynamically to the initial value (0) an the end of the inserted screen sequence.
    To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
    the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
    In the program, the system constructs a stack. The stack has to be destroyed before the end of the
    program.
    To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
    LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
    further.
    If you use the above statements outside a call chain, the program terminates, and control returns to the
    point from which it was called. You can also terminate a program using the ABAP statement LEAVE
    PROGRAM.
    To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
    the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
    In the program, the system constructs a stack. The stack has to be destroyed before the end of the program.
    To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
    LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
    further.
    To specify the next screen and leave the current screen in a single step, use the LEAVE TO SCREEN <nnnn> statement.
    Hope this helps, DO reward.
    Edited by: Runal Singh on Apr 3, 2008 3:11 PM

  • ALV not getting refreshed when call screen is executed second time

    I have 2 screens 9001 and 9002. In 9001 , I am displaying the fields of a database table in a Table Control. The user has to select some of those fields and click on a button 'Generate ALV'. After clicking , the control navigates to 9002 where I am displaying ALV with data in the selected fields(the other fields remain empty). (using custom container)
    Now there is BACK button in 9002 where i have written LEAVE TO SCREEN  9001. After this if the user again make changes in column selection and click on 'Generate ALV' , then still the old alv data is displayed. (Mind you the structure of alv is same , only the selected fields should show data).
    I am using REFRESH_ALV_DISPLAY also and when i tested this function independently , its working fine (although for interactive alv in the same screen).
    I am making use of <fs> for dynamic internal table and i checked it using breakpoints , during the 2nd time , it contains the correctly updated data so i think the problem lies with alv
    Kindly check this code
    MODULE STATUS_9002 OUTPUT.
      SET PF-STATUS 'ZALV'.
    *  SET TITLEBAR 'xxx'.
      CREATE OBJECT C_CONT
        EXPORTING
          CONTAINER_NAME               = 'CUST_CONT'
      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 OBJ_ALV IS INITIAL.
      CREATE OBJECT OBJ_ALV
        EXPORTING
          I_PARENT           = C_CONT
      CALL METHOD OBJ_ALV->SET_TABLE_FOR_FIRST_DISPLAY
         EXPORTING
           I_STRUCTURE_NAME              = INP_TABLE
         CHANGING
          IT_OUTTAB                      = <itab>
    ELSE.
       CALL METHOD OBJ_ALV->REFRESH_TABLE_DISPLAY
      ENDIF.
    ENDMODULE.                 " STATUS_9002  OUTPUT
    Edited by: amber22 on Sep 16, 2011 6:45 PM

    Amber,
    Something like:
    *&      Module  STATUS_9001  OUTPUT
    MODULE status_9001 OUTPUT.
      SET PF-STATUS 'ST9001'.
    ENDMODULE.                 " STATUS_9001  OUTPUT
    *&      Module  USER_COMMAND_9001  INPUT
    MODULE user_command_9001 INPUT.
      CASE sy-ucomm.
        WHEN 'GEN'.
          SELECT * FROM spfli INTO TABLE gt_outtab.
          CALL SCREEN 9002.
        WHEN 'BACK'.
          LEAVE.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9001  INPUT
    *&      Module  STATUS_9002  OUTPUT
    MODULE status_9002 OUTPUT.
      SET PF-STATUS 'ST9002'.
      IF obj_alv IS INITIAL.
        CREATE OBJECT c_cont
          EXPORTING
            container_name = 'CUST_CONT'.
        CREATE OBJECT obj_alv
          EXPORTING
            i_parent = c_cont.
        CALL METHOD obj_alv->set_table_for_first_display
          EXPORTING
            i_structure_name = 'SPFLI'
          CHANGING
            it_outtab        = gt_outtab.
      ELSE.
        CALL METHOD obj_alv->refresh_table_display.
      ENDIF.
    ENDMODULE.                 " STATUS_9002  OUTPUT
    *&      Module  USER_COMMAND_9002  INPUT
    MODULE user_command_9002 INPUT.
      CASE sy-ucomm.
        WHEN 'BACK'.
          CALL METHOD: obj_alv->free, c_cont->free.
          CLEAR: obj_alv, c_cont.
          CALL METHOD cl_gui_cfw=>flush.
          LEAVE TO SCREEN 9001.
      ENDCASE.
    ENDMODULE.                 " USER_COMMAND_9002  INPUT
    Altough it's not a really nice solution... Why using 2 screens for example? you could use two containers instead...
    Also I would recommand playing with the new salv class for your grids.
    Anyway don't hesitate to give feed-back.
    Kr,
    m.

  • In CL_GUI_SPLITTER_CONTAINER  ALV list  is not show in called screen

    Hello experts,
    i come across a problem while using the class:CL_GUI_SPLITTER_CONTAINER ,
    my codes is as follows:
    data:declarations is as follows:
                 data:gr_spliter     TYPE REF TO cl_gui_splitter_container,
                         gr_container1  TYPE REF TO cl_gui_container,
                         gr_container2  TYPE REF TO cl_gui_container,
                         gr_grid1       TYPE REF TO cl_gui_alv_grid,
                         gr_grid2       TYPE REF TO cl_gui_alv_grid,
    step 0  Fit  table contents:gt_out1 and gt_out2
    step 1:   CREATE OBJECT gr_spliter
                   EXPORTING
                   parent            = cl_gui_container=>screen0
                   ows               = 1
                   columns         = 2
    step 2:  CALL METHOD gr_spliter->get_container
                 EXPORTING
                 row       = 1
                column    = 1
                RECEIVING
                container = gr_container1.
                CALL METHOD gr_spliter->get_container
                 EXPORTING
                 row       = 1
                column    = 2
                RECEIVING
                container = gr_container2.
    step 3 :call screen 100 to show ALV.
    in the screen's PBO ,i show ALV using CL_GUI_ALV_GRID,the codes is:
       CREATE OBJECT gr_grid1
        EXPORTING
          i_parent          = gr_container1
       CREATE OBJECT gr_grid2
        EXPORTING
          i_parent          = gr_container2
      CALL METHOD gr_grid1->set_table_for_first_display
        EXPORTING
          i_structure_name              =  Structure of table Gt_OUT1
        CHANGING
          it_outtab                     = gt_out1
    CALL METHOD gr_grid2>set_table_for_first_display
        EXPORTING
          i_structure_name              =  Structure of table Gt_OUT2
        CHANGING
          it_outtab                     = gt_out2
    But after activing the program ,there is no ALV show in screen 100,I debug the program and find that
    all the above object have been created corredtly.
    if i create a custom contol named 'CONTAINER',and at Step 1 change the parent's value to 'CONTAINER',
    then i could see the ALV whick i hope in screen 100.
    If i create a custom control in screen 100, the size of the alv will be different across different computer,
    is it possible to use CL_GUI_CONTAINER=>screen0 as cl_gui_splitter_container's attribute parent  value???
    and i find that there are 10 attributes named screen0 to screen9 in class CL_GUI_CONTAINER,will you tell me the usage of
    these attributes?
    now i only konw that ,you could set a containers parent value to be CL_GUI_CONTAINER=>screen0,which you do't have to create
    a custom control in your screen ,and the alv will be shown in full screen.and what the other attributes use (screen1,screen2,screen3,screen4 and so on)
    now i am confused with the problem,i am sure any words from you will give me help to this question!
    Hope to receive your advice!
    Best regards!
    yours Carl
    Edited by: lakeandmoon on Aug 27, 2010 11:24 AM

    Dear Carl,
    I mean go to screen painter and place there CUSTOM_AREA (the icon with C letter). In program's PBO create CUSTOM_CONTAINER
    module pbo output.
    if custom_container is initial.
    CREATE OBJECT custom_container
       EXPORTING container_name = 'CUSTOM_AREA'.\
    endif.
    endmodule.
    Then you work only with CUSTOM_CONTAINER (i.e. as parent to SPLITTER_CONTAINER). Using subscreens here doens't really add the value, so you don't need any.
    But how could i stretch the screen and this area to full screen?is it just gragging the screen to full screen and drag the subscreen or the custom control to full screen in screen painter?
    Yes, this is what I mean
    Regards
    Marcin

  • Statement "CALL SCREEN" is not allowed in this form.

    Hi,
    Could anyone identify the short dump.
    Statement "CALL SCREEN" is not allowed in this form.
    There is probably an error in the program
    "SAPLKKBL".
    This program is triggered in the update task. There, the
    following ABAP/4 statements are not allowed:
    -  CALL SCREEN
    -  CALL DIALOG
    -  CALL TRANSACTION
    -  SUBMIT
    Error in
    "POSTING_ILLEGAL_STATEMENT" " "
    "SAPLKKBL" or "LKKBLU01"
    "K_KKB_LIST_DISPLAY"
    Regards
    Manohar S

    Short text
    Statement "CALL SCREEN" is not allowed in this form.
    What happened?
    Error in the ABAP Application Program
    The current ABAP program "SAPLKKBL" had to be terminated because it has
    come across a statement that unfortunately cannot be executed.
    What can you do?
    Note down which actions and inputs caused the error.
    To process the problem further, contact you SAP system
    administrator.
    Using Transaction ST22 for ABAP Dump Analysis, you can look
    at and manage termination messages, and you can also
    keep them for a long time.
    Error analysis
    There is probably an error in the program
    "SAPLKKBL".
    This program is triggered in the update task. There, the
    following ABAP/4 statements are not allowed:
    -  CALL SCREEN
    -  CALL DIALOG
    -  CALL TRANSACTION
    |    -  SUBMIT       
    Information on where terminated
    Termination occurred in the ABAP program "SAPLKKBL" - in "K_KKB_LIST_DISPLAY".
    The main program was "RSM13000 ".
    In the source code you have the termination point in line 441
    of the (Include) program "LKKBLU01".
    |    The program "SAPLKKBL" was started in the update system.    
    This is the dump

  • Problem with Call Screen and Leave Screen !

    Hi,
    I am calling Modal screen (Dialog Pop up screen) from my first screen by 'Leave to Screen 'nbr' ' then once user enter the value in the pop up screen then I haveto display value with TABLE in Final screen as 'Normal screen'  here I am  using LEAVE to SCREEN, but after this call - my new final screen is not displaying as noraml screen it also displaying like 'Modal Screen' Like big pop scrren.!!
    When I tried final CALL by using CALL SCREEN instead of LEAVE screen the final screen with  table is dispalying fine as Normal screen but its returning control to pop-up screen which I dont want.
    I like Screen flow as 1>2>3--->1
    Help me to solve this Problem.
    Regards
    James

    Hi,
    Check the below thread,
    Unable to close Modal dialog box
    1) 1st screen--> 2nd screen --> Use CALL SCREEN.(This is Modal Screen)
    2) 2nd Screen-->(ModalScreen so you need come back) use the above thread
    3) Still on 1st screen--> Use CALL SCREEN --> To 3rd Screen
    4) 3rd Screen back to First Screen -> use LEAVE TO SCREEN First_Screen_NO.
    Cheerz
    Ram

  • Problem with call screen

    Hi everybody, I did work a program with Tx SE38, in the program I call a screen.
    START-OF-SELECTION.
      PERFORM completa_lista.
      CALL SCREEN 0100.
    END-OF-SELECTION.
    The program run very well, but. When the program is in screen 0100 and push the button BACK or button EXIT. Don't return to program that called to screen 0100, always return to the program SAPMSSY0 and then push again the button  BACK or EXIT to return the program that called to screen 0100.
    This is my code in the PAI:
    MODULE user_command_0100 INPUT.
      CASE sy-ucomm.
        WHEN 'EXIT' OR 'BACK'.
          LEAVE TO SCREEN 0.
      ENDCASE.
    ENDMODULE.
    I try with SET SCREEN 0. or LEAVE TO SCREEN 0. But always return to the program SAPMSSY0
    Is there a way to skip the program SAPMSSY0?

    Hi ,
    LEAVE TO SCREEN 0 will work in your case.
    it comes back to the point from where it triggered screen 0100.
    If you want to leave the program and come back to the easy access screen then you have to use LEAVE PROGRAM.
    hope this helps!!
    Regards,
    Soumya Ranjan
    Edited by: Soumya Ranjan on Dec 15, 2010 5:59 AM

  • How to go back to calling screen???

    Hi experts,
    I had modified the Exit MV45AFZZ to display pop up message when we save a sales order.
    Now user after giving all the input in VA01 will go for SAVE button and after which pop up will occur.
    Now my problem is after displaying message it should come to same screen of sales order and with all the input data as user had mentioned.
    Please help as its very urgent for me.
    All the answers will be appreciated.
    Thanks.
    Saurabh.

    hi,
    You insert a screen sequence using the CALL SCREEN <nnnn> statement.
    Note: Layers created in this way must be removed afterwards. You can do this by setting the next screen
    statically or dynamically to the initial value (0) an the end of the inserted screen sequence.
    To interrupt processing of the current screen and branch to a new screen (or sequence of screens), use
    the CALL SCREEN <nnnn> statement. The screen <nnnn> must belong to the same program.
    In the program, the system constructs a stack. The stack has to be destroyed before the end of the
    program.
    To return to the statement following the CALL SCREEN statement, you can use either SET SCREEN 0.
    LEAVE SCREEN. or LEAVE TO SCREEN 0. The screen that called the other screen is then processed
    further.
    If you use the above statements outside a call chain, the program terminates, and control returns to the
    point from which it was called. You can also terminate a program using the ABAP statement LEAVE
    PROGRAM.
    Hope this helps, Do reward.

  • Caller screen Buttons problem Z10STL100-1

    I have Z10STL100-1 after official update Z10STL100-1/10.3.1.1565 having caller screen Buttons problem these are little above not like it's on 10.2 very below position. I security wipe and restart many times still same position of buttons? See pic attached

    Hello,
    Did you check if there are no objects on that index slide that have a fading transition? You should set the transition for every object to 'No transition'. The transition can be found in the Properties dialog, tab Options.
    Lilybiri

Maybe you are looking for