cancel
Showing results for 
Search instead for 
Did you mean: 

Oracle_XI_R/3

Former Member
0 Kudos

Hi friends

Iam working on a scenario where Iam trying to retrieve Data from Oracle database and trying to update that data in the R/3 table using XI. I have defined a function Module for table.

Now, what should the Mapping program in XI

How should be the mapping done between the structure of oracle table with the R/3 table in XI.

Thanks in Advance.

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

hi,

Your scenario is sender jdbc to reciver RFC.

First you need to configure your sender jdbc in the following message format:

Configuration for Sender Adapter

http://help.sap.com/saphelp_nw04/helpdata/en/22/b4d13b633f7748b4d34f3191529946/frameset.htm

Import you rfc in to the IR.

Mapping the resultset from the database with the request of the RFC(assuming tht the rfc does not have a response).

regards

Priyanka

Former Member
0 Kudos

HI

Thanks for the Response

But I have all those things and Iam stuck up near the mapping. I have just mapped the structure of resultset from database with structure of import parameters of Function module.It is giving Mapping Exception error. So I want to know whether XSLT mapping is needed or simple message mapping is sufficient. And how this mapping should be done.

Thanks in Advance.

Former Member
0 Kudos

Hi,

YOu can very well proceed with the normal mapping.....no need of xslt.

Pls make sure tht you have mapped the correct nodes and chk their occurences too.

regards

Priyanka

Former Member
0 Kudos

Hi

I have the mapping correctly and the occurances are also same But it is giving the error

<b> <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

- <!-- Request Message Mapping

-->

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_VendorMaster_Z_RFC_MODULE_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>During the application mapping com/sap/xi/tf/_VendorMaster_Z_RFC_MODULE_ a com.sap.aii.utilxi.misc.api.BaseRuntimeException was thrown: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

<SAP:Retry>M</SAP:Retry>

</SAP:Error></b>

former_member187339
Active Contributor
0 Kudos

Hi Narayana,

Can you specify the structure you are using to retrieve the value fom DB? What is the query written in the sender DB adapter? Try testing your mapping in the Test tab of message mapping. Is there some error?

<i>>>So I want to know whether XSLT mapping is needed or simple message mapping is sufficient.

</i>

No need to go for XSLT mapping

Regards

Suraj

Former Member
0 Kudos

Can you pls give a sample data int the message tab and ensure tht hte mapping works correctly.

regards

Priyanka

Former Member
0 Kudos

Hi

The structure Iam using is

>VendorMaster_insert

>Insert1

>VendorMaster

action

table

>access

Vendor_Number

Last_Name

Search_Term

Currency

Street_Address

City

ZIP

Country

While testing in the test tab Iam getting successful message.

Former Member
0 Kudos

hi,

Your source message format must be:

<resultset>

<row>

<col1> </col1>

<col2> </col2>

....

<col3> </col3>

</row>

</resultset>

priyanka

Former Member
0 Kudos

Hi

The source message structure which Iam getting in SXI_MONITOR is same as what you specified but still it is generating error. But is the structure which I specified during mapping is OK ?

I also tried with another simple structure i.e.,

>Vendor

Vendor_number

Last_Name

..

..

Even then it is generating the same error.

former_member187339
Active Contributor
0 Kudos

Hi Narayana,

<i>

>>The source message structure which Iam getting in SXI_MONITOR is same as what you specified but still it is generating error</i>

This shouldn't be your structure :

<i>>VendorMaster_insert

>Insert1

>VendorMaster

action

table

>access

Vendor_Number

Last_Name

Search_Term

Currency

Street_Address

City

ZIP

Country</i>

Your structure should be like :

resultset

>row

>>Vendor_Number

>>Last_Name

...

..

resultset is the name you have specified in the sender DB channel (so if you have specified anything else write the same in the above structure)

Regards

Suraj

Former Member
0 Kudos

<i> >>But is the structure which I specified during mapping is OK ?</i>

can u pls elaborate more??

Former Member
0 Kudos

Hi

I have given the same structure you specified but it is giving the same error. I think there is some mistake with the target structure.

Former Member
0 Kudos

HI Priyanka this is the structure I specified

>VendorMaster_insert

>Insert1

>VendorMaster

action

table

>access

Vendor_Number

Last_Name

Search_Term

Currency

Street_Address

City

ZIP

Country

Former Member
0 Kudos

is ur db sender or recvr???

If its the sender the the strucutre u mentioned above does not hold true.

Former Member
0 Kudos

Hi

It is <b>JDBC Sender</b>

I also tried with another structure

>resultset

>row

Vendor_number

Last_Name

..

..

and also with

>Vendor

Vendor_number

Last_Name

..

..

but nothing works

former_member187339
Active Contributor
0 Kudos

Hi Narayana,

Good... You have to use the <b>first</b> structure...

resultset

>row

>>Vendor_number

>>Last_Name

..

..

Now whats the name for parameter for DocumentName given in the sender adapter? Is it resultset?

Does you provide all the column name which you are taking from the DB in the Data type?

Are you getting the same error as specified above?

Regards

Suraj

Former Member
0 Kudos

Hi

My Dociment Name is resultset

and Iam using all the columns

But still it gives errors.

Former Member
0 Kudos

hi,

Make ur data type (source) to

resultset

row (<b>this is a keyword: u cant change that</b>)

<vendor_name>

........

.....

row

resultset

and provide the document name in sender jdbc channel as resultset and give <i>select * from <tablename> </i>in the Query SQL statemnt option.

priyanka

Former Member
0 Kudos

I using the same thing what you specified But still error exists.

former_member187339
Active Contributor
0 Kudos

Hi Naravana,

Try giving all the <b>required column</b> in the SQL Query. What is the Update query you are using? Have you set the field <b>row</b> to 0..unbound?

Regards

Suraj

Former Member
0 Kudos

Hi GoodMorning

My source structure is

>resultset

>row

vendor_number

last_name

..

..

And my Target structure is

>Z_RFC_MODULE

city

country

last_name

..

..

where Z_RFC_MODULE is my function module and the rest are the import parameters.

I have metioned the occurance of <row> as 0..unbound

But when I copy the xml message from SXI_MONITOR to the IR then it is generating the error

<b>Messages:

11:27:20 Start of test

Cannot produce target element /ns0:Z_RFC_MODULE/CITY. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

11:27:20 End of test</b>

What is the Problem?

former_member187339
Active Contributor
0 Kudos

Hi Narayana,

Have you mapped the <b>city</b> field? To which field is it mapped?

Regards

Suraj

Former Member
0 Kudos

Hi Suraj

I have mapped City of resultset with the City of Z_RFC_MODULE.

Former Member
0 Kudos

Hi Suraj

I have mapped the City of resultset with the City of Z_RFC_MODULE.

former_member187339
Active Contributor
0 Kudos

Hi Narayana,

Check whether the <b>XML you are taking from the IR</b> and the XML taken by the <b>source message of the test tab</b> are same or not?

Check whether you have specified <b>XML Namespace</b> in the Message Type of Source Structure? If you have specified then you have to specify the same in the Document Namespace of the DB sender.

Hope this will be helpful.

Regards

Suraj

Former Member
0 Kudos

Hi Raju

Can you confirm the name of Message Type for your Oracle Business System ( one for your Table fields ).

Also can u confirm the value you are giving while configuring your Sender adapter in Integration Directory ::

Processing Paremeter --> Document Name * :: <b>" what is the value here "</b>

Though the value here should be your message type in Oracle business system.

Also your target structure should be like this

And my Target structure is

>Z_RFC_MODULE

>>update

>>>item

>>>>city

>>>>country

>>>>last_name

..

..

you might need to change your RFC also.

Than you can do the mapping correctly. Do take of 1...unbounded & 0....unbounded

Former Member
0 Kudos

Hi ,

You also need to take care of the xml data types because in XI 3.0 the data types are case sensitive and in your oracle database if you have defined any column name like "City" then it should be same as "City" in data type of outbound message inteface.

I think you have to check all such column names and datatype elements whether they are same or not and then try to execute the same.

I was also getting same problem when i have tried a scenario sqlserver->XI->R/3

Hope you will be able to solve your problem.

Regards

Gopesh

Answers (0)