Debugging module pool program
hi guys,
how to debug module pool program.
I have written one user exit in this module pool program, i want to check the value.i don't know the screen number and program name where it is going to effect'?
actually i am validating in this userexit...
anybody knows this....
thanks in advance,
Yad
Hi Yad,
There is a very convenient way of debugging anything in SAP.In the SAP easy access screen choose the icon which denotes the 'Generated a Shortcut on the Desktop'.In the resulting window that appears choose the part where the 'Application' Details are present.Change the TYPE to SYSTEM COMMAND and enter the COMMAND as /H and give some title for e.g 'MYDEBUGGER'.Click on O.K and a shortcut will be placed on your desktop with the title that you have given.Anyplace and anywhere on the SAP screen if you wish to debug just drag the shortcut from ur desktop on to the screen.This is very helpful and would help u to understand the debugging process.
As far as your present scenario is considered put a breakpoint in the user-exit.If your user-exit is getting triggered then the breakpoint will automatically put you into the debugging screen.There is always a way to debug anything.Hope this helps.
Cheers
Nishanth
Similar Messages
-
How to debug module pool program
Hi everybody,
How to debug module pool program ,please send any material for module pool programming .
Thanks & Regards,
Siddivinesh.Jogu
[email protected]Hi
Check the below link:
http://wiki.ittoolbox.com/index.php/FAQ:What_is_module_pool_program_in_abap%3F
http://help.sap.com/saphelp_46c/helpdata/en/35/26b1aaafab52b9e10000009b38f974/content.htm
http://sap.mis.cmich.edu/sap-abap/abap09/sld011.htm
http://sap.mis.cmich.edu/sap-abap/abap09/index.htm
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
http://help.sap.com/saphelp_webas630/helpdata/en/9f/db9cdc35c111d1829f0000e829fbfe/content.htm
http://www.sapdevelopment.co.uk/dialog/dialoghome.htm
http://www.sap-img.com/
http://help.sap.com/saphelp_46c/helpdata/en/08/bef2dadb5311d1ad10080009b0fb56/content.htm
http://www.sapgenie.com/links/abap.htm
http://help.sap.com/saphelp_nw04/helpdata/en/c9/5472fc787f11d194c90000e8353423/frameset.htm
You can also check the transaction ABAPDOCU which gives you lot of sample programs.
Also you can see the below examples...
Go to se38 and give demodynpro and press F4.
YOu will get a list of demo module pool programs.
One more T-Code is ABAPDOCU.
YOu can find more examples there.
See the prgrams:
DEMO_DYNPRO_TABLE_CONTROL_1 Table Control with LOOP Statement
DEMO_DYNPRO_TABLE_CONTROL_2 Table Control with LOOP AT ITAB
http://www.geocities.com/ZSAPcHAT
http://www.allsaplinks.com/files/using_table_in_screen.pdf
Debugging
Refer to this thread
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
Debugging
Check these documents.
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_nw04/helpdata/en/5a/4ed93f130f9215e10000000a155106/frameset.htm
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
ABAP Debugging
http://www.saplinks.net/index.php?option=com_content&task=view&id=24&Itemid=34
Look at the SAP help link below
http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
Regards
Anji -
Debugging a Module Pool Program(Object Oriented ABAP)
Hello Experts,
Could you please advise me on an efficient debugging technoque of Module Pool Program which is based on Object Oriented ABAP?Hi
Debugging Module pool program using ABAP objects is same as debugging any other report/module pool program.
Click on the Create shortcut icon on the toolbar.
In the popup window choose "System command" and in the command enter "/h"
A shortcut on the desktop would be created
Drag and drop the shortcut to the modal window to set debugging on.
Approach 2:
Create a txt file on the desktop with the following lines:
[FUNCTION]
Command=/H
Title=Debugger
Type=SystemCommandDrag and drop this file to the modal window to set debugging on.
How do I switch between the Classic and New Debugger
From within the ABAP workbench, select the Utilities->Settings Menu
Select the ABAP Editor Tab
Select the Debugging tab within the ABAP Editor Tab
Select the Classic Debugger or New Debugger radio button
Refer to this thread
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
Debugging
Check these documents.
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_nw04/helpdata/en/5a/4ed93f130f9215e10000000a155106/frameset.htm
http://help.sap.com/saphelp_47x200/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://www.cba.nau.edu/haney-j/CIS497/Assignments/Debugging.doc
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/84/1f624f4505144199e3d570cf7a9225/frameset.htm
http://help.sap.com/saphelp_bw30b/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/b3/d322540c3beb4ba53795784eebb680/frameset.htm
ABAP Debugging
http://www.saplinks.net/index.php?option=com_content&task=view&id=24&Itemid=34
Look at the SAP help link below
http://help.sap.com/saphelp_nw2004s/helpdata/en/c6/617ca9e68c11d2b2ab080009b43351/content.htm
Reward points if useful
Regards
Anji -
Hi Friends..
I am working on a module pool program where I am using Z_BAPI_ADDREMPAU_CREATE and Z_BAPI_ADDREMPAU_CHANGE inside my Zmodule program. I have copied this these BAPIs from Standard BAPI. The reason I created this ZBAPIs because I have created a new fields on the screen in which when I press SAVE button ..these extra fields should also saved.
I am facing a different problem when I am debugging each line ..it is saving into database table( pa0006). But when I press SAVE ..it is going into short dump. I could not understand why this problem is coming. Either it is giving this dump problem or the BAPI is returning a complex application error has occurred
The DUMP is :- Incorrect internal format of ABAP Program SAPLHRMM
Correct the error:- Try regenerating the program SAPLHRMM
Please help.Hi Ravi,
This is the code in my ZFm.
I am calling bapi_addrempua_change in my ZFM first and then moving extra fields to p0006.
please have a look.
'BAPI_ADDREMPAU_CHANGE'
EXPORTING
EMPLOYEENUMBER = EMPLOYEENUMBER
SUBTYPE = SUBTYPE
OBJECTID = OBJECTID
LOCKINDICATOR = LOCKINDICATOR
VALIDITYBEGIN = VALIDITYBEGIN
VALIDITYEND = VALIDITYEND
RECORDNUMBER = RECORDNUMBER
CONAME = CONAME
STREETANDHOUSENO = STREETANDHOUSENO
CITY = CITY
SCNDADDRESSLINE = SCNDADDRESSLINE
HOUSENUMBER = HOUSENUMBER
APARTMENTID = APARTMENTID
POSTALCODECITY = POSTALCODECITY
DISTRICT = DISTRICT
STATE = STATE
COUNTRY = COUNTRY
TELEPHONENUMBER = TELEPHONENUMBER
DISTANCEINKM = DISTANCEINKM
DISTANCEINKM1 = DISTANCEINKM1
COMPANYOWNEDAPT = COMPANYOWNEDAPT
BUSROUTE = BUSROUTE
NOCOMMIT =
IMPORTING
RETURN = RETURN.
Telephone Number
P0006-ZZCN_CODE_TEL = TELEPHONECOUNTRYCODE.
P0006-ZZAREA_CODE_TEL = TELEPHONEAREACODE.
Mobile Number
P0006-ZZCN_CODE_MOB = MOBILECODE.
P0006-ZZAREA_CODE_MOB = MOBAREACODE.
P0006-ZZMOB_NO = MOBILE.
Fax Number
P0006-ZZCN_CODE_FAX = FAXCODE.
P0006-ZZAREA_CODE_FAX = FAXAREACODE.
P0006-ZZFAXNR = FAX.
Email Address
P0006-ZZSMTP_ADDR = EMAILADDRESS.
Location.
P0006-ZZPLOC = LOCATION.
Location description
P0006-ZZPLOCDESC = LOCATIONDESC. -
Strange problem in module pool programming
Hi all,
we have a module pool program which consists of screen 100 and 200 and 3 sub-screens 201,202 and 203.the problem is when we double click on any field we get a pop up message which should appear only when we press the 'SAVE' button for which ok_code is 'CHNG'.I have debugged the program for screen 100 pbo,pai,200 pbo but the value of ok_code is not equal to 'CHNG' then it takes me to screen 200 and when i double click then popup appears and and in 200 PAI the value of ok_code had already got changed to 'CHNG' without entering the change logic and I have not even pressed the SAVE button which has 'CHNG' code associated with it.Can any one help me solve this problem.I wish I could give a better explanation.
Thanks and Regards,
SangramHi,
This is because the Shortcut key assigned to SAVE button in PF-STATUS is "F2". F2 is for Double Click. Assign some other Function Key to SAVE or any Button. Try to avoid assigning F2 key.
This would solve the problem.
Best regards,
Prashant
PS : Please reward all helpful answers ! -
Checkbox issue in module pool program
Hi all,
I have a small issue in a module pool program using checkboxes. The requirement is that my basic list should contain the data with checkboxes and as per the selection by the user, the selected records should appear in the next screen (secondary list). But after selection, all the records barring the last record is appearing in my secondary list. Below are the screenshots of my program:
These are the global variables I declared:
The layout for the basic list is as shown. The function code is cbox for checkbox.
The flow logic :
The code for user-command:
Now on executing the program,
As you can see, sales orders 4970,4972,4974 and 4975 are selected. So after clicking NEXT, in the secondary list , the data for these selected sales orders from VBAP table should come up. But instead, the records from 4970, 4972 and 4974 are displayed except the last sales order which is 4975.
This is happening for all the records. The last selected sales order is not getting selected. Why is it so?
Thanks.
ManishHi Ali,
I have modified the code but there are still a couple of things which are confusing me. In the below screenshot you can see the modified version of the code:
Now to see what is going wrong, I tried to debug the code. I placed the breakpoint on 'NEXT' as shown. Then I selected the following sales orders and pressed NEXT.
In the debugger, IT_VBAK1 correctly holds the 2 selected values:
IT_VBAP displays the values correctly as well.
Now, this is where the issue is. On clicking the BACK button and selecting another sales order (4974):
IT_VBAK1 holds the additional sales order 4974 along with the previous ones as well:
IT_VBAP also displays the values accordingly as per the debugger:
But in the table control, the sales order 4974 is not displayed. Only the initial sales orders are displayed.
1) There is nothing wrong with the code as the debugger shows the records are held and displayed correctly by the internal tables. So what could be the reason for the data not to be displayed correctly in the table control? I also tried refreshing IT_VBAP after the BACK button, but still it isnt working.
2) Also, another thing I've seen that is after clicking the BACK button, when I select the sales orders, only data from 2 sales orders are displayed in the secondary list.
For example, if I select any number of sales orders and press NEXT, then all the data are displayed correctly in the secondary list. Once I click the BACK button and deselect all of them and then I checkbox 3 sales orders (more than 2), then only the records for 2 sales orders are displayed, not the 3rd one. Why is this happening?
Regards
Manish. -
IS it Possiblity of BDC in Module pool programming
Hi All,
i have design 2 screens with module pool program.in one screen some input fields are there,once enter input and press buttoon,it will go to 2nd screen in this data is displayed in table control .once selected some rows in table control, that rows are captured(selected rows are storing in serperate internal table), now once he selected some rows and press save button, it should do BDC for VF21 transaction.
It means in 2nd screen of PAI module some function code(save) is executed,at that point BDC code is written.
Is it possible to handle the BDC in 2 nd screen of PAI Module.
If we write code in 2nd scren of PAI module through some function code,again when PBO of 2nd scren is loaded,it will refresh table control but not go to Do BDC forVF21 transaction.
so How can we handle this?
Useful Answers will be rewarded
RegardsHi,
It is absolutely possible to perform a BDC operation in a module pool program irrespective any screen you are.
In the PAI, after capturing the appropriate ok_code (sy-ucomm), you branch to the SAVE option. There you call out a subrotuine. say PERFORM bdc_save_VF21.
Inside this subroutine write your logic. What happens is the transaction VF21 gets updated with your bdc code with the help of CALL TRANSACTION. Check out in debugging.
Also you can see by making the mode in call transaction to All screen mode 'A'.
Please let me know if you can succeed in this.
Award me if this is helpful to you!
If you require further help, please send me your mail id.. i'll send some code to you.
Regards,
Ananth
Edited by: Anantharamakrishnan Venkatesan on Jan 9, 2008 5:31 PM -
Reusing Standard Classes for Module pool Programming using Abap Objects
Hi.,
I debugged the ME21n transaction and found a number of classes such as
CL_BASIC_MODEL_VIEW_MM
CL_GENERIC_MODEL_VIEW_MM
CL_GENERIC_VALUE_MODEL_MM
CL_MODEL_CONTAINER_MM
CL_MODEL_CONTROL_VIEW_MM
CL_MODEL_VIEW_MM
CL_TABLE_MODEL_MM
CL_TABLE_MODEL_TREE_VIEW_MM
CL_VALUE_MODEL_MM
CL_VALUE_MODEL_VIEW_MM
CL_BASIC_MODEL_VIEW_MM
CL_COMPOSITE_SCREEN_VIEW_M
CL_CUSTOM_CONTROL_VIEW_MM
CL_EXPAND_BUTTON_VIEW_MM
CL_EXPAND_VIEW_MM
CL_FOREIGN_APPLICATION_VIE
CL_GENERIC_MODEL_VIEW_MM
CL_GRID_VIEW_MM
CL_MODEL_CONTROL_VIEW_MM
CL_MODEL_VIEW_MM
CL_SCREEN_VIEW_MM
CL_SETUPVIEW_BUILDER_MM
CL_SIMPLE_TREE_VIEW_MM
CL_TABLE_MODEL_TREE_VIEW_M
CL_TABLE_VIEW_CONTAINER_MM
CL_TABLE_VIEW_MM
CL_TABSTRIP_VIEW_MM
CL_TC_BUTTON_VIEW_MM
CL_TC_ITEM_VIEW_MM
CL_TOGGLE_VIEW_MM
CL_VALUE_MODEL_VIEW_MM
CL_DEFAULT_CONTROLLER_MM
CL_CONTROLLER_MM
CL_ATP_CONTROLLER_MM
CL_DRAG_DROP_CONTROLLER_MM ..
How we can reuse these classes to build a custom module pool program which supports MVC architecture as used in enjoy SAP transactions .I am very much confused from where to start .
Guide me on this.I want to create a simple module pool program with Subscreens, Table Controls and Tabstrips ..
Regards.,
S.SivakumarHave you got any solution on this.
because i want to use CL_GRID_VIEW_MM->handle_on_data_changed for one of my development related to ME51N. -
How to degub the module pool program
Hi friends,
could anyone tell me "How to degub the module pool program"...!!
Thanks in advance..!!Hi
Debugging of module pool is same as reports, use /h or put breakpoint
but u shud know what u want to check
there are generally two event used in module pool
PBO
This event is used before displaying the screen,It is used to clear fields table, show table control, tabstrip and most important conditionally modify the scrren .
PAI
is used to validate the fields which are entered on the screen with database values and then fetch records from table.
i mean all values to make available in internal table
now u would be sure which part u want to debug.
Rewards if helpful.............. -
Uploding sub screens in module pool programs
HI,
Can any one help in uploading sub screens in module pool program .
Regards,
Mahendra.Hi
Debugging of module pool is same as reports, use /h or put breakpoint
but u shud know what u want to check
there are generally two event used in module pool
PBO
This event is used before displaying the screen,It is used to clear fields table, show table control, tabstrip and most important conditionally modify the scrren .
PAI
is used to validate the fields which are entered on the screen with database values and then fetch records from table.
i mean all values to make available in internal table
now u would be sure which part u want to debug.
<REMOVED BY MODERATOR>
Regards,
Chandru
Edited by: Alvaro Tejada Galindo on Feb 19, 2008 6:19 PM -
How to delete the row in table control with respect to one field in module pool programming?
Hi,
Can I know the way to delete the row in table control with respect to one field in module pool programming
Regards
Darshan MSHI,
I want to delete the row after the display of table control. I have created push button as delete row. If I click on this push button, the selected row should get deleted.
I have written this code,
module USER_COMMAND_9000 input.
DATA OK_CODE TYPE SY-UCOMM.
OK_CODE = SY-UCOMM.
CASE OK_CODE.
WHEN 'DELETE'.
LOOP AT lt_source INTO ls_source WHERE mark = 'X'.
APPEND LS_SOURCE TO LT_RESTORE.
DELETE TABLE LT_SOURCE FROM LS_SOURCE.
SOURCE-LINES = SOURCE-LINES - 1.
ENDLOOP.
But I'm unable to delete the selected rows, It is getting deleted the last rows eventhough I select the other row.
So I thought of doing with respect to the field. -
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 -
Can we use Initilization event in module pool program?
Hi All,
Can we use Initialization event in module pool program? If not why?
Thanks In Advance!!!!!!!!!The runtime environment creates the INITIALIZATION event and calls the corresponding event block (if it has been defined in the ABAP program).
http://help.sap.com/saphelp_nw70/helpdata/EN/fc/eb2d67358411d1829f0000e829fbfe/content.htm
SEE THE ABOVE LINK...THINK IT WILL SOLVE ALL YOUR DOUBTS
REGARDS
RACHEL -
Use of "Pool Table(s)" in Module Pool Program
Hi,
I often see/hear that Pool tables play an important role in Module Pool Programs.
anybody please explain me how Pool tables are used in Module Pools?? => Did you look for any documentation?
if possible with code snippets. =>NO.
Thanks,
Kranthi.
Edited by: kishan P on Nov 14, 2010 7:23 PMHi,
I often see/hear that Pool tables play an important role in Module Pool Programs.
anybody please explain me how Pool tables are used in Module Pools?? => Did you look for any documentation?
if possible with code snippets. =>NO.
Thanks,
Kranthi.
Edited by: kishan P on Nov 14, 2010 7:23 PM -
How to call a "Z"module pool program in a "z"report
Hi Guys,
I have two reports .
1. Report : uploads a tab delimited " .Txt1" file and update the "z1" table
".TXT1" : File contains 4 fields
2. Module pool. :Uploads a a tab delimited " .Txt2" file and update another "z2" table
".TXT2" file contains the 4 fileds of ".TXT1" and also 2 extra fields.
I want to merge (call) the module pool program in the Report and perform the upload function using only one ".TXT" file.Please do guide me precisely .
*Report:*
REPORT zrswbgcs009 NO STANDARD PAGE HEADING MESSAGE-ID zwb
LINE-SIZE 185.
TABLES: zgcs_foc. "FOC Parts Table
*data count buffer
DATA: read_cnt(6) TYPE p, "Find read record
update_cnt(6) TYPE p, "OK record
error_cnt(6) TYPE p. "Error record
*file buffer(FOC)
DATA: BEGIN OF FOC_inrec OCCURS 0,
CUSTOMER(10), "Customer
PART_CODE(18), "Parts Code
REF_NO(35), "Ref No.
REF_DATE(10), "Ref Date
QTY(12), "Parts Qty
TEXT(100), "Remark
END OF FOC_inrec.
*file buffer
DATA: BEGIN OF inrec OCCURS 0,
CUSTOMER(10), "Customer
PART_CODE(18), "Parts Code
REF_NO(35), "Ref No.
REF_DATE(10), "Ref Date
QTY(12), "Parts Qty
PRICE(15), "Parts Price
WAERK(5), "Parts Currency
TEXT(100), "Remark
END OF inrec.
DATA : v_file LIKE rlgrap-filename.
DATA gt_zgcs_foc LIKE zgcs_foc OCCURS 0 WITH HEADER LINE.
DATA gs_zgcs_foc LIKE zgcs_foc.
*File name ACCEPT--------------------------------------------------
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
*Company code
PARAMETERS: p_comp LIKE zgcs_imei-company OBLIGATORY.
PARAMETERS: pcfile LIKE rlgrap-filename OBLIGATORY LOWER CASE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 1.
PARAMETERS: HQfile RADIOBUTTON GROUP b2.
SELECTION-SCREEN COMMENT 7(20) text-101 FOR FIELD HQfile.
SELECTION-SCREEN POSITION 31.
PARAMETERS: SUBfile RADIOBUTTON GROUP b2.
SELECTION-SCREEN COMMENT 37(20) text-102 FOR FIELD SUBfile.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN SKIP 1.
SELECTION-SCREEN BEGIN OF BLOCK box WITH FRAME.
SELECTION-SCREEN: COMMENT /2(40) text-011, COMMENT 42(40) text-001,
ULINE,
COMMENT /2(40) text-012, COMMENT 42(40) text-002,
COMMENT /2(40) text-013, COMMENT 42(40) text-003,
COMMENT /2(40) text-014, COMMENT 42(40) text-004,
COMMENT /2(40) text-015, COMMENT 42(40) text-005,
COMMENT /2(40) text-016, COMMENT 42(40) text-006,
COMMENT /2(40) text-017, COMMENT 42(40) text-007,
COMMENT /2(40) text-018, COMMENT 42(40) text-008,
COMMENT /42(40) text-009.
SELECTION-SCREEN END OF BLOCK box.
* -- AT SELECTION SCREEN ON
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pcfile.
CALL FUNCTION 'WS_FILENAME_GET'
EXPORTING
def_filename = space
def_path = 'C:\'
mask = ',*.txt,*.TXT.'
mode = 'O'
title = ' '
IMPORTING
filename = pcfile
EXCEPTIONS
inv_winsys = 1
no_batch = 2
selection_cancel = 3
selection_error = 4
OTHERS = 5.
*-----------------------------start--------------------------------
START-OF-SELECTION.
CLEAR: read_cnt, update_cnt, error_cnt.
REFRESH gt_zgcs_foc. CLEAR gs_zgcs_foc.
PERFORM file_upload_from_pc.
SORT gt_zgcs_foc.
DELETE ADJACENT DUPLICATES FROM gt_zgcs_foc
COMPARING COMPANY CUSTOMER PART_CODE REF_NO REF_DATE.
*// customer code check
DATA: LT_ZESTD LIKE ZESTD OCCURS 0 WITH HEADER LINE.
IF NOT gt_zgcs_foc[] IS INITIAL.
SELECT COMPANY CUSTOMER CURRENCY
INTO CORRESPONDING FIELDS OF TABLE LT_ZESTD
FROM ZESTD
FOR ALL ENTRIES IN gt_zgcs_foc
WHERE COMPANY = gt_zgcs_foc-COMPANY
AND CUSTOMER = gt_zgcs_foc-CUSTOMER.
ENDIF.
SORT LT_ZESTD BY COMPANY CUSTOMER.
*// part code check
DATA: LT_MARA LIKE MARA OCCURS 0 WITH HEADER LINE.
IF NOT gt_zgcs_foc[] IS INITIAL.
SELECT *
INTO TABLE LT_MARA
FROM MARA
FOR ALL ENTRIES IN gt_zgcs_foc
WHERE MATNR = gt_zgcs_foc-PART_CODE.
ENDIF.
SORT LT_MARA BY MATNR.
LOOP AT gt_zgcs_foc.
*// customer code check
READ TABLE LT_ZESTD WITH KEY
COMPANY = gt_zgcs_foc-COMPANY
CUSTOMER = gt_zgcs_foc-CUSTOMER.
IF SY-SUBRC <> 0.
WRITE:/'Invalid Customer code ',
gt_zgcs_foc-COMPANY, ' ',
gt_zgcs_foc-CUSTOMER.
STOP.
ENDIF.
*// part code check
READ TABLE LT_MARA WITH KEY MATNR = gt_zgcs_foc-PART_CODE
BINARY SEARCH.
IF SY-SUBRC <> 0.
WRITE:/ 'Invalid part code ', gt_zgcs_foc-PART_CODE.
STOP.
ENDIF.
*// REF_NO
TRANSLATE gt_zgcs_foc-REF_NO TO UPPER CASE.
SHIFT gt_zgcs_foc-REF_NO LEFT DELETING LEADING SPACE.
IF gt_zgcs_foc-REF_NO = SPACE.
WRITE:/'Ref No. is blank'.
STOP.
ENDIF.
*// REF_DATE
IF gt_zgcs_foc-REF_DATE = 0.
WRITE:/'Invalid Ref Date'.
STOP.
ENDIF.
*// QTY
* IF gt_zgcs_foc-QTY CO ' 0123456789'.
* ELSE.
* WRITE:/ gt_zgcs_foc-QTY, ' Invalid Qty value'.
* STOP.
* ENDIF.
ENDLOOP.
* Insert/Update table
* MODIFY zgcs_foc FROM TABLE gt_zgcs_foc.
INSERT zgcs_foc FROM TABLE gt_zgcs_foc.
IF sy-subrc EQ 0.
COMMIT WORK.
DESCRIBE TABLE gt_zgcs_foc LINES update_cnt.
error_cnt = read_cnt - update_cnt.
ELSE.
ROLLBACK WORK.
error_cnt = read_cnt - update_cnt.
ENDIF.
ULINE.
FORMAT COLOR 3.
WRITE: / 'Read count :', read_cnt.
WRITE: / 'Insert/Update count :', update_cnt.
WRITE: / 'Error count :', error_cnt.
FORMAT COLOR OFF.
*end-of-selection--------------------------------------------------
END-OF-SELECTION.
*& Form FILE_UPLOAD_FROM_PC
FORM file_upload_from_pc.
IF pcfile IS INITIAL.
WRITE: / 'SELECT UPLOAD FILE !'.
ELSE.
MOVE pcfile TO v_file.
* HQ file upload
IF HQfile EQ 'X'.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = v_file
filetype = 'DAT'
TABLES
data_tab = FOC_inrec
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
WRITE: / 'FILE UPLOAD :', sy-subrc.
ENDIF.
LOOP AT FOC_inrec.
ADD 1 TO read_cnt.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = FOC_inrec-customer
importing
output = FOC_inrec-customer.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = FOC_inrec-part_code
importing
output = FOC_inrec-part_code.
MOVE-CORRESPONDING FOC_inrec TO gs_zgcs_foc.
MOVE p_comp TO gs_zgcs_foc-company.
MOVE gs_zgcs_foc-qty TO gs_zgcs_foc-balan.
MOVE sy-uname TO gs_zgcs_foc-ERNAM.
MOVE sy-datum TO gs_zgcs_foc-ERDAT.
MOVE sy-UZEIT TO gs_zgcs_foc-ERZET.
* Source(1:HQ,2:SUB,0:Etc)
MOVE '1' TO gs_zgcs_foc-source.
APPEND gs_zgcs_foc TO gt_zgcs_foc.
ENDLOOP.
* SGE file upload
ELSE.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = v_file
filetype = 'DAT'
TABLES
data_tab = inrec
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9
OTHERS = 10.
IF sy-subrc <> 0.
WRITE: / 'FILE UPLOAD :', sy-subrc.
ENDIF.
LOOP AT inrec.
ADD 1 TO read_cnt.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = inrec-customer
importing
output = inrec-customer.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = FOC_inrec-part_code
importing
output = FOC_inrec-part_code.
MOVE-CORRESPONDING inrec TO gs_zgcs_foc.
MOVE p_comp TO gs_zgcs_foc-company.
MOVE gs_zgcs_foc-qty TO gs_zgcs_foc-balan.
MOVE sy-uname TO gs_zgcs_foc-ERNAM.
MOVE sy-datum TO gs_zgcs_foc-ERDAT.
MOVE sy-UZEIT TO gs_zgcs_foc-ERZET.
* Source(1:HQ,2:SUB,0:Etc)
MOVE '2' TO gs_zgcs_foc-source.
APPEND gs_zgcs_foc TO gt_zgcs_foc.
ENDLOOP.
ENDIF.
ENDIF.
ENDFORM.
*MODULE POOL::*
*& Module Name : Warranty Bill
*& Sub-Module : W/B
*& Description : Parts Q'ty Adjust(Sales & Warranty)
*& Program Name : ZRSWBP004
*& History
*& Date Author Reason
*& 2007.05.08 Song, Ji-Hyun Initial Coding Req.by WH.Song
*& Logic Process
* - CONDITIONS
* Company, Customer, Material
* - PROCESS
* Display,Insert,Update data in the T/B ZESP04
REPORT zrswbp004 NO STANDARD PAGE HEADING
MESSAGE-ID 00
LINE-SIZE 250
LINE-COUNT 50.
* G L O B A L V A R I A B L E S *
TABLES : zesp04.
DATA : BEGIN OF itab_list OCCURS 0,
company LIKE zesp04-company,
customer LIKE zesp04-customer,
material LIKE zesp04-material,
adj_date LIKE zesp04-adj_date,
adjust LIKE zesp04-adjust,
reason LIKE zesp04-reason,
reason_code LIKE zesp04-reason_code,
doc_no LIKE zesp04-doc_no,
in_date LIKE zesp04-in_date,
create_id LIKE zesp04-create_id,
END OF itab_list.
DATA : itab_upload LIKE TABLE OF zesp04 WITH HEADER LINE.
DATA : s_mode(10).
DATA : table_name(10) VALUE 'ZESP04'.
DATA : tot_cnt TYPE i.
DATA : ref_flag(1).
* M A C R O D E F I N E *
DEFINE conversion_kunnr.
call function 'CONVERSION_EXIT_ALPHA_INPUT'
exporting
input = &1
importing
output = &1.
END-OF-DEFINITION.
DEFINE conversion_material.
call function 'CONVERSION_EXIT_MATN1_INPUT'
exporting
input = &1
importing
output = &1.
END-OF-DEFINITION.
* S E L E C T I O N S C R E E N *
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE title1.
PARAMETERS : company LIKE zesp04-company MEMORY ID buk MODIF ID v1
OBLIGATORY.
SELECT-OPTIONS : customer FOR zesp04-customer MEMORY ID kun
MODIF ID v1.
SELECT-OPTIONS : material FOR zesp04-material MEMORY ID mat
MODIF ID v1.
SELECTION-SCREEN SKIP.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN POSITION 3.
SELECTION-SCREEN COMMENT 3(12) text-002 MODIF ID v2.
PARAMETERS : up_flag AS CHECKBOX MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(12) text-001 MODIF ID v2.
PARAMETERS : p_fname(300) LOWER CASE MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE title2.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 3(53) text-003 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(10) text-004 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(12) text-005 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(12) text-006 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(15) text-007 MODIF ID v2.
PARAMETERS : df1 TYPE c RADIOBUTTON GROUP grp1.
SELECTION-SCREEN COMMENT 24(13) text-012 MODIF ID v2.
PARAMETERS : df2 TYPE c RADIOBUTTON GROUP grp1.
SELECTION-SCREEN COMMENT 41(11) text-013 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(14) text-008 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(11) text-009 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(14) text-010 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN BEGIN OF LINE.
SELECTION-SCREEN COMMENT 5(10) text-011 MODIF ID v2.
SELECTION-SCREEN END OF LINE.
SELECTION-SCREEN END OF BLOCK b2.
INCLUDE zrswbp004_pbo.
INCLUDE zrswbp004_pai.
INITIALIZATION.
title1 = ' Parts Quantity Adjustment '.
title2 = ' Text File Layout '.
* S T A R T O F S E L E C T I O N *
TOP-OF-PAGE.
PERFORM write_header.
TOP-OF-PAGE DURING LINE-SELECTION.
PERFORM write_header.
START-OF-SELECTION.
IF up_flag = 'X'.
PERFORM upload_data.
ELSE.
PERFORM select_data.
SET PF-STATUS 'PF01' EXCLUDING 'SAVE'.
PERFORM display_data.
ENDIF.
AT USER-COMMAND.
PERFORM user_command.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_fname.
PERFORM get_filename.
*& Form SELECT_DATA
* Select Data for Display
FORM select_data.
SELECT * FROM (table_name)
INTO CORRESPONDING FIELDS OF TABLE itab_list
WHERE company = company
AND customer IN customer
AND material IN material.
CHECK sy-subrc <> 0.
WRITE: 'No data found with your option.'.
ENDFORM. " SELECT_DATA
*& Form DISPLAY_DATA
* Display Data following Condition
FORM display_data.
LOOP AT itab_list.
FORMAT COLOR 2 INTENSIFIED.
WRITE : / '|' NO-GAP.
WRITE : (07) itab_list-company CENTERED NO-GAP, '|' NO-GAP,
(10) itab_list-customer CENTERED NO-GAP, '|' NO-GAP,
(20) itab_list-material CENTERED NO-GAP, '|' NO-GAP,
(10) itab_list-adj_date CENTERED NO-GAP, '|' NO-GAP,
(15) itab_list-adjust RIGHT-JUSTIFIED NO-GAP, '|'
NO-GAP,
(55) itab_list-reason LEFT-JUSTIFIED NO-GAP, '|' NO-GAP,
(11) itab_list-reason_code CENTERED NO-GAP, '|' NO-GAP,
(10) itab_list-doc_no CENTERED NO-GAP, '|' NO-GAP,
(10) itab_list-in_date CENTERED NO-GAP, '|' NO-GAP,
(12) itab_list-create_id CENTERED NO-GAP, '|' NO-GAP.
FORMAT INTENSIFIED OFF.
HIDE itab_list.
ENDLOOP.
WRITE : / sy-uline(171).
ENDFORM. " DISPLAY_DATA
*& Form WRITE_HEADER
* Write Report Header
FORM write_header.
DATA : line(1024).
CLEAR line WITH '-'.
DESCRIBE TABLE itab_list LINES tot_cnt.
FORMAT INTENSIFIED ON.
WRITE : 15 'Parts Quantity Adjustment'.
SKIP.
WRITE : / 'Total Count : ', tot_cnt.
WRITE : /.
WRITE : (171) sy-uline.
WRITE : / '|' NO-GAP.
WRITE : (07) 'Company' CENTERED NO-GAP, '|' NO-GAP,
(10) 'Customer' CENTERED NO-GAP, '|' NO-GAP,
(20) 'Material' CENTERED NO-GAP, '|' NO-GAP,
(10) 'Adj. Date' CENTERED NO-GAP, '|' NO-GAP,
(15) 'Adjust' CENTERED NO-GAP, '|' NO-GAP,
(55) 'Reason' CENTERED NO-GAP, '|' NO-GAP,
(11) 'Reason Code' CENTERED NO-GAP, '|' NO-GAP,
(10) 'Doc No' CENTERED NO-GAP, '|' NO-GAP,
(10) 'IN DATE' CENTERED NO-GAP, '|' NO-GAP,
(12) 'CREATE ID' CENTERED NO-GAP, '|' NO-GAP.
WRITE : /(171) sy-uline.
FORMAT INTENSIFIED OFF.
ENDFORM. " WRITE_HEADER
*& Form UPLOAD_DATA
* Data Upload from File
FORM upload_data.
DATA : l_filename LIKE rlgrap-filename,
temp_dateformat TYPE dateformat.
IF df1 = 'X'.
temp_dateformat = 'YYYY.MM.DD'.
ELSE.
temp_dateformat = 'DD.MM.YYYY'.
ENDIF.
MOVE p_fname TO l_filename.
CHECK l_filename NE space.
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = l_filename
filetype = 'DAT'
dat_d_format = temp_dateformat
TABLES
data_tab = itab_list
EXCEPTIONS
conversion_error = 1
file_open_error = 2
file_read_error = 3
invalid_type = 4
no_batch = 5
unknown_error = 6
invalid_table_width = 7
gui_refuse_filetransfer = 8
customer_error = 9.
IF sy-subrc NE 0.
MESSAGE s000 WITH 'File upload is failed!'.
STOP.
ELSE.
CLEAR : itab_upload, itab_upload[].
LOOP AT itab_list.
MOVE-CORRESPONDING itab_list TO itab_upload.
conversion_kunnr itab_upload-customer.
conversion_material itab_upload-material.
itab_upload-mandt = sy-mandt.
itab_upload-in_date = sy-datum.
itab_upload-create_id = sy-uname.
*>>>>Insert by GSCHOI 2007.11.08
IF itab_list-adj_date+0(6) NE sy-datum+0(6).
MESSAGE i368 WITH 'Adjust month must same as current month!'.
ROLLBACK WORK.
STOP.
ENDIF.
*<<<<End
APPEND itab_upload.
INSERT INTO (table_name) VALUES itab_upload.
IF sy-subrc EQ 0.
CONTINUE.
ELSEIF sy-subrc EQ 4.
MESSAGE s368 WITH 'Duplicated Data Error!'.
ROLLBACK WORK.
STOP.
ELSE.
MESSAGE s368 WITH 'File Error!'.
ROLLBACK WORK.
STOP.
ENDIF.
ENDLOOP.
ENDIF.
IF sy-subrc EQ 0.
MESSAGE s368 WITH 'Uploaded Successfully!'.
ENDIF.
ENDFORM. " UPLOAD_DATA
*& Form USER_COMMAND
* User Command Execution in Screen 1000
FORM user_command.
MOVE-CORRESPONDING itab_list TO zesp04.
CASE sy-ucomm.
WHEN 'INSERT'.
PERFORM insert_item.
WHEN 'UPDATE'.
PERFORM update_item.
WHEN 'DISPLAY'.
PERFORM display_item.
WHEN 'REFRESH'.
PERFORM refresh_list.
ENDCASE.
IF ref_flag = 'Y'.
PERFORM refresh_list.
CLEAR ref_flag.
ENDIF.
ENDFORM. " USER_COMMAND
*& Form INSERT_ITEM
* When Clicking Insert Button
FORM insert_item.
CLEAR : s_mode.
CLEAR : zesp04.
s_mode = 'INSERT'.
CALL SCREEN '100'.
ENDFORM. " INSERT_ITEM
*& Form UPDATE_ITEM
* When Clicking Update Button
FORM update_item.
CLEAR : s_mode.
s_mode = 'UPDATE'.
CALL SCREEN '100'.
ENDFORM. " UPDATE_ITEM
*& Form DISPLAY_ITEM
* When Clicking Display Button
FORM display_item.
CLEAR : s_mode.
s_mode = 'DISPLAY'.
CALL SCREEN '100'.
ENDFORM. " DISPLAY_ITEM
*& Form REFRESH_LIST
* When Clicking Refresh Button or Returning Display Screen
FORM refresh_list.
CLEAR : itab_list, itab_list[].
PERFORM select_data.
sy-lsind = sy-lsind - 1.
PERFORM display_data.
ENDFORM. " REFRESH_LIST
*& Form GET_FILENAME
* Get Filename
FORM get_filename.
DATA: l_fname LIKE ibipparms-path .
DATA : p_name LIKE sy-repid.
p_name = sy-repid.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = p_name
dynpro_number = sy-dynnr
field_name = ''
IMPORTING
file_name = l_fname.
p_fname = l_fname.
ENDFORM. " GET_FILENAME
Edited by: Matt on Nov 24, 2008 11:24 AM - surrounded the ABAP with tagsHi,
Use SUBMIT statement in your first Report zrswbgcs009 at the end, to call the Modulepool program zrswbp004.
do a search in SDN you will get lot of threads on SUBMIT statement with selection screen.
SUBMIT... [VIA SELECTION-SCREEN]
[USING SELECTION-SET <var>]
[WITH <sel> <criterion>]
[WITH FREE SELECTIONS <freesel>]
[WITH SELECTION-TABLE <rspar>].
http://help.sap.com/saphelp_nw04/Helpdata/EN/9f/dba51a35c111d1829f0000e829fbfe/content.htm
Regards
Bala Krishna
Maybe you are looking for
-
Run time Error while creating Network Activity.
Getting Runtime - > Runtime error: ILLEGAL_TEMPORARY_OBJNR ("TM0000000008NV" " " " ") While trying to create the Network activity in the following sequence. CALL FUNCTION 'BAPI_PS_INITIALIZATION'. *--> Create the Network Activity CALL FUNCTION 'BA
-
Why Flash and videos don't work after 10.6.7 update?
After os update Flash, Shockwave and videos stopped working on Safari. Also Flash CS5, Flash Builder 4 and Flash Catalyst CS5 stopped working. An error message on Flash CS5 "Error initializing Java Runtime Environment. You may need to reinstall Flash
-
File Adapter: File name when using event
I'm using the Bea file adapter 7.0 to retrieve ascii files from the file system and this triggers a business process in WLI. Is there any way that you can get the name of the file when doing this? And is there a way to dynamically name a file when yo
-
Enumerate methods from a WSDL service reference
Hi all, I have a service reference https://xxx.xxx.xxx.xxx:XXXX/blah?wsdl that exposes many methods. I wish to enumerate these into test strings, but I have no idea how to do this easily. I've created the service reference "ServiceReference1" and can
-
Dear Everybody, Would you please tell me, does oracle 9i support solaris 8 for intel x86? Thank you very much. Yours Sincerely, Stephen Hsu