Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Outbound Interface

Former Member
0 Likes
844

Hi All,

I have a requirement to send infotype information (PA0000,PA0001......etc) to a third party system.

The extract ABAP program should have the ability to provide a full snapshot of HR data in a Full Load or any changes to the extracted HR data in a Delta Load.

The delta load should be a hourly and daily..The proxy interface concept which we may need to use it.

How to handle delta changes for hourly and daily..what methods we need to use?

How to design this requirement.

Thanks,

Chandu

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
678

Hi,

You can try with cluster table. Usually when we change any infotype data then it should store all those data in cluster table PCL4 with date and time stamp. From here you can get all those data.

Sample Code>>>>>>>>>>>>>>>>>>>>>>>

TYPES: BEGIN OF ty_pcl4,

client TYPE mandt, "Client

relid TYPE relid_pcl4, " Area ID in import/export database PCL4

srtfd TYPE pclkey, " PCLx key

srtf2 TYPE pclsrtfd, "Sort field for PCLx (dup.key)

histo TYPE histo, " Historical Record Flag

aedtm TYPE aedat, " Changed On

uname TYPE uname, "User Name

pgmid TYPE old_prog, "ABAP: Program Name

versn TYPE pvrsn, "Version in cluster files

clustr TYPE pclclustr, "Cluster for PCLx

clustd TYPE pcldata,

END OF ty_pcl4,

ty_t_pcl4 TYPE STANDARD TABLE OF ty_pcl4.

TYPES: BEGIN OF ty_lcl4,

relid TYPE relid_pcl4, "Area ID in import/export database PCL4

tclas TYPE tclas, "Transaction Class for Data Retention

pernr TYPE pernr_d, "Personnel Number

infty TYPE infty, "Infotype

bdate TYPE datum, "Date

btime TYPE uzeit, "Time

seqnr TYPE seqn4, "Sequential number

uname TYPE uname, "User Name

massn TYPE massn, "Action Type

massg TYPE massg, "Reason for Action

archiv TYPE admi_run_d, "Archiving Session Number

END OF ty_lcl4,

ty_t_lcl4 TYPE STANDARD TABLE OF ty_lcl4.

DATA: i_pcl4 TYPE ty_t_pcl4,

wa_pcl4 TYPE ty_pcl4.

DATA: i_lcl4 TYPE ty_t_lcl4,

wa_lcl4 TYPE ty_lcl4.

DATA BEGIN OF lo-key.

INCLUDE STRUCTURE pc400.

DATA END OF lo-key.

DATA BEGIN OF sh-key.

INCLUDE STRUCTURE pc401.

DATA END OF sh-key.

DATA:v_uname TYPE pcl4-uname.

DATA: v_line TYPE i.

INCLUDE rpcbdt00.

SELECTION-SCREEN BEGIN OF BLOCK block_01 WITH FRAME TITLE text-000.

SELECT-OPTIONS: s_uname FOR v_uname.

SELECTION-SCREEN END OF BLOCK block_01.

START-OF-SELECTION.

SELECT

client

relid

srtfd

srtf2

histo

aedtm

uname

pgmid

versn

clustr clustd INTO TABLE i_pcl4

FROM pcl4 WHERE relid EQ 'LA'

  • AND srtfd = 'A000000860041200903300527320001'

AND srtf2 EQ '00'

AND uname IN s_uname.

LOOP AT i_pcl4 INTO wa_pcl4.

MOVE wa_pcl4-srtfd TO lo-key.

import header

belege

FROM DATABASE pcl4(LA)

id lo-key.

MOVE: lo-key-tclas TO wa_lcl4-tclas,

lo-key-pernr TO wa_lcl4-pernr,

lo-key-infty TO wa_lcl4-infty,

lo-key-bdate TO wa_lcl4-bdate,

lo-key-btime TO wa_lcl4-btime,

lo-key-seqnr TO wa_lcl4-seqnr.

MOVE: wa_pcl4-relid TO wa_lcl4-relid,

wa_pcl4-uname TO wa_lcl4-uname.

APPEND wa_lcl4 TO i_lcl4.

CLEAR wa_lcl4.

ENDLOOP.

END-OF-SELECTION.

WRITE: / 'TCLAS' COLOR 3,

11 'DATE' COLOR 3,

22 'TIME' COLOR 3,

31 'SEQNR' COLOR 3,

38 'PERNR' COLOR 3,

48 'INFTY' COLOR 3,

55 'RELID' COLOR 3,

62 'UNAME' COLOR 3.

SORT i_lcl4 BY bdate DESCENDING.

LOOP AT i_lcl4 INTO wa_lcl4.

WRITE: /2 wa_lcl4-tclas,

8 wa_lcl4-bdate,

20 wa_lcl4-btime,

31 wa_lcl4-seqnr,

37 wa_lcl4-pernr,

48 wa_lcl4-infty,

57 wa_lcl4-relid,

62 wa_lcl4-uname.

CLEAR wa_lcl4.

ENDLOOP.

DESCRIBE TABLE i_lcl4 LINES v_line.

SKIP 1.

WRITE : 'Total No of Records',

v_line.

Mrinmoy

3 REPLIES 3
Read only

Former Member
0 Likes
678

Chandu,

you need to get all the pernr from PA0000 and store in some internal table.loop thru those pernr and collect all the data from all infotypes and store it in internal table for intial load

for daily delta loads you can check the AEDTM field in every infotype and collect the changed data

Thanks

Bala Duvvuri

Read only

Former Member
0 Likes
678

One more thing,check for ALE/IDOC :

Change pointer concept.

Standard message type are available for capturing the master data change - HRMD_A.

Configuraton related material you can search SDN .Lot of things are available.

PFAL/BD21 is used to push it.

Thanks

Read only

Former Member
0 Likes
679

Hi,

You can try with cluster table. Usually when we change any infotype data then it should store all those data in cluster table PCL4 with date and time stamp. From here you can get all those data.

Sample Code>>>>>>>>>>>>>>>>>>>>>>>

TYPES: BEGIN OF ty_pcl4,

client TYPE mandt, "Client

relid TYPE relid_pcl4, " Area ID in import/export database PCL4

srtfd TYPE pclkey, " PCLx key

srtf2 TYPE pclsrtfd, "Sort field for PCLx (dup.key)

histo TYPE histo, " Historical Record Flag

aedtm TYPE aedat, " Changed On

uname TYPE uname, "User Name

pgmid TYPE old_prog, "ABAP: Program Name

versn TYPE pvrsn, "Version in cluster files

clustr TYPE pclclustr, "Cluster for PCLx

clustd TYPE pcldata,

END OF ty_pcl4,

ty_t_pcl4 TYPE STANDARD TABLE OF ty_pcl4.

TYPES: BEGIN OF ty_lcl4,

relid TYPE relid_pcl4, "Area ID in import/export database PCL4

tclas TYPE tclas, "Transaction Class for Data Retention

pernr TYPE pernr_d, "Personnel Number

infty TYPE infty, "Infotype

bdate TYPE datum, "Date

btime TYPE uzeit, "Time

seqnr TYPE seqn4, "Sequential number

uname TYPE uname, "User Name

massn TYPE massn, "Action Type

massg TYPE massg, "Reason for Action

archiv TYPE admi_run_d, "Archiving Session Number

END OF ty_lcl4,

ty_t_lcl4 TYPE STANDARD TABLE OF ty_lcl4.

DATA: i_pcl4 TYPE ty_t_pcl4,

wa_pcl4 TYPE ty_pcl4.

DATA: i_lcl4 TYPE ty_t_lcl4,

wa_lcl4 TYPE ty_lcl4.

DATA BEGIN OF lo-key.

INCLUDE STRUCTURE pc400.

DATA END OF lo-key.

DATA BEGIN OF sh-key.

INCLUDE STRUCTURE pc401.

DATA END OF sh-key.

DATA:v_uname TYPE pcl4-uname.

DATA: v_line TYPE i.

INCLUDE rpcbdt00.

SELECTION-SCREEN BEGIN OF BLOCK block_01 WITH FRAME TITLE text-000.

SELECT-OPTIONS: s_uname FOR v_uname.

SELECTION-SCREEN END OF BLOCK block_01.

START-OF-SELECTION.

SELECT

client

relid

srtfd

srtf2

histo

aedtm

uname

pgmid

versn

clustr clustd INTO TABLE i_pcl4

FROM pcl4 WHERE relid EQ 'LA'

  • AND srtfd = 'A000000860041200903300527320001'

AND srtf2 EQ '00'

AND uname IN s_uname.

LOOP AT i_pcl4 INTO wa_pcl4.

MOVE wa_pcl4-srtfd TO lo-key.

import header

belege

FROM DATABASE pcl4(LA)

id lo-key.

MOVE: lo-key-tclas TO wa_lcl4-tclas,

lo-key-pernr TO wa_lcl4-pernr,

lo-key-infty TO wa_lcl4-infty,

lo-key-bdate TO wa_lcl4-bdate,

lo-key-btime TO wa_lcl4-btime,

lo-key-seqnr TO wa_lcl4-seqnr.

MOVE: wa_pcl4-relid TO wa_lcl4-relid,

wa_pcl4-uname TO wa_lcl4-uname.

APPEND wa_lcl4 TO i_lcl4.

CLEAR wa_lcl4.

ENDLOOP.

END-OF-SELECTION.

WRITE: / 'TCLAS' COLOR 3,

11 'DATE' COLOR 3,

22 'TIME' COLOR 3,

31 'SEQNR' COLOR 3,

38 'PERNR' COLOR 3,

48 'INFTY' COLOR 3,

55 'RELID' COLOR 3,

62 'UNAME' COLOR 3.

SORT i_lcl4 BY bdate DESCENDING.

LOOP AT i_lcl4 INTO wa_lcl4.

WRITE: /2 wa_lcl4-tclas,

8 wa_lcl4-bdate,

20 wa_lcl4-btime,

31 wa_lcl4-seqnr,

37 wa_lcl4-pernr,

48 wa_lcl4-infty,

57 wa_lcl4-relid,

62 wa_lcl4-uname.

CLEAR wa_lcl4.

ENDLOOP.

DESCRIBE TABLE i_lcl4 LINES v_line.

SKIP 1.

WRITE : 'Total No of Records',

v_line.

Mrinmoy