cancel
Showing results for 
Search instead for 
Did you mean: 

IDOCs to JDBC connection, via HR-PDC interface?

Former Member
0 Kudos

Hi SAP Gurus,

I am a beginner of PI. We have a requirement to transfer data from ECC6 to external time recording system. The time recording system is with PostGre database which supports JDBC.  ECC6 uses DB2.

We want to use HR-PDC to export data to PI, then transfer data to time recording system, because this time recording system doesn't have interface that support direct data communication.

Now the problem is how to enable this scenario?

SAP provides below list of interfaces in ECC6:

Download HR Mini-Master Records

Download Employee Balances

Download Time Event Type Groupings

Download Attendance/Absence Reasons

Download Objects (such as Positions)

Download Cost Centers

Download Internal Orders Download Projects
Download External Wage Types

Upload Request for Time Events
Upload Request for Employee Expenditures

Upload Personnel Time Events Upload Employee Expenditures

n

We will use all interfaces.

For interface "download HR-mini master Records", its structure is as below :

terface for Personnel Time Events and Employee Expenditures

BOR Object                      RCVPMINIMD
Method                             receiveMiniMaster

Data Message Type          HRCC1DNPERSO

IDoc Type                         HRCC1DNPERSO01

Segment Structure Name   E1BPCC1DNPERSO

BAPI Structure Name          BAPICC1DNPERSO

While for interface "download employee balance", its structure is as below :

BOR Object                                        RCVPEVTREC

Method                                               receivePTBalance

Message Type                                    HRCC1DNBALAN

IDoc Type                                           HRCC1DNBALAN01

Segment Structure Name                     E1BPCC1DNBALAN

BAPI Structure Name                           BAPICC1DNBALAN

Other download interfaces are more or less like above.

For interface "upload requests for time events", its structure is as below :

BOR Object                         RCVPEVTREC
Method                                requestPEvent

Message Type                     HRCC1REQUPTEVEN

IDoc Type                            HRCC1REQUPTEVEN01

Segment Structure Name      E1BPCC1DNRQTEV

BAPI Structure Name            BAPICC1DNRQTEV

消息编辑者为:Alina Yi

Accepted Solutions (0)

Answers (2)

Answers (2)

siddhardha_dnk
Active Participant
0 Kudos

Hi Alina,

As per your requirement, it should be ECC to JDBC.

If this is the case, you can go for

1. Proxy -> PI -> JDBC

2. IDOC -> PI -> JDBC.

Regards,

Sid

Former Member
0 Kudos

Thanks Sid, but what's the difference between these two, the proxy v.s. IDOC? I am really junior on this topic, so thanks for your patience and kindly share.

ambrish_mishra
Active Contributor
0 Kudos

Hi Alina,

Once you and the functional owner have determined that the IDocs do have all the information required by the third party, you need to work on the mapping. Use a JDBC receiver adapter to connect to the DB2 system. Also, get the table information from the DB2 team which are to be updated in the DB.

Do you have any specific doubts or is this a generic question on design.

Cheers,

Ambrish

Former Member
0 Kudos

Hi Ambrish,

Thanks for your reply.

The data required by time recording system can be packaged in HR-PDC interface. Now we need to deliver these data out from ECC6 to time recording database. Our functional consultants have already enabled HR-PDC mappings in ECC6 according to note 647145.

This is what I have done in ECC6:

1. I have build SUBCLNT000 to represent time recording system in ECC6.

2. Set up port A00000019 and link it with RFC destination D91CLNT100, which is our PI

3. in WE20, assign port A00000019 to HR-PDC message types under Partner SUBLCNT000

4. in BD64, create distribution Model between ECC6 and SUBCLNT000

I am not sure if these are all right steps, but below screenshot is what we get with PT80.

However, I have no idea what to do with PI. Do I need to do the same in PI end? And how could we receive a message at ECC6 end the PI has successful deliver and store the data in Time recording system, as long as we have excuted data transfer via T-code PT80?

Thank you very much for your help.

Alina

ambrish_mishra
Active Contributor
0 Kudos

hi Alina,

You need to configure an IDoc to JDBC scenario in PI to make it work. Look for links on SCN on how to develop such a scenario.

You also need to understand the table structure at the target side and populate the IDoc data to the target JDBC structure.

the connection also needs to be established with the database before you start development but since it is DB2 and it can be integrated with PI easily, should not be an issue.

IDocs are asynchrnous by nature so you won't be able to get a response back.

All interfaces are designed to succeed so you should not worry about whether it was posted in Time recording system. Errors can be tracked in PI and resolved. This is what the testing cycles are for... to iron out possible issues.

Hope it helps!

Ambrish

Former Member
0 Kudos

Hi Ambrish,

I read some PI how-to guides these days, but the more I read, the more I get confused.

I was told we need RFC-JDBC scenario for synchronous process, IDOC is for asynchronous. What's the exact difference between these two? At ECC end via WE20, we add message type like HRCC1DNPERSO; and in BD64, we added BAPI RCVPETREC.receiveMiniMasterData.

while at PI ESR, we can see and export it from both IDOC and RFC. Like from IDOC side, it shows as "HRCC1DNPERSO.HRCC1DNPERSO01"; from RFC side, it shows as "BAPI_CC1_DNLOAD_MINIMASTER".

For this case, shall we go to IDOC or RFC?

Apart from that, do we need to enable integration Engine? Our external Basis told me it's going to impact payload. What should we do to enable the functions we need while not impact payload?

Thanks a lot for your help.

ambrish_mishra
Active Contributor
0 Kudos

Hi Alina,

RFC is synchronous (request and response) while IDoc is asynchronous (fire and forget)

You need to first determine based on your business requirement that do you actually need a response back from the receiver system ?

If yes, go for RFC else IDoc. IDocs comes with a robust monitoring and re-processing mechanism.

In PI, both are visible as structures to be populated just that in RFC you have to map the response back from JDBC system.

>>>>>Apart from that, do we need to enable integration Engine? Our external Basis told me it's going to impact payload. What should we do to enable the functions we need while not impact payload?

I did not understand this point Enabling the integration engine. PI is a middleware and if the system is up, integration engine is running.

"its going to impact payload".... this does not makes any sense.

If the payload is huge, system sizing should be done properly.

Hope it helps!

Ambrish