cancel
Showing results for 
Search instead for 
Did you mean: 

ABAP Mapping Vs Java Mapping.

STALANKI
Active Contributor
0 Kudos

We are implementing a project on XI.

We need to freeze on one mapping.

I feel ABAP Mapping provides the following advantages:

1.SXI_MAPPING_TEST is a very good transaction for debugging and testing mapping environment of XI.Iam not sure wether java mapping can be tested after deploying it on XI.

2.ABAP Mapping is well integrated with the XI and also version control becomes very easy as it is provided by the SAP transport system.

3.ABAP also provides user rich/simple API's as java.

4.Support of XI in ABAP would make sustanenace easy as it is going to be a more SAP product and ABAPers are more available in ERP background.

Java punters,Please provide inputs.

Accepted Solutions (0)

Answers (2)

Answers (2)

STALANKI
Active Contributor
0 Kudos

Hi,

I guess java has good IDE tools.But when you need to debug the java mapping program after it is deployed on XI server,I dont think XI provides any IDE for that.But i can trouble shoot the abap mapping by keeping a break point in the ABAP OBJECT se24 EDITOR.

And also version control is inbulit for the abap mapping programs by the inbuilt transport system.It would be relatively very easy when I want to retrieve versions.

I modify ABAP MAPPING in se24 editor and activate,it will immediately reflect in the XI.But if I try out java mapping,each time I change a line of code I have to compile it and deploy the jar everytime on XI.

Iam feeling ABAP is having more advantages than java in XI perspective.Java punters,Please counter.

cdumont69
Contributor
0 Kudos

Hello,

I think Java is better than ABAP for mapping, and if you can XSLT is the best.

You can test your Java mapping in your JDE (Eclipse) and it is more friendly than the ABAP debugger.

Java provide a very large API, I am not sure ABAP API too.

About transport system: Java is transporting with your Repository development, so you don't need to do anything more.

I think you must use ABAP mapping only when you can't do XSLT or JAVA mapping. For example when you want to use FM.

Regards,

Chris

Former Member
0 Kudos

Yes, I agree with Chris.

Java has better IDE tools than ABAP, and has a richer API library.

If you have a java version management system in place, such as sourcesafe, cvs, or SAP JDI, that won't be a problem.

Another issue with ABAP mapping is the performance. Natively, XI uses java mapping since that part is built on Java stack. When ABAP mapping is used, it has to make a RFC call from Java to ABAP stack which consume some resources and time.

Regards,

Hart

prasad_ulagappan2
Contributor
0 Kudos

Hi guys,

How about the support? Will SAP provide support for Java Mapping too? I think they will support only for Message mapping and ABAP Mapping?

And ofcourse, I too accept that Java mapping is better. But the only constrain is support? Any idea on support.

-Prasad U

Former Member
0 Kudos

Hart,

can you please elaborate on the performance implications.

i would assume that if you are using ABAP mapping, the pipeline step for mapping should not even make a call to the Java stack for executing the mapping.

please correct me if i am wrong. I would also appreciate an inside view of the order of the calls between Stacks involved during mapping.

STALANKI
Active Contributor
0 Kudos

If that is the case I feel abap mapping is the best suited.

Former Member
0 Kudos

I think Hart's comment regarding mapping is mistaken - my understanding is that the mapping is done by the Central pipeline, which runs in the ABAP stack. All of the mapping functions (if any are necessary) are perfromed by groups of ABAP classes via the Pipeline Elements "REQUEST MESSAGE MAPPING" (transaction SXMB_ADM lists the elements and associated services). The Adapter Framework runs in the J2EE stack, but only translates messages passed to the adapter from whatever format the sender uses to internal XI-XML format, which is then mapped (as required) in the Pipeline.

Therefore mapping done within XI does not cause undue overhead.

However, it is also possible to do mapping in the adapter itself as part of the translation process, although that isn't really the true purpose of the adapter.

Regards,

D.

Former Member
0 Kudos

Hi!

> I think Hart's comment regarding mapping is mistaken

> - my understanding is that the mapping is done by the

> Central pipeline, which runs in the ABAP stack.

No, Hart is right, mappings are executed in the Java stack of the Web Application Server. Thus an ABAP mapping will require an additional RFC call to the ABAP stack.

Regards, Tanja

Former Member
0 Kudos

Hi,

all of the step in the message flow after a message enter

the IS will be done by the abbap stack e.g. Receiver

determination, interface determination, ... The only one

step that is executed in J2EE-Stack is the mapping.

In the pipline the system jump from the abap stack to

Java stack to execute the mapping if the mapping is done

in Java (message mapping, java mapping, xslt,...).

But if the the mapping is done by abap the the runtime

has not to jump to the java stack to execute the mapping.

Because there is no java code to execute. To clarif: if

you have only abap-mapping the the compete process step

do not include the jump to the j2ee-stack of XI. So in

this case the abap mapping is more performant cause the

runtime stay in the abap stack through the complete

message processing.

But if you have mix mapping e.g. first step abap and

second step java then the j2ee-stack will be used as

well.

regards,

Ly-Na Phu