cancel
Showing results for 
Search instead for 
Did you mean: 

BPM FILE--> JDBC--> RFC

Former Member
0 Kudos

Hi All,

I am doing the File to JDBC(Sync) to RFC through BPM

Start->Receive(Ansc)>Send(sync)>send(Anyc)>

I have created like this:

DT and corresponding MT

1. File

2.JDBC_Req

3.JDBC_Req_response

i have created Message interfaces bellow

File outbound

File outbound Abstract

JDBC sync inound

JDBC Sync Abstract

JDBC response Asyc Abstract

I have created Mappings like this

File to File outbound Abstract

File Abstact JDBC_req

JDBC_Req Abstact to JDBC_Req

JDBC_res Abstact to JDBC_res

JDBC_res Abstact to RFC

I have created Interface Mappings like this

File to File Abstract

JDBC_req to JDBC_res

JDBC_res to RFC

while i am doing in BPM i am getting error like this:

Message File Abstact to be received and synchrounous interface MI_JDBC_req_Abstact are not of the same type

Pls suggest me how i can map the File Abstact and JDBC Abstact.

Thanks,

Venkat

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hey,

You do nt need to map like thebelow

File Abstact ->JDBC_req

JDBC_Req Abstact -> JDBC_Req

instead map File Abstact ->JDBC_Req Abstact

Similarly for response too.

Rajesh

Former Member
0 Kudos

Hi,

Thanks for your reply, could you pls explain bit more.

Still i am getting the same error..

thanks,

Venkat

Former Member
0 Kudos

BPM can handle only abstract messages .

So in your case you do like the below

1.File(outbound) -> Abstract File( BPM entry step)

2. Use send step (with Abstract File input and Abstract File output)

3. send step (for send Abstract File output data to target)

Create Message interfaces like this

File Outbound

File inbound

File Abstract syn

jdbc outbound

jdbc inbound

Jdbc Abstract syn

Define mapping

File outbound - jdbc inbound

jdbc outbound - File inbound

Interface mapping

File Abstract sync -jdbc abstract sync

Rajesh

Edited by: Rajesh on Mar 20, 2009 4:13 PM

former_member200962
Active Contributor
0 Kudos

Hi Rajesh,

Can you please tell me where will the File Abstract syn interface fit in this particular context??...bit confused......also the File sender is supposed to support Asynchronous communication.....

Regards,

Abhishek.

Former Member
0 Kudos

As the jdbc is sync you need to map th file to jdbc req and jdbc res to File output which needs Abstract File sync and Abstract jdbc sync during a call to jdbc adapter

Here no need to use transformation step in BPM

Rajesh

former_member200962
Active Contributor
0 Kudos

Hi,

Sorry to Q you but still confused

1) If you remove the transformation step the nothing remains in the BPM....using sync MIs you can directly have File <> XI <> JDBC....had FIle permitted sync in sender mode....

2) Since the JDBC response has to be send to RFC how will a sync File MI will help.....as mentioned in the subject and in the body by the person who posted it...

Thanks,

Abhishek.

Former Member
0 Kudos

Hi abhishek salvi ,

I have done as you given even i am getting the error

Step does not use any correlations Message to be sentReq and synchrouous interface MI_JDBC_req_Abs are not of the same type

Expression must return the interface type MI_File expression must return the interface type MI_J_req_abs

in BPM i have done like this

StartReceiveReceiveTranformationSend(Sync)SendEnd

Thanks,

Venkat

Former Member
0 Kudos

Hi venkat,

try the same as in blog provided by shabarish. Instead of RFC use JDBC

@abhishek - you can just chk that blog will get clarified

Rajesh

Former Member
0 Kudos

Hi Rajesh,

I have tried the same blog and also this link even i am getting error.

http://www.riyaz.net/blog/a-step-by-step-guide-to-bpm-asynch-sync-bridge/

Please help me.

Thanks,

Venkat

Former Member
0 Kudos

Change your BPM to the same as specified in that link

Strict to that design. Here you need to understand the ste by step process in detail and require patience for this to get executed .I am sure you can ovr come this.

First Check at IR level .

Data types are all defined

Message interfaces are key here

you need totally 8 interfaces here

2 for file outbound

2 for file inbound

1 abstract sync

jdbc outbound and jbdc inbound

1 abstract jdbc

define 2 message mappings

file out - jdbc in

jdbc out -file out

one interface mapping

File abstract syn - jdbc abstr sync

then come to id

one sender agreement

3 receiver detrminations

file sender - BPM

BPM - jbdc

BPM - file receiver

3 interface detrminations

2 receiver agreemetns

all the best

Rajesh

.

Former Member
0 Kudos

Hi Rajesh,

Here i am trying to do the File to JDBC(Sync) to RFC. i have tried the same but i am not getting that.

Thanks,

Venkat

Former Member
0 Kudos

yes i got it.

but your jdbc is syn scenario and in place of file use RFC data type thats it

no diff

Rajesh

Former Member
0 Kudos

yes rajesh,

while i am trying to do in place of RFC mine is JDBC sync mode and in place of file i am using RFC.

when i am trying the same i am getting the error like

Message File Abstact to be received and synchrounous interface MI_JDBC_req_Abstact are not of the same type

former_member200962
Active Contributor
0 Kudos

Hi,

According to my understanding your scenario is:

1) Pick a file from some file server

2) Send it to a BPM

3) Send this file as a request to JDBC and get back the response....i.e synchronous..

4) Once you get the response from JDBC map it to a RFC structure and send it to the specified destination.

If the above flow is correctly understood by me then the following design won't work....

Start--Receive--Receive--Tranformation--Send(Sync)--Send--End

Your design should be:

Start --> Receive (async) --> Transformation --> Send (Sync) --> Send (Async) --> End

1)

a) Define an Outbound-Async MI for File Sender

b) Define an Abstract-Asynch MI for BPM ....(include in first receive step of BPM)

MT for (a) and (b) shoulde be same...

2) Define an Abstract-Async MI....this should have the request structure for the JDB

3) Create a mapping between MI from step 1a and 2...(include in the Transformation step of BPM)

4) Create an Abstract-Sync MI for BPM_to_JDBC....include the same message-type as that in step2....in the input message (request) part of the sync MI.....(include in the Sync-Send Step of BPM)

5) Create Inbound-Sync MI for the JDBC receiver...again both the message type should be same as that in the Abstract-Sync MI of step4

6) Create Abstract-Async MI for the RFC receiver....(include in the last Send step of the BPM)

I hope that you are defining the MIs with proper message-types and with proper direction...same applicable for container variable definition...please note that all the MIs involved in the BPM should be abstract

The error that you are getting is bcoz of the mismatch in the message-type in the MI....please check it.

Regards,

Abhishek.

Former Member
0 Kudos

Hi Abhishek,

As you suggested i had created the steps and acvited the BPM, now with out any errors it got advited.

Now creating the ID part. Thanks for your help.

could you pls give some suggestions on ID part how many sender agrements and receiver agrements i need to create.

Thanks,

Venkat.

Former Member
0 Kudos

Hi Thanks,

Now the BPM is working fine.

Thanks,

Venkat.

Answers (3)

Answers (3)

former_member200962
Active Contributor
0 Kudos

Hi,

Message File Abstact to be received and synchrounous interface MI_JDBC_req_Abstact are not of the same type

The error lies in what you have mentioned above....

You have a receive step (async) in which you receive the message from a file system....it is Abstract-Async.....

Now you are mapping this Abs-Async to the JDBC req which is Abstract-Synchronous......

Please do following changes:

1) create a Abstract-Async MI for JDBC req

2) Do mapping for File Abs --> JDBC Req Abs (both Async)

3) Now in the BPM after you receive the file message include the Transformation step and have this mapping (of step 2)....then you can have your JDBC sync-send step

No need of changing the message types in JDBC sync message.

This will solve your problem...

regards,

Abhishek.

Shabarish_Nair
Active Contributor
0 Kudos

use : /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit

only difference is replace the File with your async RFC.

former_member181985
Active Contributor
0 Kudos

You have transform the structure as expected by JDBC.

You can do this outside BPM using a mapping program.

You can also do within BPM using a tranformation step pointing to a mapping which does the same job.

But go with outside BPM for performace reasons.