Call module pool without a transaction
Hi people,
I want to know if there is any way to call a Module Pool program without having a transaction.
I heard about a function, but I can't find.
I need this just to test my program before ask for a transaction.
Tks
I don't think we can do this with our creating transaction code.
Thanks,
Naveen.I
Similar Messages
-
Call Module pool program in report
Dear guys,
i have Module pool program ZSDMODPOOL,which is transaction ZSDORD(ADDON SCREEN),Which creates sales order and shipment.
Now i want, one new screen to display before this ZSDORD Screen. In new screen i will have Table control having Internal table displaying in it.
Now, My requirement is how to pass this New screen internal table datas into Module pool program.
or i can put question as how to call module pool program
from other report program or screen.
Pls give me ideas.
ambichanYou can call the transaction using CALL TRANSACTION, or you can setup a DIALOG and call it using CALL DIALOG. Using CALL DIALOG you will be able to pass values. You create a DIALOG via transation SE35.
Regards,
Rich Heilman -
Call module pool program from report
Hi,
Iam calling module pool program from a report, while passing values to module pool program, one of the field doesn't have parameter id, how to pass value to it. and also please let me know how to call module pool program.
Appreciate your help.
Thanks in advance
jogHi Jog,
Module pool program can be run in background. Most of the BDC's are written on module pool programs and they run in the background.
Also regarrding copying the standard program, if you require to make the changes for every user then instead of copying the program make modification in standard program as copied program are much harder to maintain during support pack implementation or upgrade that modification to standard program.
Reward points if useful.
Regards,
Atish -
How to call module pool from Bussiness event.
Hi SDN,
I have a reqd where ....through a business transaction event..I need to call a module pool screen.
I will also need to pass few internal tables present in the business event to the module pool screen.
Please tell me the steps or a code segment
Regards
Bidyut
Edited by: bidyut dutta on Nov 25, 2008 8:34 AMHi Bidyut,
You mean to say that you would like to call a module pool program in thsi event....?
Can you please elobrate your requirement....
If you need to call a module pool program then you can call that program by using the satement called SUbmit.
Give some condition like
If it is true
Submit the Zmodulepool program.....
Regards,
Kittu -
Call module pool screen from ABAP Webdynpro
Hi All
I designed one screen in normal classical dynpro in SE80 for module pool program. I want to call that screen layout design in webdynpro view layout.
So please help me how can i call that module pool screen from my ABAP webdynproHi
Thank you for your great replay. But Mr Ramakrishnappa and Mr Katrice as your reference i go through that but when i insert the program name and screen number program is end with a run time error saying
dynamic type conflict when assigning reference.
Please refer the below snap shot -
How to call module pool through interactive ALV
Moderator message: do not post in ALL CAPITALS.
Hi all,
I want to create an interactive report in which some parameters on selection-screen when i fill those & press f8 then an alv list is generated from ddic and when user double click on any row then a tcode get call which call a module pool program how can i do so please help me for that
Ketan pande
Abap consultant.
Edited by: Matt on Feb 13, 2009 1:33 PM - Switched to sentence case
Edited by: Matt on Feb 13, 2009 1:34 PMModify this code to add Hot spots or double click action.
This code will dynamically list the data of any DB table.
REPORT yptc_dynamic_alv_table_display .
TABLES: dd02t.
TYPE-POOLS: slis. " ALV Global Types*data declaration for dynamic
* internal table and alv
DATA: l_structure TYPE REF TO data,
l_table TYPE REF TO data,
struc_desc TYPE REF TO cl_abap_structdescr,
lt_layout TYPE slis_layout_alv,
ls_lvc_fieldcatalogue TYPE lvc_s_fcat,
lt_lvc_fieldcatalogue TYPE lvc_t_fcat,
ls_fieldcatalogue TYPE slis_fieldcat_alv,
lt_fieldcatalogue TYPE slis_t_fieldcat_alv,
g_repid LIKE sy-repid,
g_list_top_of_page TYPE slis_t_listheader,
g_events TYPE slis_t_event,
g_events_ex TYPE slis_t_event_exit.
*field symbols declaration
FIELD-SYMBOLS :
<it_table> TYPE STANDARD TABLE,
<dyn_str> TYPE ANY,
<str_comp> TYPE abap_compdescr.
*declarations for grid title
DATA : t1(30),
t2(10),
t3(50).
*selection screen declaration for table input
PARAMETERS : p_table LIKE dd02l-tabname.
*initialization event
INITIALIZATION.
*start of selection event
START-OF-SELECTION.
*texts for grid title
t1 = 'Dynamic ALV display for table'.
t2 = p_table. CONCATENATE t1 t2 INTO t3 SEPARATED BY space.
* dynamic creation of a structure
CREATE DATA l_structure TYPE (p_table).
ASSIGN l_structure->* TO <dyn_str>.
* fields structure
struc_desc ?= cl_abap_typedescr=>describe_by_data( <dyn_str> ).
LOOP AT struc_desc->components ASSIGNING <str_comp>.
* build fieldcatalog
ls_lvc_fieldcatalogue-fieldname = <str_comp>-name.
ls_lvc_fieldcatalogue-ref_table = p_table.
APPEND ls_lvc_fieldcatalogue TO lt_lvc_fieldcatalogue.
* build fieldcatalog
ls_fieldcatalogue-fieldname = <str_comp>-name.
ls_fieldcatalogue-ref_tabname = p_table.
APPEND ls_fieldcatalogue TO lt_fieldcatalogue.
ENDLOOP.
* create internal table dynamic
CALL METHOD cl_alv_table_create=>create_dynamic_table
EXPORTING
it_fieldcatalog = lt_lvc_fieldcatalogue
IMPORTING
ep_table = l_table.
ASSIGN l_table->* TO <it_table>.
* read data from the table selected.
SELECT * FROM (p_table)
INTO CORRESPONDING FIELDS OF TABLE <it_table>.
* alv layout
lt_layout-zebra = 'X'.
lt_layout-colwidth_optimize = 'X'.
lt_layout-window_titlebar = t3.
* Events
PERFORM eventtab_build USING g_events[]
g_events_ex[].
g_repid = sy-repid.
*alv output
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = g_repid
is_layout = lt_layout
it_fieldcat = lt_fieldcatalogue
it_events = g_events[]
* it_excluding = g_exclude
TABLES
t_outtab = <it_table>
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc NE 0.
* MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
* WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
* FORM eventtab_build *
FORM eventtab_build
USING e03_lt_events TYPE slis_t_event
e03_lt_events_ex TYPE slis_t_event_exit.
CONSTANTS:
gc_formname_top_of_page TYPE slis_formname VALUE 'TOP_OF_PAGE',
gc_formname_user_command TYPE slis_formname VALUE 'USER_COMMAND'.
DATA: ls_event TYPE slis_alv_event,
ls_event_exit LIKE LINE OF e03_lt_events_ex.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
i_list_type = 1
IMPORTING
et_events = e03_lt_events.
READ TABLE e03_lt_events
WITH KEY name = slis_ev_top_of_page
INTO ls_event.
IF sy-subrc = 0.
MOVE gc_formname_top_of_page TO ls_event-form.
APPEND ls_event TO e03_lt_events.
ENDIF.
ENDFORM. " build_events_table
* FORM top_of_page *
FORM top_of_page.
DATA: ls_line TYPE slis_listheader.
SELECT SINGLE * FROM dd02t
WHERE tabname = p_table
AND ddlanguage = sy-langu.
CLEAR g_list_top_of_page[].
CLEAR ls_line.
ls_line-typ = 'H'.
CONCATENATE p_table '-' dd02t-ddtext INTO ls_line-info
SEPARATED BY space.
* ls_line-info = p_table.
APPEND ls_line TO g_list_top_of_page.
PERFORM build_sub_headings
USING g_list_top_of_page.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = g_list_top_of_page[].
ENDFORM. " top_of_page
* FORM build_sub_headings *
* --> E07_TOP_OF_PAGE *
FORM build_sub_headings
USING e07_top_of_page TYPE slis_t_listheader.
DATA: ls_line TYPE slis_listheader.
CLEAR ls_line.
ls_line-typ = 'S'.
ls_line-key = 'Run Info'.
CONCATENATE sy-sysid sy-uname sy-mandt
INTO ls_line-info
SEPARATED BY space.
APPEND ls_line TO e07_top_of_page.
ENDFORM. "build_sub_headings -
How to have a search help in module pool without using Process on value req
Can someone please tell me what r the ways if any to have F4 help in the module pool screen
with out using POV ?Hi,
They are two ways to define search help for an object...
BY using POV
or
go to screen Layout and double click on the field you want F4 help and Pass the Search help math code for feild at the
place of Search_help field aand also you can add parameter-id at this place to provide search help.
go to screen Layout -->double click on the field you want F4 help
-->Pass the Search help math code for feild at the place of Search_help
save and activate..
reagrds,
Prabhudas -
Hi,
I need my type1 (caller program) calls module pool (called program). Should I use call dialog or call transaction with return?
I need to export internal table to the module pool program and need to return from module pool with import table and control go back to type1 from module pool.
If call transaction I need to create tcode for it.
Can call dialog return back to type1(caller program)
Thank YouHi,
u can use call transaction,there will not be any problem.
use export and import memory fot internal table.
Regards,
Sonika -
HOw to find Report program associated module pool program?
HOw to find Report program associated module pool program?
I.e
Me21n is the tcode.I want to find screens related to this tcode.
Associated report program is RM_MEPO_GUI.(It has no screens hence it is a report program).
(if module program is attached to tcode,i can easily find entries in d020s)
Here report program is calling a module pool program SAPLMEGUI(Has screens).
If i give the Tcode Me21n,i want to list out all the screens of it..
Can u give any suggestion....Hi Sampath.
Manually i can see it (by seeing in system-status)..
programmatically i want to know..
for ex:if u take Tcode:Va01
we can get program (dialog) and tcode in Tstc table .
If we know the program name(dialog), we can find program and screens in d020s table.
Va01 is atatched to a module pool program..No problem to find screens..
In case of me21n,
It is atatched to report program(calling module pool program)..
Here i could not be able to get the screens ..
I think u undrstood my problem.. -
Stack over after Calling a module pool N times
Hi Experts,
There is a module pool 'A' which exports to memory a table and executes a CALL TRANSACTION 'B' (another module pool).
After saving program B, I must execute it again 'n times' without returning to caller program 'A', until I choose BACK.
So I wrote, WHEN 'SAVE'...CALL TRANSACTION 'B', in order to save-call itself-save-call itself-etc.
The problem is that after calling itself 5 times, the stack is over and it leaves program.
I tried using LEAVE TO CURRENT TRANSACTION, but it doesn't works because when I save B it goes out from program to SAP menu, instead of recalling itself.
Is there any way of doing this or deleting the stack?
Please help me out in this.
Thanks in Advance,
Lilian.Hi,
Instead of using the Call screen NNNN, use the Leave to scree NNN, then the stock will not overflow
Regards
Sudheer -
Calling a report from Module Pool
While calling a report from the module pool I'm not able to display th alv. The skeleton of the ALV is coming. But the data and headings are also not displayed.
But where as calling the same program from a report it is coming properly. can somebody please guide me where did I go wrong?MODULE user_command_1001 INPUT.
w_ok_code = ok_code.
CLEAR ok_code.
CASE w_ok_code.
WHEN 'BACK'.
LEAVE PROGRAM .
WHEN 'CREATE'.
CALL TRANSACTION 'Z_FIRST_TIME'.
WHEN 'SYNC'.
CALL TRANSACTION 'Z_SYNC'.
WHEN 'APPROVE'.
SUBMIT zds_xx_approval_status WITH po_aname EQ sy-uname AND RETURN.
WHEN 'OVERVIEW'.
PERFORM show_all_reqids.
ENDCASE.
ENDMODULE. -
Dialog Programming(module pool):call a screen to subscreen area.
Hi experts,
I want to call a screen created in the function group into my
subscreen area of current screen of main program.
I have done the below way :
1. Created a screen 100 in the module pool program z_bpmodule.
2.created a subscreen area SUB in screen 100.
3. I hav created function group :zfungroup
and a screen 300,a function module Z_EXPORT_FUN for exporting the data to the screen 300 from report.
Now my prog is lik below :
PROGRAM Z_SUBSCREEN1.
DATA : ZMATNR LIKE MARA-MATNR.
DATA : DYNNR LIKE SY-DYNNR .
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'TITLE'.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module EXPORT_DATA OUTPUT
text
MODULE EXPORT_DATA OUTPUT.
CALL FUNCTION 'Z_EXPORT_FUN'
EXPORTING Z_INPUT = ZMATNR.
ENDMODULE. " EXPORT_DATA OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE SY-UCOMM.
WHEN 'EXP'.
DYNNR = '0300'.
*ENDCASE.
ENDMODULE. " USER_COMMAND_0100 INPUT
and the flow logic is lik this :
PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
MODULE EXPORT_DATA.
CALL SUBSCREEN SUB INCLUDING SY-REPID ' 0300'.
PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
CALL SUBSCREEN SUB.
Now the main problem is i am not able to call the screen from function group to subscreen area...
kindly provide the solution.....
Thanks a lot in adv ....
Brahma.I am just getting the main screen and the subscreen is not at all displaying .....
but when i perform the PAI .. I am getting the dump ..
Short text
Dynpro does not exist
What happened?
Error in the ABAP Application Program
The current ABAP program "Z_SUBSCREEN1" 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
The system attempted to use dynpro 0000 in program "Z_TX1".
This dynpro does not exist.
How to correct the error
Probably the only way to eliminate the error is to correct the program.
If the error occures in a non-modified SAP program, you may be able to
find an interim solution in an SAP Note.
If you have access to SAP Notes, carry out a search with the following
keywords:
"DYNPRO_NOT_FOUND" " "
"Z_SUBSCREEN1" or "Z_SUBSCREEN1"
"EXPORT_DATA"
If you cannot solve the problem yourself and want to send an error
notification to SAP, include the following information:
1. The description of the current problem (short dump)
To save the description, choose "System->List->Save->Local File
(Unconverted)".
2. Corresponding system log
Display the system log by calling transaction SM21.
Restrict the time interval to 10 minutes before and five minutes
after the short dump. Then choose "System->List->Save->Local File
(Unconverted)".
3. If the problem occurs in a problem of your own or a modified SAP
program: The source code of the program
In the editor, choose "Utilities->More
Utilities->Upload/Download->Download".
4. Details about the conditions under which the error occurred or which
actions and input led to the error.
hope i have given the full information.
Thanks a lot. -
'Save As Variant' for Module Pool Program - FM to be called?
I have a dialog program, i want to activate the 'Save As variant' when i click on save on the selection screen of the transaction i created for the dialog program. What funtionality should be called or written for the PF-STATUS to implement the functionality.
hi Dagny,
You can't have variants for module pool. It is possible only for selection screen.
You have following alternatives :-
1. Create a report with same selection screen as you have now in module pool.
And then make a call screen to your intial module pool.
In this way you can all the advantage of variants as well as module pool.
OR
2. Create a transaction variant using transaction SHDO.
Hope it is helpful.
and do search the form , it is already answered before.
regards
venkat -
Hiding navigation area from transaction screen--module pool
Using module pool, i am displaying a transaction screen at the click of a button.
This transaction screen also has a small navigation screen appearing on the left.I want to hide this navigation area.
How do I do it.Hi,
Usually this is done by using the DOCKING container. You can call the method of SET_VISIBLE of the class CL_GUI_DOCKING_CONTAINER.
Regards,
Ravi
Note : Please mark the helpful answers -
Getting error while calling a subscreen in module pool program
HI ALL,
ACTUALLY I'M GETTING A SYNTAX ERROR WHILE I'M CALLING A SUBSCREEN
IN A MODULE POOL PROGRAM IN PAI MODULE
THE ERROR IS AS FOLLOW
"." or "ID ... FIELD ..." expected after "SUBSCREEN"
CAN ANYBODY PLS HELP ME.
REGARDS
ANDREWSHI MAX ,
THE CODE IS AS FOLLOWS:
*& Report ZTABSTRIP_PS
REPORT ZTABSTRIP_PS.
type-pools : vrm.
DATA:number1 type I,
number2 type I,
result type I,
ok_code like SY-UCOMM,
employee1 type c,
ABAP(19) type c,
SALES(19) type c,
HR(19) type c,
MM(19) type c,
employee type c.
emp type c.
CONTROLS tabstrip TYPE TABSTRIP.
CALL SCREEN 100.
call screen 110.
call screen 130.
call screen 120.
call screen 140.
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS'.
SET TITLEBAR 'TITLE'.
CASE OK_CODE.
WHEN 'BACK' or 'EXIT' or 'DELETE'.
leave program.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
WHEN 'BACK'.
leave PROGRAM.
when 'EXIT' or 'DELETE'.
leave to screen 0.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
endcase.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
CASE OK_CODE.
when 'TAB1'.
tabstrip-activetab = 'TAB1'.
when 'TAB2'.
tabstrip-activetab = 'TAB2'.
result = number1 + number2.
when 'TAB3'.
tabstrip-activetab = 'TAB3'.
SET TITLEBAR 'TITLE1'.
when 'TAB4'.
tabstrip-activetab = 'TAB4'.
if employee = 'NEERAJ'.
ABAP = 'NEERAJ'.
elseif employee = 'UMESH'.
SALES = 'UMESH'.
ELSEIF employee = 'RAM'.
HR = 'RAM'.
elseif employee = 'ANIL'.
MM = 'ANIL'.
endif.
employee = employee.
WHEN 'BACK'.
leave PROGRAM.
when 'EXIT' or 'DELETE'.
leave to screen 0.
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
ENDCASE.
WHEN 'BACK' or 'EXIT' or 'DELETE'.
leave program .
WHEN 'SAVE'.
MESSAGE 'please choose a valid function' TYPE 'I'.
endcase.
ENDMODULE. " USER_COMMAND_0100 INPUT
*& Module STATUS_0110 OUTPUT
text
**MODULE STATUS_0110 OUTPUT.
SET PF-STATUS 'STATUS1'.
SET TITLEBAR 'xxx'.
**case ok_code.
**WHEN 'back' or 'exit' or 'delete'.
leave PROGRAM.
WHEN 'save'.
MESSAGE 'please choose a valid function ' TYPE 'W'.
ENDCASE.
**ENDMODULE. " STATUS_0110 OUTPUT
*& Module USER_COMMAND_0110 INPUT
text
MODULE USER_COMMAND_0110 INPUT.
number1 = number1.
number2 = number2.
CLEAR NUMBER1.
CLEAR NUMBER2.
REFRESH NUMBER1.
REFRESH NUMBER2.
ENDMODULE. " USER_COMMAND_0110 INPUT
*& Module STATUS_0130 OUTPUT
text
MODULE STATUS_0130 OUTPUT.
SET PF-STATUS 'STATUS2'.
SET TITLEBAR 'xxx'.
RESULT = number1 + number2.
*CLEAR RESULT.
REFRESH RESULT.
ENDMODULE. " STATUS_0130 OUTPUT
*& Module STATUS_0120 OUTPUT
text
MODULE STATUS_0120 OUTPUT.
SET PF-STATUS 'xxxxxxxx'.
SET TITLEBAR 'xxx'.
DATA: l_name TYPE vrm_id,
li_list TYPE vrm_values,
l_value LIKE LINE OF li_list.
l_value-key = '1'.
l_value-text = 'ANIL'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '2'.
l_value-text = 'RAM'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '3'.
l_value-text = 'NEERAJ'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_value-key = '4'.
l_value-text = 'UMESH'.
APPEND l_value TO li_list.
CLEAR l_value.
CLEAR li_list.
l_name = 'employee'.
CALL FUNCTION 'VRM_SET_VALUES'
EXPORTING
ID = l_name
VALUES = li_list
EXCEPTIONS
ID_ILLEGAL_NAME = 1
OTHERS = 2
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CLEAR li_list.
ENDMODULE. " STATUS_0120 OUTPUT
*& Module USER_COMMAND_0120 INPUT
text
MODULE USER_COMMAND_0120 INPUT.
INCLUDING sy-repid '140'.
employee1 = employee.
IF employee1 CS 'NEERAJ'.
call SUBSCREEN sub4 .
ABAP = 'NEERAJ'.
CLEAR ABAP.
ELSEIF employee1 CS 'UMESH'.
call SUBSCREEN sub4 .
SALES = 'UMESH'.
CLEAR SALES.
elseif employee1 CS 'RAM'.
call SUBSCREEN sub4 .
HR = 'RAM'.
CLEAR HR.
ELSEIF employee1 CS 'ANIL'.
call SUBSCREEN sub4 .
MM = 'ANIL'.
CLEAR MM.
endif.
ENDMODULE. " USER_COMMAND_0120 INPUT
*& Module STATUS_0140 OUTPUT
text
MODULE STATUS_0140 OUTPUT.
*CASE OK_CODE.
WHEN employee1 'NEERAJ'.
screen-active = 1.
ABAP = 'NEERAJ'.
WHEN employee1 = 'UMESH'.
screen-active = 1.
SALES = 'UMESH'.
WHEN employee1 = 'RAM'.
screen-active = 1.
HR = 'RAM'.
WHEN employee1 = 'ANIL'.
screen-active = 1.
MM = 'ANIL'.
endif.
*ENDCASE.
ENDMODULE. " STATUS_0140 OUTPUT
Maybe you are looking for
-
Hi How to write a lookup in Start Routine to calling customer table. we are maintains values in custom table. i am Regds,DS
-
Speeding up creation of network servers
Hi every one, I've seen so many requests in this form on how to handle multiple clients and socket programming in general. Most of us face this requirement in our projects and start from basic ServerSocket and Sockets every time we build servers. On
-
Select * into table_name in oracle
Hi, I would like to create a table in Oracle much like the way I do it in Sybase SELECT * INTO mytable FROM t WHERE 1 = 2 gothanks, Ashok
-
Restore X201 from Rescue and Recovery file says it will take 6 days complete
Hi, I had a malware issue that messed up my firewall (McAfee) and so I decided to restore from a RnR file. The file is located on my home network drive so I connnected via ethernet cable and initiated the full restore of the file. I'm running an X2
-
Portal Performance - Potential Solutions?
In an Article about Performance testing found on the SDN https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/969fded9-0901-0010-77b6-a05d645ca05c It talks about the J2EE engine being configured with multiple J2EE server instances