Create FRE Object in delegate functions
UIAlertView* alert = [[UIAlertView alloc] initWithTitle:@"Titlte"
message:@"my message"
delegate:self
cancelButtonTitle:@"OK"
otherButtonTitles: nil];
[alert show];
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
NSString* string = @"123";
FREObject asString = nil;
const char* utf8String = string.UTF8String;
unsigned long length = strlen( utf8String );
FREResult res = FRENewObjectFromUTF8( length + 1, (uint8_t*) utf8String, &asString );
NSLog(@"res = %d", res);
In function clickedButtonAtIndex res = FRE_WRONG_THREAD
Why is that?
Hello,
To answer your question I would recommend you to refer to below link:
Delegate installation of a Read-Only Domain Controller
Regards.
Mahdi Tehrani |
|
www.mahditehrani.ir
Please click on Propose As Answer or to mark this post as
and helpful for other people.
This posting is provided AS-IS with no warranties, and confers no rights.
How to query members of 'Local Administrators' group in all computers?
Similar Messages
-
Not able to create an object using dbms_metadata.put function
Hi,
I have the metadata of an object in one of my database table as xml. I failed to recreate the object in the other schema using metadata api. I developed a stored function to do the above job. My function doesn't throw any error meanwhile it doesn't create the object.
My code snippet is
CREATE OR REPLACE PROCEDURE DDI.move_table(
table_name in VARCHAR2,
from_schema in VARCHAR2,
to_schema in VARCHAR2 )
AUTHID CURRENT_USER
IS
-- Define local variables.
h1 NUMBER; -- handle returned by OPEN
h2 NUMBER; -- handle returned by OPENW
th1 NUMBER; -- handle returned by ADD_TRANSFORM for MODIFY
th2 NUMBER; -- handle returned by ADD_TRANSFORM for DDL
xml XMLTYPE; -- XML document
errs sys.ku$_SubmitResults := sys.ku$_SubmitResults();
err sys.ku$_SubmitResult;
result BOOLEAN;
BEGIN
SELECT REPOS INTO xml from ddi.ddi_repos_t where obj_id = '1801';
-- Specify the object type using OPENW (instead of OPEN).
h2 := DBMS_METADATA.OPENW('TABLE');
-- First, add the MODIFY transform.
th1 := DBMS_METADATA.ADD_TRANSFORM(h2,'MODIFY');
-- Specify the desired modification: remap the schema name.
DBMS_METADATA.SET_REMAP_PARAM(th1,'REMAP_SCHEMA',from_schema,to_schema);
-- Now add the DDL transform so that the modified XML can be
-- transformed into creation DDL.
th2 := DBMS_METADATA.ADD_TRANSFORM(h2,'DDL');
-- Call PUT to re-create the object.
result := DBMS_METADATA.PUT(h2,xml,0,errs);
DBMS_METADATA.CLOSE(h2);
IF NOT result THEN
-- Process the error information.
FOR i IN errs.FIRST..errs.LAST LOOP
err := errs(i);
FOR j IN err.errorLines.FIRST..err.errorLines.LAST LOOP
dbms_output.put_line(err.errorLines(j).errorText);
END LOOP;
END LOOP;
END IF;
EXCEPTION
WHEN NO_DATA_FOUND THEN
RAISE_APPLICATION_ERROR(-20510,'No xml is available as metadata');
END;
Could you tell me where is the probelm?
The schema where i created and execute my function having dba privilege also.
Regards,
Madhavi.Hi Madhavi,
The below code works for me:
SQL> conn sys as sysdba
Connected.
SQL> select count(*) from dba_objects where object_name = 'DEPT' and owner = 'OE';
COUNT(*)
0
SQL> CREATE OR REPLACE PROCEDURE move_table(
2 table_name in VARCHAR2,
3 from_schema in VARCHAR2,
4 to_schema in VARCHAR2 )
5 AUTHID CURRENT_USER
6 IS
7 -- Define local variables.
8 h1 NUMBER; -- handle returned by OPEN
9 h2 NUMBER; -- handle returned by OPENW
10 th1 NUMBER; -- handle returned by ADD_TRANSFORM for MODIFY
11 th2 NUMBER; -- handle returned by ADD_TRANSFORM for DDL
12 xml clob; -- XML document
13 errs sys.ku$_SubmitResults := sys.ku$_SubmitResults();
14 err sys.ku$_SubmitResult;
15 result BOOLEAN;
16 BEGIN
17
18 select DBMS_METADATA.GET_XML('TABLE','DEPT','SCOTT') into xml from dual;
19
20 -- Specify the object type using OPENW (instead of OPEN).
21 h2 := DBMS_METADATA.OPENW('TABLE');
22
23 -- First, add the MODIFY transform.
24 th1 := DBMS_METADATA.ADD_TRANSFORM(h2,'MODIFY');
25
26 -- Specify the desired modification: remap the schema name.
27 DBMS_METADATA.SET_REMAP_PARAM(th1,'REMAP_SCHEMA',from_schema,to_schema);
28
29 -- Now add the DDL transform so that the modified XML can be
30 -- transformed into creation DDL.
31 th2 := DBMS_METADATA.ADD_TRANSFORM(h2,'DDL');
32
33 -- Call PUT to re-create the object.
34 result := DBMS_METADATA.PUT(h2,xml,0,errs);
35
36 DBMS_METADATA.CLOSE(h2);
37 IF NOT result THEN
38
39 -- Process the error information.
40 FOR i IN errs.FIRST..errs.LAST LOOP
41 err := errs(i);
42 FOR j IN err.errorLines.FIRST..err.errorLines.LAST LOOP
43 dbms_output.put_line(err.errorLines(j).errorText);
44 END LOOP;
45 END LOOP;
46 END IF;
47 EXCEPTION
48 WHEN NO_DATA_FOUND THEN
49 RAISE_APPLICATION_ERROR(-20510,'No xml is available as metadata');
50 END;
51 /
Procedure created.
SQL> exec move_table('DEPT','SCOTT','OE');
PL/SQL procedure successfully completed.
SQL> select count(*) from dba_objects where object_name = 'DEPT' and owner = 'OE';
COUNT(*)
1
SQL> spool off;The xml returned by the get_xml function contains the tablespace name and storage parameters of the schema in which the object is present.
Check these parameters for both your schemas. -
Java.lang.VerifyError - Incompatible object argument for function call
Hi all,
I'm developing a JSP application (powered by Tomcat 4.0.1 in JDK 1.3, in Eclipse 3.3). Among other stuff I have 3 classes interacting with an Oracle database, covering 3 use cases - renaming, adding and deleting an database object. The renaming class simply updates the database with a String variable it receives from the request object, whereas the other two classes perform some calculations with the request data and update the database accordingly.
When the adding or deleting classes are executed, by performing the appropriate actions through the web application, Tomcat throws the following:
java.lang.VerifyError: (class: action/GliederungNewAction, method: insertNewNode signature: (Loracle/jdbc/driver/OracleConnection;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;I)V) Incompatible object argument for function call
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Class.java:120)
at action.ActionMapping.perform(ActionMapping.java:53)
at ControllerServlet.doResponse(ControllerServlet.java:92)
at ControllerServlet.doPost(ControllerServlet.java:50)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
...The renaming works fine though. I have checked mailing lists and forums as well as contacted the company's java support but everything I have tried out so far, from exchanging the xerces.jar files found in JDOM and Tomcat to rebuidling the project didn't help.
I just can't explain to myself why this error occurs and I don't see how some additional Java code in the other 2 classes could cause it?
I realize that the Tomcat and JDK versions I'm using are totally out of date, but that's company's current standard and I can't really change that.
Here's the source code. I moved parts of the business logic from Java to Oracle recently but I left the SQL statements that the Oracle stored procedures are executing if it helps someone.
package action;
import java.sql.CallableStatement;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.StringTokenizer;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import oracle.jdbc.driver.OracleConnection;
* This class enables the creation and insertion of a new catalogue node. A new node
* is always inserted as the last child of the selected parent node.
public class GliederungNewAction implements Action {
public String perform(ActionMapping mapping, HttpServletRequest request,
HttpServletResponse response) {
// fetch the necessary parameters from the JSP site
// the parent attribute is the selected attribute!
String parent_attribute = request.getParameter("attr");
String catalogue = request.getParameter("catalogue");
int parent_sequenceNr = Integer.parseInt(request.getParameter("sort_sequence"));
// connect to database
HttpSession session = request.getSession();
db.SessionConnection sessConn = (db.SessionConnection) session.getAttribute("connection");
if (sessConn != null) {
try {
sessConn.setAutoCommit(false);
OracleConnection connection = (OracleConnection)sessConn.getConnection();
int lastPosition = getLastNodePosition( getLastChildAttribute(connection, catalogue, parent_attribute) );
String newNodeAttribute = createNewNodeAttribute(parent_attribute, lastPosition);
// calculate the sequence number
int precedingSequenceNumber = getPrecedingSequenceNumber(connection, catalogue, parent_attribute);
if ( precedingSequenceNumber == -1 ) {
precedingSequenceNumber = parent_sequenceNr;
int sortSequence = precedingSequenceNumber + 1;
setSequenceNumbers(connection, catalogue, sortSequence);
// insert the new node into DB
insertNewNode(connection, catalogue, newNodeAttribute, parent_attribute, "Neuer Punkt", sortSequence);
connection.commit();
} catch(SQLException ex) {
ex.printStackTrace();
return mapping.getForward();
* Creates, fills and executes a prepared statement to insert a new entry into the specified table, representing
* a new node in the catalogue.
private void insertNewNode(OracleConnection connection, String catalogue, String attribute, String parent_attribute, String description, int sortSequence) {
try {
String callAddNode = "{ call fasi_lob.pack_gliederung.addNode(:1, :2, :3, :4, :5) }";
CallableStatement cst;
cst = connection.prepareCall(callAddNode);
cst.setString(1, catalogue);
cst.setString(2, attribute);
cst.setString(3, parent_attribute);
cst.setString(4, description);
cst.setInt(5, sortSequence);
cst.execute();
cst.close();
} catch (SQLException e1) {
// TODO Auto-generated catch block
e1.printStackTrace();
// String insertNewNode = "INSERT INTO vstd_media_cat_attributes " +
// "(catalogue, attribute, parent_attr, description, sort_sequence) VALUES(:1, :2, :3, :4, :5)";
// PreparedStatement insertStmt;
// try {
// insertStmt = connection.prepareStatement(insertNewNode);
// insertStmt.setString(1, catalogue);
// insertStmt.setString(2, attribute);
// insertStmt.setString(3, parent_attribute);
// insertStmt.setString(4, description);
// insertStmt.setInt(5, sortSequence);
// insertStmt.execute();
// insertStmt.close();
// } catch (SQLException e) {
// e.printStackTrace();
* This method returns the attribute value of the last child of the parent under which
* we want to insert a new node. The result set is sorted in descending order and only the
* first result (that is, the last child under this parent) is fetched.
* If the parent node has no children, "parent_attr.0" is returned.
* @param connection
* @param catalogue
* @param parent_attribute
* @return attribute of the last child under this parent, or "parent_attr.0" if parent has no children
private String getLastChildAttribute(OracleConnection connection, String catalogue, String parent_attribute) {
String queryLastChild = "SELECT attribute FROM vstd_media_cat_attributes " +
"WHERE catalogue=:1 AND parent_attr=:2 ORDER BY sort_sequence DESC";
String lastChildAttribute;
PreparedStatement ps;
try {
ps = connection.prepareStatement(queryLastChild);
ps.setString(1, catalogue);
ps.setString(2, parent_attribute);
ResultSet rs = ps.executeQuery();
/* If a result is returned, the selected parent already has children.
* If not set the lastChildAttribute to parent_attr.0
if (rs.next()) {
lastChildAttribute = rs.getString("attribute");
} else {
lastChildAttribute = parent_attribute.concat(".0");
rs.close();
return lastChildAttribute;
} catch (SQLException e) {
e.printStackTrace();
return null;
* This helper method determines the position of the last node in the attribute.
* i.e for 3.5.2 it returns 2, for 2.1 it returns 1 etc.
* @param attribute
* @return position of last node in this attribute
private int getLastNodePosition(String attribute) {
StringTokenizer tokenizer = new StringTokenizer(attribute, ".");
String lastNodePosition = "0";
while( tokenizer.hasMoreTokens() ) {
lastNodePosition = tokenizer.nextToken();
return Integer.parseInt(lastNodePosition);
* This method calculates the attribute of a node being inserted
* by incrementing the last child position by 1 and attaching the
* incremented position to the parent.
* @param parent_attr
* @param lastPosition
* @return attribute of the new node
private String createNewNodeAttribute(String parent_attr, int lastPosition) {
String newPosition = new Integer(lastPosition + 1).toString();
return parent_attr.concat("." + newPosition);
* This method checks if the required sequence number for a new node is already in use and
* handles the sequence numbers accordingly.
* If the sequence number for a new node is NOT IN USE, the method doesn't do anything.
* If the sequence number for a new node is IN USE, the method searches for the next free
* sequence number by incrementing the number by one and repeating the query until no result
* is found. Then all the sequence numbers between the required number (including, >= relation)
* and the nearest found free number (not including, < relation) are incremented by 1, as to
* make space for the new node.
* @param connection
* @param catalogue
* @param newNodeSequenceNumber required sequence number for the new node
private void setSequenceNumbers(OracleConnection connection, String catalogue, int newNodeSequenceNumber) {
// 1. check if the new sequence number exists - if no do nothing
// if yes - increment by one and see if exists
// repeat until free sequence number exists
// when found increment all sequence numbers freeSeqNr > seqNr >= newSeqNr
String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
"WHERE catalogue=:1 AND sort_sequence=:2";
PreparedStatement ps;
try {
ps = connection.prepareStatement(query);
ps.setString(1, catalogue);
ps.setInt(2, newNodeSequenceNumber);
ResultSet rs = ps.executeQuery();
// if no result, the required sequence number is free - nothing to do
if( rs.next() ) {
int freeSequenceNumber = newNodeSequenceNumber;
do {
ps.setString(1, catalogue);
ps.setInt(2, freeSequenceNumber++);
rs = ps.executeQuery();
} while( rs.next() );
// increment sequence numbers - call stored procedure
String callUpdateSeqeunceNrs = "{ call fasi_lob.pack_gliederung.updateSeqNumbers(:1, :2, :3) }";
CallableStatement cst = connection.prepareCall(callUpdateSeqeunceNrs);
cst.setString(1, catalogue);
cst.setInt(2, newNodeSequenceNumber);
cst.setInt(3, freeSequenceNumber);
cst.execute();
cst.close();
// String query2 = "UPDATE vstd_media_cat_attributes " +
// "SET sort_sequence = (sort_sequence + 1 ) " +
// "WHERE catalogue=:1 sort_sequnce >=:2 AND sort_sequence <:3";
// PreparedStatement ps2;
// ps2 = connection.prepareStatement(query2);
// ps2.setString(1, catalogue);
// ps2.setInt(2, newNodeSequenceNumber);
// ps2.setInt(3, freeSequenceNumber);
// ps.executeUpdate();
// ps.close();
} // end of if block
rs.close();
} catch (SQLException e) {
e.printStackTrace();
* This method finds the last sequence number preceding the sequence number of a node
* that is going to be inserted. The preceding sequence number is required to calculate
* the sequence number of the new node.
* We perform a hierarchical query starting from the parent node: if a result is returned,
* we assign the parent's farthest descendant's node sequence number; if no result
* is returned, we assign the parent's sequence number.
* @param connection
* @param catalogue
* @param parent_attr parent attribute of the new node
* @return
private int getPrecedingSequenceNumber(OracleConnection connection, String catalogue, String parent_attr) {
int sequenceNumber = 0;
String query = "SELECT sort_sequence FROM vstd_media_cat_attributes " +
"WHERE catalogue=:1 " +
"CONNECT BY PRIOR attribute = parent_attr START WITH parent_attr=:2 " +
"ORDER BY sort_sequence DESC";
try {
PreparedStatement ps = connection.prepareStatement(query);
ps.setString(1, catalogue);
ps.setString(2, parent_attr);
ResultSet rs = ps.executeQuery();
if ( rs.next() ) {
sequenceNumber = rs.getInt("sort_sequence");
} else {
// TODO: ggf fetch from request!
sequenceNumber = -1;
rs.close();
ps.close();
} catch (SQLException e) {
e.printStackTrace();
return sequenceNumber;
}After further googling I figured out what was causing the problem: in eclipse I was referring to external libraries located in eclipse/plugins directory, whereas Tomcat was referring to the same libraries (possibly older versions) in it's common/lib directory.
-
EXCEL.EXE in task manager not terminating after FREE OBJECT statement
hi,
can someone please help me find what's wrong with my codes below. my problem is that after executing the entire codes, the EXCEL.EXE remains in the task manager.
DATA: g_excel TYPE ole2_object,
g_workbooks TYPE ole2_object.
Create Excel Object
CREATE OBJECT g_excel 'EXCEL.APPLICATION'.
IF sy-subrc NE 0.
MESSAGE e000(z2) WITH 'No Excel Creation Possible'(lrc).
ENDIF.
Display Alerts While Macro Is Running
SET PROPERTY OF g_excel 'DisplayAlerts' = 0.
Put Excel In Background
SET PROPERTY OF g_excel 'VISIBLE' = 0.
CALL METHOD OF g_excel 'Workbooks' = g_workbook.
CALL METHOD OF g_workbook 'Open'
EXPORTING #1 = p_file.
GET PROPERTY OF g_excel 'ActiveWorkbook' = g_workbook.
Save File To PC
CALL METHOD OF g_workbook 'SAVEAS'
EXPORTING
#1 = p_file
#2 = 1.
Close The Workbook And Excel Application
CALL METHOD OF g_workbook 'CLOSE'.
FREE OBJECT g_workbook.
Free Objects Used
CALL METHOD OF g_excel 'QUIT'.
FREE OBJECT g_excel.
im guessing that the statement CALL METHOD OF g_workbook 'SAVEAS'.. has something to do with the issue because when i commented that statement, everything went fine - the EXCEL.EXE process is gone in the task manager.
appreciate any inputs..
thanks!
KelHello,
the correction in OSS note 575877 for function module ALSM_EXCEL_TO_INTERNAL_TABLE will free the 6 objects instead of just one.
>>>>> Begin of change note 575877
to kill the Excel process it's necessary to free all used objects
FREE OBJECT h_cell. m_message.
FREE OBJECT h_cell1. m_message.
FREE OBJECT range. m_message.
FREE OBJECT worksheet. m_message.
FREE OBJECT workbook. m_message.
FREE OBJECT application. m_message.
<<<<< End of change note 575877
best regards,
J. N. N. -
Incompatible object argument for function call exception
I am hoping someone has seen this issue before.
Running CF 7.0.1.116466 with JRun 4.
I have a 3rd party search engine application running on a
separate server. I interface with the engine via their Java API. I
am able to use the search engine when executing using a home grown
Java application. It also worked with CF 6. However, when I try to
implement the same cold in CF, it fails with the exception attached
below. I am able to successfully create the objects. The error
occurs when the objects attempt to connect with the engine.
I have also attached the code that is causing the errors.
"seObj" creates an interface with the search engine. It is
constructed with the server address as a parameter. It does not
attempt to contact the engine when it is first constructed.
"dsObj" allows access to specific content in the engine. This
is where the connection to the engine is attempted and the error
occurs.
Any assistance would be greatly appreciated.
12/13 10:26:12 error (class: org/jacorb/orb/Delegate, method:
getReference signature:
(Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;)
Incompatible object argument for function call
java.lang.VerifyError: (class: org/jacorb/orb/Delegate,
method: getReference signature:
(Lorg/jacorb/poa/POA;)Lorg/omg/CORBA/portable/ObjectImpl;)
Incompatible object argument for function call
at org.jacorb.orb.ORB._getObject(Unknown Source)
at org.jacorb.orb.ORB.string_to_object(Unknown Source)
at com.engenium.semetric.Engine.initRef(Engine.java:731)
at com.engenium.semetric.Engine.getDocSet(Engine.java:81)
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
coldfusion.runtime.java.JavaProxy.invoke(JavaProxy.java:74)
at coldfusion.runtime.CfJspPage._invoke(CfJspPage.java:1634)
at cfinsert2ecfm673131553.runPage(C:\Documents and
Settings\Jameso\My Documents\workspace\SemetricCF7\insert.cfm:12)
at coldfusion.runtime.CfJspPage.invoke(CfJspPage.java:152)
at
coldfusion.tagext.lang.IncludeTag.doStartTag(IncludeTag.java:349)
at
coldfusion.filter.CfincludeFilter.invoke(CfincludeFilter.java:65)
at
coldfusion.filter.ApplicationFilter.invoke(ApplicationFilter.java:210)
at
coldfusion.filter.RequestMonitorFilter.invoke(RequestMonitorFilter.java:51)
at coldfusion.filter.PathFilter.invoke(PathFilter.java:86)
at
coldfusion.filter.LicenseFilter.invoke(LicenseFilter.java:27)
at
coldfusion.filter.ExceptionFilter.invoke(ExceptionFilter.java:69)
at
coldfusion.filter.BrowserDebugFilter.invoke(BrowserDebugFilter.java:52)
at
coldfusion.filter.ClientScopePersistenceFilter.invoke(ClientScopePersistenceFilter.java:2 8)
at
coldfusion.filter.BrowserFilter.invoke(BrowserFilter.java:38)
at
coldfusion.filter.GlobalsFilter.invoke(GlobalsFilter.java:38)
at
coldfusion.filter.DatasourceFilter.invoke(DatasourceFilter.java:22)
at
coldfusion.filter.RequestThrottleFilter.invoke(RequestThrottleFilter.java:115)
at coldfusion.CfmServlet.service(CfmServlet.java:107)
at
coldfusion.bootstrap.BootstrapServlet.service(BootstrapServlet.java:78)
at
jrun.servlet.ServletInvoker.invoke(ServletInvoker.java:91)
at
jrun.servlet.JRunInvokerChain.invokeNext(JRunInvokerChain.java:42)
at
jrun.servlet.JRunRequestDispatcher.invoke(JRunRequestDispatcher.java:257)
at
jrun.servlet.ServletEngineService.dispatch(ServletEngineService.java:541)
at
jrun.servlet.http.WebService.invokeRunnable(WebService.java:172)
at
jrunx.scheduler.ThreadPool$DownstreamMetrics.invokeRunnable(ThreadPool.java:318)
at
jrunx.scheduler.ThreadPool$ThreadThrottle.invokeRunnable(ThreadPool.java:426)
at
jrunx.scheduler.ThreadPool$UpstreamMetrics.invokeRunnable(ThreadPool.java:264)
at
jrunx.scheduler.WorkerThread.run(WorkerThread.java:66)Hi, Thanks.
But the problem is still there.
If I put
public class SimpleThread extends Thread
No problem, but if I put
public class SimpleThread implements Runnable
I got java.lang.VerifyError: (class: TestNotify, method: main signature: ([Ljava/lang/String;)V) Incompatible object argument for function call
Exception in thread "main"
Regards,
Youbin
Please refer to the following code:
public class SimpleThread implements Runnable {
private boolean isWaited = false;
public void run() {
synchronized(this) {
while (true) {
System.out.println("Hi ------------");
try {
Thread.sleep(5000);
System.out.println("Start wait()");
isWaited=true;
wait();
isWaited=false;
catch (Exception e) { }
public class TestNotify {
public static void main(String[] args) {
SimpleThread simpleThread = new SimpleThread();
simpleThread.start();
try {
Thread.sleep(10);
} catch (Exception e) { }
while (simpleThread.getIsWaited()) {
synchronized(simpleThread) {
System.out.println("Start notify()");
simpleThread.notify();
System.out.println("Arrived");
int i=0;
while (!simpleThread.getIsWaited()) {
i++;
System.out.println("Arrived="+i);
synchronized(simpleThread) {
System.out.println("Start notify() again");
simpleThread.notify();
System.out.println("Arrived again"); -
Creating Activity object for a Service Request object...
<b>[This thread was migrated from the On Demand Developer Forum in the old Siebel Community] </b>
drangineni
New Contributor
Ho do we use Activity object of a Service Request object. I am trying to
create an Activity object for a existing Service Request object.
I am looking for some sample code.
I greatly appreciate your help.
Product: CRM OnDemand
11-26-2006 12:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, What programming language are you using?
BS
12-04-2006 10:56 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Hi, I am using C# .
12-04-2006 07:40 PM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
drangineni, assuming you know the service requestid or externalId of the
Sr you are dealin gwith you would first set that value.
ServiceRequest1[] objSRList =new ServiceRequest1[1];
objSRList[0] = new ServiceRequest1();
objSRList[0].ServiceRequestId = <YourSRId>;
Then you create an array of activities and initialize the first one:
objSRList[0].ListOfActivity = new Activity[1];
objSRList[0].ListOfActivity[0] = new Activity();
Now set the data fields
objSRList[0].ListOfActivity[0].Subject ="My Subject";
objSRList[0].ListOfActivity[0].Description ="My Description";
objSRList[0].ListOfActivity[0].Display = "Task"; //valid values are either
"Task" or "Appointment"
Then call the ServiceREquestInsertOrUpdate method on the ServiceRequest
WebService and pass in the above variable.
BS
12-06-2006 12:36 PM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-09-2006 09:53 AM
Re: Creating Activity object for a Service Request object...
drangineni
New Contributor
Thank you BigSlick.
The following error is thrown when I use the
ServiceRequestInsertOrUpdate(objInput)
"No user key can be used for the Integration Component instance 'Service <br/>
Request_Action'.(SBL-EAI-04397)"
When I use the prxySrvcRequest.ServiceRequestInsert(objInput), no error is
thrown and the Activity gets added, but a new Service Request object is
created, but the Activity gets added to an existing Service Request
object. I greatly appreciate your help.
The following is the code:
int ActivityLength = 0;
WSOD_ServiceRequest.ServiceRequest1[] ServiceRequest = new
WSOD_ServiceRequest.ServiceRequest1[1];
ServiceRequest[0] = new WSOD_ServiceRequest.ServiceRequest1();
ServiceRequest[0].ServiceRequestId = this.Request.QueryString["id"];
ServiceRequest[0].ListOfActivity = new
WebSelfService.WSOD_ServiceRequest.Activity[ActivityLength + 1];
ServiceRequest[0].ListOfActivity[0] = new WSOD_ServiceRequest.Activity();
ServiceRequest[0].ListOfActivity[ActivityLength].Description =
this.txtDescription.Text;
ServiceRequest[0].ListOfActivity[ActivityLength].Display = "Task";
ServiceRequest[0].ListOfActivity[ActivityLength].Subject = "My Subject";
WSOD_ServiceRequest.ServiceRequest prxySrvcRequest = new
WebSelfService.WSOD_ServiceRequest.ServiceRequest();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input
objInput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Input();
WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output
objOutput = new
WebSelfService.WSOD_ServiceRequest.ServiceRequestWS_ServiceRequestInsertOrUpdate_Output();
objInput.ListOfServiceRequest = ServiceRequest;
Session objSession;
objSession = (Session) Application["Session"];
prxySrvcRequest.Url = objSession.GetURL();
try
objOutput = prxySrvcRequest.ServiceRequestInsertOrUpdate(objInput);
catch(Exception e)
12-10-2006 08:49 AM
Re: Creating Activity object for a Service Request object...
BigSlick
Valued Contributor
Ah yes, I forgot you also need to specify a unquie Id for the activity.
It's kinda strange.
Try adding this:
ServiceRequest[0].ListOfActivity[ActivityLength].ActivityId = "DummyId";
//OD will overwrite this with a real Id
Or if you have a unquie ID for your Activities you can use:
ServiceRequest[0].ListOfActivity[ActivityLength].ExternalSystemId = <Your
Unique Value>;
Hope that helps,
BS
12-11-2006 10:52 AM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Hi all,
I have a similar problem, but mine is returning a message that field
"Display" is required. Looking at this post and the documentation it is
obvious that Display is a required field, but my WSDL did not include a
field called "Display", so my proxy did not generate one.
I tried adding a field called Display to the WSDL and the proxy class, but
I get a different error... I figure I maybe cannot add it manually like
that - but I think the bigger problem is it is not part of the WSDL that
Siebel OD generates for me in my admin account.
On top of that Display is not shown in the list of fields for Activity
through the admin interface.. is it possible my account is bugged? Am I
missing something simple here? BigSlick, I see you mention a .Display in
your code sample so I thought you might understand what is wrong. Here is
my code (I am trying to add a activity to a lead).
Thanks for any insight into this!
private void InsertLeadActivity(Session session, NameValueCollection data,
string leadID)
try
if (blnDebug)
Response.Write("Setting up Activity<br>";
// instantiate the proxy service
Activity_Service.Activity activityProxy = new Activity_Service.Activity();
// set up the target URL
activityProxy.Url = session.GetURL();
activityProxy.CookieContainer = session.GetCookieContainer();
// set up input argument
ActivityNWS_Activity_Insert_Input input = new
ActivityNWS_Activity_Insert_Input();
input.ListOfActivity = new Activity1[1];
input.ListOfActivity[0] = new Activity1();
if (blnDebug)
Response.Write("Getting Data<br>";
// dg note: name value
// input.ListOfActivity[0].MrMrs = data["MrMrs"];
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
//input.ListOfActivity[0].Display = "Task";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
activityProxy.Activity_Insert(input);
catch (Exception exInsertActivity1)
if (blnDebug)
Response.Write("<br>Error inserting activity.<br><br>" +
exInsertActivity1.ToString() + "<br>";
01-06-2007 05:05 PM
Re: Creating Activity object for a Service Request object...
surgientweb
New Contributor
Figured it out.. the field "Display" is also known as "Activity"........
Here are some notes for other people.. good luck and feel free to write me
at raskawa-at-gmail-com if you want a code sample.
Some unpublished nice to knows for Siebel On Demand Activities....
In summary:
- .Activity is also known as Display in documentation and on the error
messages coming back from the WS. Also, it appears based on these boards
some people actually have a .Display field. Maybe different accounts
generate different WSDL's.... buggy.
- If a error message is thrown saying "Description is required" it really
means "Subject is required" (make sure .Subject has a value)
- If a error message is thrown complaining that ActionType is not right..
that is really .Type.. make sure it's lookup value is valid for the
dropdown values in your CRM OD system.
My code/values that worked..
input.ListOfActivity[0].LeadId = leadID.ToString();
input.ListOfActivity[0].Description = DataToString(data);
input.ListOfActivity[0].Subject = "Website Submission Activity";
input.ListOfActivity[0].Priority = "3-Low";
//input.ListOfActivity[0].DueDate =
DateTime.Now.AddDays(7).ToShortDateString();
input.ListOfActivity[0].Owner = this.defaultLeadOwner;
input.ListOfActivity[0].Type = "Call";
input.ListOfActivity[0].ActivityId = "DummyId";
input.ListOfActivity[0].ExternalSystemId = "web";
//input.ListOfActivity[0].Display = "Task"; //doesn't work
input.ListOfActivity[0].Activity = "Task"; //does work.
01-06-2007 05:17 PM
Re: Creating Activity object for a Service Request object...
raskawa
First Time Contributor
Hi,
This is surgientweb (under my own login now..)
Anyway, I wanted to add that I figured out that there are two ways to add
a Activity to a Lead. Via the Lead object (by getting a ListOfActivities)
OR by creating a Activity directly and just adding your "LeadID" to it (or
you can also add a "ContactID" to relate the activity to a Contact.)
Feel free to email me for a code example (raskawa....at....gmail)
-David
01-09-2007 02:58 PMHi Stephane,
You can definitely read the categories using Tables in CRM. The logic is a bit complicated though.
Use the following steps to retrieve Categories using Std. CRM Tables:
1. Pass transaction GUID in field GUID of table CRMV_REPORT_SUBJ and get KATALOGART, CODEGRUPPE and CODE field values in lv_catalog, lv_codegrp and lv_code.
2. Now you need to concatenate these 3 fields values carefully like this:
CONCATENATE lv_catelog lv_codegrp ' ' lv_code into lv_category1.
Remember there are 4 spaces between lv_codegrp and lv_code.
3. Now pass this lv_category1 in field OBJEXT in table CRMC_ERMS_CAT_OK and get OBJGUID in field lv_objguid.
4. Pass this lv_objguid in field OBJ_GUID and LNK_TYPE = 'IS_CODE' in table CRMC_ERMS_CAT_LN and get value of CAT_GUID in lv_cat_guid.
5. Pass this lv_cat_guid in field CAT_GUID in table CRMC_ERMS_CAT_CA and get value of CAT_ID in field lv_cat_text.
Remember this lv_cat_text is the text value of your last level of category of transaction.
6. To get its upper cateogry level value, simply use table CRMC_ERMS_CAT_HI and get parent guid value and pass this as CAT_GUID again in table CRMC_ERMS_CAT_CA to get its text.
Alternatively, you can also use class method cl_crm_ml_category_util=>get_parse_all to get all levels of categories.
Hope this helps.
Thanks
Vishal -
Creating remote objects and passing the retrieved data to modules
I found at this Adobe tutorial a nice "RemoteService" class that creates a RemoteObject and contains the functions for handling the result and fault events. If I wanted to use this approach, how could I pass the data from the result handler to interfaces that modules from the main application could use?
I could put the RemoteService/RemoteObject in the modules, but (in my opinion- and I could be wrong) the best design seems to be using the remote calls in the main app and passing the data along to the modules.
Ultimately, I would like to know what the "best practices" are for creating remote objects and passing the retrieved data to modules
Thanks!public void mouseClicked(MouseEvent e) {
X x = new X(e.getX(), e.getY());
}I don't see the difficulty. -
Error in creating connection object
Dear Experts
When I am creating connection object using ES55 , I get Stop message saying : " Alternate ID not supported" and when i see Help it indicates : An alternative indicator is active in Customizing of the functional location. This functionality is not supported for connection objects and device locations
what could be going wrong
Plesae suggest me the solution
Thanking you in advance
warm regards
narasimhaHi,
Please check the following settings in SPRO:
Plant Maintenance & Customer Service - -Master Data in Plant Maintenance & Customer Service --Technical Objects --Functional Locations --Alternate Labeling of Functional Locations - - Activate Alternative Labeling --
In this setting pls inactive the setting for Alt.Label.Then go to ES55 and try.It will work.
Thanks,
Banasri Mitra -
Error #1056, creating dynamic object
Hi,
I am simultaneously creating an object and adding it to an array, perhaps ill-advisedly. The following code worked on the main timeline, but not when I moved it to the constructor of a document class:
package {
import flash.geom.Point;
import flash.display.MovieClip;
public class IconTour extends MovieClip {
var thePoint:Point = new Point();
var defaultColor:Number;
var overColor:Number;
var iconCreationList:Array = new Array();
//var xx:MyIcon;
public function IconTour(){
thePoint.x=50;
thePoint.y=300;
defaultColor=0x7dc2df;
overColor=0x788dec;
iconCreationList.push(this["xx"+iconCreationList.length] = new MyIcon(thePoint,"folder","Text for the folder", "Folder", defaultColor, overColor));
for each (var iconObject:MyIcon in iconCreationList) {
addChild(iconObject);
The following error is generated:
>ReferenceError: Error #1056: Cannot create property xx0 on IconTour.
at IconTour()
I guess this is because xx0 isn't declared? How does one declare a dynamic object/variable?Nope. No mention. However, I guess I don't need to dynamically create a variable as this works:
iconCreationList.push(xx = new MyIcon(thePoint,"folder","Text for the folder", "Folder", defaultColor, overColor));
iconCreationList.push(xx = new MyIcon(thePoint,"assignments","Text for the assignment", "Assignments", defaultColor, overColor));
where this does not:
iconCreationList.push(this["xx"+iconCreationList.length] = new MyIcon(thePoint,"quiz","Text for the quiz", "Quiz", defaultColor, overColor));
iconCreationList.push(this["xx"+iconCreationList.length] = new MyIcon(thePoint,"assignments","Text for the assignment", "Assignments", defaultColor, overColor));
AS doesn't care if I add more than one object to the array that is named xx. I probably won't be referencing xx by that name anyway, just by iconCreationList[1]. -
Error while creating PDF object
We are using Adobe Interactive Forms with Guided Procedures. Netweaver 7.0 SP14 (Dual stack Java & Abap). All was working well it appears until we configured SSL for ADS - don't know for sure if this caused the problem but it is the only change we can identify around the time that our problems began.
When we attempt to Create an Impersonalized Form we receive the following error -
Cannot retrieve template structure: Execution ended in an unrecognized state
When we attempt to test a callable object associated with an interactive form we receive -
Error while creating PDF object: PDF object could not be created; object returned from ADS is null.
In both cases the entries in the default trace log are the same -
Service XMLFormService: Native process (PID=0) /usr/sap/UFD/DVEBMGS02/j2ee/os_libs/adssap/XMLFormService/bin/XMLForm.exe terminated abnormally with error code 134
PDF object could not be created; object returned from ADS is null
com.sap.caf.eu.gp.base.exception.EngineException: PDF object could not be created; object returned from ADS is null
at com.sap.caf.eu.gp.model.iforms.adapter.pdf.AdobePDFAdapter.createInstanceDocument(AdobePDFAdapter.java:542)
at com.sap.caf.eu.gp.model.iforms.preproc.FormPreprocessor.execute(FormPreprocessor.java:507)
Like I mentioned earlier this functionality was working successfully in our environment at one time.
Any guidance in this matter would be greatly appreciated.
Thanks,
JoeJoe,
If you originally configured ADS without SSL, I would recommend going back through the ADS Configuration Guide for your NetWeaver stack and make sure all the necessary changes for SSL were made. I've seen another case where a step was missed in SSL configuration for ADS which caused a form to error.
If everything looks good based on your SSL configuration, I would recommend creating an OSS Note.
-Matt -
Hi Gurus,
Could you please forward me the configuration document on how to create free goods?
Many thanks!
LeonHi Leon,
There is no need to create separate free goods materials/products in CRM. You can make use of the existing materials/products as free goods by assigning appropriate free good condition records. In general free goods master data like materials and pricing condition records can be downloaded from R/3 into CRM. You need to do only the necessary free goods customizing activities under SPRO > CRM > Basic Functions > Free Goods > Setup Free Goods
Please refer to the below SAP help document on free goods for complete understanding : http://help.sap.com/saphelp_crm50/helpdata/en/b7/4a893a8729337be10000000a11402f/frameset.htm
Refer to the section Replicating Condition Customizing (SAP CRM) in C03 best practice document for free good condition records master data download into CRM
Refer to the section Replicating Specific Conditions in B09 best practice document for free good customizing data download into CRM
Refer to the section Free Goods in C34 best practice document for free good CRM customizing activities.
<b>Do not forget to reward if it helps</b>
Regards,
Paul Kondaveeti -
How to create a object for IPageItemControlData?
how to create a object for IPageItemControlData?
From the header comment you'll see that IPageItemControlData is an Interface of PageItemWidget. That must've been an InDesign 1.0 or 1.5 feature predating kPageItemBoss, because except for the same comment even in InDesign 2.0 SDK the only further reference is a copy in the comment of its sibbling IFrameControlData which was removed with InDesign CS.
The IID and kPageItemControlDataImpl are probably only around because deep under the hood there must be some kind of conversion provider waiting to do its job on a very old document.
I guess the closest in today's functionality will be IHierarchy.
Dirk -
How do I create an object from a filename?
I'm traversing directories and storing a list of files in a File array. Then I traverse the array looking at the extension of the file. If it is .java then I would like to instantiate it as a class so that I may pass the new object to another function which will examine its methods. I've tried Class.forName(file.getCanonicalPath()) and it throws a ClassNotFound exception. How can I create an object from a valid filename, please?
Rick_Avlonitis wrote:
If it is .java then I would like to </snip>.java files contain source code, they can't be "instantiated". Class.forName() takes a classname as parameter, i.e. "mypackage.MyClass". A class name is not a file name, and it doesn't have an extension. As stated in the other reply, you'll need to have the class on your class path. -
How to create Activex object for my Visual C++ object
Hi,
I am working on development on Acrobat 9.0 SDK. I am facing problem is that I can compiled Visual C++ source code to an api. I can test functions on this api on Acrobat 9.0 windows, but I could not test it on IE web browser, because I don't know how to create Activex object from my Visual C++ source code or its api.
I read Acrobat 9 SDK document and found under C:\Acrobat 9 SDK\Version 1\PluginSupport\Tools\Visual Studio App Wizard has two files: Acro9PIWizInstaller.msi and setup.exe. I am not very sure those file are the key to help me to create Activex objects for my api. Are they the one I need to create Activex object? If not, could you please advise me how to create Activex object for my api or C++ codes.
Thanks a lot for any of your comments or advices.
ThaiHi lrosenth,
Thanks a lot for your information.
My question is, on Javascript how do I call a function from .api. Below is my very simple test.
I got a function on BasicPlugin.cpp under C:\Acrobat 9 SDK\Version 1\PluginSupport\Samples\BasicPlugin. See below.
I added BasicPlugin.api on C:\Program Files\Adobe\Acrobat 9.0\Acrobat\plug_ins
ACCB1 int ACCB2 MyPluginCommand() {
int num = 5;
return num;
On my HTML file, I create an <Object> below:
<OBJECT id="acrobatapp"
classid="clsid:85DE1C45-2C66-101B-B02E-04021C009402">
</OBJECT>
<OBJECT id="acrobatpdf"
classid="clsid:CA8A9780-280D-11CF-A24D-444553540000" >
<Param name="SRC" value="http://www.adobe.com/devnet/acrobat/pdfs/acrobat_digital_signature_appearances_v9.pdf">
</OBJECT>
On my Javascript. I call function MyPluginCommand() as below, but it is not working. How do I call function MyPluginCommand() on Javascript?
var acrobatapp= document.getElementById("acrobatapp");
var num= acrobatapp.MyPluginCommand();
alert(num);
Thanks for your support,
Thai -
Error Individual check for creating the object WBS Element required
Hi Expert,
I've a requirement to create WBS elements using BAPI. And I am using BAPIs in the following manner.
CALL FUNCTION 'BAPI_PS_INITIALIZATION'
CALL FUNCTION 'BAPI_BUS2054_CREATE_MULTI'
EXPORTING
i_project_definition = g_pdwbs
TABLES
it_wbs_element = it_wbs_element
et_return = it_return
EXTENSIONIN =
EXTENSIONOUT =
CALL FUNCTION 'BAPI_PS_PRECOMMIT'
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
When I do so I am getting the below errors. Please suggest.
"Individual check for creating the object WBS Element C-497082 required ".
"Individual check for creating the object WBS Element C-497082-0001 required".
Please suggest how to correct this error.Hi Karthikeya,
I think the project profile which you are using has a different mask and the WBS element you are passing is different to the BAPI.
Are you able to create manually from CJ01 using the same WBS element?
Create a project manually and it will give the list of the mandatory fields set in the config. Using that list populate the BAPI struture accordingly.
Hope this helps.
Thanks
Lakshman.
Maybe you are looking for
-
Error message when syncing ipod classic 80 GB
After I connect my ipod to itunes and I try to sync it, an error message pops up saying "The ipod cannot be synced. An unknown error occurred (-48)." What does that mean? Is there any way to fix this without having to restore the ipod?
-
Can you view movies through the mini-DVI output?
Anyone know if you can watch rented movies on a TV with the mini-DVI output to video?
-
Add a new field in the item table control of sales order
Hi Experts, We have created a new custom field in Material master table. Now, they want to add the custom field from material master to the last field of item control of sales order. Please, let me know the steps to do it. Regards, M.S
-
I regret updating to the new iWork '13
Essential things like animations, transitions, customizable toolbars, gestures, good Instant Alpha, mixing themes, and all the things that made iWork stand apart are gone. After 4 years, I thought an update would be a step forward, not backward!!! I
-
Now able to download new version of I-Tunes, I get a Runtime Error (R6034). I removed the version I had on my PC and am now not able to upload I-Tunes at all.