Process object (external process)
Hi All,
im activating from my desktop an external program.
how can i create an object to this program in order to control it.
by saying control it i mean for example to *.destroy().
Thanks
You have two options:
1. Write something to its stdin which tells it to quit.
2. Use JNI (or another process which does something like ps | cut | xargs kill).
Similar Messages
-
Business Objects, external services and application services in CAs
Hi All,
right now we are developing our first eSOA Composite Application with CE and I have some questions regarding Business Objects, the import of external services and the development of application services.
As I understood there are two ways to provide business functionality for composite applications:
a. Import backend functionality as an external service (e.g. BAPI, RFC) at the CAF, build the application service which can be used as a callable object for UIs or the GPs
b. Develop a local Business Object (in CAF) providing the business logic, create the application service which again can be used as a callable object. Furthermore the application service can be exposed as a Web Service (external service).
My questions:
1. When is it appropriate to to import external services in stead of developing local BOs?
2. Under what conditions is it advisable to (solely) develop local BOs?
3. What are the advantages / disadvantages regarding the reusability of the services (in option a and b)?
Note: We are developing on NetWeaver 2004s.
Please let me know, if you need more information to answer the questions!
Thanks for your advice in advance,
Regards,
IvonneHi Ivonne,
first of all, the CAF Business Objects (BOs) itself don't contain any business logic, they're basically just local database tables (with some CRUD services on top).
Business logic is implemented in Application Services (AS).
Now, regarding local BO's vs. external services, it depends on your use case. If the data is already available somewhere in your backend system it makes sense to use external services. For instance you wouldn't want to store business partners all over different composites. For data that is specific to your composite (in particular configuration, customizing etc.) and not likely to be reused by other applications you should use local BOs.
Accessing local BO's is also much faster than calling external services.
You can do reuse in both scenarios, since the CAF services can be exposed as web services.
Regards,
Christian
Edited by: Christian Loos on Apr 8, 2008 6:11 PM -
ABAP Shared Objects - External Reference
Hi,
I am using ABAP SHared Objects (SHMA and SHMM) as data persistence between 2 BSP Applications
I want to create a generic Root class with one attribute that is TYPE REF TO OBJECT. The idea is to store any class instance in this attribute of the Root class so as to AVOID creating a seperate Shared AREA for each Class...
WHen I try to put this generic Root Class in the shared area via detach_commit(), it gives a exception that there are External references in the Shared area which should be closed first
Does this mean u cannot have a instance variable as an attribute in your ROOT Class.
Thanks
SAP UserHi,
Go through the below code, it's working fine....
*& Report Z13708_ABAPOBJECTS_INHER
REPORT Z13708_ABAPOBJECTS_INHER.
CLASS C1 DEFINITION
CLASS C1 DEFINITION.
PUBLIC SECTION.
data: var1 type ref to object.
METHODS: METH1.
ENDCLASS. "C1 DEFINITION
CLASS C1 IMPLEMENTATION
CLASS C1 IMPLEMENTATION.
METHOD METH1.
WRITE: / 'This is a method one'.
ENDMETHOD. "METH1
ENDCLASS. "C1 IMPLEMENTATION
CLASS C2 DEFINITION
CLASS C2 DEFINITION.
PUBLIC SECTION.
METHODS: METH2.
ENDCLASS. "C2 DEFINITION
CLASS C2 IMPLEMENTATION
CLASS C2 IMPLEMENTATION.
METHOD METH2.
WRITE: / 'This is a method two'.
ENDMETHOD. "METH2
ENDCLASS. "C2 IMPLEMENTATION
START-OF-SELECTION.
DATA REF1 TYPE REF TO C1.
DATA REF2 TYPE REF TO C2.
CREATE OBJECT REF2.
ref1->var1 ?= ref2.
Regards,
Azaz Ali. -
User Exit/BADI to pass external number range in CRM 2007
Hi,
In CRM 2007, Is there any User Exit or BADI to pass number range object externally ?
Like USEREXIT_NUMBER_RANGE routine in MV45AFZZ include ( ECC ).
Business requirement : separate number series is need to be maintained for each service location.
Kindly help if you know the solution.
Thanks
BhanuHello Bhanu,
You need to follow following steps to do so:
Create an external number range in SNRO.
Assign this number range to your transaction type in transaction processing configuration part.
Create an implementation for BADI CRM_ORDERADM_H_BADI or ORDER_SAVE. Now depending upon your condition you can assign the number to the Object id here in the work area.
I hope this helps.
Thanks
Vishal -
Calling A Super Method Externally
Hi,
I would like to call an overridden method, a super method, of an object externally. I thought all I needed to do was:
1. get the java.lang.Class object of the super class where the original method was declared and implemented.
2. get the appropriate java.lang.reflect.Method object from the Class object.
3. override the java language protections on the Method object.
4. Call Method.invoke() with the instance of the subclass which I wanted to call the method on.
Unfortunately, when I got to step 4, I saw this in the documentation for Method.invoke:
"If the underlying method is an instance method, it is invoked using dynamic method lookup as documented in The Java Language Specification, Second Edition, section 15.12.4.4; in particular, overriding based on the runtime type of the target object will occur."
Is there any way to externally access the functionality of a super method implementation on a subclass that overrides it? It seems like there should be...
In case you are wondering, the reason I am doing this is I am trying to implement a deep clone method. However, I would like any class to be able to call the deep clone method by passing themselves as an argument to a static method -- that way you don't have to worry about subclasses inheritting clone or anything like that. The code would look something like this (however it seems that according to the docs, this would result in an infinite recursion because when the Object.clone() method is invoked, it would actually resolve to the MyDeepCloneableObject.clone() method (which would call the utility function, which would invoke the Object.clone() again etc. etc.)):
public class MyDeepCloneableObject implements Cloneable {
public Object clone() {
return ObjectUtil.deepClone(this);
public class ObjectUtil {
private static final Method OBJECT_CLONE_METHOD;
private static final Class[] EMPTY_CLASS_ARRAY = new Class[0];
private static final Object[] EMPTY_OBJECT_ARRAY = new Object[0];
static {
//Set the OBJECT_CLONE_METHOD
try {
OBJECT_CLONE_METHOD =
Object.class.getDeclaredMethod("clone", EMPTY_CLASS_ARRAY);
OBJECT_CLONE_METHOD.setAccessible(true);
} catch (NoSuchMethodException e) {
System.out.println(e.toString());
e.printStackTrace();
} catch (RuntimeException e) {
System.out.println(e.toString());
e.printStackTrace();
public static Object deepClone(Cloneable object, int levels) {
Object clone;
try {
clone = OBJECT_CLONE_METHOD.invoke(object, EMPTY_OBJECT_ARRAY);
} catch (IllegalAccessException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
} catch (InvocationTargetException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
} catch (RuntimeException e) {
System.out.println(e.toString());
e.printStackTrace();
return null;
// Use more reflection on fields of clone to implement deep clone
}In your example the clone method is not creating a clone, just returning a new instance of an object of the same type. In both cases the default shallow clone method should be implemented as follows:
public Object clone() {
//Call Object.clone()
return super.clone;
By doing so, any subclasses will also have their fields copied when clone() is called.
From the javadocs for Object.clone():
"The method clone for class Object performs a specific cloning operation. First, if the class of this object does not implement the interface Cloneable, then a CloneNotSupportedException is thrown. Note that all arrays are considered to implement the interface Cloneable. Otherwise, this method creates a new instance of the class of this object and initializes all its fields with exactly the contents of the corresponding fields of this object, as if by assignment; the contents of the fields are not themselves cloned. Thus, this method performs a "shallow copy" of this object, not a "deep copy" operation."
Now as to how the parent is supposed to know about fields in subclasses, the implementation of clone is implemented in a native method in Object, so the JVM can pretty much know anything about the subobject as long as it has a reference to it. Further, if I wanted to make my own implementation, I could using reflection:
public Object clone() {
// Get the runtime class of this object, note that the runtime class
// may be a subclass of the class in which this clone method is defined
Class objectClass = this.getClass();
//Get all of the fields in this class and it's super classes
List fieldsList = new ArrayList();
while (objectClass != null) {
Field[] fields = objectClass.getDeclaredFields();
for (int j =0; j < fields.length; j++) {
fieldsList.add(fields[j]);
objectClass = objectClass.getSuperClass();
//Now I can create a new instance of the runtime class and set
//all of its fields appropriately
However, I'm sure the JVM's implementation is far more efficient.
I have not benchmarked serialization. However, all the steps in my procedure would have to be done for serialization anyway (i.e. get list of all fields, instantiate equivalent field values and set them in the new object), but serialization also needs to convert everything to a byte representation and then parse it out again. Furthermore, serialization will perform a fully deep clone, where as I only want a one level deep clone (or two depending on how you think of it -- i.e. not a shallow copy of references (as Object.clone(0 does), but a copy of direct fields and containers (i.e. Maps and Collections in fields should be cloned, but not objects in the Maps and Collections). So if an object has a field which is a List and the List field contains 1 entry, and the object is cloned, then subsequent modifications to the List field in the cloned object are not reflected in the original object's List field and vice versa (i.e. the 1 entry is removed in the original , but remains in the clone's version of the List field). -
ORA00932 inconsistent datatypes For member methods in SQLJ Object called from SQLPlus
Hi, I would very much appreciate advice on the following problem, its a tricky one, here are the full details....
A) EXECUTIVE SUMMARY....
I have created an oracle object type by wrapping a SQLData java object with the Oracle Create type statement. I am using Oracle 9i on NT4. However despite following the very few Oracle examples I could find, I get the following error....
select value(aaa).testint() from dealsobjtab aaa
ORA-00932: inconsistent datatypes
select value(aaa).testme() from dealsobjtab aaa
ORA-00932: inconsistent datatypesHere is what I've done...
1) Create Java object using SQLData interface (see listing below)
2) Load the Java source to Oracle 9i
3) Run the Oracle Create Type statement to wrap the java class
4) Use the objects in a table and successfully insert rows and query attributes using SQLPlus
5) Find I can't pull back data from any instance methods without getting an "inconsistant datatypes" error for both string and int datatypes. (see below for queries and output from SQLPlus)
B) STEP BY STEP DETAILS FOLLOW......
1) Java Source (in file \dealcalcs\Dealtest.java)
package dealcalcs;
import java.sql.SQLException;
import oracle.jdbc.OracleConnection;
import oracle.jdbc.OracleTypes;
import java.sql.*;
public class Dealtest implements SQLData
public static final String SQLNAME = "SWITCHBLADE_DATA.DEALTEST";
public static final int SQLTYPECODE = OracleTypes.STRUCT;
protected java.math.BigDecimal m_dealid;
protected java.sql.Timestamp m_startdate;
protected String m_dealtype;
protected Double m_facevalue;
/* constructor */
public Dealtest() { }
public void readSQL(SQLInput stream, String type)
throws SQLException
setDealid(stream.readBigDecimal());
setStartdate(stream.readTimestamp());
setDealtype(stream.readString());
setFacevalue(new Double(stream.readDouble()));
if (stream.wasNull()) setFacevalue(null);
public void writeSQL(SQLOutput stream)
throws SQLException
stream.writeBigDecimal(getDealid());
stream.writeTimestamp(getStartdate());
stream.writeString(getDealtype());
if (getFacevalue() == null)
stream.writeBigDecimal(null);
else
stream.writeDouble(getFacevalue().doubleValue());
public String getSQLTypeName() throws SQLException
return SQLNAME;
/* accessor methods */
public java.math.BigDecimal getDealid() { return m_dealid; }
public void setDealid(java.math.BigDecimal dealid) { m_dealid = dealid; }
public java.sql.Timestamp getStartdate() { return m_startdate; }
public void setStartdate(java.sql.Timestamp startdate) { m_startdate = startdate; }
public String getDealtype() { return m_dealtype; }
public void setDealtype(String dealtype) { m_dealtype = dealtype; }
public Double getFacevalue() { return m_facevalue; }
public void setFacevalue(Double facevalue) { m_facevalue = facevalue; }
//These last two are the member methods I call
public String testme(){
String tmp = new String("testme worked");
return tmp;
public int testint(){
int tmp = 0;
tmp = 88;
return tmp;
2, 3, 4) Here is how I wrap the uploaded SQLJ object, create a table using it, and put a row in it....
create or replace type deal_t as object
external name 'dealcalcs.Dealtest'
LANGUAGE JAVA USING SQLData (
DEALID NUMBER (11) external name 'dealid',
STARTDATE DATE external name 'startdate',
DEALTYPE VARCHAR2 (50) external name 'dealtype',
FACEVALUE FLOAT (49) external name 'facevalue',
MEMBER FUNCTION testme RETURN VARCHAR2
EXTERNAL NAME 'testme() return java.lang.String',
MEMBER FUNCTION testint RETURN NUMBER
EXTERNAL NAME 'testint() return int'
) not final
create table dealsobjtab of deal_t;
insert into dealsobjtab values ( deal_t(1, to_date('1/jan/1968'), 'NZD/NZD', 500))
COMMIT
5) Here I select attributes from the object table, and select using the two member methods, note that my member methods fail miserably, and advice on fixing this would be much appreciated....
select * from dealsobjtab aaa
DEALID STARTDATE DEALTYPE FACEVALUE
1 01/01/1968 NZD/NZD 500
1 row selected
select value(aaa).dealid from dealsobjtab aaa
VALUE(AAA).DEALID
1
1 row selected
select value(aaa).testint() from dealsobjtab aaa
ORA-00932: inconsistent datatypes
select value(aaa).testme() from dealsobjtab aaa
ORA-00932: inconsistent datatypes
Phew, that was a long email, I hope you are still awake after all that. I have no idea how to solve this, and would really appreciate some advice to get me going.
Yours Sincerely,
Michael CatoBut, i am receiving the error i have mentioned. is it depends on the java version also?
Please suggest.. -
Passing Array of java objects to and from oracle database-Complete Example
Hi all ,
I am posting a working example of Passing Array of java objects to and from oracle database . I have struggled a lot to get it working and since finally its working , postinmg it here so that it coudl be helpful to the rest of the folks.
First thinsg first
i) Create a Java Value Object which you want to pass .
create or replace and compile java source named Person as
import java.sql.*;
import java.io.*;
public class Person implements SQLData
private String sql_type = "PERSON_T";
public int person_id;
public String person_name;
public Person () {}
public String getSQLTypeName() throws SQLException { return sql_type; }
public void readSQL(SQLInput stream, String typeName) throws SQLException
sql_type = typeName;
person_id = stream.readInt();
person_name = stream.readString();
public void writeSQL(SQLOutput stream) throws SQLException
stream.writeInt (person_id);
stream.writeString (person_name);
ii) Once you created a Java class compile this class in sql plus. Just Copy paste and run it in SQL .
you should see a message called "Java created."
iii) Now create your object Types
CREATE TYPE person_t AS OBJECT
EXTERNAL NAME 'Person' LANGUAGE JAVA
USING SQLData (
person_id NUMBER(9) EXTERNAL NAME 'person_id',
person_name VARCHAR2(30) EXTERNAL NAME 'person_name'
iv) Now create a table of Objects
CREATE TYPE person_tab IS TABLE OF person_t;
v) Now create your procedure . Ensure that you create dummy table called "person_test" for loggiing values.
create or replace
procedure give_me_an_array( p_array in person_tab,p_arrayout out person_tab)
as
l_person_id Number;
l_person_name Varchar2(200);
l_person person_t;
l_p_arrayout person_tab;
errm Varchar2(2000);
begin
l_p_arrayout := person_tab();
for i in 1 .. p_array.count
loop
l_p_arrayout.extend;
insert into person_test values(p_array(i).person_id, 'in Record '||p_array(i).person_name);
l_person_id := p_array(i).person_id;
l_person_name := p_array(i).person_name;
l_person := person_t(null,null);
l_person.person_id := l_person_id + 5;
l_person.person_name := 'Out Record ' ||l_person_name ;
l_p_arrayout(i) := l_person;
end loop;
p_arrayout := l_p_arrayout;
l_person_id := p_arrayout.count;
for i in 1 .. p_arrayout.count
loop
insert into person_test values(l_person_id, p_arrayout(i).person_name);
end loop;
commit;
EXCEPTION WHEN OTHERS THEN
errm := SQLERRM;
insert into person_test values(-1, errm);
commit;
end;
vi) Now finally create your java class which will invoke the pl/sql procedure and get the updated value array and then display it on your screen>Alternatively you can also check the "person_test" tbale
import java.util.Date;
import java.io.*;
import java.sql.*;
import oracle.sql.*;
import oracle.jdbc.driver.*;
import java.text.DateFormat;
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class ArrayDemo
public static void passArray() throws SQLException
Connection conn = getConnection();
ArrayDemo a = new ArrayDemo();
Person pn1 = new Person();
pn1.person_id = 1;
pn1.person_name = "SunilKumar";
Person pn2 = new Person();
pn2.person_id = 2;
pn2.person_name = "Superb";
Person pn3 = new Person();
pn3.person_id = 31;
pn3.person_name = "Outstanding";
Person[] P_arr = {pn1, pn2, pn3};
Person[] P_arr_out = new Person[3];
ArrayDescriptor descriptor =
ArrayDescriptor.createDescriptor( "PERSON_TAB", conn );
ARRAY array_to_pass =
new ARRAY( descriptor, conn, P_arr);
OracleCallableStatement ps =
(OracleCallableStatement )conn.prepareCall
( "begin give_me_an_array(?,?); end;" );
ps.setARRAY( 1, array_to_pass );
ps.registerOutParameter( 2, OracleTypes.ARRAY,"PERSON_TAB" );
ps.execute();
oracle.sql.ARRAY returnArray = (oracle.sql.ARRAY)ps.getArray(2);
Object[] personDetails = (Object[]) returnArray.getArray();
Person person_record = new Person();
for (int i = 0; i < personDetails.length; i++) {
person_record = (Person)personDetails;
System.out.println( "row " + i + " = '" + person_record.person_name +"'" );
public static void main (String args[]){
try
ArrayDemo tfc = new ArrayDemo();
tfc.passArray();
catch(Exception e) {
e.printStackTrace();
public static Connection getConnection() {
try
Class.forName ("oracle.jdbc.OracleDriver");
return DriverManager.getConnection("jdbc:oracle:thin:@<<HostNanem>>:1523:VIS",
"username", "password");
catch(Exception SQLe) {
System.out.println("IN EXCEPTION BLOCK ");
return null;
and thats it. you are done.
Hope it atleast helps people to get started. Comments are appreciated. I can be reached at ([email protected]) or [email protected]
Thanks
Sunil.sHi Sunil,
I've a similar situation where I'm trying to insert Java objects in db using bulk insert. My issue is with performance for which I've created a new thread.
http://forum.java.sun.com/thread.jspa?threadID=5270260&tstart=30
I ran into your code and looked into it. You've used the Person object array and directly passing it to the oracle.sql.ARRAY constructor. Just curios if this works, cos my understanding is that you need to create a oracle.sql.STRUCT out of ur java object collection and pass it to the ARRAY constructor. I tried ur way but got this runtime exception.
java.sql.SQLException: Fail to convert to internal representation: JavaBulkInsertNew$Option@10bbf9e
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
at oracle.sql.ARRAY.<init>(ARRAY.java:152)
at JavaBulkInsertNew.main(JavaBulkInsertNew.java:76)
Here's a code snippet I used :
Object optionVal[] = {optionArr[0]}; // optionArr[0] is an Option object which has three properties
oracle.sql.ArrayDescriptor empArrayDescriptor = oracle.sql.ArrayDescriptor.createDescriptor("TT_EMP_TEST",conn);
ARRAY empArray = new ARRAY(empArrayDescriptor,conn,optionVal);If you visit my thread, u'll see that I'm using STRUCT and then pass it to the ARRAY constructor, which works well, except for the performance issue.
I'll appreciate if you can provide some information.
Regards,
Shamik -
Idoc - External Definitions Error
Hi,
I had to change the occurences of an exisiting idoc. I had imported the xsd,changed the occurrences and reloaded it using WSDL structure.
When i load the external definition in the mapping structure, it is giving me the following error.
Object External Message Z_INVOICE02_MULTI | INVOIC.INVOIC02.ZINVOIC02 | urn:sap-com:document:sap:idoc:messages not found
Please note that when i had imported the xsd, i had removed the target namespace.Hi Sai,
i need to add an additional field to the existing IDOC structure
Is there any specific reason for usign IDOC as external definition (are you changing the occurance of IDOC)?
what is your sender and receiver system?
Are you expecting the value for this addition field to be populated by sap along with the rest of IDOC data? if yes then ,get a custom IDOC created in SAP with the required field.
Or if you want to populate this additional field in PI usign any logic (assuming you are sending to any non sap system), then you can create a new ED for the targert , just export
the ED to desktop , open with any xml editor (xml spy or microsoft visual studio 2005) and navigate to the portion of xsd which you want to edit add the field -> reimport in PI and use it as your target strucuture.You cannot edit ED directly in ESR.
Regards,
Srinivas -
Trying to pass Oracle array/object type to Java
I have a Java class with two inner classes that are loaded into Oracle:
public class PDFJ
public static class TextObject
public String font_name;
public int font_size;
public String font_style;
public String text_string;
public static class ColumnObject
public int left_pos;
public int right_pos;
public int top_pos;
public int bottom_pos;
public int leading;
public TextObject[] column_texts;
}I have object types in Oracle as such that bind to the Java classes:
CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_TEXT" AS OBJECT
EXTERNAL NAME 'PDFJ$TextObject'
LANGUAGE JAVA
USING SQLData(
"FONT_NAME" VARCHAR2(25) EXTERNAL NAME 'font_name',
"FONT_SIZE" NUMBER EXTERNAL NAME 'font_size',
"FONT_STYLE" VARCHAR2(1) EXTERNAL NAME 'font_style',
"TEXT_STRING" VARCHAR2(4000) EXTERNAL NAME 'text_string'
CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_TEXT_ARRAY" AS
TABLE OF "PROGRAMMER"."PDFJ_TEXT";
CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_COLUMN" AS OBJECT
EXTERNAL NAME 'PDFJ$ColumnObject'
LANGUAGE JAVA
USING SQLData(
"LEFT_POS" NUMBER EXTERNAL NAME 'left_pos',
"RIGHT_POS" NUMBER EXTERNAL NAME 'right_pos',
"TOP_POS" NUMBER EXTERNAL NAME 'top_pos',
"BOTTOM_POS" NUMBER EXTERNAL NAME 'bottom_pos',
"LEADING" NUMBER EXTERNAL NAME 'leading',
"COLUMN_TEXTS" "PROGRAMMER"."PDFJ_TEXT_ARRAY" EXTERNAL NAME 'column_texts'
CREATE OR REPLACE TYPE "PROGRAMMER"."PDFJ_COLUMN_ARRAY" AS
TABLE OF "PROGRAMMER"."PDFJ_COLUMN";
/I successfully (as far as I know) build a PDFJ_COLUMN_ARRAY object in a PL/SQL procedure. The PDFJ_COLUMN_ARRAY contains PDFJ_COLUMN objects; each of those objects contains a PDFJ_TEXT_ARRAY of PDFJ_TEXT objects (Example: pdf_column_array(i).pdf_text_array(i).text_string := 'something';). In this procedure, I pass this PDFJ_COLUMN_ARRAY as a parameter to a Java function. I assume the Java function parameter is supposed to be a oracle.sql.ARRAY object.
I cannot figure out how to decompose this generic ARRAY object into a ColumnObject[] array. I also tried Googling and searching the forums, but I can't figure out matching search criteria. I was wondering if anyone here knows anything about passing user-defined Oracle type objects to a Java function and retrieving the user-defined Java class equivalents that they are supposedly mapped to--especially a user-defined array type of user-defined object types containing another user-defined array type of user-defined object types.Ok. I will try asking on the JDBC forum. So, don't
flame me for cross-posting. :PWe won't, if over there you just post basically a
link to this one.
sigh Guess what, he did it the flame-deserving way. It's crossposted at:
http://forum.java.sun.com/thread.jspa?threadID=602805
<flame level="mild">Never ceases to amaze me how people don't think that posting a duplicate rather than a simple link isn't wasteful, as people could end up answering in both of them, not seeing each other's answers</flame> -
How to delete objects created in IR and ID
Hello ,
What is the right way to delete the SWCV from IR and Configuration scenario from ID .
I am using PI 7.11 version. Also, want to know that ,if i want to take backup , then how to do that.
Thanks in advance.
RaviHello,
What is the right way to delete the SWCV from IR and Configuration scenario from ID .
You start from the top to the bottom, by this I mean you delete objects in this order
ESR:
Operation Mappings -> Message Mappings -> Imported Archives -> Service Interfaces -> Message Types -> Data Types -> Context Objects -> External Definitions
ID:
Receiver Agreement -> Sender Agreement -> Interface Determination -> Receiver Determination -> Communication Channels -> Business Component/Business System -> Party
I am using PI 7.11 version. Also, want to know that ,if i want to take backup , then how to do that.
Transport your SLD, All ESR objects under that SCV, All ID objects under that SCV as a file and then save in your local directory. That way, even if you deleted the objects you can still reimport them when the need comes.
Hope this helps,
Mark -
External table ddl contains owbunuseX in the field list
Hi, we defined a external table in design center OWB11.1, and we defined columns like 'field1, field2... field50', but when it was generated, we found owbunused0, owbunuse1...in the field list of access parameters. why the field name is not same as the column name in the external table? Thanks.
Hi Gary
Ok, now I see. For an external table right click on it within designer tree and hit the Synchronize option, you will then get a dialog for synchronizing and when you regenerate you should be good to go.
Like other objects External Table may be bound to another object, the File (in this case). So you can synchronize the external table if you change the file (in the same way with mapping, when you change a table you can synchronize the table in and out of the mapping).
Cheers
David -
Data enhancement, external definition
hi all
i m new 4 sap xi
i want some examples of data enhencement nd external definition?
nd also i have there definitions?
..thanks allHi,
External Defination is use to import the created data type. In SAP XI we can import
XSD, WSDL and DTD.
Example: Below is the created XSD, just save it to your desktop test<b>.xsd</b> and import in IR using the External Defination.
Go to IR>SWCV>namespace>Interface objects>External Defination.
Note: by default the category is WSDL, select the xsd for this
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:element name="ProductSKU">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="header" minOccurs="0"/>
<xs:element ref="product" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="header">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="creatorClientId" minOccurs="0"/>
<xs:element ref="migrationEnvironment" minOccurs="0"/>
<xs:element ref="origCreatorClientId" minOccurs="0"/>
<xs:element ref="replyRequested" minOccurs="0"/>
<xs:element ref="apiVersion" minOccurs="0"/>
<xs:element ref="infoMsgs" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="creatorClientId" type="xs:string"/>
<xs:element name="migrationEnvironment" type="xs:string"/>
<xs:element name="origCreatorClientId" type="xs:string"/>
<xs:element name="replyRequested" type="xs:boolean"/>
<xs:element name="apiVersion" type="xs:string"/>
<xs:element name="infoMsgs">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="level" minOccurs="0"/>
<xs:element ref="sysMsgClass" minOccurs="0"/>
<xs:element ref="sysMsgNum" minOccurs="0"/>
<xs:element ref="sysMsgText" minOccurs="0"/>
<xs:element ref="sysMsgType" minOccurs="0"/>
<xs:element ref="systemCode" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="level" type="xs:string"/>
<xs:element name="sysMsgClass" type="xs:string"/>
<xs:element name="sysMsgNum" type="xs:string"/>
<xs:element name="sysMsgText" type="xs:string"/>
<xs:element name="sysMsgType" type="xs:string"/>
<xs:element name="systemCode" type="xs:string"/>
<xs:element name="product">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="audit" minOccurs="0"/>
<xs:element ref="pKey" minOccurs="0"/>
<xs:element ref="isPackage" minOccurs="0"/>
<xs:element ref="nameCode" minOccurs="0"/>
<xs:element ref="basePrice" minOccurs="0"/>
<xs:element ref="channelCode" minOccurs="0"/>
<xs:element ref="skuNum" minOccurs="0"/>
<xs:element ref="isSaleable" minOccurs="0"/>
<xs:element ref="sapDescription" minOccurs="0"/>
<xs:element ref="version" minOccurs="0"/>
<xs:element ref="statusCode" minOccurs="0"/>
<xs:element ref="typeCode" minOccurs="0"/>
<xs:element ref="mediaCode" minOccurs="0"/>
<xs:element ref="platformCode" minOccurs="0"/>
<xs:element ref="languageCode" minOccurs="0"/>
<xs:element ref="fulfillMethodCode" minOccurs="0"/>
<xs:element ref="licenseCode" minOccurs="0"/>
<xs:element ref="licenseSeats" minOccurs="0"/>
<xs:element ref="snGenType" minOccurs="0"/>
<xs:element ref="snLegacyPrefix" minOccurs="0"/>
<xs:element ref="taxCode" minOccurs="0"/>
<xs:element ref="quantity" minOccurs="0"/>
<xs:element ref="isOrderable" minOccurs="0"/>
<xs:element ref="enigmaProtocol" minOccurs="0"/>
<xs:element ref="enigmaProductId" minOccurs="0"/>
<xs:element ref="enigmaProductCode" minOccurs="0"/>
<xs:element ref="enigmaInstallerCode" minOccurs="0"/>
<xs:element ref="enigmaSecurityCode" minOccurs="0"/>
<xs:element ref="enigmaSupportCode" minOccurs="0"/>
<xs:element ref="isForReserialization" minOccurs="0"/>
<xs:element ref="plantCode" minOccurs="0"/>
<xs:element ref="sapCategoryCode" minOccurs="0"/>
<xs:element ref="sapMaterialTypeCode" minOccurs="0"/>
<xs:element ref="isWebSellable" minOccurs="0"/>
<xs:element ref="childCount" minOccurs="0"/>
<xs:element ref="expireDate" minOccurs="0"/>
<xs:element ref="guid" minOccurs="0"/>
<xs:element ref="child" minOccurs="0" maxOccurs="unbounded"/>
<xs:element ref="versionName" minOccurs="0"/>
<xs:element ref="enigmaPackingLicense" minOccurs="0"/>
<xs:element ref="isInProduction" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="audit">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="createDate" minOccurs="0"/>
<xs:element ref="createSystemCode" minOccurs="0"/>
<xs:element ref="createUserId" minOccurs="0"/>
<xs:element ref="updateDate" minOccurs="0"/>
<xs:element ref="updateUserId" minOccurs="0"/>
<xs:element ref="updateSystemCode" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="createDate" type="xs:string"/>
<xs:element name="createSystemCode" type="xs:string"/>
<xs:element name="createUserId" type="xs:string"/>
<xs:element name="updateDate" type="xs:string"/>
<xs:element name="updateUserId" type="xs:string"/>
<xs:element name="updateSystemCode" type="xs:string"/>
<xs:element name="pKey" type="xs:string"/>
<xs:element name="isPackage" type="xs:boolean"/>
<xs:element name="nameCode" type="xs:string"/>
<xs:element name="basePrice" type="xs:string"/>
<xs:element name="channelCode" type="xs:string"/>
<xs:element name="skuNum" type="xs:string"/>
<xs:element name="isSaleable" type="xs:boolean"/>
<xs:element name="sapDescription" type="xs:string"/>
<xs:element name="version" type="xs:string"/>
<xs:element name="statusCode" type="xs:string"/>
<xs:element name="typeCode" type="xs:string"/>
<xs:element name="mediaCode" type="xs:string"/>
<xs:element name="platformCode" type="xs:string"/>
<xs:element name="languageCode" type="xs:string"/>
<xs:element name="fulfillMethodCode" type="xs:string"/>
<xs:element name="licenseCode" type="xs:string"/>
<xs:element name="licenseSeats" type="xs:string"/>
<xs:element name="snGenType" type="xs:string"/>
<xs:element name="snLegacyPrefix" type="xs:string"/>
<xs:element name="taxCode" type="xs:string"/>
<xs:element name="quantity" type="xs:string"/>
<xs:element name="isOrderable" type="xs:boolean"/>
<xs:element name="enigmaProtocol" type="xs:string"/>
<xs:element name="enigmaProductId" type="xs:string"/>
<xs:element name="enigmaProductCode" type="xs:string"/>
<xs:element name="enigmaInstallerCode" type="xs:string"/>
<xs:element name="enigmaSecurityCode" type="xs:string"/>
<xs:element name="enigmaSupportCode" type="xs:string"/>
<xs:element name="isForReserialization" type="xs:boolean"/>
<xs:element name="plantCode" type="xs:string"/>
<xs:element name="sapCategoryCode" type="xs:string"/>
<xs:element name="sapMaterialTypeCode" type="xs:string"/>
<xs:element name="isWebSellable" type="xs:boolean"/>
<xs:element name="childCount" type="xs:string"/>
<xs:element name="expireDate" type="xs:string"/>
<xs:element name="guid" type="xs:string"/>
<xs:element name="child">
<xs:complexType>
<xs:sequence minOccurs="0">
<xs:element ref="childSku" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="childSku" type="xs:string"/>
<xs:element name="versionName" type="xs:string"/>
<xs:element name="enigmaPackingLicense" type="xs:string"/>
<xs:element name="isInProduction" type="xs:boolean"/>
</xs:schema>
Thanks
Farooq.
<b>*Rewards Points if you find it useful*</b> -
Hello,
the code below shouldn't compile,
but SS8 and SS10 (latest patches) accepts it
resulting in a core when 'a' is accessed later.
g++ rejects it because the definition of class
A isn't not in scope.
This must be a bug, or?
// file constbug.cpp
class A;
// definition of a global A object.
extern const A a(5);Yes, the compiler should emit an error about incomplete type. I have filed bug 6288980 about this problem. If you have a service contract, please contact your Sun Service representative to update the bug report with your company information. They can also keep you informed about the bug status.
-
ABAP/4 Keywords for all SAP R/3 Versions
Hello Experts,
Is there any DB Table available in Data Dictionary where all these ABAP/4 Keywords available; if yes do please let me know if not available then do please provide me with all ABAP/4 Keywords of all versions of SAP R/3 if possible
points will be awarded if helpful.
Thanks in AdvanceHello Arif,
There no particular table to check all the key words in ABAP.
To check system fields Go for
Se11-- SYST.
TO get the key words go to ABAPDOCU- type ur required key word in the search given in the last section.
The best option would be to debug ABAPDOCU, when you do a click on Keywords
Or Check the Pooled table : TSE05
As you must be knowing ABAPDOCU is in SABAPDOCU Package.....!!
There are a number of tables used; like ABTREE,etc !
Explore and find whether you can get some clue!
Find the keywords here...
Keywords Description
, [, ], {, } Syntax conventions, Syntax notation
*, " Comments
** Arithm. Operator: Exponentiation (COMPUTE)
+, -, *, / Arithmetical operators (COMPUTE)
->, =>, ->>, ~, ?= Operators in ABAP Objects
ABS Mathematical function: Absolute amount COMPUTE)
ACOS Mathematical function: Cosine arc (COMPUTE)
ADD Add
ADD-CORRESPONDING Field string addition
ADJACENT DUPLICATES Delete duplicates from internal table (DELETE)
AND Comparison operator: and
ANY TABLE Generic table type for internal tables
APPEND Append line to internaltable
ASIN Mathematical function: Sine arc (COMPUTE)
ASSIGN Assign field symbol
AT Event, control break, field group determination
ATAN Mathematical function: Tangent arc
AUTHORITY-CHECK Check authorization
AVG Aggregate expression: Average (SELECT)
BACK Positioning in list
BETWEEN Relational operator: Between
BINARY SEARCH Binary read of internaltable (READ TABLE)
BIT-NOT Bit calculation operator: NOT (COMPUTE)
BIT-AND Bit calculation operator: AND (COMPUTE)
BIT-OR Bit calculation operator: OR (COMPUTE)
BIT-XOR Bit calculation operator: AND/OR (COMPUTE)
SET BIT Set bit of an X field
GET BIT Read bit of an X field
BLANK LINES Switch on blank lines in list
BREAK-POINT Stop processing in debug mode
C Data type for fixed-length character string
CA Contains any characters -Relational operator forstring comparison
CALL Call external component
CASE Begin case distinction
CATCH Exception handling (catch runtime errors)
CEIL Mathematical function: Smallest whole value
CENTERED Output format: Centered(WRITE)
CHECK Check condition
CHECKBOX Display as checkbox
PARAMETERS ... AS CHECKBOX on the selection screen
WRITE ... AS CHECKBOX in a list
CLASS Definition of a class
CLASS-DATA Static attributes in classes
CLASS-METHODS Static methods in classes
CLASS-EVENTS Static events in classes
CLASS-POOL Introduction for type Kprograms
CLEAR Initialize data object
CLIENT Client handling when
DELETE ... CLIENT SPECIFIED deleting from a database
EXPORT ... TO DATABASE ... CLIENT Storing a data cluster
IMPORT ... FROM DATABASE ... CLIENT Reading a data cluster
EXPORT ... TO SHARED BUFFER ... CLIENT Storing a data cluster
IMPORT ... FROM SHARED BUFFER ... CLIENT Reading a data cluster
INSERT ... CLIENT SPECIFIED inserting into a database
MODIFY ... CLIENT SPECIFIED Insert/Modify in database(s)
SELECT ... CLIENT SPECIFIED reading from a database
UPDATE ... CLIENT SPECIFIED updating a database
CLOSE Close file/cursor
CN Contains Not Only - Relational operator for character comparison:
CNT Field groups: Number ofdifferent values
CO Contains Only - Relational operator for character comparison:
CODE PAGE Character set
TRANSLATE ... FROM/TOCODE PAGE Translate character codes
COLLECT Internal table: Add entries
COLOR Output format: Color (FORMAT)
COMMENT Comment on selection screen
SELECTION-SCREEN COMMENT Generate comment
COMMIT Close processing unit
COMMUNICATION Data exchange
COMPUTE Perform calculations
CONCATENATE Concatenate character fields
CONDENSE Condense character fields
CONSTANTS Defing constants
CONTEXTS Communicate contexts
CONTINUE Exit current loop pass
CONTROLS Define controls for visualization
CONVERT Convert fields
COS Mathematical function: Cosine (COMPUTE)
COSH Mathematical function: Hyperbola cosine (COMPUTE)
COUNT Aggregate expression: Count (SELECT)
COUNTRY Set country ID (SET)
CP Relational operator forcharacter comparison:
DATABASE Contains Pattern
CREATE Generate an object or data object
CS Contains character - Relational operator forcharacter comparison
CURRENCY Output format: Correct format for currency (WRITE)
CURSOR Cursor
CLOSE Close database cursor
FETCH NEXT CURSOR Read lines with a database cursor
GET CURSOR FIELD Get field name
OPEN CURSOR Open database cursor
SET CURSOR Position cursor
CUSTOMER-FUNCTION Call customer enhancement
DATA Define data
DATABASE Data cluster
DELETE FROM DATABASE Delete from a database table
EXPORT ... TO DATABASE Store in a databasetable
IMPORT ... FROM DATABASE Read from a database table
DATASET Sequential file
CLOSE DATASET Close file
DELETE DATASET Delete file
EXPORT ... TO DATASET Store data cluster in file
IMPORT ... FROM DATASET Read data cluster from file
OPEN DATASET Open file Open file
READ DATASET Read from a file
TRANSFER Output to a file
DECIMALS Output format: Places after the decimal point - (WRITE)
DEFINE Define macro
DELETE Delete from tables or from objects
DEMAND Request information from a context
DESCRIBE Determine attributes ofdata objects
DIALOG Call a dialog module (CALL)
DISTINCT Duplicates
SELECT DISTINCT Selection set without duplicates
AVG( DISTINCT ... ) Average without duplicates (SELECT)
COUNT( DISTINCT ... ) Sequential file
MAX( DISTINCT ... ) Maximum without duplicates (SELECT)
MIN( DISTINCT ... ) Minimum without duplicates (SELECT)
SUM( DISTINCT ... ) Sum without duplicates (SELECT)
DIV Arithmetic operator: Whole number division
DIVIDE Divide
DIVIDE-CORRESPONDINGField string division Field string division
DO Loop
DYNPRO Screen Screen
DELETE DYNPRO Delete Delete
EXPORT DYNPRO Export Export
GENERATE DYNPRO Generate Generate
IMPORT DYNPRO Import Import
SYNTAX-CHECK FOR DYNPRO Check Check
EDITOR-CALL Call editor
ELSE Query
ELSEIF Query
END-OF-DEFINITION End of a macro definition
END-OF-PAGE Event: End of page handling in lists
END-OF-SELECTION Event: After processingof all records in a LDB
ENDAT End of an event introduced by AT
ENDCASE End of case distinction
ENDCATCH End of exception handling
ENDDO End of a DO loop
ENDEXEC End of a Native SQL statement
ENDFORM End of a subroutine
ENDFUNCTION End of a function module
ENDIF End of a query
ENDINTERFACE End of an interface definition
ENDLOOP End of a LOOP
ENDMODULE End of a module definition
ENDON End of a conditional statement
ENDPROVIDE End of a PROVIDE loop
ENDSELECT End of a SELECT loop
ENDWHILE End of a WHILE loop
EQ Relational operator: Equals
EXEC SQL Native SQL statement
EXIT Exit loop or terminate processing
EXP Mathematical function: Exponential function
EXPONENT Output format: Exponentdisplay (WRITE)
EXPORT Export data
EXTENDED CHECK Switch extended syntax check on/off (SET)
EXTRACT Generate extract dataset
FETCH Read line from a database table
FIELD-GROUPS Define field groups
FIELD-SYMBOLS Define field symbols
FLOOR Mathematical function:Largest whole value
FORM Define subroutine
FORMAT Output format for lists
FOR UPDATE Read database table with lock (SELECT)
FRAC Mathematical function: Fraction (COMPUTE)
FREE Release resources no longer needed
FUNCTION Define function module
CALL FUNCTION Call function module
FUNCTION-POOL Introduction for type Fprograms
GE Relational operator: Greater than or equal
GENERATE Generate a program or screen
GET Event, read settings
GT Relational operator: Greater than
HASHED TABLE Table type for internalhashed tables
HEADER LINE Define an internal table with header line (DATA)
HELP-ID Help ID for F1 help
DESCRIBE FIELD ... HELP-ID Determine help ID
HELP-REQUEST Self-programmed help (F1)
PARAMETERS ... HELP-REQUEST for parameters
SELECT-OPTIONS ... HELP-REQUEST for selection options
HIDE Store line information
HOTSPOT Output format: Hotspot,interaction by simple - mouse click (FORMAT)
ICON Icons in lists
IF Query
IMPORT Import data or a screen
IN Relational operator: Selection criterion
INCLUDE Include program components
INDEX Line index in an internal table
INDEX TABLE
DELETE ... INDEX Delete line
INSERT ... INDEX Insert line
MODIFY ... INDEX Modify line
READ TABLE ... INDEX Read line
INFOTYPES Declare HR info type
INITIAL Relational operator: Initial value
INITIAL SIZE Define an internal table type (TYPES)
INITIALIZATION Event: Before display of the selection screen
INPUT Output format: Ready for input (FORMAT)
INSERT Insert into tables or objects
INTENSIFIED Output format: Intensified (FORMAT)
INTERFACE Definition of an interface
INTERFACES Class component interface
INTERFACE-POOL Introduction fortype J programs
INVERSE Output format: Inverse (FORMAT)
IS Relational operator
IS ASSIGNED Relational operator: Is the field symbol assigned?
IS INITIAL Relational operator: Initial value
IS REQUESTED Relational operator: Existence of a formal
parameter
JOIN Join (SELECT)
LANGUAGE Set language for text elements (SET)
LE Relational operator: Less than or equal
LEAVE Leave processing
LEFT-JUSTIFIED Output format: Left-justified (WRITE)
LIKE Use an existing field as areference
TYPES ... LIKE Create a type
DATA ... LIKE Create a field
LINE Line in a list
MODIFY LINE Modify line
READ LINE Read line
LINE-COUNT Number of lines per page (NEW-PAGE)
LINE-SIZE Line size (NEW-PAGE)
LIST-PROCESSING List processing (LEAVE)
LOAD Load program componentsin internal table
LOAD-OF-PROGRAM Execution at load time
LOCAL Rescue actual parameters of a subroutine
LOCAL COPY Assign local copy to a field symbol
LOCALE Set text environment (SET)
SET LOCALE Set text environment
GET LOCALE Determine text environment
LOG Mathematical function: Natural logarithm (COMPUTE)
Logical condition
SELECT ... WHERE when reading database tables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting fromdatabase tables
SELECT ... FROM ... ON when reading usinga join
LOG10 Mathematical function: Base 10 logarithm (COMPUTE)
LOOP Loop
LT Relational operator: Less than
M Relational operator: Byte contains zeros and ones
MARGIN List output: Distance from edge (SET)
MATCHCODE Matchcode handling
PARAMETERS ... MATCHCODE for parameters
SELECT-OPTIONS ... MATCHCODE for selection options
MAX Aggregate expression: Maximum (SELECT)
MEMORY ABAP/4 memory
EXPORT ... TO MEMORY Roll out data to memory
IMPORT ... FROM MEMORY Restore data from memory
MESSAGE Output message
MESSAGE-ID Specify message class (REPORT)
METHOD Definition of a method
METHODS Class component method
MIN Aggregate expression: Minimum (SELECT)
MOD Arithmetic operator: Remainder after division
(COMPUTE)
MODIFY Modify tables or objects
MODULE Flow logic: Module
MOVE Assignment
MOVE-CORRESPONDING Component-by-component assignment
MULTIPLY Multiply
MULTIPLY-CORRESPONDING Field string multiplication
NA Relational operator forcharacter comparison:
Contains not any characters
NE Relational operator: Not equal
NEW-LINE List processing: New line
NEW-PAGE List processing: New page
NODES Interface work area forlogical databases
NO-GAP Output format: Leave nogaps (WRITE)
NO-HEADING Display no column headers (NEW-PAGE)
NO-SCROLLING Do not scroll line (NEW-LINE)
NO-SIGN Output format: No preceding signs (WRITE)
NO-TITLE Do not display standardpage header (NEW-PAGE)
NO-ZERO Output format: No leading zeros (WRITE)
NON-UNIQUE Defines an
TYPES internal table type
DATA internal table object
NP Relational operator forcharacter comparison:
Does not contain pattern
NS Relational operator forcharacter comparison:
Does not contain character
O Relational operator: Byte positions occupied by1
OBJECT External object
CREATE OBJECT Generate
FREE OBJECT Release
OCCURS Defines an
TYPES internal table type
DATA internal table object
ON CHANGE Control break
OPEN Open file/cursor
OR Relational operator: OR
ORDER BY Sort table rows (SELECT)
OVERLAY Overlay character fields
PACK Conversion
PARAMETER Parameter in global SAP memory
GET Read parameter
SET Set parameter
PARAMETERS Define report parameters
PERFORM Execute subroutine
PF-STATUS Set GUI status
POSITION List processing: Defineoutput position
PRINT Print formatting (NEW-PAGE)
PRINT-CONTROL Define print format
PRIVATE Class area not visible from outside
PROGRAM Introduction for type Mand S programs
LEAVE PROGRAM Leave program
PROPERTY Object property
GET PROPERTY Get property
SET PROPERTY Set property
PROVIDE Internal tables: Interval-related processing
PUT Trigger event
RADIOBUTTON Radio button (PARAMETERS)
RAISE Raise exceptions and events
RAISING Raise error message in function module
RANGES Define internal table for selection criterion
READ Read tables or objects
RECEIVE Receive results (RFC)
REFRESH Delete internal table
REFRESH CONTROL Initialize control
REJECT Do not process current database line further
REPLACE Replace characters
REPORT Introduction for type 1programs
DELETE REPORT Delete program
EDITOR-CALL FOR REPORT Call ABAP program editor
INSERT REPORT Insert program in library
READ REPORT Read program
RESERVE List processing: Conditional new page
RESET Output format: Reset all formats (FORMAT)
RIGHT-JUSTIFIED Output format: Right justified (WRITE)
ROLLBACK Roll back database changes
ROUND Output format: Scaled (WRITE)
RTTI Runtime type identification
RUN TIME ANALYZER Activate/Deactivate runtime analysis (SET)
SCAN Analyze ABAP/4 source code
SCREEN Screen
CALL SCREEN Call screen
SET SCREEN Set next screen
LEAVE SCREEN Leave screen
LEAVE TO SCREEN Branch to a screen
LOOP AT SCREEN Loop through screen fields
MODIFY SCREEN Modify screen fields
SCROLL List processing: Scroll
SCROLL-BOUNDARY List processing: Fix lead columns (SET)
SEARCH Find character
SELECT Read database table
SELECT-OPTIONS Define selection criterion
SELECTION-SCREEN Design selection screen
AT SELECTION-SCREENEvent: After editing ofselection screen
SHARED BUFFER Cross-transaction application buffer
DELETE FROM SHARED BUFFER delete from application buffer
EXPORT ... TO SHARED BUFFER Store data in application buffer
IMPORT ... FROM SHARED BUFFER Read data from application buffer
SELECTION-TABLE Selection table (SUBMIT)
SET Set different processing parameters
SHIFT Move character
SIGN Mathematical function: Sign (COMPUTE)
SIN Mathematical function: Sine (COMPUTE)
SINGLE Select single record (SELECT)
SINH Mathematical function: Hyperbola sine (COMPUTE)
SKIP List processing: Outputblank line
SORT Sort internal table or extract dataset
SORTED TABLE Table type for internaltables that are always kept
SPLIT Split character fields
SQRT Mathematical function: Square root (COMPUTE)
STANDARD TABLE Table type for standardinternal tables
START-OF-SELECTION Event: Before first access to LDB
STATICS Define static data
STOP Stop data selection (LDB)
STRING Data type for variable-length character sequence
STRLEN Character function: Current length (COMPUTE)
STRUCTURE Data structure
INCLUDE STRUCTURE Use structure
SUBMIT Program call
SUBTRACT Subtract
SUBTRACT-CORRESPONDING Field string subtraction
SUM Calculate control total
SELECT ... SUM Aggregate expression: Total
SUPPLY Supply context key fields
SUPPRESS DIALOG Suppress dialog
SYMBOL Output as symbol (WRITE)
SYNTAX-CHECK Syntax check for programs and screens
SYNTAX-TRACE Syntax check log
SYSTEM-CALL Call to various system services
SYSTEM-EXCEPTIONS Catch runtime errors (CATCH)
TABLE LINE Unstructured lines in internal tables
TABLE_LINE Unstructured lines in internal tables
TABLES Declare database table
TABLE Set or array operations for database tables
DELETE ... FROM TABLE Delete block of lines
INSERT ... FROM TABLE Insert block of lines
MODIFY ... FROM TABLE Insert/update block of lines
UPDATE ... FROM TABLE Update block of lines
SELECT ... INTO TABLE Copy block of lines to internal table
TAN Mathematical function: Tangent (COMPUTE)
TANH Mathematical function: Hyperbola tangent (COMPUTE)
TEXT Locale-specific
CONVERT TEXT Set format
SORT itab AS TEXT Sort an internal table
SORT AS TEXT Sort an extract dataset
TEXTPOOL Text elements
DELETE TEXTPOOL Delete
INSERT TEXTPOOL Insert
READ TEXTPOOL Read
TIME Time measurement
GET RUN TIME Get runtime
GET TIME Get time
SET RUN TIME ANALYZER Switch runtime analysison/off
TIME STAMP Time stamp
GET TIME STAMP Get time stamp
CONVERT TIME STAMP Convert time stamps to date/time
WRITE f TIME ZONE Output of time stamps to lists
TITLEBAR Set screen title (SET)
TOP-OF-PAGE Event: Top of page handling in lists
TRANSACTION SAP transaction
CALL TRANSACTION Call
LEAVE TO TRANSACTION Leave to
TRANSFER Output to file
TRANSLATE Character conversion incharacter fields
TRANSPORTING Selective field transport
MODIFY ... TRANSPORTING Modify lines of an internal table
READ ... TRANSPORTING Read lines of an internal table
LOOP ... TRANSPORTING Loop through an internal table
TRUNC Mathematical function: Whole number part (COMPUTE)
TYPE Define a type
TYPES ... TYPE Define a type
DATA ... TYPE Define a field
TYPE-POOL Introduction for type Tprograms
TYPE-POOLS Include type group
TYPES Define types
ULINE List processing: Underscore
UNDER Output format: One under the other (WRITE)
UNIQUE Define an
TYPES internal table type
DATA internal table object
UNIT Output format: Unit (WRITE)
UNPACK Conversion
UPDATE Update database table
USER-COMMAND List processing: Execute command immediately (SET)
USING Use parameter or format
USING Parameter of a subroutine
USING EDIT MASK Output format: Use template (WRITE)
VALUE-REQUEST Self-programmed value help(F4)
PARAMETERS ... VALUE-REQUEST for parameters
SELECT-OPTIONS ... VALUE-REQUEST for selection options
WHEN Case distinction
SELECT ... WHERE when reading from databasetables
UPDATE ... WHERE when changing database tables
DELETE ... WHERE when deleting database tables
LOOP AT ... WHERE when looping at internal tables
DELETE ... WHERE when deleting from internal tables
WHILE Loop
WINDOW List processing: Outputin window
WITH-TITLE Output standard page header (NEW-PAGE)
WORK Processing unit
COMMIT WORK Close unit
ROLLBACK WORK Close unit, but undo changes
WRITE List processing: Output
WRITE TO Correct type output in a variable
X Data type for fixed-length byte sequence
XSTRING Data type for variable-length byte sequence
Z Relational bit operator: Bit positions occupiedby
Regards
Sasidhar Reddy Matli. -
HI all,
This question remains unresolved I have Provided the trace contents as asked by XIans.
I am Again sending the contents of the trace.
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- Response
-->
- <SAP:Trace xmlns:SAP="http://sap.com/xi/XI/Message/30">
<Trace level="1" type="T">Party normalization: sender</Trace>
<Trace level="1" type="T">Sender scheme external =</Trace>
<Trace level="1" type="T">Sender agency external =</Trace>
<Trace level="1" type="T">Sender party external =</Trace>
<Trace level="1" type="T">Sender party normalized =</Trace>
<Trace level="1" type="B" name="CL_XMS_HTTP_HANDLER-HANDLE_REQUEST" />
- <!-- ************************************
-->
<Trace level="1" type="T">XMB was called with URL /sap/xi/engine/?type=entry</Trace>
<Trace level="2" type="T">Request Line = POST /sap/xi/engine/?type=entry HTTP/1.0</Trace>
<Trace level="2" type="T">Host = pitest.monet.local:8001</Trace>
<Trace level="2" type="T">Server protocol = HTTP/1.0</Trace>
<Trace level="2" type="T">Remote address = 10.10.10.26</Trace>
<Trace level="1" type="T">COMMIT is done by XMB !</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-ENTER_XMS" />
- <!-- ************************************
-->
<Trace level="1" type="B" name="CL_XMS_MAIN-SET_START_PIPELINE" />
- <!-- ************************************
-->
<Trace level="3" type="T">XMB was called with external pipeline PID = ENTRY</Trace>
<Trace level="3" type="T">Getting type of XMB...</Trace>
<Trace level="1" type="B" name="SXMBCONF-SXMB_GET_XMB_USE" />
<Trace level="2" type="T">XMB kind = CENTRAL</Trace>
<Trace level="3" type="T">Start pipeline found</Trace>
<Trace level="2" type="T">Switch to external start pipeline PID = CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_TROUBLESHOOT-ENTER_PLSRV">
<Trace level="3" type="T">No triggers found. OK.</Trace>
</Trace>
<Trace level="1" type="T">****************************************************</Trace>
<Trace level="1" type="T">* *</Trace>
<Trace level="1" type="T">* *</Trace>
<Trace level="1" type="T">XMB entry processing</Trace>
<Trace level="3" type="T">system-ID = PIT</Trace>
<Trace level="3" type="T">client = 001</Trace>
<Trace level="3" type="T">language = E</Trace>
<Trace level="3" type="T">user = ZPIAPPLUSER</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST</Trace>
<Trace level="1" type="T">* *</Trace>
<Trace level="1" type="T">* *</Trace>
<Trace level="1" type="T">****************************************************</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_UC_EXECUTE" />
- <!-- ************************************
-->
<Trace level="1" type="T">Message-GUID = 4B7D33199091C54592B7B94A466ED9C2</Trace>
<Trace level="1" type="T">PLNAME = CENTRAL</Trace>
<Trace level="1" type="T">QOS = EO</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_ASYNC" />
- <!-- ************************************
-->
<Trace level="3" type="T">QOS = EO</Trace>
<Trace level="3" type="T">Message-GUID = 4B7D33199091C54592B7B94A466ED9C2</Trace>
<Trace level="1" type="T">Get definition of external pipeline = CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
<Trace level="3" type="T">External PLID = CENTRAL</Trace>
<Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
</Trace>
<Trace level="1" type="T">Get definition of internal pipeline = SAP_CENTRAL</Trace>
<Trace level="3" type="T">Generate prefixed queue name</Trace>
<Trace level="1" type="T">Queue name : XBTI0004</Trace>
<Trace level="1" type="T">Generated prefixed queue name = XBTI0004</Trace>
<Trace level="1" type="T">Schedule message in qRFC environment</Trace>
<Trace level="3" type="T">Setup qRFC Scheduler</Trace>
<Trace level="1" type="T">Setup qRFC Scheduler OK!</Trace>
<Trace level="3" type="T">Call qRFC .... MsgGuid = 4B7D33199091C54592B7B94A466ED9C2</Trace>
<Trace level="3" type="T">Call qRFC .... Version = 000</Trace>
<Trace level="3" type="T">Call qRFC .... Pipeline = CENTRAL</Trace>
<Trace level="3" type="T">OK.</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Going to persist message</Trace>
<Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
<Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
<Trace level="1" type="T">- Exit CALL_PIPELINE_ASYNC</Trace>
<Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="3" type="T">Version number = 000</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!-- ************************************
-->
<Trace level="3" type="T">Persisting message Status = 001</Trace>
<Trace level="3" type="T">Message version 000</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
<Trace level="3" type="T">Trace object available again now. OK.</Trace>
<Trace level="3" type="T">Message was read from persist layer. OK.</Trace>
<Trace level="3" type="T">Message properties in XMB object were setup. OK.</Trace>
<Trace level="3" type="ToDo">Make sure we catch exceptions in persist read</Trace>
<Trace level="3" type="ToDo">Tracing obj. not avail. before return of CL_XMS_MAIN-PERSIST_READ_MESSAGE</Trace>
</Trace>
<Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
<Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
- <!-- ************************************
-->
<Trace level="3" type="T">message version successfully read from persist version= 000</Trace>
<Trace level="2" type="T">Increment log sequence to 001</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
<Trace level="3" type="T">system-ID = PIT</Trace>
<Trace level="3" type="T">client = 001</Trace>
<Trace level="3" type="T">language = E</Trace>
<Trace level="3" type="T">user = ZPIAPPLUSER</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST</Trace>
<Trace level="1" type="T">----
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC">
<Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
<Trace level="3" type="T">External PLID = CENTRAL</Trace>
<Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
</Trace>
<Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline attributes</Trace>
<Trace level="3" type="T">PID = SAP_CENTRAL</Trace>
<Trace level="3" type="T">ENABLE = 1</Trace>
<Trace level="3" type="T">TRACELEVEL = 0</Trace>
<Trace level="3" type="T">EXEMODE = A</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline elements</Trace>
<Trace level="3" type="T">ELEMPOS = 0001</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0002</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0003</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0004</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0007</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0008</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
<Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0009</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_RESPONSE</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T" />
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Begin of pipeline processing PLSRVID = CENTRAL</Trace>
- <Trace level="1" type="B" name="PLSRV_RECEIVER_DETERMINATION">
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_RD_PLSRV</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_RD_PLSRV-ENTER_PLSRV">
<Trace level="1" type="T">R E C E I V E R - D E T E R M I N A T I O N</Trace>
<Trace level="1" type="T">Cache Content is up to date</Trace>
<Trace level="2" type="T">Start without given receiver</Trace>
<Trace level="2" type="T">Classic Receiver Determination via Rules.</Trace>
<Trace level="2" type="T">Check conditions for rule line no. 1</Trace>
<Trace level="2" type="T">...valid Receiver w/o Condition: - ERP_D_ADR200</Trace>
<Trace level="2" type="T">No Receiver found behaviour: 0</Trace>
<Trace level="2" type="T">Number of Receivers:1</Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST End of pipeline service processing PLSRVID= PLSRV_RECEIVER_DETERMINATION</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 001</Trace>
<Trace level="3" type="T">Message version 001</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</Trace>
- <Trace level="1" type="B" name="PLSRV_INTERFACE_DETERMINATION">
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_INTERFACE_DETERMINATION</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_INTERFACE_DETERMINATION</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_ID_PLSRV</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_ID_PLSRV-ENTER_PLSRV">
<Trace level="1" type="T">I N T E R F A C E - D E T E R M I N A T I O N</Trace>
<Trace level="1" type="T">Cache Content is up to date</Trace>
<Trace level="2" type="T">Check conditions for (Inb: Party Srvc If) ERP_D_ADR200 ATT_ABS.ATT_ABS01</Trace>
<Trace level="2" type="T">...valid InbIf without Condition: ATT_ABS.ATT_ABS01</Trace>
<Trace level="2" type="T">Number of receiving Interfaces:1</Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST End of pipeline service processing PLSRVID= PLSRV_INTERFACE_DETERMINATION</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 002</Trace>
<Trace level="3" type="T">Message version 002</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</Trace>
<Trace level="1" type="B" name="PLSRV_RECEIVER_MESSAGE_SPLIT" />
- <!-- ************************************
-->
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_XMS_PLSRV_RECEIVER_SPLIT</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
<Trace level="1" type="B" name="CL_XMS_PLSRV_RECEIVER_SPLIT-ENTER_PLSRV" />
- <!-- ************************************
-->
<Trace level="3" type="T">Case handling for different plsrv_ids PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
<Trace level="2" type="T">got property produced by receiver determination</Trace>
<Trace level="1" type="T">number of receivers: 1</Trace>
<Trace level="1" type="T">Single-receiver split case</Trace>
<Trace level="1" type="T">Post-split internal queue name = XBTO4___0002</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Persisting single message for post-split handling</Trace>
<Trace level="1" type="T" />
<Trace level="1" type="T">Going to persist message + call qRFC now...</Trace>
<Trace level="1" type="T">NOTE: The following trace entries are always lacking</Trace>
<Trace level="1" type="T">- Exit WRITE_MESSAGE_TO_PERSIST</Trace>
<Trace level="1" type="T">Async barrier reached. Bye-bye !</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!-- ************************************
-->
<Trace level="3" type="T">Persisting message Status = 012</Trace>
<Trace level="3" type="T">Message version 003</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-PERSIST_READ_MESSAGE">
<Trace level="3" type="T">Trace object available again now. OK.</Trace>
<Trace level="3" type="T">Message was read from persist layer. OK.</Trace>
<Trace level="3" type="T">Message properties in XMB object were setup. OK.</Trace>
<Trace level="3" type="ToDo">Make sure we catch exceptions in persist read</Trace>
<Trace level="3" type="ToDo">Tracing obj. not avail. before return of CL_XMS_MAIN-PERSIST_READ_MESSAGE</Trace>
</Trace>
<Trace level="1" type="T">Note: the following trace entry is written delayed (after read from persist)</Trace>
<Trace level="1" type="B" name="SXMS_ASYNC_EXEC" />
- <!-- ************************************
-->
<Trace level="3" type="T">message version successfully read from persist version= 004</Trace>
<Trace level="2" type="T">Increment log sequence to 005</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Starting async processing with pipeline CENTRAL</Trace>
<Trace level="3" type="T">system-ID = PIT</Trace>
<Trace level="3" type="T">client = 001</Trace>
<Trace level="3" type="T">language = E</Trace>
<Trace level="3" type="T">user = ZPIAPPLUSER</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PIPELINE_SYNC" />
- <!-- ************************************
-->
<Trace level="1" type="T">Get definition of external pipeline CENTRAL</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-LOOKUP_INTERNAL_PL_ID">
<Trace level="3" type="T">External PLID = CENTRAL</Trace>
<Trace level="3" type="T">Internal PLID = SAP_CENTRAL</Trace>
</Trace>
<Trace level="1" type="T">Corresponding internal pipeline SAP_CENTRAL</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline attributes</Trace>
<Trace level="3" type="T">PID = SAP_CENTRAL</Trace>
<Trace level="3" type="T">ENABLE = 1</Trace>
<Trace level="3" type="T">TRACELEVEL = 0</Trace>
<Trace level="3" type="T">EXEMODE = A</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline elements</Trace>
<Trace level="3" type="T">ELEMPOS = 0001</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0002</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_INTERFACE_DETERMINATION</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0003</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_RECEIVER_MESSAGE_SPLIT</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0004</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0007</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0008</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
<Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">ELEMPOS = 0009</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_RESPONSE</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">FL_DUMMY =</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T" />
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Begin of pipeline processing PLSRVID = CENTRAL</Trace>
<Trace level="1" type="T">Start with pipeline element PLEL= 5EC3C53B4BB7B62DE10000000A1148F5</Trace>
- <Trace level="1" type="B" name="PLSRV_MAPPING_REQUEST">
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_MAPPING_REQUEST</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_MAPPING_REQUEST</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_MAPPING_REQUEST</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_MAPPING_XMS_PLSRV3</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_MAPPING_XMS_PLSRV3-ENTER_PLSRV">
<Trace level="2" type="T">......attachment XI_Context not found</Trace>
<Trace level="3" type="T">Mapping already defined in interface determination</Trace>
<Trace level="3" type="T">Object ID of Interface Mapping 4AE42F31B3BC3733A792B4DDEDD54756</Trace>
<Trace level="3" type="T">Version ID of Interface Mapping 1D47292048CD11DB8AD9FDDE0A0A0A5E</Trace>
<Trace level="1" type="T">Interface Mapping http://www.gemsconsult.com/LAB_ABA/wstoidoc PublishLeaveStatusSoapIN_to_ATT_ABS01</Trace>
<Trace level="3" type="T">Mapping Steps 1 JAVA com/sap/xi/tf/_PublishLeaveStatusSoapIN_to_ATT_ABS01_</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
<Trace level="2" type="T">Mode 0</Trace>
<Trace level="3" type="T">Creating Java mapping com/sap/xi/tf/_PublishLeaveStatusSoapIN_to_ATT_ABS01_.</Trace>
<Trace level="2" type="T">Call method execute of the application Java mapping com.sap.xi.tf._PublishLeaveStatusSoapIN_to_ATT_ABS01_</Trace>
<Trace level="2" type="T">Java mapping com/sap/xi/tf/_PublishLeaveStatusSoapIN_to_ATT_ABS01_ completed. (executeStep() of com.sap.xi.tf._PublishLeaveStatusSoapIN_to_ATT_ABS01_</Trace>
<Trace level="3" type="T">Dynamic Configuration Is Empty</Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST End of pipeline service processing PLSRVID= PLSRV_MAPPING_REQUEST</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 005</Trace>
<Trace level="3" type="T">Message version 005</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</Trace>
- <Trace level="1" type="B" name="PLSRV_OUTBOUND_BINDING">
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_OUTBOUND_BINDING</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV">
<Trace level="3" type="T">Calling pipeline service: PLSRV_OUTBOUND_BINDING</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_OUTBOUND_BINDING</Trace>
<Trace level="3" type="T">PLSRVTYPE =</Trace>
<Trace level="3" type="T">ADRESSMOD = LOCAL</Trace>
<Trace level="3" type="T">P_CLASS = CL_XMS_PLSRV_OUTBINDING</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
- <Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL">
- <Trace level="1" type="B" name="CL_XMS_PLSRV_OUTBINDING-ENTER_PLSRV">
<Trace level="2" type="T">O U T B O U N D - B I N D I N G</Trace>
<Trace level="2" type="T">Cache Content is up to date</Trace>
<Trace level="2" type="T">determine OUTBOUND BINDING for:</Trace>
<Trace level="2" type="T">-KCRS_3RDP_D</Trace>
<Trace level="2" type="T">-ERP_D_ADR200</Trace>
<Trace level="2" type="T">urn:sap-com:document:sap:idoc:messages.ATT_ABS.ATT_ABS01</Trace>
<Trace level="2" type="T">Channel found: - ERP_D_ADR200 - IDOC</Trace>
<Trace level="2" type="T">no header mapping defined</Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST End of pipeline service processing PLSRVID= PLSRV_OUTBOUND_BINDING</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 006</Trace>
<Trace level="3" type="T">Message version 006</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</Trace>
- <Trace level="1" type="B" name="PLSRV_CALL_ADAPTER">
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST Start of pipeline service processing PLSRVID= PLSRV_CALL_ADAPTER</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV" />
- <!-- ************************************
-->
<Trace level="3" type="T">Calling pipeline service: PLSRV_CALL_ADAPTER</Trace>
<Trace level="3" type="T">Reading Pipeline-Service specification...</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
<Trace level="3" type="T">PLSRVTYPE = =SWITCH=</Trace>
<Trace level="3" type="T">ADRESSMOD = SD</Trace>
<Trace level="3" type="T">P_CLASS =</Trace>
<Trace level="3" type="T">P_IFNAME =</Trace>
<Trace level="3" type="T">P_METHOD =</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Channel for IDOC adapter: IDoc</Trace>
<Trace level="3" type="T" />
<Trace level="3" type="T">Pipeline service specification (table SXMSPLSRV)</Trace>
<Trace level="3" type="T">PLSRVID = PLSRV_CALL_ADAPTER</Trace>
<Trace level="3" type="T">PLSRVTYPE = IDOC</Trace>
<Trace level="3" type="T">ADRESSMOD = SD</Trace>
<Trace level="3" type="T">P_CLASS = CL_IDX_IDOC_SERVICE</Trace>
<Trace level="3" type="T">P_IFNAME = IF_XMS_PLSRV</Trace>
<Trace level="3" type="T">P_METHOD = ENTER_PLSRV</Trace>
<Trace level="3" type="T">FL_LOG =</Trace>
<Trace level="3" type="T">FL_DUMMY = 0</Trace>
<Trace level="3" type="T" />
<Trace level="1" type="B" name="CL_XMS_MAIN-CALL_PLSRV_LOCAL" />
- <!-- ************************************
-->
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">---- Outbound IDoc-Adapter -
</Trace>
<Trace level="1" type="T">----
</Trace>
- <Trace level="1" type="B" name="CL_IDX_IDOC_SERVICE-ENTER_PLSRV">
<Trace level="1" type="T">Pipeline Service ID: PLSRV_CALL_ADAPTER</Trace>
<Trace level="1" type="T">Get Information from IS-Header Objekt</Trace>
<Trace level="1" type="T">Get Information from SD-IDoc-Endpoint</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="2" type="T">IDoc-Endpoint Channel :</Trace>
<Trace level="2" type="T">RFCDEST : ADR_200</Trace>
<Trace level="2" type="T">Port : SAPADR</Trace>
<Trace level="2" type="T">Docrel :</Trace>
<Trace level="2" type="T">Version : 3</Trace>
<Trace level="2" type="T">Saprel : 700</Trace>
<Trace level="2" type="T">Queue-ID:</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="1" type="T">Sender and Receiver after Header-Mapping</Trace>
<Trace level="1" type="T">Sender service KCRS_3RDP_D</Trace>
<Trace level="1" type="T">Receiver service ERP_D_ADR200</Trace>
<Trace level="1" type="T">Get IDoc-XML from the Resource Objekt</Trace>
- <Trace level="1" type="B" name="IDX_XML_TO_IDOC">
<Trace level="1" type="T">Parse XML-BODY</Trace>
<Trace level="1" type="T">Get the Metadata for port SAPADR</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="2" type="T">IDX_STRUCTURE_GET Details</Trace>
<Trace level="2" type="T">Port : SAPADR</Trace>
<Trace level="2" type="T">IDoctyp : ATT_ABS01</Trace>
<Trace level="2" type="T">Cimtyp :</Trace>
<Trace level="2" type="T">Release :</Trace>
<Trace level="2" type="T">Version : 3</Trace>
<Trace level="2" type="T">Direction : 2</Trace>
<Trace level="2" type="T">SAPREL : 700</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="1" type="T">Convert one IDoc</Trace>
<Trace level="2" type="T">Convert Control Record</Trace>
<Trace level="2" type="T">Convert Data Records</Trace>
<Trace level="3" type="T">Segment= E1BP7011_1</Trace>
<Trace level="2" type="T">Number of found Data records: 1</Trace>
<Trace level="1" type="T">Make Syntax check of actual Idoc</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="2" type="T">IDX_SYNTAX_CHECK</Trace>
<Trace level="2" type="T">Port : SAPADR</Trace>
<Trace level="2" type="T">IDoctyp : ATT_ABS01</Trace>
<Trace level="2" type="T">Cimtyp :</Trace>
<Trace level="2" type="T">RFC-Dest :</Trace>
<Trace level="2" type="T">----
</Trace>
<Trace level="1" type="T">Convert Segment-Types to Segment-Definitions</Trace>
</Trace>
<Trace level="1" type="T">Call Outbound IDoc-Adapter</Trace>
<Trace level="1" type="T">Call Outbound IDoc-Adapter</Trace>
- <Trace level="1" type="B" name="IDX_OUTBOUND_XMB">
<Trace level="1" type="T">FM IDOC_INBOUND_ASYNCHRONOUS with RFCDEST= ADR_200</Trace>
<Trace level="2" type="T">Used TID = 0A0A0A57187045C17D691641</Trace>
</Trace>
<Trace level="2" type="T">TID : 0A0A0A57187045C17D691641</Trace>
</Trace>
</Trace>
</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST End of pipeline service processing PLSRVID= PLSRV_CALL_ADAPTER</Trace>
</Trace>
- <Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_LOG_TO_PERSIST">
<Trace level="3" type="T">Persisting message after plsrv call</Trace>
<Trace level="3" type="T">Message-Version = 007</Trace>
<Trace level="3" type="T">Message version 007</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</Trace>
<Trace level="3" type="T">Async processing: skip mapping of response</Trace>
</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="T">Async processing completed OK.</Trace>
<Trace level="3" type="T">system-ID = PIT</Trace>
<Trace level="3" type="T">client = 001</Trace>
<Trace level="3" type="T">language = E</Trace>
<Trace level="3" type="T">user = ZPIAPPLUSER</Trace>
<Trace level="1" type="Timestamp">2007-02-01T05:40:57Z CST</Trace>
<Trace level="1" type="T">----
</Trace>
<Trace level="1" type="B" name="CL_XMS_MAIN-WRITE_MESSAGE_TO_PERSIST" />
- <!-- ************************************
-->
<Trace level="3" type="T">Persisting message Status = 003</Trace>
<Trace level="3" type="T">Message version 008</Trace>
<Trace level="3" type="T">Pipeline CENTRAL</Trace>
</SAP:Trace>
Please let me know where the problem is?
Thanks,
SrinivasaPHI,
In above trace ..
trace obje is not available ..
In general tracelevel should not be 0 , if you want to trace any object externally..
but this may not be the reason..
please let me know the what exactly the error..
Regards
Chilla..
Maybe you are looking for
-
Trying to delete file from trash but get this: The operation can't be completed because the item "File name" is in use. All other files delete except this one. Please help
-
Creating forms in Adobe Acrobat 8
When I create a form in Adobe Acrobat, I get numbers on the sheet. Numbers at fields for data to be entered but also numbers in areas were data can not be edited. When I print out the pdf, the numbers are there, I can not select them. Anyone know
-
Jbo.passivationstore set to file, but PS_TXN table is still being created
I've an app with application modules all having jbo.passivationstore set to file, a la the below: jbo.passivationstore="file" However, when i test this, the app creates the PS_TXN table and PS_TXN_SEQ sequence in the database. From reading the
-
Dynamic insert for Special Characters
Hello, I'm running into a problem inserting data with Special Characters. I have a report (designed oracle reports), that takes data and inserts the data into table. I use the SRW.do_sql built in package in a before report trigger to process the data
-
Finally I managed to get my MacBook set-up and configured for network access and a user set-up as a mobility user. Everything works with one teasing problem: I can't change in "Users & Groups" the Mobile Account Settings for the user. Everything is g