Any listener for class method being invocated?
hi there all,
is there any class listener that can monitor any instantiation of class and invocation of methods?
thanks
ng
AOP is indeed dangerous, when people abuse it. They miss out all the blurb about what an aspect is, and what cross-cutting concerns are, and just get seduced by the fact that you can nail on, at runtime, extra bits of control flow you hadn't previously considered. Ouch!
Similar Messages
-
Custom User Decision for Class Method in Task
Hi Expert,
I have a screen for user decision(Approve/Reject with some comments field). When i execute the process it works fine for all cases, but when i don't click any decision and come back from the screen, then also this task gets completed and workflow starts executing next step. Here in this case, i want workitem to remain in inbox same as what happen in case of user decision step.
Do i need to put this task in loop till i get a decision or some other way i can solve it? I have tried putting this method as Synchronous and non-Synchronous method. I am not sure if this issue is, because i am using Class method. Please help.
Regards,
Pritam
Edited by: Pritam Kunal on Feb 11, 2011 4:28 PMHi Mike,
I have got a solution for this. If we make the task as Asynchronous task with a terminating event. Till the time event is not triggered process workitem will remain in inbox. This event can we triggered at any user decision only.
Is there any flow in this logic? I have tried it for few cases and it worked, but not sure if there will be any case where it will not work? any suggestion?
Regards,
Pritam -
WMI V2 equivalent of WMI V1 for Classes, Method or attribute
Hi Guys,
Since in Hyper V 2012 R2 the support for WMI 1 is removed, Hence we are migrating our applications from WMI V1 to WMI V2, Is there is any table or something which can give me WMI V2 (Classes, Method and attrib) equivalent of WMI V1 (Classes, Method and attrib).
ThanksFor most of them you simply add the v2 to the namespace, that is it.
There is MSDN documentation:
http://msdn.microsoft.com/en-us/library/hh850319(v=vs.85).aspx
and a series of blog posts by Taylor Brown as well:
http://blogs.msdn.com/b/taylorb/
(unfortunately, he didn't tag them as v2 examples so you have to dig through the list)
Brian Ehlert
http://ITProctology.blogspot.com
Learn. Apply. Repeat.
Disclaimer: Attempting change is of your own free will. -
Is there any use for Class.getTypeParameters()?
This is a quote from another Thread in this forum:
How does erasure destroy reflection-related information? Methods getGenericInterfaces, getGenericSuperclass and getTypeParameters on java.lang.Class allow you to retrieve a lot of information on generic issues regarding a class. Obviously, that information is thus not destroyed.
While I do agree that Generics do not destroy reflection, I wonder what they add to it.
New types and methods are Class.getTypeParameters(), the interfaces java.lang.GenericDeclaration, java.lang.reflect.TypeParameter, java.lang.reflect.ParameterizedType etc...
Could someone please give me an example of what I could do with all these new types and methods?
It has been decided that Generics are implemented as a compile-time feature. At runtime, no information about the instantiated type parameters exists anymore. OK, so why clutter the core Java packages with a lot of seemingly useless new types and methods?Could someone please give me an example of what I
could do with all these new types and methods?
It has been decided that Generics are implemented as a
compile-time feature. At runtime, no information about
the instantiated type parameters exists anymore. OK,
so why clutter the core Java packages with a lot of
seemingly useless new types and methods?This is a very good question, and something I've been wondering about myself. I cannot determine how to get the runtime to give me an instance of WildcardType or ParamaterizedType, for example.
Here's an extremely contrived example of how you can use Type bounds to effect runtime behaviour:
class Processor<T> {
class StringProcessor<S extends String> extends Processor<S> {
public void whatKindOfProcessorIsItAnyway(Processor p) {
Type processorType = p.getClass().getTypeParameters()[0].getBounds()[0];
if ( String.class.equals(processorType) ) {
System.out.println("I'm a string processor");
} else {
System.out.println("I process these: " + processorType);
whatKindOfProcessorIsItAnyway(new StringProcessor<String>());
whatKindOfProcessorIsItAnyway(new Processor<Integer>());Outputs:
I'm a string processor
I process these: class java.lang.Object
So you can see I can switch based on the type bounds compiled into the program, but I have no way of knowing that the second processor is actually instantiated with Integer, due to erasure.
Infact, the only reason I would know anything about the actual type argument in the first instance is because String is final so '? extends String' -> String, for what its worth.
Whether I can write a program that's actually useful using this information I've yet to determine, but I can imagine it could be useful for code generation. -
Is there any repair for my wifi being greyed out other than heating and cooling
can Apple repair it ?
My carrier dosent want to know !!!! and because the coverage isn't great my battery is only lasting a few hrs ???
hhave updated and backed up and restored which worked for a few daysApple does not repair just parts of the iPhone 4s, if you are wiling to pay the service fee, Apple will replace your device with a refurbished one:
Out-of-warranty repair service
If your repair isn’t covered by Apple’s One Year Limited Warranty, AppleCare+, or AppleCare Protection Plan, your iPhone might be eligible for out-of-warranty service. For example, liquid damage isn’t covered by warranty but might be eligible for out-of-warranty service. Some damage isn’t eligible at all, for example if your device has been broken into multiple pieces. See Apple’s Repair Terms and Conditions for complete details.
Read Apple’s Repair Terms and Conditions
Model
Out-of-warranty service fee
Battery service*
iPhone 6 Plus
$329
$79
*available only if battery
fails Apple’s diagnostic test
iPhone 6
$299
iPhone 5s, iPhone 5c, iPhone 5
$269
iPhone 4s
$199
iPhone 4, iPhone 3GS, iPhone 3G,
Original iPhone
$149
Plus a $6.95 shipping fee, if required. Fees are in USD and exclude local tax. Pricing is for service through Apple. The final service fee we charge will be determined during testing and may be less than the service fee listed above. Pricing and terms vary for service through an Apple Authorized Service Provider.
copied from Service Answer Center - iPhone -
Is converter-for-class or any other "-for-class" attributes required to match against subclasses of the specified class, or just the class itself?
It you specify converter-for-class as Object, is the converter required to apply to every subclass of Object (i.e. every class), or just to those properties with a runtime value of exactly Object?
Thanks.Hello BalusC,
thanks for reply. I'm definitely use JSF RI 1.2_13.
The problem is, that the converter-method public String getAsString( FacesContext p_ctx, UIComponent p_comp, Object p_value ) is never called.
But the other method public Object getAsObject( FacesContext p_ctx, UIComponent p_comp, String p_value ) is called.
BalusC, which JSF implementation do you use?
regards, Joerg -
Validating a method object whether it is a bean class method
I have a class that is loaded dynamically using URLClassLoader. It is required to validate whether it is a valid bean class' method. i.e. if it is set method, it should start with <set>xxx and if it is get method, it should be like <get>xxx or <is>xxx. I dont want to make it with if conditions and I believe there should be a way to validate if that class satisfies java bean naming specification ( for class/method). Any help is much appreciated.
kajbj wrote:
How would you be able to verify that? Beans can have other methods as well. Well.. in my case, I want to ensure that that does not contain "other methods" and only getters/setters. It should be just a bean and nothing more. There could be cases when a setter method is written like "setTablename" ( note: camel case missing).
I prefer to use this one.
public class Bean {
String tableName;
public String getTableName() {
return tableName;
public void setTableName(String tableName) {
this.tableName = tableName;
try {
BeanInfo info = Introspector.getBeanInfo( Bean.class );
PropertyDescriptor[] pd = info.getPropertyDescriptors();
for (int i=0;i<pd.length;i++) {
System.out.println( pd.getName() +","+pd[i].getReadMethod());
if(pd[i].getReadMethod()==null) {
throw new Exception("Not a bean");
} catch (Exception e) {
e.printStackTrace();
}This code works well, when 1. members not in camel case,
2. methods not in camel case. But when it comes to method , it throws exception for public String getTablename() {
return tableName;
}But it doesnt throw exception for public String gettableName() {
return tableName;
} I predicted exception here. Correct me If I am wrong. -
Exit for payment method(IDOC- PEXR2002)
Dear Experts,
I have add one Z Segment to the standard idoc PEXR2002 and msgtyp PAYEXT and now would like to pass the value to that Z segment field.
But i am not able to find out any Exit for payment method.
Program used to create the idoc is RFFOEDI1.
Kindly provide the solution.
Regards
Pankajif you will ook in the porgramit is sent via function module where there are lot of Call customer function which you can use for example EXIT_SAPLIEDP_902 i can see many.Just debuug it and check which suit your need.
Nabheet -
Any hope for Spaces working in PSE 8.0?
I just discovered the power of using Spaces in OS X 10.6.2, and was disappointed to find that PSE 8 is the only program I regularly use that doesn't support this feature. Any hope for this bug being fixed in future updates?
Hi,
I just checked on OS X 10.6.2 that PSE 8 is functional and support the Spaces feature. It is working for me.
Are you observing any specific problem?
Thanks,
Tarun -
View parameters in a class Method
Hi,
Pl tell me wht is the best way one can view parameters of a Method in a class.
Regards,
RushikeshHave a look at the below material for Class & Methods..
http://www.sapgenie.com/abap/OO/index.htm
http://www.geocities.com/victorav15/sapr3/abap_ood.html
http://www.brabandt.de/html/abap_oo.html
http://www.sapgenie.com/abap/OO/
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b5654f411d194a60000e8353423/content.htm
http://www.esnips.com/doc/375fff1b-5a62-444d-8ec1-55508c308b17/prefinalppt.ppt
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
http://www.allsaplinks.com/
http://www.sapgenie.com/abap/OO/index.htm
http://www.sapgenie.com/abap/controls/index.htm
http://www.esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
http://www.esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
http://www.sapgenie.com/abap/OO/index.htm
http://help.sap.com/saphelp_erp2005/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
http://www.sapgenie.com/abap/OO/
these links
http://help.sap.com/saphelp_47x200/helpdata/en/ce/b518b6513611d194a50000e8353423/content.htm
For funtion module to class
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5954f411d194a60000e8353423/content.htm
for classes
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b5c54f411d194a60000e8353423/content.htm
for methods
http://help.sap.com/saphelp_47x200/helpdata/en/08/d27c03b81011d194f60000e8353423/content.htm
for inheritance
http://help.sap.com/saphelp_47x200/helpdata/en/dd/4049c40f4611d3b9380000e8353423/content.htm
for interfaces
http://help.sap.com/saphelp_47x200/helpdata/en/c3/225b6254f411d194a60000e8353423/content.htm
For Materials:
1) http://help.sap.com/printdocu/core/Print46c/en/data/pdf/BCABA/BCABA.pdf -- Page no: 1291
2) http://esnips.com/doc/5c65b0dd-eddf-4512-8e32-ecd26735f0f2/prefinalppt.ppt
3) http://esnips.com/doc/2c76dc57-e74a-4539-a20e-29383317e804/OO-abap.pdf
4) http://esnips.com/doc/0ef39d4b-586a-4637-abbb-e4f69d2d9307/SAP-CONTROLS-WORKSHOP.pdf
5) http://esnips.com/doc/92be4457-1b6e-4061-92e5-8e4b3a6e3239/Object-Oriented-ABAP.ppt
6) http://esnips.com/doc/448e8302-68b1-4046-9fef-8fa8808caee0/abap-objects-by-helen.pdf
7) http://esnips.com/doc/39fdc647-1aed-4b40-a476-4d3042b6ec28/class_builder.ppt
8) http://www.amazon.com/gp/explorer/0201750805/2/ref=pd_lpo_ase/102-9378020-8749710?ie=UTF8
1) http://www.erpgenie.com/sap/abap/OO/index.htm
2) http://help.sap.com/saphelp_nw04/helpdata/en/ce/b518b6513611d194a50000e8353423/frameset.htm
<b>Check this cool weblog:</b>
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/thomas.jung3/blog/2004/12/08/abap-persistent-classes-coding-without-sql
/people/sap.user72/blog/2005/05/10/a-small-tip-for-the-beginners-in-oo-abap
/people/ravikumar.allampallam/blog/2005/02/11/abap-oo-in-action
/people/thomas.jung3/blog/2005/09/08/oo-abap-dynpro-programming
http://help.sap.com/saphelp_nw04/helpdata/en/c3/225b6254f411d194a60000e8353423/frameset.htm
Raja T -
Hi,
Can you tell me how to make or use (may be a library ) a listener that can response if an incoming sms received.
Thanks.What's the listener that listens for new tabs being
added to JTabbedPane?ContainerListener -
Is there any hope for us here?
I live in the Caribbean (Dominican Republic). I see the iPhone getting released in a lot of big countries, but I don't see Apple releasing the iPhone in other countries like mine.
I have seen iPhones activated here, but as you know they are being ilegaly activated with the hacking options available, and with every new update the hacks get frustrated.
Is there any hope for the iPhone being released in countries like mine here in the caribbean? What chances do you see for us here? Are we destined to live without the iPhone or with an hacked-outdated iPhone?The best thing to do is keep watching for announcements from Apple on when the iPhone will be coming to the Dominican Republic, since this is a user to user forum no one would be able to give you an answer.
-
Help Determining Which Methods/Classes Are Being Used
Hello,
I'm having issues with my company's Java application and because I've luckily narrowed the classes down to a meager 30+ I need some help pinpointing my problem.
I realize there are a lot of Java monitoring applets/applications and some are deployment-specific but I need something very detailed-- I haven't found the features I need.
Specs:
Jrun4, Java 1.4, Windows Server 2003
I would like to have a monitor that tells me exactly (real-time) what classes, methods, variables, etc. are being called in real-time. Looking at the JRun launcher console for one process gives me this:
Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
01/16 14:05:33 error Software caused connection abort: socket write error
java.net.SocketException: Software caused connection abort: socket write error
at java.net.SocketOutputStream.socketWrite0(Native Method)
at java.net.SocketOutputStream.socketWrite(SocketOutputStream.java:92)
at java.net.SocketOutputStream.write(SocketOutputStream.java:136)
at jrun.servlet.io.MetricsOutputStream.write(MetricsOutputStream.java:75)
at java.io.BufferedOutputStream.write(BufferedOutputStream.java:106)
at jrun.servlet.http.WebOutputStream.write(WebOutputStream.java:64)
at jrun.servlet.file.FileServlet.pipeData(FileServlet.java:419)
at jrun.servlet.file.FileServlet.service(FileServlet.java:254)
at jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)This is cute, but not really helpful. I would like to determine what was passed to the process, from where and what went wrong.
For example,
Instead of this:
Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
01/16 14:05:33 error Software caused connection abort: socket write errorI would get something like this:
Generating report:quadbase.reportdesigner.ReportAPI.QbReport with export type:PDF
Page variables: test.jsp ($var1= "I'm"; $var2= "Going"; $var3="To"; $var4="Break"; $var5 = null)
Calling: test2.jsp
With: jrun.bin.db.foo.Bar();
01/16 14:05:33 error Software caused connection abort: socket write error
Problem: $var5 = null;Sorry if I'm rambling, I just want to know what is where and who it's calling when it breaks. Then I could deduce which class, what variable, what page, etc. My application is very complicated and seemingly mundane changes can throw it all off.
Any ideas?We'll look into usage tracking. We're on the standard edition, so I'm not sure if it's available. Also, some of these reports may be quarterly -- so there may be a long wait to see if the view is used and I need to know fairly soon. (If it's not used, it saves us some work in a project transition going on.)
I certainly don't understand the underlying structure of the product, but it seems like there should be some way to determine if a view is used by a report. I apologize if I'm not using the correct terminology. Thanks for your help -- we'll keep looking into it. -
How can I implement a method to get any kind of class I want?
All I want is a method( or a class ) : getClassInstance().
i.e.
Vector v = someObj.getClassInstance("java.util.Vector");
or
Collection c = someObj.getClassInstance("java.util.Collection");
thanks!Are you talking about this?://example - let's
use Vector
//NOTE - try...catch needed for these.
//Omitted here for clarity
Class myNewClass = Class.forName("java.util.vector");
Object myNewObject = myNewClass.newInstance();
Vector myNewVector = (Vector)myNewObject;
First, thank you very much for your answer!
But what I want is a method that can return any kind of class by input a class name.
Example :(maybe like this)
Vector v = getClassInstance("java.util.Vector");
Object getClassInstance(String ClassName) {
// code
return (ClassName)someObj;
If you have any idea about this question, please tell me the detail. Thanks again! -
Type for SENDER parameter in Class Method
Hi all,
I have an import parameter declared in a Class method .
in SE38 program i want to retrieve through export parameter .
But i am not able to figure how to defind the type of SENDER parameter . Please suggest if my perception is wrong or the point that i am missing here .
Regards,
Ry.Hi Vijay,
Thank you for your reply . the problem i am having is the functionlaity of this report is it displays three grids and when ever i double click on a grid it should identify the particluar grid . i have highlighted in bold where i am encountering the problem. i am enclosing the class details and the report source code. Please suggest after going through it . thanks in advance.
Class details that i have created :
the class has a method handle_double_event with event handler double_click of CL_GUI_ALV_GRID . i have defined this in the method section.
in public section section :
public section.
types GO_GRID1 type ref to CL_GUI_ALV_GRID .
class-methods HANDLE_DOUBLE_CLICK
for event DOUBLE_CLICK of CL_GUI_ALV_GRID
importing
ES_ROW_NO
E_COLUMN
E_ROW
SENDER .
in handle_double_event code :
DATA:
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
go_grid3 TYPE REF TO cl_gui_alv_grid.
DATA:
gt_knb1 TYPE STANDARD TABLE OF knb1,
gt_vbak TYPE STANDARD TABLE OF vbak,
gt_vbap TYPE STANDARD TABLE OF vbap.
define local data
DATA:
ls_knb1 TYPE knb1,
ls_vbak TYPE vbak,
ls_vbap TYPE vbap.
DATA: es_row_no type lvc_s_roid,
e_column type lvc_s_col,
e_row type lvc_s_row.
*CASE sender. - here when i double click on the first grid go_grid1 it should go inside the go_grid1 . but it is not entering .*
WHEN go_grid1.
READ TABLE gt_knb1 INTO ls_knb1 INDEX e_row-index.
CHECK ( ls_knb1-kunnr IS NOT INITIAL ).
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
IS_ROW_ID =
IS_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDERS' ).
WHEN go_grid2.
READ TABLE gt_vbak INTO ls_vbak INDEX e_row-index.
CHECK ( ls_vbak-vbeln IS NOT INITIAL ).
CALL METHOD go_grid1->set_current_cell_via_id
EXPORTING
IS_ROW_ID =
IS_COLUMN_ID =
is_row_no = es_row_no.
Triggers PAI of the dynpro with the specified ok-code
CALL METHOD cl_gui_cfw=>set_new_ok_code( 'ORDER_DET' ).
WHEN go_grid3.
READ TABLE gt_vbap INTO ls_vbap INDEX e_row-index.
CHECK ( ls_vbap-matnr IS NOT INITIAL ).
SET PARAMETER ID 'MAT' FIELD ls_vbap-matnr.
CALL TRANSACTION 'MM02' AND SKIP FIRST SCREEN.
WHEN OTHERS.
RETURN.
ENDCASE.
endmethod.
Code for the Report that is accessing the class.
DATA:
gd_okcode TYPE ui_func,
go_docking TYPE REF TO cl_gui_docking_container,
go_splitter TYPE REF TO cl_gui_splitter_container,
go_splitter_2 TYPE REF TO cl_gui_splitter_container,
go_cell_top TYPE REF TO cl_gui_container,
go_cell_bottom TYPE REF TO cl_gui_container,
go_cell_left TYPE REF TO cl_gui_container,
go_cell_right TYPE REF TO cl_gui_container,
go_grid1 TYPE REF TO cl_gui_alv_grid,
go_grid2 TYPE REF TO cl_gui_alv_grid,
go_grid3 TYPE REF TO cl_gui_alv_grid,
list type ref to zcl_eventhandler,
es_row_no type lvc_s_roid,
e_column type lvc_s_col,
e_row type lvc_s_row,
sender(8) type c.
DATA:
gt_knb1 TYPE STANDARD TABLE OF knb1,
gt_vbak TYPE STANDARD TABLE OF vbak,
gt_vbap TYPE STANDARD TABLE OF vbap.
PARAMETERS : p_bukrs TYPE ekko-bukrs default '1000'.
START-OF-SELECTION.
create object list.
SELECT * FROM knb1 INTO TABLE gt_knb1
WHERE bukrs = p_bukrs.
Create docking container
CREATE OBJECT go_docking
EXPORTING
parent = cl_gui_container=>screen0
ratio = 50
EXCEPTIONS
OTHERS = 6.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Create splitter container
CREATE OBJECT go_splitter
EXPORTING
parent = go_docking
rows = 1
columns = 1
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_left.
container = go_cell_top.
CALL METHOD go_splitter->get_container
EXPORTING
row = 1
column = 2
RECEIVING
container = go_cell_right.
Create 2nd splitter container
CREATE OBJECT go_splitter_2
EXPORTING
parent = go_cell_left
parent = go_cell_top
rows = 2
columns = 1
NO_AUTODEF_PROGID_DYNNR =
NAME =
EXCEPTIONS
cntl_error = 1
cntl_system_error = 2
OTHERS = 3.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Get cell container
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 1
column = 1
RECEIVING
container = go_cell_top.
CALL METHOD go_splitter_2->get_container
EXPORTING
row = 2
column = 1
RECEIVING
container = go_cell_bottom.
Create ALV grids
CREATE OBJECT go_grid1
EXPORTING
i_parent = go_cell_top
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid2
EXPORTING
i_parent = go_cell_bottom
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CREATE OBJECT go_grid3
EXPORTING
i_parent = go_cell_right
EXCEPTIONS
OTHERS = 5.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
CALL METHOD ZCL_EVENTHANDLER=>HANDLE_DOUBLE_CLICK
EXPORTING
ES_ROW_NO = ES_ROW_NO
E_COLUMN = E_COLUMN
E_ROW = E_ROW
SENDER.
Set event handler
SET HANDLER: list->handle_double_click FOR go_grid1.
SET HANDLER: list->handle_double_click FOR go_grid2.
SET HANDLER: list->handle_double_click FOR go_grid3.
Display data
CALL METHOD go_grid1->set_table_for_first_display
EXPORTING
i_structure_name = 'KNB1'
CHANGING
it_outtab = gt_knb1
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_vbak.
CALL METHOD go_grid2->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAK'
CHANGING
it_outtab = gt_vbak
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
REFRESH: gt_vbap.
CALL METHOD go_grid3->set_table_for_first_display
EXPORTING
i_structure_name = 'VBAP'
CHANGING
it_outtab = gt_vbap
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
Link the docking container to the target dynpro
CALL METHOD go_docking->link
EXPORTING
repid = syst-repid
dynnr = '0100'
CONTAINER =
EXCEPTIONS
OTHERS = 4.
IF sy-subrc <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
NOTE: dynpro does not contain any elements
CALL SCREEN '0100'.
Flow logic of dynpro:
*PROCESS BEFORE OUTPUT.
MODULE STATUS_0100.
*PROCESS AFTER INPUT.
MODULE USER_COMMAND_0100.
END-OF-SELECTION.
*& Form CUSTOMER_SHOW_ORDERS
text
--> p1 text
<-- p2 text
FORM customer_show_orders .
define local data
DATA:
ld_row TYPE i,
ls_knb1 TYPE knb1.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_knb1 INTO ls_knb1 INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM vbak INTO TABLE gt_vbak
WHERE kunnr = ls_knb1-kunnr.
REFRESH: gt_vbap.
ENDFORM. " CUSTOMER_SHOW_ORDERS
*& Form ORDER_SHOW_DETAILS
text
--> p1 text
<-- p2 text
FORM order_show_details .
define local data
DATA:
ld_row TYPE i,
ls_vbak TYPE vbak.
CALL METHOD go_grid1->get_current_cell
IMPORTING
e_row = ld_row.
READ TABLE gt_vbak INTO ls_vbak INDEX ld_row.
CHECK ( syst-subrc = 0 ).
SELECT * FROM vbap INTO TABLE gt_vbap
WHERE vbeln = ls_vbak-vbeln.
ENDFORM. " ORDER_SHOW_DETAILS
*& Module STATUS_0100 OUTPUT
text
MODULE STATUS_0100 OUTPUT.
SET PF-STATUS 'STATUS_0100'. " contains push button "ORDERS"
SET TITLEBAR 'xxx'.
Refresh display of detail ALV list
CALL METHOD go_grid2->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
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.
Refresh display of detail ALV list
CALL METHOD go_grid3->refresh_table_display
EXPORTING
IS_STABLE =
I_SOFT_REFRESH =
EXCEPTIONS
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.
ENDMODULE. " STATUS_0100 OUTPUT
*& Module USER_COMMAND_0100 INPUT
text
MODULE USER_COMMAND_0100 INPUT.
move sy-ucomm to gd_okcode.
CASE gd_okcode.
WHEN 'BACK' OR
'END' OR
'CANC'.
SET SCREEN 0. LEAVE SCREEN.
User has pushed button "Display Orders"
WHEN 'ORDERS'.
PERFORM customer_show_orders.
WHEN 'ORDERS_DET'.
PERFORM order_show_details.
WHEN OTHERS.
ENDCASE.
CLEAR: gd_okcode.
endmodule.
Regards,
Ry
Maybe you are looking for
-
Query Strings in Request Dispatcher Paths (PLT.16.1.1)
I'm having trouble using query strings in a request dispatcher include to a servlet. I'm spitting debug out, and it looks like I'm calling: PortletRequestDispatcher rd = getPortletContext().getRequestDispatcher("/myServlet?myparam=myparamValue"); And
-
Computer that was originally synced with Apple TV has crashed
the computer that was originally synced with apple tv has crashed, but the photos and music that was loaded, i don't want to lose them. Is there a way to recover it to my other computer or its just stuck on apple tv until deleted. In itunes also my a
-
Including Inbound and Outbound Interfaces to Business System
Hello Iam new to SAP XI, but have expierence in webMethods EAI Tool. Iam developing a sample interface to pick and put a file in SAPXI itself and for this have created the Interface(data type,mesg typ , mesg inetface , mappin and interface) in Reposi
-
Why does the .dmg file for newest version always download as corrupted?
When I try to download the newest version of Firefox I do not get the window where you are to drag the Firefox icon into the applications folder. When I try to manually open the dmg file I get a dialog box saying the image is corrupted.
-
About the List of Supported CUDA Cards
[Moderator's Note: more info from Wil Renczes (Adobe)] Here's the link in the help documentation: http://help.adobe.com/en_US/PremierePro/CS5/Using/WSd79b3ca3b623cac9-e423b201260 b3b62c9-8000.html Unfortunately, there wasn't a screenshot - so here