Collections problem - Sorting object (not key) in treemap
Hello everyone,
I don't know if TreeMap is the right thing for what I want to do, but I haven't found anything better yet. What I want to do is have a tree map like that
index -- value (Double)
1 500
2 450
3 500 (Multiple value)
4 123so I used a TreeMap, but what I want to do is get the indexes with the highest 5 values for example. Should I still use TreeMap? Is there a simple way to keep the values sorted rather than the keys (indices)?
Thanx
My problem is though, I want to sort them but then get the index of the minimum for example and with the LinkedList, I lose the mapping. With the treemap, I also cannot get the key (index) given an object, only the other way round. Is there a way to handle this?
Similar Messages
-
I'm having problems Sorting Objects
Hello everyone!
I'm having problems sorting objects. Here is what I got at moment... I'm trying using "Collections.sort" with objects, and I think my problem is there but I don't know how to do in other way the sorting.
Some help will be appreciated! Thank you!
Movie.java
import java.util.ArrayList;
public class Movie
public int itemNum;
private String title;
public String director;
public Movie()
itemNum = -1;
title = "";
director = "";
public Movie(int itemNum, String title, String director)
this.itemNum = itemNum;
this.title = title;
this.director = director;
public int getItemNum()
return itemNum;
public String getTitle()
return title;
public String getDirector()
return director;
public void setItemNum(int a)
itemNum = a;
public void setTitle(String b)
title = b;
public void setDirector(String c)
director = c;
public String toString()
String MovieInfo = title + "\t" + itemNum + "\t" + director ;
return MovieInfo;
}MovieCollection.java
import java.util.*;
public class MovieCollection
private ArrayList Movies;
public MovieCollection()
Movies = new ArrayList();
public ArrayList getMovies()
return Movies;
public void add(Movie aMovie)
Movies.add(aMovie);
}MovieCollectionMenu.java
import java.io.*;
import java.util.*;
public class MovieCollectionMenu
private MovieCollection model;
public MovieCollectionMenu ()
model = new MovieCollection();
public MovieCollection getModel()
return model;
private static Scanner Insert = new Scanner(System.in);
public static void main (String[] args)
MovieCollectionMenu menu = new MovieCollectionMenu();
while(true)
System.out.println("Movies Menu");
System.out.println("");
System.out.println("1 - Add Movie");
System.out.println("2 - List Movies");
System.out.println("3 - Sort Movies");
System.out.println("0 - Exit");
System.out.print("\nSelect your option: ");
int option = Insert.nextInt();
switch(option)
case 0: System.exit(0);break;
case 1: menu.addMovie(); break;
case 2: menu.listMovies(); break;
case 3: menu.sortMovie(); break;
default: System.out.println("Invalid Selection!");
System.out.println("\n");
private void addMovie()
Movie aMovie = new Movie();
System.out.print("\nEnter movie name: ");
aMovie.setTitle(Insert.next());
System.out.print("Enter number of copies: ");
aMovie.setItemNum(Insert.nextInt());
System.out.print("Enter director name: ");
aMovie.setDirector(Insert.next());
model.add(aMovie);
private void listMovies()
ArrayList Movies = model.getMovies();
for (int i=0; i<Movies.size(); i++)
System.out.println(Movies.get(i).toString());
private void sortMovie()
ArrayList Movies = model.getMovies();
Collections.sort(Movies);
}JBStonehenge, Melanie_Green, paulcw thank u so much for ur support!!!!
I did many changes in my code, and I think in a simple way... I can sort the strings, but I'm having problems to sort the integers from the array I created..
I read a lot of sorting and this was the best I could do, please can you change my code to sort the integers?
Thank u people!
Here it is my code:
import java.io.*;
import java.util.*;
public class MyMovies {
public static void main(String[] args) {
MyMovies Movies = new MyMovies();
Movies.runEverything();
private static final int MAX_SIZE = 100;
private static int numberOfMovies = 0;
private static Movie[] array = new Movie[MAX_SIZE];
public void runEverything(){
Scanner input = new Scanner(System.in);
while (true) {
Menu();
int option;
try {
option = Integer.parseInt(input.nextLine());
} catch (NumberFormatException e) {
System.out.println("You must enter a number!");
continue;
switch (option) {
case 1:
addMovie(input);
System.out.println("\nThis movie was added:");
printMovie(numberOfMovies - 1);
break;
case 2:
sortMoviesByTitle();
break;
case 3:
sortMoviesByYear();
break;
case 4:
sortMoviesByDirector();
break;
case 5:
printAllMovies();
break;
case 6:
System.out.println("You logout with success!");
input.close();
System.exit(0);
break;
default:
System.out.println("You entered a wrong option! Please try again.");
break;
private static void Menu() {
System.out.println("\n1 - Add a movie");
System.out.println("2 - Sort movies by name");
System.out.println("3 - Sort movies by year");
System.out.println("4 - Sort movies by director");
System.out.println("5 - Display movies");
System.out.println("6 - Quit");
System.out.print("\nPlease enter an option:");
private static void printMovie(int i) {
if (i < numberOfMovies) {
System.out.println("\"" + array.getTitle() + "\", " + array[i].getYear() + ", \"" + array[i].getDirector() + "\"");
private void printAllMovies() {
for (int i = 0; i < numberOfMovies; i++) {
System.out.print(String.valueOf(i+1) + "-");
printMovie(i);
private static void addMovie(Scanner input) {
System.out.print("Enter movie:");
String title = input.nextLine();
int year = 0;
while (true) {
try {
System.out.print("Enter the year of movie:");
year = Integer.parseInt(input.nextLine());
break;
} catch (NumberFormatException e) {
System.out.println("You must enter an integer!");
continue;
System.out.print("Please enter the director:");
String director = input.nextLine();
array[numberOfMovies] = new Movie(title, year, director);
numberOfMovies++;
private void sortMoviesByTitle(){
boolean swapped = true;
int i = 0;
String tempTitle, tempDirector;
int tempYear;
while (swapped) {
swapped = false;
i++;
for (int j = 0; j < numberOfMovies - i; j++) {
if ( array[j].getTitle().compareToIgnoreCase(array[j + 1].getTitle()) > 0) {
tempTitle = array[j].getTitle();
tempYear = array[j].getYear();
tempDirector = array[j].getDirector();
array[j].setTitle(array[j + 1].getTitle());
array[j].setYear(array[j + 1].getYear());
array[j].setDirector(array[j + 1].getDirector());
array[j + 1].setTitle(tempTitle);
array[j + 1].setYear(tempYear);
array[j + 1].setDirector(tempDirector);
swapped = true;
System.out.println("The movies are sorted by title.");
private void sortMoviesByYear(){
boolean swapped = true;
int i = 0;
String tempTitle, tempDirector;
int tempYear;
while (swapped) {
swapped = false;
i++;
for (int j = 0; j < numberOfMovies - i; j++) {
if ( array[j].getYear().compareToIgnoreCase(array[j + 1].getYear()) > 0) {
tempTitle = array[j].getTitle();
tempYear = array[j].getYear();
tempDirector = array[j].getDirector();
array[j].setTitle(array[j + 1].getTitle());
array[j].setYear(array[j + 1].getYear());
array[j].setDirector(array[j + 1].getDirector());
array[j + 1].setTitle(tempTitle);
array[j + 1].setYear(tempYear);
array[j + 1].setDirector(tempDirector);
swapped = true;
System.out.println("The movies are sorted by year.");
private void sortMoviesByDirector(){
boolean swapped = true;
int i = 0;
String tempTitle, tempDirector;
int tempYear;
while (swapped) {
swapped = false;
i++;
for (int j = 0; j < numberOfMovies - i; j++) {
if ( array[j].getDirector().compareToIgnoreCase(array[j + 1].getDirector()) > 0) {
tempTitle = array[j].getTitle();
tempYear = array[j].getYear();
tempDirector = array[j].getDirector();
array[j].setTitle(array[j + 1].getTitle());
array[j].setYear(array[j + 1].getYear());
array[j].setDirector(array[j + 1].getDirector());
array[j + 1].setTitle(tempTitle);
array[j + 1].setYear(tempYear);
array[j + 1].setDirector(tempDirector);
swapped = true;
System.out.println("The movies are sorted by director.");
/* ----- My Movie Class ----- */
class Movie {
private String title;
private int year;
private String director;
public Movie(String title, int year, String director) {
setTitle(title);
setYear(year);
setDirector(director);
public String getTitle() {
return title;
public void setTitle(String title) {
this.title = title;
public int getYear() {
return year;
public void setYear(int year) {
this.year = year;
public String getDirector() {
return director;
public void setDirector(String director) {
this.director = director;
}Edited by: AntiSignIn on Mar 24, 2010 7:30 PM -
Hashtable with persistent object as key and collection as value
I am trying to use a Hastable with a persistent object as the key and a
collection as the value. A long time ago, Abe White said:
"Kodo currently does not support a map in which the keys are persistent
objects and the values are collections. I think your best bet would be
to create an intermediate class that has a 1-1 relation to the "key" and
a collection of persistent objects for the "value". Then keep a
collection of these intermediate objects. You could use jdoPostLoad and
jdoPreStore to hash/unhash the collection of intermediate objects to/from
a Map if you need to."
So I made an intermediate class, which gave me a Hashtable with a persistent
object as the key and another for the value. Then the one for the value
contains the collection. This works but I'm wondering about the
performance, would this method be slower?
Also it was said that version 3.0 would support this. I'm curious if this
is available in 2.5 or if it's still planned for 3.0.
Thanks
MichaelI'm observing massive performance problems but I didn't think it could be
caused by this intermediary object but maybe that is the problem. For
example if I start a transaction to delete everything (with 3,000 records
which in turn has 3,000 records which in turn has 2 lists each) theprogram
crashes before it can finish the transaction. I then put in some loops to
delete 100 records at a time and this runs but it took over an hour to
delete the 3,000 records.
Do you have any other ideas of how to improve the performance? Are there
any alternatives?I solved the performance problem. I was storing web page content (all the
HTML) in a String which by default is in the default-fetch-group. I had
been thinking this was using lazy-loading but it wasn't. So I put
default-fetch-group=false for this property and now the performance is
great. It makes sense because it was retrieving approximately 5k of text
for each record! When deleting 3,000 records this comes out to be 14 megs.
Moral of the story: Use the default-fetch-group wisely!! -
ODI not able to detect primary/foreign keys from XML- user lacks privilege or object not found
Hi Guys,
Im trying to load an xml file with two entities address and employee as below. The topology reverse engineering everything works fine. Im even able to view the xml data in ODI, but when i try to load the data from these two entities joining by the schema primary keys and foreign keys which odi created on reverse engineering process for xml, im getting the below error. Im able to load data from one entity, error only occurs when i use the join odi creates internally to identify the xml components employee and address
XML File:
<?xml version="1.0" encoding="UTF-8" ?>
<EMP>
<Empsch>
<Employee>
<EmployeeID>12345</EmployeeID>
<Initials>t</Initials>
<LastName>john</LastName>
<FirstName>doe</FirstName>
</Employee>
<Address>
<WorkPhone>12345</WorkPhone>
<WorkAddress>Test 234</WorkAddress>
</Address>
</Empsch>
</EMP>
Topology: jdbc:snps:xml?f=C:/Temp/RR/Empsch.xml&s=Empsch&re=EMP&dod=true&nobu=false
Error Message:
-5501 : 42501 : java.sql.SQLException: user lacks privilege or object not found: EMPSCH.EMPSCHPK
java.sql.SQLException: user lacks privilege or object not found: EMPSCH.EMPSCHPK
at org.hsqldb.jdbc.Util.sqlException(Unknown Source)
at org.hsqldb.jdbc.JDBCPreparedStatement.<init>(Unknown Source)
at org.hsqldb.jdbc.JDBCConnection.prepareStatement(Unknown Source)
at com.sunopsis.jdbc.driver.xml.SnpsXmlConnection.prepareStatement(SnpsXmlConnection.java:1232)
at sun.reflect.GeneratedMethodAccessor65.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at oracle.odi.core.datasource.dwgobject.support.OnConnectOnDisconnectDataSourceAdapter$OnDisconnectCommandExecutionHandler.invoke(OnConnectOnDisconnectDataSourceAdapter.java:200)
at $Proxy2.prepareStatement(Unknown Source)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.doInitializeStatement(SQLCommand.java:83)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:117)
at oracle.odi.runtime.agent.execution.sql.SQLCommand.getStatement(SQLCommand.java:111)
at oracle.odi.runtime.agent.execution.sql.SQLDataProvider.readData(SQLDataProvider.java:81)
at oracle.odi.runtime.agent.execution.sql.SQLDataProvider.readData(SQLDataProvider.java:1)
at oracle.odi.runtime.agent.execution.DataMovementTaskExecutionHandler.handleTask(DataMovementTaskExecutionHandler.java:70)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.processTask(SnpSessTaskSql.java:2913)
at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java:2625)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatAttachedTasks(SnpSessStep.java:577)
at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java:468)
at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java:2128)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$2.doAction(StartSessRequestProcessor.java:366)
at oracle.odi.core.persistence.dwgobject.DwgObjectTemplate.execute(DwgObjectTemplate.java:216)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.doProcessStartSessTask(StartSessRequestProcessor.java:300)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor.access$0(StartSessRequestProcessor.java:292)
at oracle.odi.runtime.agent.processor.impl.StartSessRequestProcessor$StartSessTask.doExecute(StartSessRequestProcessor.java:855)
at oracle.odi.runtime.agent.processor.task.AgentTask.execute(AgentTask.java:126)
at oracle.odi.runtime.agent.support.DefaultAgentTaskExecutor$2.run(DefaultAgentTaskExecutor.java:82)
at java.lang.Thread.run(Thread.java:662)
Caused by: org.hsqldb.HsqlException: user lacks privilege or object not found: EMPSCH.EMPSCHPK
at org.hsqldb.error.Error.error(Unknown Source)
at org.hsqldb.ExpressionColumn.checkColumnsResolved(Unknown Source)
at org.hsqldb.QueryExpression.resolve(Unknown Source)
at org.hsqldb.ParserDQL.compileCursorSpecification(Unknown Source)
at org.hsqldb.ParserCommand.compilePart(Unknown Source)
at org.hsqldb.ParserCommand.compileStatement(Unknown Source)
at org.hsqldb.Session.compileStatement(Unknown Source)
at org.hsqldb.StatementManager.compile(Unknown Source)
at org.hsqldb.Session.execute(Unknown Source)
... 27 more
Please advice
Thanks
RevanthThats obvious from the xml file contents you have given here. In this xml file You have four complex type. Two of them are employee and address. However the employee doesnot have any relation with address as you have not added the relationship. Thats why its failing. Its not the fault of ODI.
Also I would suggest not to use auto generated dtd by ODI as you might face problem in future. For example the address type of XML has 8 attributes and 4 of them are not mandatory. That means each of your xml file may have attributes between 4 to 8. This is where ODI auto generated DTD fails.
XML Schema complexType Element
Thanks
Bhabani -
When I first tried itunes with my new hard drive there was the problem with the registry keys but something also flagged up about needing a signed driver. Is this anything to do with why Itunes and my computer no longer recognises when my ipod is linked up? Whatever i try under 'devices' my ipod is never available to sync up. If anyone can help I would be most grateful.
Thanks for your reply. Unfortunately this has not worked. I didn't have quicktime to begin with so I don't know if that makes a difference? After following the instructions, I get the "registry keys missing" problem appear again (which I've subsequently fixed again) and then when I connected the ipod I got the following message - 'Device driver software was not successfully installed'.
I've tried windows update but this doesn't do anything as '...the service is not running'.
Any suggestions? -
Problem with WCS, with an error message (Error: Object not found in device)
I have a problem with WCS, I can not open the window monitor / controllers with an error message (Error: Object not found in device) -> https: / / 10.19x.xxx.xx/webacs/switchDetailAction. do? ControllerID = 23735
by cons I can open the window configures / controllers -> https: / / 10.19x.xxx.xx/webacs/switchGeneralAction.do? command = detail & ControllerID = 23735
Is there a way to recreate the database or the object? thank you in advancethank you for your help
Unfortunately, the command "refresh config from controller" does not solve the problem because we have a negative result
(in mode retain or in mode delete) with the following logs :
Log file wcs-0-0.log
10/19/10 12:07:16.333 ERROR[snmpmed] [23] Response VarBind missing for class InterfaceConfig attribute isInterfaceWired
Log file tomcat_localhost_access_log
10.197.xxx.xx - - [19/Oct/2010:12:07:16 +0000] "POST /webacs/switchListCommandAction.do HTTP/1.1" 200 47399
10.197.xxx.xx- - [19/Oct/2010:12:07:16 +0000] "GET /webacs/alarmSummaryAction.do?command=summary&dojo.preventCache=1287490037130 HTTP/1.1" 200 421 -
Hi SDN,
I am getting the following exception , When click on Equipment Card in Work Environment, ESS.
Bean BAPI_USR01DOHR_GETEMPLOYEE not found on host XXX, ProgId=XXX: Object not found in lookup of BAPI_USR01DOHR_G, error key: RFC_ERROR_SYSTEM_FAILURE
Please help me out to resolve this issue.
regards,
Sree.Hi Lukas,
Following is the dump in /nwa.
Bean BAPI_USR01DOHR_GETEMPLOYEE not found on host EPBIDEV, ProgId=SAPSLDAPI_DV1: Object not found in lookup of BAPI_USR01DOHR_GETEMPLOYEE.registered entries for FuctionName=JNDIName : {GET_AWF_LOCALIZED_STRING=PRTRFC_BASE, GET_AWF_SUBPROC_LOG_DATA=PRTRFC_BASE, RSWR_ZIP_STREAM_GET=PRTRFC_BASE, SALV_WD_EXPORT_PDF=PRTRFC_BASE,... [see details]
Full Message Text
Bean BAPI_USR01DOHR_GETEMPLOYEE not found on host EPBIDEV, ProgId=SAPSLDAPI_DV1: Object not found in lookup of BAPI_USR01DOHR_GETEMPLOYEE.registered entries for FuctionName=JNDIName : {GET_AWF_LOCALIZED_STRING=PRTRFC_BASE, GET_AWF_SUBPROC_LOG_DATA=PRTRFC_BASE, RSWR_ZIP_STREAM_GET=PRTRFC_BASE, SALV_WD_EXPORT_PDF=PRTRFC_BASE, RSWR_SYSTEM_ALIAS_CHECK_PROXY=PRTRFC_BASE, RSRD_X_MAP_TO_PRTL_USERS_PROXY=PRTRFC_BASE, RSPOR_SHORT_TO_URL_CONVERT=PRTRFC_BASE, CPETEST=PRTRFC_BASE, LSO_COL_GET_TEMPLATES=PRTRFC_BASE, RSWR_SAP_ROOT_FOLDER_GET=PRTRFC_BASE, LSO_COL_GET_EXT_ROOMACCESSURL=PRTRFC_BASE, RSRD_GET_PORTAL_USERS=PRTRFC_BASE, CREATE_AWF_TASK=PRTRFC_BASE, CANCEL_AWF_SUBPROCESS=PRTRFC_BASE, RSRD_X_GET_PORTAL_INFO_PROXY=PRTRFC_BASE, RSRD_X_PRODUCE_PROXY=PRTRFC_BASE, LSO_COL_GET_TEMPLATE_INFO=PRTRFC_BASE, RSPOR_PORTAL_CALL=PRTRFC_BASE, RSWR_RFC_SERVICE_LISTENERS_GET=PRTRFC_BASE, LSO_COL_GET_PORTAL_USER=PRTRFC_BASE, RSDAS_X_PROV_DESCRIBE_PROXY=PRTRFC_BASE, LSO_COL_SET_ROOM_USERS=PRTRFC_BASE, RSWR_URL_QUERY_COMPRESS_PROXY=PRTRFC_BASE, LSO_COL_CREATE_ROOM=PRTRFC_BASE, RSRD_MAP_TO_PORTAL_USERS=PRTRFC_BASE, RSTT_TRACE_BI_PORTAL_START=PRTRFC_BASE, RSOD_MIGRATE_DOCUMENT_PROXY=PRTRFC_BASE, LSO_COL_DELETE_ROOM=PRTRFC_BASE, RSWR_LOGGER_CONFIG_SET=PRTRFC_BASE, RSWR_BINARY_CONTENT_GET=PRTRFC_BASE, RSPOR_SETUP_CHECK=PRTRFC_BASE, RSWR_FOLDER_CONTENT_GET=PRTRFC_BASE, RSDAS_X_PROV_OBJECT_DET_PROXY=PRTRFC_BASE, LSO_COL_GET_ALL_CATEGORIES=PRTRFC_BASE, LSO_COL_GET_ROOMS=PRTRFC_BASE, UWL_PUSH_ITEMS=PRTRFC_BASE, RSWR_TEMPLATE_PROCESS_PROXY=PRTRFC_BASE, RSWR_PREEXECUTION_PROXY=PRTRFC_BASE, LSO_COL_REMOVE_USER_FROM_ROOM=PRTRFC_BASE, RSWR_BOOKMARK_ADJUST_PROXY=PRTRFC_BASE, RSRD_X_GET_INFO_PROXY=PRTRFC_BASE, RSWR_JAVA_VERSION_INFO_GET=PRTRFC_BASE, RSWR_RFC_SERVICE_TEST=PRTRFC_BASE, RSRD_BROADCASTING_KM_RFC=PRTRFC_BASE, LSO_COL_GET_ROOM_USERS=PRTRFC_BASE, RSWR_ROOT_FOLDER_GET=PRTRFC_BASE, LSO_COL_ADD_USER_TO_ROOM=PRTRFC_BASE, RSWR_ABAP_EXCEPTION_TEST=PRTRFC_BASE, RSWR_SERVICE_DISPATCHER_TEST=PRTRFC_BASE, RSRD_STORE_ONLINE_LINK=PRTRFC_BASE, RSWR_CLUSTER_INFO_GET=PRTRFC_BASE, LSO_COL_GET_INT_ROOMACCESSURL=PRTRFC_BASE, LSO_COL_GET_ROOM_OWNERS=PRTRFC_BASE, BICS_CONS_GET_VIEW_DEF_J_PROXY=PRTRFC_BASE, RSWR_TIME_GET=PRTRFC_BASE, GET_AWF_SUBPROC_ATTACHMENTS=PRTRFC_BASE, LSO_COL_GET_ROOM_PRIVACYTYPES=PRTRFC_BASE, RSWR_STRING_CONTENT_GET=PRTRFC_BASE, RSRD_FOLDER_WRITABLE=PRTRFC_BASE, RSWR_LOGGER_CONFIG_GET=PRTRFC_BASE, RSWR_CACHE_INVALIDATE_PROXY=PRTRFC_BASE, RSWR_RFC_VERSION_INFO_GET=PRTRFC_BASE, RSOBJS_GET_PORTAL_VIEWS_RFC=PRTRFC_BASE, RSWR_SESSION_TERMINATE_PROXY=PRTRFC_BASE, RSPOR_NODES_READ=PRTRFC_BASE, RSPOR_NODES_SAVE=PRTRFC_BASE, RSRD_X_DISTRIBUTE_PROXY=PRTRFC_BASE, SUWL_NOTIF_PUBLISH=PRTRFC_BASE, LSO_COL_GET_ROOM_INFO=PRTRFC_BASE, RSDAS_X_PROV_PROCESS_PROXY=PRTRFC_BASE, RSPOR_URL_TO_SHORT_CONVERT=PRTRFC_BASE}
All JCos are tested successfully.
regards,
Sree.
Edited by: sree pedasingh on Mar 22, 2011 10:48 AM -
# of objects, not the size of the objects, determine size of a Collection
There are objects, and references to objects.
Do, List / Set / Map , etc. just maintain a list of 32-bit addresses for their contained objects? What more does a Collection need, memory-wise, to add an element? The size of the objects in a Collection should not matter?
listA.add(new Integer(2)); // listA size grows by 32-bits
listB.add(new GiantSizedClass()); // listB size grows by 32-bitsI started thinking about Collections being able to dynamically grow in runtime. I heard this is complex, but it "looks" like all you do is append a memory address and incriment a counter? This sounds quick, easy, and incorrect. I don't understand. Thanks.jverd, ejp: you have always been there with quick responses to help me. ejp, i purchased your book "Fundamental Networking in Java". When I start programming again, your book about RMI is on my list. that said.
with all sincerity. i belived that serliazing objects in byte[] allows for storing objects in objects, not object references in objects. here is my test code (just cut/paste):
My idea seems similars to me as cryogenics and so that is the theme of my test code (and it is my favourite movie). note: this code is "proof of concept" and is exetremely hacked together.
public class Test {
private static HashMap<String, byte[]> barracks = new HashMap<String, byte[]>();
public static void main(String[] args) {
try { new Test().go(); } catch(Exception e) { e.printStackTrace(); }
public void go() throws Exception {
Employee empl = new Employee("Dallas", "Captain");
barracks.put(empl.name, cryogenicallyFreeze(empl));
empl = new Employee("Kane", "Navigator");
barracks.put(empl.name, cryogenicallyFreeze(empl));
empl = new Employee("Ripley", "First Officer");
barracks.put(empl.name, cryogenicallyFreeze(empl));
empl = new Employee("Ash", "Science Officer");
barracks.put(empl.name, cryogenicallyFreeze(empl));
System.out.println("___log file___");System.out.println(".........");
int id = (int) (System.currentTimeMillis() % barracks.size());
System.out.println("[Nostromo]: emergency id #"+id+". Re-animation initiated...");
switch (id) {
case 0: empl = (Employee) reanimate("Dallas"); break;
case 1: empl = (Employee) reanimate("Kane"); break;
case 2: empl = (Employee) reanimate("Ash"); break;
case 3: empl = (Employee) reanimate("Ripley");
System.out.println("[Nostromo]: \"" + empl.name + "\" in command.");
System.out.println("["+empl.name+"]: Hello. I was an object, not a reference, stored in a collection.");
System.out.println();
public static Employee reanimate(String name) throws Exception {
PipedOutputStream pout = new PipedOutputStream();
PipedInputStream pin = new PipedInputStream(pout);
byte[] frozenEmpl = (byte[]) barracks.get(name);
pout.write(frozenEmpl);
ObjectInputStream ois = new ObjectInputStream(pin);
return ((Employee) ois.readObject());
public static byte[] cryogenicallyFreeze(Employee emp) throws Exception {
PipedOutputStream pout = new PipedOutputStream();
PipedInputStream pin = new PipedInputStream(pout);
ObjectOutputStream oos = new ObjectOutputStream(pout);
oos.writeObject(emp);
byte[] frozenEmpl = new byte[pin.available()];
pin.read(frozenEmpl);
return frozenEmpl;
public static class Employee implements Serializable {
String name; String title;
Employee(String n, String t) { name = n; title = t; }
}"inside" of each byte[] object is an "Employee" object? I can't see it any other way. But I am not the sharpest pencil in the drawer...I'm on vacation from coding for a while. maybe i will get it when i start again. thanks.
Edited by: rdkh on Jan 29, 2010 3:53 AM -
Help needed for storing and sorting objects.
Hello
I have an assignment and it is to create a guessing game, here is the question,
In this assignment you are to write a game where a user or the computer is to guess a random
number between 1 and 1000. The program should for example read a guess from the keyboard, and
print whether the guess was too high, too low or correct. When the user has guessed the correct
number, the program is to print the number of guesses made.
The project must contain a class called Game, which has only one public method. The method must
be called start(), and, when run it starts the game. The game continues until the user chooses to
quit, either at the end of a game by answering no to the question or by typing 'quit' instead of a
guess. After each game has been played, the program is to ask the user for a name and insert this
together with the number of guesses into a high score list. When a game is started the program
should print the entire high score list, which must be sorted with the least number of guesses first
and the most last. Note, the list must be kept as long as the game-object is alive!
each score also
consists of the game time. In case there are two high scores with the same number of guesses, the
game time should decide which is better. The game time starts when the first guess is entered and
stops when the correct guess has been made. There should also be input checks in the program so
that it is impossible to input something wrong, i.e. it should be impossible to write an non-numeric
value then we are guessing a number, the only allowed answers for a yes/no question is yes or no,
every other input should yield an error message an the question should be printed again.
I understand how to code most of it, except I am not sure how to store the playerName, playerScore, playerTime and then sort that accordingly.
I came across hashmaps, but that wont work as the data values can be the same for score.
Is it only one object of lets say a highScore class, and each time the game finishes, it enters the values into an arrayList, I still dont understand how I can sort the array all at once.
Should it be sorted once for score, then another array created and sorted again, I dont get it I am confused.
Please help clarify this.Implode wrote:
We had the arrayList/collections lecture today.
I asked the teacher about sorting objects and he started explaining hashmaps and then he mentioned another thing which we will only be learning next term, I'm sure we must only use what we have learned.
How exactly can this be done. I have asked a few questions in the post already.
ThanksWell, there was probably a gap in the communication. Hash maps (or hash tables, etc.) are instance of Map. Those are used to locate a value by its unique key. Generally, to speed up access, you implement a hashing function (this will be explained hopefully in class). Think of name-value pairs that are stored where the name is unique.
Contrast this with items that are sorted. Any List can be sorted because its elements are ordered. An ArrayList is ordered, generally, by the order you inserted the elements. However, any List can be given its own ordering via Comparable or Comparator. You can't do this with an ordinary Map. The purpose of a Map is speedy access to the name-value pairs, not sorting. The List likewise has different purposes, advantages, disadvantages, etc. List can be sorted.
A Map is generally similar to a Set. A Set is a vanilla collection that guarnatees uniqueness of each element (note, not name-value pairs, but simple elements). There is one concrete class of Map that can be sorted, TreeMap, but I doubt your professor was referring to that. The values or the keys can be returned from the Map and sorted separately, but again, I doubt he was referring to that.
Take a look at the Collections tutorial here on this site or Google one. It is fairly straightforward. Just keep in mind that things (generally) break down into Set, Map and List. There are combinations of these and different flavors (e.g., Queue, LinkedHashMap, etc.) But if you can learn how those three differ, you will go a long way towards understanding collections.
(Oh, and be sure to study up on iterators.)
- Saish -
Join collections of business object
Hi all,
I have a project which involves join of business objects... Which means, I ALREADY got collections of business objects from the DB.(e.g. a list of customers and a list of Orders).
Now I want to join them at the object level, like an SQL statement on object level... Which will returns a list of object contains the information I want after join
Note that the point is NOT to involve any DB. I have did a bit re-search. HQL from Hibernate is not what I want since that still involves Database. something like JDO is also not what I want...
Are there any similar projects that you guys know about? Or can you suggest me which direction I can go to solve the problem?
Many thanks.
HWhich means, I ALREADY got collections of business objects from the DB.(e.g. a list of customers and a list of Orders). During the process a list of orders will be built for each customer.
A solution is based on the construction of a map from customers list (key:customerID -> value:customer object). To do this customer class must implement equals and hashCode. Does customer class has implemented these, or are you allowed to implemet these in the class ? Then you iterate over the orders and using customerID from order objects you put them in the coresponding customer list.
If you can't, you must take another solution where you sort the customers and orders lists, both by customers ids (here you must create some comparators, but they do not depend on the existing system as in previous solution). Then you iterate through both lists simultaneously and put the order objects in corresponding customer lists (this is some sort of merge algorithm). -
Win2008 64Bit Collection Error "Result has Repeating Key Value" On Host Per
Win2008 64Bit Collection Error "Result has Repeating Key Value" On Host Performance Tab [ID 864908.1]
Modified 29-JUL-2009 Type PROBLEM Status MODERATED
In this Document
Symptoms
Cause
Solution
References
This document is being delivered to you via Oracle Support's Rapid Visibility (RaV) process, and therefore has not been subject to an independent technical review.
Applies to:
Enterprise Manager Grid Control - Version: 10.2.0.5
Microsoft Windows Server 2008 x64 (AMD64/EM64T)
Symptoms
OMS: 10.2.0.5
Target Agent: 10.2.0.5 Windows 2008 Standard Edition Service Pack 1 64-bit
Happens for all Windows 2008 64-bit hosts with SAN drives using multipathing.
When accessing the Host > Performance tab on Windows 2008 64-bit host, get a Metric Collection Error:
Exception: oracle.sysman.emSDK.emd.comm.MetricGetException: Result has repeating key value on
drive 0: for diskactivity metric
emagent.trc shows:
2009-06-19 11:19:06,125 Thread-6736 ERROR engine:
[host, <hostname>,Load] : nmeegd_GetMetricData failed : Result has repeating key value : 0 C: U: C: U:
Collection Error:
Error getting data for target <hostname>. Exception:
oracle.sysman.emSDK.emd.comm.MetricGetException: Result has repeating key value : 0 C: U: C: U:
Switching to the last 24 hrs view.
Cause
Microsoft issue with Windows 2008 64-bit and SAN multipath.
Bug 8214155: ERROR RESULT HAS REPEATING KEY VALUE: <DISK DRIVES> ON DBCONSOLE
Solution
Contact Microsoft Support to fix the issue in Performance Monitor's PhysicalDisk object counter since "nmupm diskactivity" gets the information from the PhysicalDisk object counter.
References:
http://technet.microsoft.com/en-us/library/cc768048.aspx
http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/prork/pree_exa_swlz.mspx?mfr=true
References
BUG:8214155 - ERROR RESULT HAS REPEATING KEY VALUE: ON DBCONSOLE
This bug I found on Metalink but no workaround available. I've got the same problem everytime I view performance tab on Microsoft Windows 2008 x64. Does anyone know how to solve it?from the emoms.log
2009-12-08 14:25:09,171 [EMUI_14_25_05_/console/monitoring/hostSummary$pageType=current$ctxType=Hosts$selTab=1$target=CITIZEN02$type=host] ERROR host.HostSummaryDataObject getHostSummary.1215 - Result has repeating key value : 0 C: D: C: D:
oracle.sysman.emSDK.emd.comm.MetricGetException: Result has repeating key value : 0 C: D: C: D:
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at oracle.sysman.emSDK.xml.DelegatingHandler.getObjForTag(DelegatingHandler.java:121)
at oracle.sysman.emSDK.xml.DelegatingHandler.startElement(DelegatingHandler.java:170)
at org.xml.sax.helpers.ParserAdapter.startElement(ParserAdapter.java:597)
at oracle.xml.parser.v2.XMLContentHandler.startElement(XMLContentHandler.java:180)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1227)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:314)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:281)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:195)
at org.xml.sax.helpers.ParserAdapter.parse(ParserAdapter.java:431)
at oracle.sysman.emSDK.xml.DelegatingHandler.parseObj(DelegatingHandler.java:296)
at oracle.sysman.emSDK.emd.comm.EMDClient.parseStreamResponseContents(EMDClient.java:2883)
at oracle.sysman.emSDK.emd.comm.EMDClient.parseResponseStream(EMDClient.java:2805)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:2516)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:2450)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:2367)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:2352)
at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:1120)
at oracle.sysman.eml.mntr.host.HostSummaryDataObject.getHostSummary(HostSummaryDataObject.java:813)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at oracle.cabo.ui.data.provider.MethodDataProvider.getDataObject(Unknown Source)
at oracle.cabo.ui.data.provider.TableDataProvider.getDataObject(Unknown Source)
at oracle.cabo.ui.data.provider.CachingDataProvider.getDataObject(Unknown Source)
at oracle.cabo.ui.data.provider.DataProviderStack.getDataObject(Unknown Source)
at oracle.cabo.ui.LogicalNodeRenderingContext.getDataObject(Unknown Source)
at oracle.cabo.ui.RootRenderingContext.getDataObject(Unknown Source)
at oracle.cabo.ui.LogicalNodeRenderingContext.getDataObject(Unknown Source)
at oracle.cabo.ui.RootRenderingContext.getDataObject(Unknown Source)
at oracle.cabo.ui.data.DataBoundValue.getValue(Unknown Source)
at oracle.cabo.ui.BaseUINode.getAttributeValueImpl(Unknown Source)
at oracle.cabo.ui.BaseUINode.getAttributeValue(Unknown Source)
at oracle.cabo.ui.laf.base.TextRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.DataScopeRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.BodyRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderIndexedChild(Unknown Source)
at oracle.cabo.ui.BaseRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.renderContent(Unknown Source)
at oracle.cabo.ui.BaseRenderer.render(Unknown Source)
at oracle.cabo.ui.laf.base.xhtml.DocumentRenderer.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.ui.BaseUINode.render(Unknown Source)
at oracle.cabo.servlet.ui.UINodePageRenderer.renderPage(Unknown Source)
at oracle.cabo.servlet.AbstractPageBroker.renderPage(Unknown Source)
at oracle.cabo.servlet.PageBrokerHandler.handleRequest(Unknown Source)
at oracle.cabo.servlet.UIXServlet.doGet(Unknown Source)
at oracle.sysman.emSDK.svlt.EMServlet.doGet(EMServlet.java:368)
at oracle.sysman.eml.app.Console.doGet(Console.java:304)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)
at oracle.sysman.eml.app.EMRepLoginFilter.doFilter(EMRepLoginFilter.java:265)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:16)
at oracle.sysman.eml.app.BrowserVersionFilter.doFilter(BrowserVersionFilter.java:122)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at oracle.sysman.emSDK.svlt.EMRedirectFilter.doFilter(EMRedirectFilter.java:102)
at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:20)
at oracle.sysman.eml.app.ContextInitFilter.doFilter(ContextInitFilter.java:369)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:670)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:341)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:816)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:231)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:136)
at -
Object not known in CO (IAOM 028)
Hi,
I'm facing a problem with the Settlement Type Prepayment in SAP CRM 2007.
Here you can find the error message:
Object not known in CO (IAOM 028):
"You want to post to the object with technical key belonging to the business scenario . However, there is no Controlling object assigned to this object"
I've read from some forums that BAdIs can be implemented in order to avoid this control, but my question is: without implementing BAdIs, where can I assign the missing Controlling Object?
In CRM? In ECC?
Thanks in advance,
Andrea RicciHi Chandra,
I've the same problem. I've checked the notes and all the settings provided in them are correctly set up in my CRM system.
Can you suggest another kind of solution?
Points if helps,
thanks a lot,
regards,
A. -
Hi Experts,
I am new to ABAP..
I am facing one dump with the message "OBJECT NOT SENT" working with User Exit only in Production Server.
Kindly help.Hi ..
Here it is...
ABAP runtime errors RAISE_EXCEPTION
Occurred on 07.02.2007 at 10:55:17
>> Short dump has not been completely stored. It is too big.
Exception condition "OBJECT_NOT_SENT" raised.
What happened?
The current ABAP/4 program encountered an unexpected
situation.
What can you do?
Note the actions and input that caused the error.
Inform your SAP system administrator.
You can print out this message by choosing "Print". Transaction ST22
allows you to display and manage termination messages, including keeping
them beyond their normal deletion date.
Error analysis
A RAISE statement in the program "SAPLSOA2 " raised the exception
condition "OBJECT_NOT_SENT".
Since the exception was not intercepted by a superior program
in the hierarchy, processing was terminated.
Short description of exception condition:
Object was not sent
For detailed documentation of the exception condition, use
Transaction SE37 (Function Library). You can take the called
function module from the display of active calls.
How to correct the error
If the error occurred in a non-modified SAP program, you may be
able to find a solution in the SAP note system.
If you have access to the note system yourself, use the following
search criteria:
"RAISE_EXCEPTION"
"SAPLSOA2 " or "LSOA2U01 "
"SO_OBJECT_SEND"
or
"SAPLSOA2 " "OBJECT_NOT_SENT"
or
"SAPMV45A " "OBJECT_NOT_SENT"
If you cannot solve the problem yourself, please send the
following documents to SAP:
1. A hard copy print describing the problem.
To obtain this, select the "Print" function on the current screen.
2. A suitable hardcopy prinout of the system log.
To obtain this, call the system log with Transaction SM21
and select the "Print" function to print out the relevant
part.
3. If the programs are your own programs or modified SAP programs,
supply the source code.
To do this, you can either use the "PRINT" command in the editor or
print the programs using the report RSINCL00.
4. Details regarding the conditions under which the error occurred
or which actions and input led to the error.
System environment
SAP Release.............. "46C"
Application server....... "secerpa2"
Network address.......... "10.20.1.151"
Operating system......... "Windows NT"
Release.................. "5.0"
Hardware type............ "3x Intel 80686"
Database server.......... "SECERPP1"
Database type............ "ORACLE"
Database name............ "PK1"
Database owner........... "SAPR3"
Character set............ "English_United State"
SAP kernel............... "46D"
Created on............... "Jul 25 2006 15:00:57"
Created in............... "NT 4.0 1381 Service Pack 5 x86 MS VC++ 12.00"
Database version......... "OCI_805_SHARE__OCI_7_API "
Patch level.............. "2265"
Patch text............... " "
Supported environment....
Database................. "ORACLE 8.0.5.., ORACLE 8.0.6.., ORACLE
8.1.6.., ORACLE 8.1.7.., ORACLE 9.2.0.., ORACLE 10.2.0.."
SAP database version..... "46D"
Operating system......... "Windows NT 4.0, Windows NT 5.0, Windows NT 5.1,
Windows NT 5.2, , System build information:,
, LCHN : 844749"
User, transaction...
Client.............. 200
User................ "SG005"
Language key........ "E"
Transaction......... "VA22 "
Program............. "SAPLSOA2 "
Screen.............. "SAPMV45A 4001"
Screen line......... 61
Information on where termination occurred
The termination occurred in the ABAP/4 program "SAPLSOA2 " in
"SO_OBJECT_SEND".
The main program was "SAPMV45A ".
The termination occurred in line 1264
of the source code of program "LSOA2U01 " (when calling the editor 12640).
Source code extract
012340 PERFORM SOOD_UPDATE(SAPFSSO0) USING OBJECT_ID
012350 CHANGING OBJECT_HD
012360 RCODE.
012370
012380
012390
012400
012410 ************************************************************************
012420 * Only now it is possible to invoke some sap object with the method
012430 * "RECEIVE" since the office object SOFM exist on the data base only
012440 * after the SOFM_INSARR abaove (at least for sure)
012450 ************************************************************************
012460 IF OBJECT_RECEIVER_SIZE > 0.
012470 PERFORM INVOKE_OBJECTS TABLES OBJECT_TABLE
012480 USING OFFICE_OBJECT.
012490 * * for object which could not receive this document set status
012500 PERFORM SET_OBJECT_FAILED TABLES OBJECT_TABLE
012510 RECEIVER_TABLE.
012520 ENDIF.
012530 *----
012540 * 14A.fill receiver list for export *
012550 *----
012560 * move all receiver who are noz in receiver table because of an error
012570 * into receiver table for retransfer
012580 PERFORM PREPARE_RECLIST_FOR_RETURN TABLES RECEIVERS
012590 RECEIVER_TABLE
012600 USING SENT_TO_ALL
012610 F_RESUB_SENT.
012620 IF F_OBJECT_NOT_SEND = ON AND
012630 F_RESUB_SENT = OFF.
RAISE OBJECT_NOT_SENT.
012650 ENDIF.
012660 *----
012670 * only if realy at least one recipient go the object make the binding *
012680 * in case an binding could not be done the corresponding won't appear *
012690 * anymore in the table APPLICATION_OBJECT *
012700 * binding will be done only for new documents
012710 * 40C: If not object is given it will be look whether some obejcts are
012720 * published by application
012730 *----
012740 * IF SIZE-APPL_OBJECT LE 0. "note 313853
012750 * PERFORM LOOK_FOR_PUBLISHED_OBJECTS TABLES APPLICATION_OBJECT
012760 * USING SIZE-APPL_OBJECT.
012770 * ENDIF.
012780 IF SIZE-APPL_OBJECT GT 0 AND
012790 ( SEND_PROC = NEW_OBJ_NO_FILE OR " new document
012800 SEND_PROC = NEW_OBJ_WI_FILE ).
012810 PERFORM BIND_OBJECTS TABLES APPLICATION_OBJECT
012820 USING OFFICE_OBJECT_KEY
012830 ALL_BINDING_DONE.
Contents of system fields
SY field contents..................... SY field contents.....................
SY-SUBRC 0 SY-INDEX 1
SY-TABIX 1 SY-DBCNT 1
SY-FDPOS 2550 SY-LSIND 0
SY-PAGNO 0 SY-LINNO 1
SY-COLNO 1
Chosen variables
Name.......................... Contents.1........2........3....+....4
OBJECT_TABLE
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120 ## ####
22222222
0000000
OFFICE_OBJECT
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 40
22222222222
00000000000
ERO2 ERO2
4543222222222222222222222222222222222222
52F2000000000000000000000000000000000000
... + 40
222222222222222222222222222222
000000000000000000000000000000
SYST ########################d###############
0000000000000000000000006000000000000000
1000000010001000000010004000000000000000
... + 40 ####ö ##############################4###
0000F00000000000000000000000000000003000
1000690010000000100000000000000000004D00
... + 80 ################ÿ#######################
0000000000000000F00000000000000000000000
0000000000000000F00000000000000000000000
... + 120 ########################################
00000000
0000000
OBJECT_TABLE[] Table[initial]
0000FFFD
0000FFFF
RECEIVER_TABLE[] ############################ ###########
0000000000000000000000000000210000000000
00000000000000000000000041300C0000001000
... + 40 ############d###ÿÿÿÿ4########### â÷I####
0000000000006000FFFF3000000000002EF40000
4000400040004000FFFF4D007000430002790000
... + 80 ############################Ì!##
0000000000000000000000000000C200
0000000000000000000000000000C100
RECEIVER_TABLE SR007
2222222222222222225533322222222222222222
0000000000000000003200700000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120
22222222
0000000
EWSP EWSP
4555222222222222222222222222222222222222
5730000000000000000000000000000000000000
... + 40
222222222222222222222222222222
000000000000000000000000000000
RSJOBINFO 00000000
2222222222222222222222222222222233333333
0000000000000000000000000000000000000000
... + 40 000000
3333332222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80 ####
0000
0000
RECEIVERS[] #############################2##########
0000000000000000000000000000930000000000
0000000000000000000000004000021000001000
... + 40 ################ÿÿÿÿ´###########°8÷I####
0000000000000000FFFFB00000000000B3F40000
1000100010001000FFFF4E007000430008790000
... + 80 ############################²!##
0000000000000000000000000000B200
00000000000000000000000000002100
RECEIVERS 00000000#000000
2233333333033333322222222222222222222222
0000000000000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80 00000000000000B SR007
2223333333333333342225533322222222222222
0000000000000000020003200700000000000000
... + 120
22222222
0000000
SENT_TO_ALL
2
0
F_RESUB_SENT
2
0
GF_ACC 2
3
2
F_OBJECT_NOT_SEND X
5
8
ON X
5
8
SPACE
2
0
OFF
2
0
MTRP MRP
4552222222222222222222222222222222222222
D200000000000000000000000000000000000000
... + 40
222222222222222222222222222222
000000000000000000000000000000
MRKX MRKX
4545222222222222222222222222222222222222
D2B8000000000000000000000000000000000000
... + 40
222222222222222222222222222222
000000000000000000000000000000
SIZE-APPL_OBJECT 1
0000
1000
SEND_PROC A
4
1
NEW_OBJ_NO_FILE A
4
1
NEW_OBJ_WI_FILE B
4
2
SCREEN MESSTXT8
4455555322222222222222222222222222222222
D533484800000000000000000000000000000000
... + 40
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 80
2222222222222222222222222222222222222222
0000000000000000000000000000000000000000
... + 120 00001200000#####
22222222
0000000
ATTA ATTA
4554222222222222222222222222222222222222
1441000000000000000000000000000000000000
... + 40
222222222222222222222222222222
000000000000000000000000000000
Active calls / events
No.... Type........ Name..........................
Programm
Include Line
1 FUNCTION SO_OBJECT_SEND
SAPLSOA2
LSOA2U01 1264
2 FORM USEREXIT_SAVE_DOCUMENT
SAPMV45A
MV45AFZZ 1171
3 FORM BELEG_SICHERN
SAPMV45A
MV45AF0B_BELEG_SICHERN 1115
4 FORM FCODE_SICH
SAPMV45A
MV45AF0F_FCODE_SICH 18
5 FORM FCODE_BEARBEITEN
SAPLV00F
LV00FF0F 91
6 FUNCTION SCREEN_SEQUENCE_CONTROL
SAPLV00F
LV00FU02 58
7 FORM FCODE_BEARBEITEN
SAPMV45A
MV45AF0F_FCODE_BEARBEITEN 109
8 MODULE (PAI) FCODE_BEARBEITEN
SAPMV45A
MV45AI0F_FCODE_BEARBEITEN 10
Internal notes
The termination occurred in the function "ab_jfune" of the SAP
Basis System, specifically in line 1403 of the module
"//bas/46D/src/krn/runt/abfunc.c#18".
The internal operation just processed is "FUNE".
The internal session was started at 20070207104801.
Active calls in SAP kernel
SAP (R) - R/3(TM) Callstack, Version 1.0
Copyright (C) SAP AG. All rights reserved.
Callstack without Exception:
App : disp+work.EXE (pid=3424)
When : 2/7/2007 10:55:18.262
Threads : 2
Computer Name : SECERPA2
User Name : sapservicePK1
Number of Processors: 3
Processor Type: x86 Family 6 Model 10 Stepping 1
Windows Version : 5.0 Current Build: 2195
Stack Dump for Thread Id 510
eax=00000000 ebx=03158da0 ecx=00400000 edx=00000000 esi=77f94086 edi=00000840
eip=77f94091 esp=03158d84 ebp=03158da8 iopl=0 nv up ei ng nz ac po cy
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00000297
function :
77f87106 58 pop eax
77f87107 e9f3800000 jmp 77f8f1ff
77f8710c 8bc8 mov ecx,eax
77f8710e 81e1ff000000 and ecx,0xff
77f87114 0f84b3c40000 je 77f935cd
77f8711a 0fbe8128e0f877 movsx eax,byte ptr ds:88099d34=0f
77f87121 e9a7b0ffff jmp 77f821cd
77f87126 b848000000 mov eax,0x48
77f8712b 8d542404 lea edx,[esp+0x4] ss:4b59ec67=????????
77f8712f cd2e int 2e
77f87131 c22800 ret 0x28
77f87134 ff742410 push dword ptr ss:4b59ec67=????????
77f87138 6a00 push 0x0
77f8713a 6a00 push 0x0
77f8713c ff742418 push dword ptr ss:4b59ec67=????????
77f87140 ff742418 push dword ptr ss:4b59ec67=????????
77f87144 ff742418 push dword ptr ss:4b59ec67=????????
77f87148 e8b8800000 call 77f8f205
77f8714d c21000 ret 0x10
77f87150 55 push ebp
77f87151 8bec mov ebp,esp
77f87153 51 push ecx
FramePtr ReturnAd Param#1 Param#2 Param#3 Param#4 Function Name
053ffcb0 00c310ac 00000a30 00000000 00000007 03325ae0 ntdll!
List of ABAP programs affected
Type
Program
Gen. date time
LoadSize
Prg
SAPMV45A
20.10.2005 17:39:06
1901568
Prg
SAPMSSYD
14.08.2000 15:39:21
16384
Prg
SAPFSYSCALLS
21.12.1999 19:32:31
7168
Prg
SAPFV45C
01.02.2006 18:21:05
549888
Prg
SAPFV45K
12.12.2004 11:00:10
623616
Prg
SAPFV45E
12.12.2004 11:00:10
732160
Prg
SAPFV45P
12.12.2004 11:00:10
1343488
Prg
SAPFV45S
12.12.2004 11:00:10
765952
Prg
SAPLAIEV
26.06.2002 23:34:53
14336
Prg
CL_OS_TRANSACTION_END_NOTIFIER
20.06.2004 17:53:14
8192
Prg
SAPLSYST
26.06.2002 23:13:17
38912
Prg
SAPLSBDC
26.06.2002 23:38:38
66560
Prg
SAPLNDAC
14.10.1999 23:32:54
7168
Prg
SAPLBUOP
12.12.2004 10:53:50
69632
Prg
SAPLITSR
20.06.2004 18:07:30
87040
Typ
TPS01
20.02.1998 09:19:57
2048
Prg
SAPLASTAT_TRIG
01.04.2003 19:09:20
12288
Typ
T180
20.02.1998 09:17:43
2048
Prg
SAPLV00F
13.12.2004 10:28:00
68608
Typ
T185V
10.11.1999 17:45:26
4096
Prg
SAPLV86E
12.12.2004 10:57:15
329728
Prg
SAPLVFSP
11.12.2004 16:23:47
251904
Prg
SAPLDLOG
04.01.2000 19:06:44
7168
Prg
SAPLVTXC
26.06.2002 23:35:28
24576
Prg
SAPLV45T
12.12.2004 11:55:08
137216
Typ
STXDRNAME
26.02.1999 14:48:42
2048
Prg
SAPLSTXD
20.06.2004 17:53:32
407552
Prg
SAPCNVE
04.01.2000 19:06:37
7168
Prg
SAPLLANG
04.01.2000 19:06:49
9216
Prg
SAPLV01Z
12.12.2004 10:59:08
205824
Prg
SAPLCLFM
12.12.2004 10:58:14
677888
Prg
SAPLCUOB
11.12.2004 15:53:45
34816
Prg
SAPLCLSE
11.12.2004 16:43:02
177152
Prg
SAPLCTMS
12.12.2004 10:58:25
940032
Prg
SAPLCTCV
12.12.2004 10:58:25
192512
Prg
SAPLCTCF
01.04.2003 20:49:26
24576
Prg
SAPLV01P
12.12.2004 10:57:28
163840
Prg
SAPFV45L
12.12.2004 11:00:10
450560
Prg
SAPLV45A
12.12.2004 11:00:10
871424
Typ
TPAER
15.04.1998 00:15:36
2048
Typ
VBMUE
12.04.1999 16:17:03
1024
Prg
SAPLSUSE
20.06.2004 17:33:55
44032
Typ
TCDCOUPLES
10.04.2002 10:24:49
2048
Prg
SAPLJ1AZ
11.12.2004 16:44:41
29696
Typ
TWPA
03.05.1999 19:52:52
5120
Prg
SAPLVEHS
12.12.2004 11:00:10
105472
Prg
SAPLPSCONV
26.06.2002 23:57:31
11264
Prg
SAPLSUNI
20.06.2004 17:33:13
138240
Typ
TFDIR
29.07.1998 19:49:08
2048
Prg
SAPLCJPN
12.12.2004 10:58:11
310272
Prg
SAPLSCNT
26.06.2002 23:35:28
28672
Prg
SAPLSVSM
26.06.2002 23:35:28
25600
Prg
SAPLSGUI
26.06.2002 23:35:28
33792
Prg
SAPLSTTM
26.06.2002 23:38:39
84992
Prg
CL_DATAPROVIDER===============
26.06.2002 23:35:25
51200
Typ
OBJ_RECORD
14.02.1998 08:30:43
2048
Prg
SAPLSTUP
20.06.2004 17:52:24
95232
Prg
SAPLCNDP
26.06.2002 23:35:27
181248
Prg
SAPFGUICNTL
01.04.2003 18:42:31
20480
Prg
SAPLOLEA
26.06.2002 23:33:43
81920
Prg
SAPLSFES
20.06.2004 17:33:13
141312
Prg
SAPLGRFC
26.06.2002 23:33:43
16384
Prg
SAPSHDTV
01.04.2003 19:09:39
36864
Typ
SHDSTU
14.12.1998 23:15:34
1024
Typ
SHDSTCIU
14.12.1998 23:15:34
1024
Prg
CL_GUI_PROPS_CONSUMER=========
01.04.2003 18:26:40
26624
Prg
CL_DYNAMIC_GUI_EXTENSIONS=====
11.02.2000 14:36:06
55296
Prg
CL_GUI_DATAMANAGER============
01.04.2003 18:43:20
82944
Typ
VBAKKOM
10.04.2002 09:50:02
22528
Prg
/1BCDWBEN/SAPLVEN0000
01.04.2003 20:55:35
145408
Prg
SAPLSENA
04.01.2000 19:06:53
28672
Prg
SAPLV45K
12.12.2004 11:00:10
110592
Prg
SAPLV45I
12.12.2004 11:00:17
476160
Typ
VBAK
23.11.2002 15:53:28
15360
Prg
SAPLV21F
12.12.2004 11:00:10
142336
Typ
TVAK
26.03.1999 15:09:05
13312
Typ
TVAKT
14.02.1998 14:38:43
2048
Typ
TVKO
06.05.1998 02:22:47
4096
Prg
SAPLSZA0
05.01.2007 15:17:56
2089984
Typ
TSAD3T
14.02.1998 17:01:10
2048
Typ
ADCNTRYQU
04.01.2000 18:08:16
1024
Typ
ADRSTATUS
29.01.1997 19:04:23
1024
Typ
ADRC
10.03.1999 18:47:25
11264
Typ
ADRCT
28.08.1997 08:35:27
2048
Typ
ADRG
03.07.1996 22:44:47
1024
Prg
SAPLSZAD
05.01.2007 15:17:50
23552
Prg
SAPLSADR
20.06.2004 17:53:59
203776
Typ
T005
14.10.1999 22:02:32
7168
Typ
T001
12.03.1999 15:15:31
9216
Typ
TVTW
27.05.1992 18:19:33
1024
Typ
TSPA
10.06.1992 12:18:00
1024
Typ
TVBUR
25.07.1996 16:33:30
2048
Typ
TVKGR
14.07.1993 02:32:49
1024
Typ
TVTA
03.09.1997 03:28:25
3072
Typ
VBKD
08.04.2002 15:08:30
10240
Prg
SAPLV05I
12.12.2004 10:57:14
486400
Prg
SAPLSZA13
26.06.2002 23:39:42
12288
Prg
SAPLV05E
12.12.2004 10:57:15
405504
Typ
TPAR
27.08.1994 21:59:27
2048
Prg
SAPLV08D
11.12.2004 15:57:13
20480
Typ
KNA1
03.04.2003 18:05:27
16384
Prg
SAPLV09D
12.12.2004 10:57:17
168960
Typ
ADR2
25.01.1999 13:08:51
3072
Typ
ADRT
14.02.1998 05:38:23
2048
Prg
SAPLSZA8
20.06.2004 17:34:25
73728
Typ
VBADR
11.12.2004 15:51:24
5120
Prg
SAPLVS01
03.04.2003 18:05:31
179200
Typ
TPAKD
26.10.1994 17:32:29
1024
Prg
SAPLXV09
04.01.2000 19:06:57
13312
Prg
SAPLWY14
11.12.2004 15:57:26
23552
Typ
KNVK
01.04.1998 02:08:10
9216
Typ
ADRP
14.04.1998 11:18:32
6144
Typ
ADRGP
03.07.1996 22:44:47
1024
Typ
ADCP
23.04.1998 14:45:51
2048
Prg
SAPLHRMR
16.08.2000 17:00:24
26624
Prg
SAPLHRAC
08.04.2002 15:01:41
55296
Prg
SAPLSXCH
20.06.2004 17:53:46
80896
Typ
V_EXT_ACT
14.10.1999 22:16:55
2048
Typ
ACT_IMP
25.01.1999 12:55:20
1024
Prg
CL_HRPAD00AUTH_CHECK_STD======
16.08.2000 17:03:23
111616
Typ
P0001
16.08.2000 17:00:14
6144
Typ
T77S0
08.03.1992 17:36:54
1024
Prg
SAPLHRIPA02CENTRAL_PERSON
09.12.1999 20:12:54
25600
Typ
PA0105
03.09.1997 03:22:10
4096
Prg
SAPLHRPAPAXX_T777D_READ
12.04.1999 17:50:35
15360
Typ
T777D
25.03.1999 15:43:54
5120
Prg
SAPLSEQ0
20.06.2004 17:33:45
87040
Typ
PS0001
13.09.1996 17:21:13
4096
Prg
SAPLSDIF
20.06.2004 17:11:50
256000
Prg
SAPLSDNT
01.04.2003 18:57:26
188416
Typ
T522T
28.08.1997 09:05:45
2048
Typ
T500P
03.09.1997 03:24:54
3072
Prg
SAPLHRPAPAXX_T582S_READ
12.04.1999 17:50:35
10240
Typ
T582S
14.02.1998 11:43:07
2048
Prg
SAPLVADR
11.12.2004 16:45:16
67584
Prg
SAPLV09A
12.12.2004 10:59:08
493568
Prg
SAPLV46B
12.12.2004 11:00:10
67584
Prg
SAPLSWUG
20.06.2004 17:52:24
265216
Typ
SWOTOBJID
04.05.1995 15:20:52
2048
Typ
SWHACTOR
04.04.1995 16:18:07
1024
Prg
CL_GOS_MANAGER================
26.06.2002 23:35:25
24576
Prg
CL_GOS_VIEW_MANAGER===========
26.06.2002 23:35:25
29696
Typ
SGOS_MVOBJ
01.12.1999 08:16:05
2048
Prg
SAPLSUU1
20.06.2004 17:53:44
181248
Typ
USR02
26.06.2002 23:13:21
5120
Typ
USREFUS
01.04.2003 18:41:15
1024
Typ
BORIDENT
28.08.1997 08:38:50
1024
Prg
CL_GOS_TOOLBOX_MODEL==========
20.06.2004 17:53:55
39936
Typ
SGOS_MODL
08.02.2000 16:42:30
3072
Prg
SAPLBDLS
14.08.2000 15:20:53
13312
Typ
T000
11.09.1997 10:17:18
3072
Prg
CL_GOS_PUBLICATION============
26.06.2002 23:35:25
24576
Prg
CL_GUI_OBJECT=================
26.06.2002 23:35:25
1024
Prg
CL_GUI_CFW====================
01.04.2003 19:10:31
196608
Typ
TOLE
29.07.1998 19:56:01
2048
Prg
SAPLSGOSHIST
26.06.2002 23:40:40
56320
Prg
SAPFSGOS
26.06.2002 23:40:32
13312
Typ
SGOSHIST
14.10.1999 22:09:01
2048
Prg
SAPLURFC
04.01.2000 19:08:13
14336
Prg
CL_GOS_STARTER================
26.06.2002 23:35:25
21504
Prg
CL_GUI_CONTROL================
26.06.2002 23:40:31
117760
Prg
CL_GUI_TOOLBAR================
26.06.2002 23:35:25
72704
Prg
CL_GUI_GOS_CONTAINER==========
26.06.2002 23:35:25
38912
Typ
CFW_LINK
01.12.1999 12:16:48
2048
Prg
CL_GUI_CONTAINER==============
26.06.2002 23:35:25
58368
Prg
SAPLCNTH
26.06.2002 23:40:20
26624
Prg
SAPLSCONTROLINFO
04.01.2000 19:06:52
13312
Prg
SAPLSCONTROLSTATUSCHECK
04.01.2000 19:06:52
10240
Typ
USR05
09.07.1997 23:46:52
1024
Typ
CNTLWARN
25.01.1999 13:09:44
2048
Prg
SAPLICON
14.08.2000 15:39:37
25600
Prg
%_CICON
14.08.2000 15:39:36
55296
Typ
KUAGV
01.03.1999 13:28:45
9216
Typ
KNVV
30.11.1999 10:18:28
9216
Typ
KUPAV
19.02.2001 12:29:12
7168
Prg
SAPLSUSM
01.04.2003 18:26:37
35840
Typ
USR21
10.03.1999 18:32:06
2048
Prg
SAPLSUGS
04.01.2000 19:06:54
15360
Prg
SAPLSUG2
04.01.2000 19:06:54
37888
Typ
CVERS
26.04.1999 17:21:32
2048
Typ
SVERS
30.07.1992 18:39:23
1024
Typ
UVERS
16.07.1997 14:46:33
3072
Typ
V_ADDR_USR
27.08.1999 18:32:38
15360
Typ
TSADCORR
20.06.2004 17:32:36
1024
Typ
T005T
14.02.1998 10:26:48
2048
Typ
TSAD3
16.07.1997 14:46:19
2048
Prg
CL_EXITHANDLER================
20.06.2004 17:33:43
13312
Prg
CL_ABAP_TYPEDESCR=============
04.01.2000 19:06:00
17408
Prg
CL_ABAP_ELEMDESCR=============
04.01.2000 19:06:00
13312
Prg
CL_ABAP_DATADESCR=============
04.01.2000 19:06:00
11264
Prg
CL_ABAP_REFDESCR==============
04.01.2000 19:06:00
14336
Prg
CL_ABAP_STRUCTDESCR===========
04.01.2000 19:06:00
16384
Prg
CL_ABAP_COMPLEXDESCR==========
04.01.2000 19:06:00
11264
Prg
CL_ABAP_TABLEDESCR============
04.01.2000 19:06:00
16384
Prg
CL_ABAP_CLASSDESCR============
04.01.2000 19:06:00
23552
Prg
CL_ABAP_OBJECTDESCR===========
04.01.2000 19:06:00
28672
Prg
CL_ABAP_INTFDESCR=============
04.01.2000 19:06:00
21504
Prg
IF_EX_ADDR_PRINTFORM_SHORT====
01.04.2003 18:43:42
7168
Typ
SXS_INTER
30.11.1998 15:55:16
1024
Prg
SAPLSEXV
20.06.2004 17:11:44
157696
Prg
CL_EX_ADDR_PRINTFORM_SHORT====
01.04.2003 18:43:42
15360
Prg
CL_EXIT_MASTER================
01.02.2000 09:29:10
10240
Typ
V_EXT_IMP
14.10.1999 22:16:55
2048
Prg
SAPLSCP5
20.06.2004 17:11:41
23552
Typ
T683V
24.02.1999 03:31:49
2048
Typ
KUWEV
01.12.1999 15:13:15
11264
Typ
KURGV
23.04.1998 14:51:01
7168
Typ
KNVA
10.07.1993 03:46:26
5120
Prg
SAPLV52E
12.12.2004 11:55:16
506880
Typ
KNEX
15.04.1998 00:23:05
4096 -
NameNotFoundException: Object not found in lookup of FilenameModuleBean
Hello,
after migration from XI 3.0 to PI 7.10 we have a problem with a Java-Module in the File-Adapter.
In XI 3.0 we hat only a EAR-File. We converted it into a SCA-File an deploy it with the JSPM.
I also can see the Objekt in the JNDI-Browser under:
localejbs/sap.com/fnmodear/FilenameModuleBean
rfcaccessejb/sap.com/fnmodear/FilenameModuleBean
sap.com/fnmodear/FilenameModuleBean
ejbCosNaming/sap.com/fnmodear/FilenameModuleBean
but not under:
AF_Modules/ (I don´t know if it matters)
In the File-Adapter we try FilenameModuleBean in the Module Name, but we get the following error message:
18.11.2010 17:02:59 Fehler Adapter Framework caught exception: Object not found in lookup of FilenameModuleBean.
18.11.2010 17:02:59 Fehler Delivering the message to the application using connection File_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: com.sap.engine.services.jndi.persistent.exceptions.NameNotFoundException: Object not found in lookup of FilenameModuleBean..
It seems that he can´t look up the JNDI name.
I hope anyone can help me with the problem.
Best Regards
Georg
Edited by: Georg Kunkel on Nov 18, 2010 5:21 PMHi Georg,
I believe the java module "FilenameModuleBean" in your case is a custom adapter module and hence it would not be available under AF_Modules. The AF_Module is for the modules which are shipped with PI by SAP like PayloadSwapBean, XMLConvertorBean etc.
As a checklist, please check the following entries in the module tab of the channel configuration:
1. Module Name: FilenameModuleBean
2. Type: Local Enterprise Bean
3. Module Key: Any Constant Value
4. Module parameters for this module key (Necessary only if the custom module expects any inputs)
Also as you mentioned,
>>In XI 3.0 we hat only a EAR-File. We converted it into a SCA-File an deploy it with the JSPM.
For this, there might be a case that the .SCA file was not generated properly. To properly generate the .SCA or .SDA file you can:
1. Build sca from ear using nwpacktool described in SAP note:1223957
2. Use NWDS 7.1. You can convert your EAR file to SDA file with the help of CECTL & nwcetool provided with NWDS 7.1
Check: Re: How to build an adapter module in NWDS 7.1?
You might also want to look at the following link for creating custom adapter module for PI 7.10
http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c0b39e65-981e-2b10-1c9c-fc3f8e6747fa?quicklink=index&overridelayout=true
In case everything looks fine to you, a manual re-start (if possible) of the PI Server should solve the problem.
I hope this helps.
Regards, Gaurav. -
Can't seem to get sort-object working in powershell widget
I'm experiencing a bit of exasperation with the powershell widget in SCOM 2012 - go easy on me though, this is my first time posting and I'm a bit of a newbie with powershell.
Because of the issues with the logical disk space performance widget and multiple disks (if you have 3 disks attached you get 9 results back) I've been trying to adapt a script somebody else wrote (http://blogs.technet.com/b/lukaszr/archive/2014/06/18/how-to-get-nice-logical-disk-state-view-using-powershell-grid-widget.aspx)
as I want something slightly different.
My objective is to list the 10 servers with lowest free GB space. The script I've been trying to adapt just lists all disks on all servers.
Here is my modified version of the script
$disklist = @()
$disks = Get-SCOMClass -Name "Microsoft.Windows.Server.LogicalDisk" | Get-SCOMClassInstance
foreach ($disk in $disks)
$query = GET-WMIOBJECT –query "SELECT * from win32_logicaldisk where DeviceID = '$disk'" -ComputerName $disk.Path | Select-Object Size, FreeSpace
$size = $query.Size
$free = $query.FreeSpace
$percent = $free / $size
$pervalue = "{0:P0}" -f $percent
$sizeGB = "{0:N1}" -f ($size / 1024 / 1024 / 1024)
$freeGB = "{0:N1}" -f ($free / 1024 / 1024 / 1024)
$diskobject = $ScriptContext.CreateFromObject($disk, "Id=Id", $null)
$diskobject["Server"] = $disk.Path
$diskobject["Drive"] = $disk.Displayname
$diskobject["FreeG"] = $freeGB
$diskobject["FreeP"] = $pervalue
$diskobject["FreeTotal"] = ($freeGB + " / " + $sizeGB)
$disklist += $diskobject
$GBdisklist = $disklist | Sort-Object -Property {[float]($_.FreeG)} | select -first 10
foreach($thing in $GBdisklist) {
$ScriptContext.ReturnCollection.Add($thing)
My thinking was to put all the info into one big collection, then sort that by free disk space and select the top 10, then pipe those back into the scriptcontext collection for displaying. It's slightly unwieldy, granted, but works fine in standard powershell
(after changing the scriptcontext bits), just not the widget!
It all seems to work, and brings back data, except the data that comes back has clearly not been sorted before having the top 10 selected. It's as if the sort command is completely ignored. I've tried quite a few variations on the script sort/sort-object
with or without -property in desperation as I seem to be so close, but yet so far.
Any help would be appreciated!
Pete.
Incidentally, this is the script that works perfectly in standard powershell:
$disklist = @()
$disks = Get-SCOMClass -Name "Microsoft.Windows.Server.LogicalDisk" | Get-SCOMClassInstance
foreach ($disk in $disks)
$query = GET-WMIOBJECT –query "SELECT * from win32_logicaldisk where DeviceID = '$disk'" -ComputerName $disk.Path | Select-Object Size, FreeSpace
$size = $query.Size
$free = $query.FreeSpace
$percent = $free / $size
$pervalue = "{0:P0}" -f $percent
$sizeGB = "{0:N1}" -f ($size / 1024 / 1024 / 1024)
$freeGB = "{0:N1}" -f ($free / 1024 / 1024 / 1024)
$diskobject = New-Object System.Object
$diskobject | Add-Member -MemberType NoteProperty -Name "Id" -Value $disk.ID
$diskobject | Add-Member -MemberType NoteProperty -Name "Server" -Value $disk.Path
$diskobject | Add-Member -MemberType NoteProperty -Name "Drive" -Value $disk.Displayname
$diskobject | Add-Member -MemberType NoteProperty -Name "FreeP" -Value "$pervalue"
$diskobject | Add-Member -MemberType NoteProperty -Name "FreeG" -Value $freeGB
$diskobject | Add-Member -MemberType NoteProperty -Name "FreeTotal" -Value ($freeGB + " / " + $sizeGB)
$disklist += $diskobject
$GBdisklist = $disklist | Sort-Object -Property {[float]($_.FreeG)} | select -first 10
$GBdisklist | ftAfter hacking the code around massively I've managed to solve the issue with it and made it a lot neater in the process. Still unsure what the issue was, but I think it helps to sort the output of the diskinfo first before starting with any of the info processing
/ scriptcontext adding
$disklist = @()
$rawdisks = Get-SCOMClass -Name "Microsoft.Windows.Server.LogicalDisk" | Get-SCOMClassInstance
foreach ($disk in $rawdisks)
$diskdetails = GET-WMIOBJECT –query "SELECT * from win32_logicaldisk where DeviceID = '$disk'" -ComputerName $disk.Path | Select-Object PSComputerName, DeviceID, FreeSpace, Size
$disklist += $diskdetails
$top10disks = $disklist | Sort-Object -Property FreeSpace | select -first 10
foreach ($object in $top10disks) {
$size = $object.Size
$free = $object.FreeSpace
$percent = $free / $size
$pervalue = "{0:P0}" -f $percent
$sizeGB = "{0:N1}" -f ($size / 1024 / 1024 / 1024)
$freeGB = "{0:N1}" -f ($free / 1024 / 1024 / 1024)
$dataObject = $ScriptContext.CreateInstance("xsd://foo!bar/baz")
$dataObject["Id"] = (($object.PSComputerName).ToString() + ($object.DeviceID).ToString())
$dataObject["Server"] = ($object.PSComputerName).ToString()
$dataObject["Drive"] = $object.DeviceID
#$dataObject["Free GB"] = ($freeGB).ToString("0000.00")
$dataObject["Free GB"] = ($freeGB).ToString()
$dataObject["FreeTotal"] = (($freeGB).ToString() + " / " + ($sizeGB).ToString())
$ScriptContext.ReturnCollection.Add($dataObject)
Maybe you are looking for
-
How do i get the data that is in Firefox Home, back onto my PC?
Hi there, I recently installed Firefox Sync/Home and I sucessfully synced my tabs/history etc onto my iPhone (still there now). I formatted my machine, and put on: * Windows 7 * Firefox 3.6.8 * Firefox Sync Add-on I hit "Sync" but none of my data is
-
Message Mapping - java.util.Map
Hi There I would like to know if there is any way, using java.util.Map map; to get the "data type" field name in a UDF? Passing a constant with the field name would not be practical.. I'm looking for a object oriented process to use in all my mapping
-
My Compaq Presario CQ62-213AX should be able to output 5.1 surround over HDMI but in 'supported formats' only stereo is listed. This computer has a ATI Mobility Radeon™ HD 5430 and according to the specs, http://www.amd.com/us/products/notebook/graph
-
Hi All , i have created a idoc view from basic type DELVRY03 . But i am not able to get the Documentation for this . I have tried we63 but it does not provide documentation for Idoc views . Regards Saurabh
-
Folks, It's a bit embarrassing, but somehow I "turned off" the ability to interactively drag and resize in AI - used to work but not sure what I did to disable it. Handles don't show up when I select a symbol or placed object (or anything else for t