How to access private attribute of a class from its Friend Class
Hi Experts ,
I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
Please help me to understand how can i access private attribute of one class from its friend class.
Regards- Abhishek
Hi Reny,
You should be able to access by creating object of friend class.
Sample:
data lo_frnd TYPE REF TO /BOBF/CL_TRA_SERVICE_MGR.
data lo_compl type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
create OBJECT lo_frnd
exporting
iv_bo_key = '111'
IO_COMPL_TRANSACTION_MANAGER = lo_compl.
"access the private object of friend class
clear lo_frnd->MO_BOPF.
Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
Hope this helps you.
Regards,
Rama
Similar Messages
-
Accessing private attribute of a class from its Friend Class
Hi Experts ,
Please help me to understand how can i access private attribute of one class from its friend class.
I am coding in Method (DO_SAVE) of class /BOBF/CL_TRA_TRANSACTION_MGR.
I need to access private variable ( MO_BOPF) of class /BOBF/CL_TRA_SERVICE_MGR ( Friend of /BOBF/CL_TRA_TRANSACTION_MGR ).
Regards,
Reny RichardHi Reny,
You should be able to access by creating object of friend class.
Sample:
data lo_frnd TYPE REF TO /BOBF/CL_TRA_SERVICE_MGR.
data lo_compl type REF TO /BOBF/IF_TRA_TRANS_MGR_COMPL.
create OBJECT lo_frnd
exporting
iv_bo_key = '111'
IO_COMPL_TRANSACTION_MANAGER = lo_compl.
"access the private object of friend class
clear lo_frnd->MO_BOPF.
Note: need to provide iv_bo_key & IO_COMPL_TRANSACTION_MANAGER while creating object.
Hope this helps you.
Regards,
Rama -
How to access Instance Attribute in a Class Interface from FM ?
Hi Experts
I have the following function module code, that passes the syntax, however in the class interface ABC, I have an attribute IJK that is Instance Attribute (Public). When I modify the code like ABC->IJK but it does not like it, the error is :-
Field "ABC" is unknown. It is neither in one of the specified tables nor defined by a "DATA" statement. "DATA" statement.
Question : How do I declare the Class Interface ABC in my Function Module that will allow me to access the Instance Attribute ?
Thanks in advance.
FUNCTION XYZ.
if not ABC=>EFG is initial.
output = ABC=>EFG.
shift output left deleting LEADING space.
endif.
ENDFUNCTION.Hello
You question only makes sense if
(1) the class / interface is part of the FM's interface (i.e. an IMPORTING - or perhaps CHANGING - parameter)
(2) the class / interface is defined as global variable in the TOP include of the function group
If either of these two options is applicable then the coding may look like this:
" (1) IMPORTING parameter: e.g. IO_INSTANCE TYPE REF TO class / interface name
IF ( io_instance IS BOUND ).
io_instance->abc = 'New value'.
ENDIF.
" (2) Global variable of function group, e.g. GO_INSTANCE TYPE REF TO class / interface name:
IF ( go_instance IS BOUND ).
go_instance->abc = 'New value'.
ENDIF.
Obviously, the public attribute ABC must be changeable (i.e. not READ-ONLY).
Regards
Uwe -
Trying to access a private attribute of a class in the same package
Hi,
I have defined a private attribute in a class
class Sample {
private String newString = "hello";
in another class I am trying to access newString attribute using reflection api. It is throwing hte following exception
java.lang.NoSuchFieldException: value
at java.lang.Class.getDeclaredField(Unknown Source)
at refletionpack.mainclass.main(mainclass.java:20)
any ideas how to do it exactly? Should stringclass.getDeclaredField("value")
have the field name(newString) as a parameter?
public class mainclass {
static Class stringclass = Sample.class;
static Field stringCharsField = null;
public static void main(String args[]){
try{
stringCharsField = stringclass.getDeclaredField("value");
stringCharsField.setAccessible(true);
char[] stringChars = (char[])stringCharsField.get("newString");
System.out.println(stringChars);
}catch(NoSuchFieldException ex){
ex.printStackTrace();
}catch(IllegalAccessException ex){
ex.printStackTrace();
}Hi,
to obtain the value of your private attribute you have to change two lines of code. At first you have to tell your class and not the field that private attributes can be accessed by using stringClass.setAccessible(true);After that you have to specify the name of the attribute to obtain which is called newString in your class which results in
stringCharsField = stringClass.getDeclaredField("newString");For the invocation of the method get(Object) you need an object first that is an instance of the analyzed class by calling Object sample = stringClass.newInstance.
Then you can retrieve the actual data of the requested field by calling String string = (String) stringCharsField.get(sample);A simpler solution would be when you make your attribute newString static. Then you can omit the necessary object for the retrieval of the attribute data and the line would result in String string = (String) stringCharsField.get(null);.
For further issues considering reflection you should read the appropriate API.
Hope it helps. -
How to access an attribute(this is referencing to another class) in a class
Dear Gurus,
I have to read an attribute of a class and that attributes type another class.
I have intantiated the class and my question is how to read the attribute. I know I can not dirrectly read the attribute since this is another class. I think I have to first reference the attribute right? Please advise me.
My code looks like below:
data: lo_fpm type ref to if_fpm.
data: lo_msg_mgr type ref to if_fpm_message_manager.
data: lo_component_manager type ref to cl_fpm_component_manager.
lo_fpm = cl_fpm_factory=>get_instance( ). " cl_fpm_factory is a class which has a static method get_instance
lo_msg_mgr = lo_fpm->mo_message_manager.
lo_component_manager = lo_fpm->mo_component_manager.
The above statement is giving syntax error. I do not know why.
The basic difference b/n the two methods is if_fpm~mo_message_manager type ref to if_fpm_message_manager and
mo_component_manager type ref to cl_fpm_component_manager.
Any help would be appreciated.
Thanks,
GSMHello
I cannot test the following coding because I do not get the singleton instance yet it should work:
*& Report ZUS_SDN_CL_FPM_FACTORY
*& Thread: How to access an attribute(this is referencing to another class) in a class
*& <a class="jive_macro jive_macro_thread" href="" __jive_macro_name="thread" modifiedtitle="true" __default_attr="1398429"></a>
REPORT zus_sdn_cl_fpm_factory.
DATA: go_fpm TYPE REF TO cl_fpm. " class implements if_fpm.
DATA: go_msg_mgr TYPE REF TO if_fpm_message_manager.
DATA: go_component_manager TYPE REF TO cl_fpm_component_manager.
START-OF-SELECTION.
BREAK-POINT.
go_fpm ?= cl_fpm_factory=>get_instance( ). " cl_fpm_factory is a class which has a static method get_instance
CHECK ( go_fpm IS BOUND ).
go_msg_mgr = go_fpm->mo_message_manager.
go_component_manager = go_fpm->mo_component_manager.
END-OF-SELECTION.
Regards
Uwe -
Accessing private method of a class from report
Hello All,
I would have to access a private method of a class from a report.
Is it possible to access private mehod otherthan from its own class and friend classes.
Please guide on this. If is possible, to access please give some sample code.
Thanks & Regards,
Vishnu PriyaHi,
By using the friend concept you can access private attribute or method in outside class.
Try the following code,
CLASS C1 DEFINITION DEFERRED.
CLASS C2 DEFINITION CREATE PRIVATE FRIENDS C1 .
PRIVATE SECTION.
DATA : NUM TYPE I VALUE 5.
METHODS : M2.
ENDCLASS.
CLASS C2 IMPLEMENTATION.
METHOD M2.
WRITE:/5 'I am method m2 in C2'.
ENDMETHOD.
ENDCLASS .
class c1 definition.
public section .
methods : m1.
endclass.
class c1 implementation.
method m1.
DATA : OREF2 TYPE REF TO C2.
CREATE OBJECT OREF2.
WRITE:/5 OREF2->NUM.
CALL METHOD OREF2->M2.
ENDMETHOD.
endclass.
START-OF-SELECTION.
DATA : OREF1 TYPE REF TO C1.
CREATE OBJECT OREF1.
CALL METHOD OREF1->M1.
Regards,
Jeyakumar.A
Edited by: Jeyakumar Aasai on Apr 14, 2011 11:51 AM -
How to access the attributes from a method
Hi,
Thanks to all who replied to my previous thread. Please let me know how to access the attributes in method of component controller in the view.
Let Component_method be my method in component controller which contrains few attributes like this
method component_method.
data : node1 type ref to if_wd_context_node,
itab type standard type of mara.
endmethod.
I want to access the above attributes in method of view.
method view1.
wd_comp_controller->method_component( ).
????? how to access the data of the method_component?
endmethod.
Kindly help me out in the syntax.
Rgrds
MahathiHi mahathi
You should define the parameters in the header, not in the body of the method:
You can define it as importing, exporting, changing or returning, as you need. For example, in SE80
Parameter Cl.declar. RefTo Opt Type ref
node1 importing X if_wd_context_node
itab exporting mara
method_component().
" code here...
endmethod.
and when you have to call the method,
wd_comp_controller->method_component(
EXPORTING node1 = nodelocal " not importing!!!
IMPORTING itab = itablocal " not exporting!!!
i think that it's this what you want, don't i? -
How to access the java stack table "xi_af_msg" from the ABAP engine.
Hello Guys,
How to access the java stack table "xi_af_msg" from the ABAP engine.
I need to access this table.These 3 are the tables that are for XI Adapter in ABAP Stack.
SWFRXICNT
SWFRXIHDR
SWFRXIPRC
You can also try the following tables.
SXMSAEADPMOD XI: Adapter and Module Information
SXMSAEADPMODCHN XI: Adapter Module Chains
SXMSAEAGG XI: Adapter Runtime Data (Aggregated)
SXMSAERAW XI: Adapter Runtime Data (Raw Data)
Cheers,
Sarath.
Award if helpful. -
How to access the ORACLE APPS table structures from SAP
Hi Experts,
How to access the ORACLE APPS table structures from SAP? Is it possible from SAP?
Thanks in advance
ThomasHi Silviya,
you can access this database using a technique called DB Multiconnect - sometimes written as multi-connect.
Search the SAP documentation and notes for this term and you will find how to do it.
Essentially you configure the remote database connection via transaction DBCON.
If your SAP system is not running on Oracle you will need to install the db-specific kernel files for Oracle along with the Oracel db client software - SQL*Net.
Then you can access the Oracle database from ABAP using native-SQL. It works a treat!
Cheers
Graham Robbo -
How to Access the value(Ex: Delivery no) From Web to R/3 side.
How to Access the value(Ex: Delivery no) From Web to R/3 side.
Any sample code please suggest.
saiHi,
Try RSA3.
Extract Checker
/people/sajeed.ms/blog/2006/02/12/extract-checker
Thanks,
JituK -
How to access JNDI tree of Admin Server from Managed Server
Hello,
I created Managed and Admin Server for Domain.
On Managed Server I use:
InitialContext con = new InitialContext()
It points to Managed Server local JNDI tree and
Managed Server can't find JNDI tree of Admin Server.
Looks like Managed Server is regular remote client of Admin Server.
How to access JNDI tree of Admin Server from Managed Server?
Thanks.
Oleg.Hello,
I created Managed and Admin Server for Domain.
On Managed Server I use:
InitialContext con = new InitialContext()
It points to Managed Server local JNDI tree and
Managed Server can't find JNDI tree of Admin Server.
Looks like Managed Server is regular remote client of Admin Server.
How to access JNDI tree of Admin Server from Managed Server?
Thanks.
Oleg. -
How to access private method of an inner class using reflection.
Can somebody tell me that how can i access private method of an inner class using reflection.
There is a scenario like
class A
class B
private fun() {
now i want to use method fun() of an inner class inside third class i.e "class c".
Can i use reflection in someway to access this private method fun() in class c.I suppose for unit tests, there could be cases when you need to access private methods that you don't want your real code to access.
Reflection with inner classes can be tricky. I tried getting the constructor, but it kept failing until I saw that even though the default constructor is a no-arg, for inner classes that aren't static, apparently the constructor for the inner class itself takes an instance of the outer class as a param.
So here's what it looks like:
//list of inner classes, if any
Class[] classlist = A.class.getDeclaredClasses();
A outer = new A();
try {
for (int i =0; i < classlist.length; i++){
if (! classlist.getSimpleName().equals("B")){
//skip other classes
continue;
//this is what I mention above.
Constructor constr = classlist[i].getDeclaredConstructor(A.class);
constr.setAccessible(true);
Object inner = constr.newInstance(outer);
Method meth = classlist[i].getDeclaredMethod("testMethod");
meth.setAccessible(true);
//the actual method call
meth.invoke(inner);
} catch (Exception e) {
throw new RuntimeException(e);
Good luck, and if you find yourself relying on this too much, it might mean a code redesign. -
How to access XM attribute name in servlet ?
Hi All,
Anybody please tell me how to access attribute name in servlet ?
ThanksHi All,
I have modified the source code of af:showDetailItem as following:
<af:forEach items="#{bindings.VerticalAppMenus.children}" var="globalMenu" varStatus="globalMenuVarStatus">
<af:showDetailItem text="#{globalMenu.MenuLabel}" id="sdi1" disclosureListener="#{pageFlowScope.globalMenus.refreshLineMenus}"
disclosed="#{(pageFlowScope.globalMenus.currentVerticalMenuId == globalMenu.MenuId) ? true : false}">
<f:attribute name="currentVerticalMenuId" value="#{globalMenu.MenuId}"/>
</af:showDetailItem>
</af:forEach>For the code *disclosed="#{(pageFlowScope.globalMenus.currentVerticalMenuId == globalMenu.MenuId) ? true : false}"*, at runtime it is giving the following error:
*java.lang.IllegalArgumentException: Cannot convert 32 of type class oracle.jbo.domain.Number to class java.lang.Long*.
Is there any way to cast the long to number or number to long in EL?
Any help will be highly appreciated
Thanks ... Best Regards
Bilal
Edited by: Bilal on 04-Apr-2012 19:32 -
How to access variables declared in java class file from jsp
i have a java package which reads values from property file. i have imported the package.classname in jsp file and also i have created an object for the class file like
classname object=new classname();
now iam able to access only the methods defined in the class but not the variables. i have defined connection properties in class file.
in jsp i need to use
statement=con.createstatement(); but it shows variable not declared.
con is declared in java class file.
how to access the variables?
thankshere is the code
* testbean.java
* Created on October 31, 2006, 12:14 PM
package property;
import java.beans.*;
import java.io.Serializable;
public class testbean extends Object implements Serializable {
public String sampleProperty="test2";
public String getSampleProperty() {
return sampleProperty;
}jsp file
<%@ page contentType="text/html;charset=windows-1252"%>
<%@ page import="java.sql.*,java.util.*"%>
<html>
<head>
<title>Schedule Details</title>
</head>
<jsp:useBean id="ConProp" class="property.testbean"/>
<body>
Messge is : <jsp:getProperty name="msg" property="sampleProperty"/>
<%
out.println(ConProp.sampleProperty);
%>
</body>
</html>out.println(ConProp.sampleProperty) prints null value.
is this the right procedure to access bean variables
thanks -
How to access Selection Attribute Filter Key on a TG through CRMD_MKTTG* ??
Hello,
We need to apply all the attributes filters on a TG (for instance city filter) for searching an address that comply with the filters.
To create a segment at CRMD_MKTSEG transaction for using it later in a campaign, it could be done by 3 ways:
1. Create a simple profile
2. Create a target group: create a profile and build the targe group
3. Create a profile set: create a profile and build for profile set
When creating first the profile, it is possible to apply attributes filters. This atributes filters are stored in BD tables of marketing. We are able to find the filters for the first and third case, but not for second case.
I proceed to explain the first and third case:
CRMD_MKTTG_TG_H: CRM Marketing: Target Group Header Data
GUID: CRM Marketing: GUID of Target Group (this data I know beforehand)
SET_H_GUID: CRM Marketing: GUID Profile Set
SET_GUID: CRM Marketing: GUID Profile Set
PROF_GUID: CRM Marketing: GUID of a Profile
For the first case directly we do a select on CRMD_MKTTG_PF_S where PF_GUID = CRMD_MKTTG_TG_H-PROF_GUID:
CRMD_MKTTG_PF_S: CRM Marketing: Selection Criterion of a Profile
GUID:CRM Marketing: GUID for a Target Group Selection Criterion
PF_GUID: CRM Marketing: GUID of a Profile
For the third case we do select on CRMD_MKTTG_PF_H where SET_GUID = CRMD_MKTTG_TG_H-SET_H_GUID and we retive GUID:
CRMD_MKTTG_PF_H: CRM Marketing: Profile
GUID: CRM Marketing: GUID of a Profile
SET_GUID :CRM Marketing: GUID Profile Set
Then we do select select on CRMD_MKTTG_PF_S where PF_GUID = CRMD_MKTTG_PF_H-GUID.
And we can obtain the filters through:
.INCLUDE CRMT_MKTTG_PF_S_RANGE:CRM Marketing: Selection Range
SEL_SIGN: CRM Marketing: Component SIGN for Selection Criterion
SEL_OPTION: CRM Marketing: Component "OPTION" for Selection Criterion
SEL_LOW : CRM Marketing: Component "LOW" for Selection Criterion
SEL_HIGH :CRM Marketing: Component "HIGH" for Selection Criterion
But what about the second case that correspond to CRMD_MKTTG_TG_H-SET_GUID?
Could somebody explain how to access the filters when the second case happen? ¿What relationship MKT tables is based on?
I would appreciate any suggestion.
Best regards,
Rosa
Edited by: Carlos de Cozar on Feb 15, 2008 12:13 PM
Edited by: Rosa on Feb 20, 2008 9:42 AMCan you please let me know how I can find out the duplicate record.
you need to split the records from flat file structure into your internal table ans use a delete ADJACENT duplicates comparing fields
split flat_str into wa_f1 wa_f2 wa_f2 at tab_space.
Maybe you are looking for
-
New MBP - wireless/internet access networking problem - a summary!
Greetings! New MBP here, with all the trimmings (MacOS X 10.4.10 - Safari 3 Beta). New also to the Apple/MAC world MBP >> wireless networking into a Linksys WRT54G router and >> thru HughesNet DW7000 Satellite Internet connection (not the fastest, bu
-
<p>The following command gets a null pointer error showing up in Tomcat log:</p><p>../../viewers/cdz_adv/viewDocument.jsp?sEntry=<%=strEntry%>&lang=en&iDocID=830&ViewType=I&kind=Webi</p><p>where sEntry is a valid report token </p><p>but works fine if
-
Update BSEG with alternative G/L account after assigning it at company code
Hello, I'm facing an issue concerning the update of BSEG and other tables. We have started to work in Production from January 2010 without alternative chart of accounts. So many posting till now. Now the company wants to set up the local chart of acc
-
Automation server can't create object.
This is my kind request to redirect you techies on my problem> I have posted same thing in some old thread.But as its not a good practise,I m starting new thread. See the post: http://forum.java.sun.com/post!reply.jspa?messageID=10265047 I m using to
-
Hello All, I would like to know, Is it possible to generate a billing document from the system without a sales order or a delivery. If so how can i do that because my client wants to be able to generate an invoice for their customer without having a