Naming new objects
I'm a newb to Java (and programming in general) and I was wondering if anyone could help.
What I need to make is a bank program that can have an unlimited amount of accounts added to it. Each account is supposed to be an object. The problem i'm having is how to do the unlimited part. I'm creating the objects using the following
BankAccounts account1 = new BankAccount();
But what I need is too be able to change "account1" to "account2" and so on for each new object created. any help?
Instead of changing the name of each object you can add a parameter as account name in the class BankAccount() and every time you create a new object set the name attribute different for that object which can be the loop number...
ArrayList arr = new ArrayList();
for(int i=0;i<anyNumber;i++){
BankAccount account = new BankAccount();
account.name = "account"+i;
arr.add(account);
}In this way when later on you fetch out the objects from the list you can differentiate between each account on the basis of the name property..
Similar Messages
-
What is the diffrence between extends and creating new object?
HI ALL,
what is the diffrence between extends and creating new object?
meaning
class base{
class derived extends base{
class base{
class derived {
derived(){
base var = new base();
can u people tell me diffence from the above examples.
THANKS.
ANANDAWhen you create a new object you have to supply the class to which that
object belongs. A class can extend from another class. If it does so
explicitly you can define the 'parent' class from which the class extends.
If you don't explicitly mention anything, the class will implicitly extend
from the absolute base class named 'Object'.
Your example is a bit convoluted: when you create a Derived object,
its constructor creates another object, i.e. an object from the class from
which the Derived class extends.
Extending from a class and creating an object don't have much in common.
kind regards,
Jos -
How can I write new objects to the existing file with already written objec
Hi,
I've got a problem in my app.
Namely, my app stores data as objects written to the files. Everything is OK, when I write some data (objects of a class defined by me) to the file (by using writeObject method from ObjectOutputStream) and then I'm reading it sequencially by the corresponding readObject method (from ObjectInputStream).
Problems start when I add new objects to the already existing file (to the end of this file). Then, when I'm trying to read newly written data, I get an exception:
java.io.StreamCorruptedException
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
Is there any method to avoid corrupting the stream? Maybe it is a silly problem, but I really can't cope with it! How can I write new objects to the existing file with already written objects?
If anyone of you know something about this issue, please help!
JaiHere is a piece of sample codes. You can save the bytes read from the object by invoking save(byte[] b), and load the last inserted object by invoking load.
* Created on 2004-12-23
package com.cpic.msgbus.monitor.util.cachequeue;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.RandomAccessFile;
* @author elgs This is a very high performance implemention of Cache.
public class StackCache implements Cache
protected long seed = 0;
protected RandomAccessFile raf;
protected int count;
protected String cacheDeviceName;
protected Adapter adapter;
protected long pointer = 0;
protected File f;
public StackCache(String name) throws IOException
cacheDeviceName = name;
f = new File(Const.cacheHome + name);
raf = new RandomAccessFile(f, "rw");
if (raf.length() == 0)
raf.writeLong(0L);
* Whne the cache file is getting large in size and may there be fragments,
* we should do a shrink.
public synchronized void shrink() throws IOException
int BUF = 8192;
long pointer = getPointer();
long size = pointer + 4;
File temp = new File(Const.cacheHome + getCacheDeviceName() + ".shrink");
FileInputStream in = new FileInputStream(f);
FileOutputStream out = new FileOutputStream(temp);
byte[] buf = new byte[BUF];
long runs = size / BUF;
int mode = (int) size % BUF;
for (long l = 0; l < runs; ++l)
in.read(buf);
out.write(buf);
in.read(buf, 0, mode);
out.write(buf, 0, mode);
out.flush();
out.close();
in.close();
raf.close();
f.delete();
temp.renameTo(f);
raf = new RandomAccessFile(f, "rw");
private synchronized long getPointer() throws IOException
long l = raf.getFilePointer();
raf.seek(0);
long pointer = raf.readLong();
raf.seek(l);
return pointer < 8 ? 4 : pointer;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#load()
public synchronized byte[] load() throws IOException
pointer = getPointer();
if (pointer < 8)
return null;
raf.seek(pointer);
int length = raf.readInt();
pointer = pointer - length - 4;
raf.seek(0);
raf.writeLong(pointer);
byte[] b = new byte[length];
raf.seek(pointer + 4);
raf.read(b);
--count;
return b;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#save(byte[])
public synchronized void save(byte[] b) throws IOException
pointer = getPointer();
int length = b.length;
pointer += 4;
raf.seek(pointer);
raf.write(b);
raf.writeInt(length);
pointer = raf.getFilePointer() - 4;
raf.seek(0);
raf.writeLong(pointer);
++count;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCachedObjectsCount()
public synchronized int getCachedObjectsCount()
return count;
* (non-Javadoc)
* @see com.cpic.msgbus.monitor.util.cachequeue.Cache#getCacheDeviceName()
public String getCacheDeviceName()
return cacheDeviceName;
} -
Doubt in creation of a new object
Hi All,
I have one doubt in creation of a new object.If a new object is to be created and it is not a subtype
of any existing object, then what should we enter in the Program field for creating the object?
I hope I am clear with my question.
Thanks in Advance,
Saket.Hi Saket,
Following will be required for created a custom business object.
1. Object Type - ZTEST (Internal Techincal Key)
2. Object Name - ZTESTNAME (Technical Key Name)
3. Name - TEST (Name of BO, it is used while selecting the object type)
4. Description - (Short Description of BO)
5. Program - ZTESTPROGRAM (ABAP program in which the methods of the object type are implemented)
6. Application - A or B.. etc (Area to which your BO is related)
Please remember that you can learn these basic things by giving F1 help on those fields and in HELP.SAP.COM.
Regards,
Gautham Paspala -
Creating a new object at runtime
What I want to do is dynamically change the name of a object
everytime I create a new one, what I mean excatly is like make it
so that I can some how increment a value of a variable and apply it
to an object anme... so I get something like this
objectName0, objectName1, objectName2, objectName3 and so on.
I basically want to make it so that I always have a new object to
use... how would I go about doing this?You don't need exec, the api provides this functionality for you. Look at the java.util.jar package.
-
New tabs are not updating the names of the sites they have loaded. When I open a new tab and load a site, the tab simply stays named "New Tab". When I open a link in a new window, it shows "Connecting..." even while its fully loaded.
This issue can be caused by an extension that isn't working properly.
Start Firefox in <u>[[Safe Mode]]</u> to check if one of the extensions is causing the problem (switch to the DEFAULT theme: Firefox (Tools) > Add-ons > Appearance/Themes).
* Don't make any changes on the Safe mode start window.
* https://support.mozilla.com/kb/Safe+Mode
* [[Troubleshooting extensions and themes]] -
It will not parse! Creating a new object in the universe
Hi, we have a universe and BO reports. They work fine for our clients. We are on BO XI r3.1. Now, one client captures an additional piece of info. They would like to report against this and add it high up on our drilling heirarchy. "Sure, no problem". For the following I was logged in as administrator.
The additional data field is a 3 character code.
1) We added an additional column to the actual database table.
2) In Universe Designer, I refreshed universe structure and could see the additional column
3) Created an object 'Acode' that refers to db.new_field
4) Exported universe
Maybe worth mentioning that I can see this object and use it in reports fine in Infoview.
Now, I need to create a new object that will be one of 2 strings based on the 3 character code (Acode) i.e. the 'Atype' can be X or Y.
Here's my code and it just will not parse:
CASE
WHEN @Select(AFolder\Acode) = 'CEL'
THEN 'X'
ELSE u2018Yu2019
END
Error I get is:
Parse failed:Eception:DBD ODBC SQL Server driverStatement could not be prepared.State 42000
I'd appreciate any help, believe me I have searched the forums!
Thanks, EddieLook at following SAP NOtes.
1373739
1184304
Regards,
Bashir Awan -
Setting the name of a new object from a string
Is there anyway I can set the object name of a newly created
object from a string?
eg.
(the code below generates a compile time error on the
variable declaration)
public function addText(newTxt:String, txt:String,
format:TextFormat):void {
var
this[newTxt]:TextField = new TextField();
this[newTxt].autoSize = TextFieldAutoSize.LEFT;
this[newTxt].background = true;
this[newTxt].border = true;
this[newTxt].defaultTextFormat = format;
this[newTxt].text = txt;
addChild(this[newTxt]);
called using>
addText("mytxt", "test text", format);
I could then reference the object later on without using
array notation using mytxt.border = false; for example
There are many a time when I want to set the name of a new
object from a string.
In this example I have a function that adds a new text object
to a sprite.
The problem is, if I call the function more than once then
two textfield objects will exist, both with the same name. (either
that or the old one will be overwritten).
I need a way of setting the name of the textfield object from
a string.
using
var this[newTxt]:TextField = new TextField()
does not work, If I take the "var" keyword away it thinks it
a property of the class not an object.
resulting in >
ReferenceError: Error #1056: Cannot create property newTxt on
Box.
There must be a way somehow to declare a variable that has
the name that it will take represented in a string.
Any help would be most welcome
ThanksUsing:
var this[newTxt]:TextField = new TextField()
is the right approach.
You can either incrment an instance variable so that the name
is unique:
newTxt = "MyName" + _globalCounter;
var this[newTxt]:TextField = new TextField();
globalCounter ++;
Or store the references in an array:
_globalArray.push(new TextField());
Tracy -
Getting ORA-20001: Creation of new object is not allowed: !!
Hi Am getting ORA-20001: Creation of new object is not allowed while enabling constraints after importing the dumps from source to target datbase,can anyone assist me to fix this issue.
Hi Osama/Mustafa,Thanks for your quick response,can you please explain me the following things-
1)As i don't have privilege to run the DBA_XX views,am not able to run those queries-
SELECT OWNER, TRIGGER_NAME, TRIGGER_BODY FROM DBA_TRIGGERS WHERE TRIGGER_TYPE IN ('AFTER EVENT', 'BEFORE EVETN') AND TRIGGERING_EVENT LIKE '%CREATE%';
can you tell me what output it'll throw,based on this output how will we fix the issue.
2)SELECT * FROM dba_sys_privs WHERE privilege = 'UNLIMITED TABLESPACE';
why we need to check this privilege?as i don't have privilege to run this one in my db.
3)select * from dba_source where upper(text) like upper('%Creation of new object is not allowed%');
as i don't have privilege to run this one in my db,already i got the object name from my logfile
and more you have quoted"This is an error of someone that coded purposely on your database, probably dba or a developer who has privilege and again it is in a database event trigger"
4)can you explain me much more deeper about the root cause and as already sent note to my DBA,can you explain me the solution to fix this issue ? -
Creation of new object link for DMS
i have searched a lot about Creation of new object link for DMS on internet .
and all replies focus on that documentation :
1. Program two screens for the following module pools for the SAP object that is to be linked additionally:
u2013 SAPLCV00
u2013 SAPLCVIN
The process logic must be according to that of screen 0204 in program SAPLCV00 and must not be changed.
2. Create the function module OBJECT_CHECK_XXXX (XXXX = name of the SAP object).
i need to know how to implement that in more detailed step by step
as i know DMS and abap also.Hi Reda,
Hope the below URL will help to understand how the Process of adding a object link works.
Enhancement Without Modification of the Object Links - Engineering Change Management (LO-ECH) - SAP Library
Thanks & Regards,
Seshadri. -
Schema of a new Object Type: message pass the BIU without validation
Hi,
i've defined a new Object Type for send messages to Web Service. I've created the schema files and i've uploaded there in repository with the "Import" function of GUI. After, i've defined the XML file for the "Execute" function of the B1i GUI.
After the load of files, in the repository the files are in correct position.
In my BIU the definition of sender and receiver system type is correct, and also the definition of SenderMainObjectTypeID and ReceiverObjectTypeID. The message from B1 pass through the IPO chain without problems and the message is received by teh Web Service.
If modify the file XSL into the BIU, a message with less elements than a schema pass without problem.
If delete the schema from repository, the message pass without validation.
I would know because the schema is bypassed...
ThansOk,
solved with introduction of validation point in a customized IPO using a branch / unbranch atoms.
Bye. -
RE: Named anchored objects
Albert,
In my case I was using a named anchored object to get a handle to an actual
service object. My named object that I registered in the name service was
an intermediary to which I did not maintain a connection. So I have not
explicitly tested what you are asking.
However, I too was not using a hard coded reference to the SO, and fail over
and load balancing worked fine. The functions of fail over and load
balancing are not done by the service object but by the name service, proxy
and router. Since you are getting a proxy back any time you do a lookup in
the name service I would think that fail over should work with any anchored
object that is registered in the name service. When you do a RegisterObject
call you will notice that one of the arguments is the session duration,
which implies to me that fail over will be handled the same as for service
objects.
Load balancing adds another wrinkle. Load balancing is handled by a router.
You must get a proxy to the router and not a proxy to an instance of the
object that the router is doing the load balancing for. In the latter
scenario you will be bypassing the router. If you are creating, anchoring
and registering your objects dynamically you will not have a router so you
will not be able to load balance! This applies even if the objects are
instantiated within partitions that are load balanced because you will still
be getting proxies back to a particular instance of the anchored objects.
There are ways to accomplish load balancing between objects that you
register yourself. However, the best solution will vary depending on the
actual problem trying to be solved. If you would like to discuss this
further, include a little more detail about the scenario you need to
implement and I will give you what I know.
BTY what I have outlined above also applies to getting references via a
system agent.
Sean
Cornice Consulting, Inc.
-----Original Message-----
From: [email protected]
[<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of Albert Dijk
Sent: Friday, July 03, 1998 11:01 AM
To: [email protected]
Subject:
Alex, David, Jez, Sean,...
My question about both solutions (using Nameservice and agents) is:
If I reach a remote service object using either a BindObject or an agent, do
fail-over and load-balancing work the same way as they normally do when
using a hard coded reference to the SO.
Albert Dijk
From: Sean Brown[SMTP:[email protected]]
Reply To: [email protected]
Sent: Thursday, June 25, 1998 6:55 AM
To: Ananiev, Alex; [email protected]
Subject: RE: multiple named objects with the same name and
interface
Alexander,
I can not comment on the speed difference because I never tested it.
But, I
will say that we looked at the agent solution at a client sight
before. I
will give the same warning I gave them. If you go the agent direction
you
are now using agents for a purpose that they were not intended. Even
though
it technically works, as soon as you start using a piece of
functionality in
a way the developer did not intend it to be used you run the risk of
forward
compatibility problems. By this I mean, since agents were not
originally
intended to be used to look up service / anchored object references,
it may
not work in the future because it is not likely to be given
consideration in
any future design.
As we all know, programmers are always stretching the bounds of the
tools
they use and you may have a good reason (i.e. performance). I just
wanted to
let you know the possible risk.
One final note on a limitation of using system agents to obtain
references
to anchored objects. You can not access agents across environments.
So, if
you have connected environments and need to get references to services
in
another environment for fail-over or whatever, you will not be able to
do it
with agents.
Just some thoughts!
Sean
-----Original Message-----
From: [email protected]
[<a href="mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of Ananiev, Alex
Sent: Wednesday, June 24, 1998 12:14 PM
To: '[email protected]'
Subject: RE: multiple named objects with the same name and interface
David,
The problem with dynamic binding is that in this case you have to keep
the reference to the service object somewhere. You don't want to call
"bindObject" every time you need to use this service object, "bind" is
a
time-consuming operation, even on the same partition. Keeping
reference
could be undesirable if your object could be moved across partitions
(e.g. business object).
The alternative solution is to use agents. You can create custom
agent,
make it a subagent of an active partition agent and use it as a
placeholder for whatever service you need. "FindSubAgent" works much
faster than "bindObject", we verified that and agent is "user-visible"
by its nature.
Alexander
From: "Sean Brown" <[email protected]>
Date: Wed, 24 Jun 1998 09:12:55 -0500
Subject: RE: multiple named objects with the same name and interface
David,
I actually determined it through testing. In my case I did not want
this to
happen and was trying to determine why it was happing. It makes sense
if
you think about it. Forte is trying to avoid making a remote method
invocation if it can.
Now, for anything more complex than looking locally first and if none
is
found give me any remote instance you can find, you will need to do
more
work. Using a naming scheme like Jez suggests below works well.
Sean
- -----Original Message-----
From: Jez Sygrove [<a href="mailto:[email protected]">mailto:[email protected]</a>]
Sent: Wednesday, June 24, 1998 4:34 AM
To: [email protected]; 'David Foote'
Cc: [email protected]
Subject: RE: multiple named objects with the same name and interface
David,
there's a mechanism used within SCAFFOLDS that allows the
location of the 'nearest' SO when more than one is available.
It involves registering each duplicated SO under three dynamically
built
names. The names include the partition, the node or the environment
name.
When wishing to locate the nearest SO the BO builds a SO name using
its
own partition and asks the name service for that.
If there is an SO registered under that name then it must be in the
same
partition and all is well. No cross partition calls.
If not, then the BO builds the name using its node and asks the name
service for that.
This means that if there is an SO outside the BO partition but still
on
the same node then this can be used. Again, relatively 'local'.
If neither of these work then the BO has to resort to an environment
wide search.
It may be that this approach could be adapted / adopted; I like it's
ingenuity.
Cheers,
Jez
From: David Foote[SMTP:[email protected]]
Reply To: David Foote
Sent: 24 June 1998 03:17
To: [email protected]
Cc: [email protected]
Subject: RE: multiple named objects with the same name and
interface
Sean,
First, thank you for your response. I have wondered about this fora
long time.
I looked at the documentation for ObjectLocationManager and on page
327
of the Framework Library and AppletSupport Library Guide indescribing
the BindObject method Forte says:
"The name service allows more than one anchored object (from
different
partitions) to be registered in the name service under the same
registration name. When you invoke the BindObject method with a
request
for a name that has duplicate registration entries, the BindObject
method finds an entry corresponding to an active partition, skipping
any
entries that do not. If no such active partition is found, or if the
requested name is not found in the name service registry, a
RemoteAccessException will be raised when the BindObject method is
invoked."
My question is: How did you discover that in the case of duplicate
registrations the naming service will return the local object if one
exists? This is not apparent from the documentation I have quoted.
Is
it documented elsewhere? Or did you determine it empirically?
David N. Foote,
Consultant
----Original Message Follows----
David,
First I will start by saying that this can be done by using named
anchored
objects and registering them yourself in the name service. There is
documentation on how to do this. And by default you will get mostof
the
behavior you desire. When you do a lookup in the name service
(BindObject
method) it will first look in the local partition and see if thereis
a
local copy and give you that copy. By anchoring the object and
manually
registering it in the name service you are programmatically creating
your
own SO without defining it as such in the development environment.
BTW
in
response to your item number 1. This should be the case there as
well.
If
your "mobile" object is in the same partition where the serviceobject
he is
calling resides, you should get a handle to the local instance ofthe
service object.
Here is the catch, if you make a bind object call and there is no
local
copy
you will get a handle to a remote copy but you can not be sure which
one!
It end ups as more or less a random selection. Off the top of myhead
and
without going to the doc, I am pretty sure that when you register an
anchored object you can not limit it's visibility to "User".
Sean
-----Original Message-----
From: [email protected]
[<a href=
"mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of David Foote
Sent: Monday, June 22, 1998 4:51 PM
To: [email protected]
Subject: multiple named objects with the same name and interface
All,
More than once, I have wished that Forte allowed you to place named
objects with the same name in more than one partition. There aretwo
situations in which this seems desirable:
1) Objects that are not distributed, but are mobile (passed by value
to
remote objects), cannot safely reference a Service Object unless it
has
environment visibility, but this forces the overhead of a remote
method
call when it might not otherwise be necessary. If it were possibleto
place a copy of the same Service Object (with user visibility) ineach
partition, the overhead of a remote method call could be avoided.
This
would only be useful for a service object whose state could besafely
replicated.
2) My second scenario also involves mobile objects referencing a
Service
Object, but this time I would like the behavior of the calledService
Object to differ with the partition from which it is called.
This could be accomplished by placing Service Objects with the same
name
and the same interface in each partition, but varying the
implementation
with the partition.
Does anyone have any thoughts about why this would be a good thingor
a
bad thing?
David N. Foote
Consultant
Alexander Ananiev
Claremont Technology Group
916-558-4127
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:<a href="http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
>
>
>
Alexander Ananiev
Claremont Technology Group
916-558-4127
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:<a href=
"http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:<a href=
"http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>Albert,
In my case I was using a named anchored object to get a handle to an actual
service object. My named object that I registered in the name service was
an intermediary to which I did not maintain a connection. So I have not
explicitly tested what you are asking.
However, I too was not using a hard coded reference to the SO, and fail over
and load balancing worked fine. The functions of fail over and load
balancing are not done by the service object but by the name service, proxy
and router. Since you are getting a proxy back any time you do a lookup in
the name service I would think that fail over should work with any anchored
object that is registered in the name service. When you do a RegisterObject
call you will notice that one of the arguments is the session duration,
which implies to me that fail over will be handled the same as for service
objects.
Load balancing adds another wrinkle. Load balancing is handled by a router.
You must get a proxy to the router and not a proxy to an instance of the
object that the router is doing the load balancing for. In the latter
scenario you will be bypassing the router. If you are creating, anchoring
and registering your objects dynamically you will not have a router so you
will not be able to load balance! This applies even if the objects are
instantiated within partitions that are load balanced because you will still
be getting proxies back to a particular instance of the anchored objects.
There are ways to accomplish load balancing between objects that you
register yourself. However, the best solution will vary depending on the
actual problem trying to be solved. If you would like to discuss this
further, include a little more detail about the scenario you need to
implement and I will give you what I know.
BTY what I have outlined above also applies to getting references via a
system agent.
Sean
Cornice Consulting, Inc.
-----Original Message-----
From: [email protected]
[<a href="mailto:[email protected]">mailto:[email protected]]On</a> Behalf Of Albert Dijk
Sent: Friday, July 03, 1998 11:01 AM
To: [email protected]
Subject:
Alex, David, Jez, Sean,...
My question about both solutions (using Nameservice and agents) is:
If I reach a remote service object using either a BindObject or an agent, do
fail-over and load-balancing work the same way as they normally do when
using a hard coded reference to the SO.
Albert Dijk
From: Sean Brown[SMTP:[email protected]]
Reply To: [email protected]
Sent: Thursday, June 25, 1998 6:55 AM
To: Ananiev, Alex; [email protected]
Subject: RE: multiple named objects with the same name and
interface
Alexander,
I can not comment on the speed difference because I never tested it.
But, I
will say that we looked at the agent solution at a client sight
before. I
will give the same warning I gave them. If you go the agent direction
you
are now using agents for a purpose that they were not intended. Even
though
it technically works, as soon as you start using a piece of
functionality in
a way the developer did not intend it to be used you run the risk of
forward
compatibility problems. By this I mean, since agents were not
originally
intended to be used to look up service / anchored object references,
it may
not work in the future because it is not likely to be given
consideration in
any future design.
As we all know, programmers are always stretching the bounds of the
tools
they use and you may have a good reason (i.e. performance). I just
wanted to
let you know the possible risk.
One final note on a limitation of using system agents to obtain
references
to anchored objects. You can not access agents across environments.
So, if
you have connected environments and need to get references to services
in
another environment for fail-over or whatever, you will not be able to
do it
with agents.
Just some thoughts!
Sean
-----Original Message-----
From: [email protected]
[<a href="mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of Ananiev, Alex
Sent: Wednesday, June 24, 1998 12:14 PM
To: '[email protected]'
Subject: RE: multiple named objects with the same name and interface
David,
The problem with dynamic binding is that in this case you have to keep
the reference to the service object somewhere. You don't want to call
"bindObject" every time you need to use this service object, "bind" is
a
time-consuming operation, even on the same partition. Keeping
reference
could be undesirable if your object could be moved across partitions
(e.g. business object).
The alternative solution is to use agents. You can create custom
agent,
make it a subagent of an active partition agent and use it as a
placeholder for whatever service you need. "FindSubAgent" works much
faster than "bindObject", we verified that and agent is "user-visible"
by its nature.
Alexander
From: "Sean Brown" <[email protected]>
Date: Wed, 24 Jun 1998 09:12:55 -0500
Subject: RE: multiple named objects with the same name and interface
David,
I actually determined it through testing. In my case I did not want
this to
happen and was trying to determine why it was happing. It makes sense
if
you think about it. Forte is trying to avoid making a remote method
invocation if it can.
Now, for anything more complex than looking locally first and if none
is
found give me any remote instance you can find, you will need to do
more
work. Using a naming scheme like Jez suggests below works well.
Sean
- -----Original Message-----
From: Jez Sygrove [<a href="mailto:[email protected]">mailto:[email protected]</a>]
Sent: Wednesday, June 24, 1998 4:34 AM
To: [email protected]; 'David Foote'
Cc: [email protected]
Subject: RE: multiple named objects with the same name and interface
David,
there's a mechanism used within SCAFFOLDS that allows the
location of the 'nearest' SO when more than one is available.
It involves registering each duplicated SO under three dynamically
built
names. The names include the partition, the node or the environment
name.
When wishing to locate the nearest SO the BO builds a SO name using
its
own partition and asks the name service for that.
If there is an SO registered under that name then it must be in the
same
partition and all is well. No cross partition calls.
If not, then the BO builds the name using its node and asks the name
service for that.
This means that if there is an SO outside the BO partition but still
on
the same node then this can be used. Again, relatively 'local'.
If neither of these work then the BO has to resort to an environment
wide search.
It may be that this approach could be adapted / adopted; I like it's
ingenuity.
Cheers,
Jez
From: David Foote[SMTP:[email protected]]
Reply To: David Foote
Sent: 24 June 1998 03:17
To: [email protected]
Cc: [email protected]
Subject: RE: multiple named objects with the same name and
interface
Sean,
First, thank you for your response. I have wondered about this fora
long time.
I looked at the documentation for ObjectLocationManager and on page
327
of the Framework Library and AppletSupport Library Guide indescribing
the BindObject method Forte says:
"The name service allows more than one anchored object (from
different
partitions) to be registered in the name service under the same
registration name. When you invoke the BindObject method with a
request
for a name that has duplicate registration entries, the BindObject
method finds an entry corresponding to an active partition, skipping
any
entries that do not. If no such active partition is found, or if the
requested name is not found in the name service registry, a
RemoteAccessException will be raised when the BindObject method is
invoked."
My question is: How did you discover that in the case of duplicate
registrations the naming service will return the local object if one
exists? This is not apparent from the documentation I have quoted.
Is
it documented elsewhere? Or did you determine it empirically?
David N. Foote,
Consultant
----Original Message Follows----
David,
First I will start by saying that this can be done by using named
anchored
objects and registering them yourself in the name service. There is
documentation on how to do this. And by default you will get mostof
the
behavior you desire. When you do a lookup in the name service
(BindObject
method) it will first look in the local partition and see if thereis
a
local copy and give you that copy. By anchoring the object and
manually
registering it in the name service you are programmatically creating
your
own SO without defining it as such in the development environment.
BTW
in
response to your item number 1. This should be the case there as
well.
If
your "mobile" object is in the same partition where the serviceobject
he is
calling resides, you should get a handle to the local instance ofthe
service object.
Here is the catch, if you make a bind object call and there is no
local
copy
you will get a handle to a remote copy but you can not be sure which
one!
It end ups as more or less a random selection. Off the top of myhead
and
without going to the doc, I am pretty sure that when you register an
anchored object you can not limit it's visibility to "User".
Sean
-----Original Message-----
From: [email protected]
[<a href=
"mailto:[email protected]]On">mailto:[email protected]]On</a> Behalf Of David Foote
Sent: Monday, June 22, 1998 4:51 PM
To: [email protected]
Subject: multiple named objects with the same name and interface
All,
More than once, I have wished that Forte allowed you to place named
objects with the same name in more than one partition. There aretwo
situations in which this seems desirable:
1) Objects that are not distributed, but are mobile (passed by value
to
remote objects), cannot safely reference a Service Object unless it
has
environment visibility, but this forces the overhead of a remote
method
call when it might not otherwise be necessary. If it were possibleto
place a copy of the same Service Object (with user visibility) ineach
partition, the overhead of a remote method call could be avoided.
This
would only be useful for a service object whose state could besafely
replicated.
2) My second scenario also involves mobile objects referencing a
Service
Object, but this time I would like the behavior of the calledService
Object to differ with the partition from which it is called.
This could be accomplished by placing Service Objects with the same
name
and the same interface in each partition, but varying the
implementation
with the partition.
Does anyone have any thoughts about why this would be a good thingor
a
bad thing?
David N. Foote
Consultant
Alexander Ananiev
Claremont Technology Group
916-558-4127
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive
<URL:<a href="http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
>
>
>
Alexander Ananiev
Claremont Technology Group
916-558-4127
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:<a href=
"http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>>
To unsubscribe, email '[email protected]' with
'unsubscribe forte-users' as the body of the message.
Searchable thread archive <URL:<a href=
"http://pinehurst.sageit.com/listarchive/">http://pinehurst.sageit.com/listarchive/</a>> -
Hi Sir/Madam,
Currently we are implementing DMS(Document Management System) and
our main requirement is to add document to the delivery and billing
document.In t-code dc10 in "define object link" lips and vbrp object is
not present in the default list so how we can add these new object in
order to attach new document to delivery as well as billing document.
Is it possible to attach document at header level because we have to
attach lorry number at delivery header which will be common for all the
items.
The function module object_check_lips already exist in se37 but we
have to create new function module for object vbrp.How to create this
function module? How we have to create screens for these objects? If we
have to create it by copying some function module like
object_check_equithan what will be the funtion group.
IN delivery document (vl03n) in menu bar in "extras" document
option is not there than how we will see the attached document, do we
have to create this option with help of abaper or this option will
automatically reflect after all the cofiguration?
Thanks and Regards
Abhilash NayakHi Abhilash,
You need to gofor z-development for this. The Abap'r will add the new required object in object link field. Also the DMS screen will appear in the required t-code.
Meantime you need to add this object in SPRO , "maintain key fields".
I hope this will resolve the query.
Regards,
Ravindra -
New-object itextsharp causes an error
Hi, i am trying to use powershell to read a pdf document with the following code
[System.Reflection.Assembly]::LoadFrom(".\itextsharp.dll")
$reader = New-Object iTextSharp.text.pdf.PdfReader -ArgumentList ".\201408_issue.pdf"
for ($page = 1; $page -le $reader.NumberOfPages; $page++) {
$lines = [char[]]$reader.GetPageContent($page) -join "" -split "`n"
foreach ($line in $lines) {
if ($line -match 'test')
$matches[1]
I get an error though, has anyone encoutnered this? Thanks
New-Object : Exception calling ".ctor" with "1" argument(s): "Object reference not set to an instance
of an object."
At C:\PsScripts\test\PDFReader\PDFReader.ps1:2 char:11
+ $reader = New-Object iTextSharp.text.pdf.PdfReader -ArgumentList ".\201408_RIN_i ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (:) [New-Object], MethodInvocationException
+ FullyQualifiedErrorId : ConstructorInvokedThrowException,Microsoft.PowerShell.Commands.NewObject
CommandPS C:\PsScripts\test\PDFReader> $error[0].Exception | Format-List * -Force
ErrorRecord : Exception calling ".ctor" with "1" argument(s): "Object reference not
set to an instance of an object."
StackTrace : at System.Management.Automation.DotNetAdapter.AuxiliaryConstructorInvo
ke(MethodInformation methodInformation, Object[] arguments, Object[]
originalArguments)
at
System.Management.Automation.DotNetAdapter.ConstructorInvokeDotNet(Type
type, ConstructorInfo[] constructors, Object[] arguments)
at
Microsoft.PowerShell.Commands.NewObjectCommand.CallConstructor(Type
type, ConstructorInfo[] constructors, Object[] args)
WasThrownFromThrowStatement : False
Message : Exception calling ".ctor" with "1" argument(s): "Object reference not
set to an instance of an object."
Data : {}
InnerException : System.NullReferenceException: Object reference not set to an instance
of an object.
at iTextSharp.text.pdf.PdfReader.ReadObjStm(PRStream stream,
IntHashtable map)
at iTextSharp.text.pdf.PdfReader.ReadDocObj()
at iTextSharp.text.pdf.PdfReader.ReadPdf()
TargetSite : System.Object AuxiliaryConstructorInvoke(System.Management.Automation.Met
hodInformation, System.Object[], System.Object[])
HelpLink :
Source : System.Management.Automation
HResult : -2146233087
Any meaning to you? -
Need the code to make these to new objects in BW world, please help...
I have two fields that I get from the source (to DSO):
CREATE_DATE (YYYYMMDD)
REPORT_MONTH (YYYYMM)
First I want to make a infoobjects (called CREATE_MONTH) that takes the YYYYMM from the CREATE_DATE.
The I also want to make an indicator (called MONTH_IND) that have a test on infoobjects called CREATE_MONTH and REPORT_MONTH.
The logic should be something like this:
If CREATE_MONTH is 3 month earlier than REPORT_MONTH the indicator should say over 2 month
If CREATE_MONTH is 4 month earlier than REPORT_MONTH the indicator should say over 3 month
Etc .
Conclution:
Need two new objects:
1. CREATE_MONTH
2. MONTH_IND
Can someone give me some help on how to do this Please?Hi Elaine!
First of all I´d like to thank your answer.
I know what you mean; I had a gif animated file in my web site and I converted it in a swf file, that is the reason why I couldn´t do the correct to make the link. I thought that I could make the link with a simple code but thanks to this foro, now I know that it is a bit more complicated.
Anyway, I think that it is better if I read the tutorial to know how this work.
Thank you again and have a nice day!
afp5trip
Maybe you are looking for
-
Exception handling in ODI - common exception handling framework
Hi, I need to come up with a common exception handling framework in an environment where ESB and ODI are being used for interfacing and ELT operations. I am of the opinion that 1. I am not able to find any documentation wrt exception handling when OD
-
Compare PI 7.1 with IBM Message Broker (WBI)
Hi, I need some help on understanding the advantages and disadvantages of using PI 7.1 over Message Broker. (MB) I would like to a kind of comparative study for both the produts. Could any one help me to understand the two system in terms of a. Scala
-
I can't get my HP Officejet 4620 printer hooked up via wireless connection
I have tried every suggestion given to me . I went through the entire troubleshooting process . I also did the connection test , which the printer passed . So why is it passing the connection test , but not really connected ? I have turned off firewa
-
Lion or Snow Leopard for MacBook 3.1
Hi. I just want a few opinions on whether its worth putting Lion on my MacBook and iMac. I have two 2007 Macs, a MacBook 3.1 2.2Ghz 4Gb Ram with SSD and an iMac 7.1 2.4Ghz 4Gb Ram Core2Duo machines. I upgraded at the time to Snow Leopard from 10.5 an
-
Storage location in Purchase requisition
Hello, I have a MRP area type storage location and i cannot have a storage location in the purchase req when the requirement is coming from this storage location. When converting to PO, the storage location is populated from mrp area data. In MRP ar