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 AMyou 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 -
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 -
Hi All,
Can we use Call screen or Call transaction in RFC.
Regards
KrishnaHi,
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 PMAmber,
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 AMDear 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 SShort 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
JamesHi,
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 -
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
-
How do i delete all info and macbook before giving it to grandson - (restating?
Got a new MacBook Pro and want to give my grandson old MacBook - how do I delete all info, etc on the od unit? Can I do a reset like I can on my iPod/iPad?
-
Form and Workflow in SharePoint Online vs SharePoint On-Premise
Hi Expert, I have the question about Form and Workflow in SharePoint Online vs ShrePoint On-Premise Current Problem : Customer is implemented Form and Workflow in SharePoint Online but they have a problem some features that didn't work in SharePoint
-
Teradata OBIEE numeric overflow occurred during computation
Hi Guys, I have union of two queries in OBIEE and backend data base is teradata. report and sql generated by query are throwing an error " ][ODBC Teradata Driver][Teradata Database] Numeric overflow occurred during computation" same query ran in tera
-
Is there any demo backend and gateway system SAP provides that we can use with SAP River RDE for developing Fiori applications.
-
How can i save an article to read later?
I have seen a tip that to save an article for reading later, a book icon which appears on the title bar should be long pressed, but the icon does not appear in my title bar at all, for me to be able to save. Please guide me. Thanks.