bsr 14-788-01 brd interfaces in tracking changes (2)

12
Ó EADS 2014. All rights reserved. Confidential and proprietary document. eH R EAD S Group HR O perations eHR SO LUTIO NS Business Requirement Dossier Ref: RQ_<Project Short Name>_<YYYY-MM- DD>_<Sequence Number> BSR 14-788-01 Issue : 1.0 Date : 15/09/2014 <Project Short Name> <Project Version> <Application Code> <MyHR App. Code> xHM interfaces (in) tracking infotypes changes for BW Responsibilitie s Name – Function Department - Company Date Signature Written by Grégoire COUSIN BI Runmode Coordinator TIM HIB 15/09/2014 Authorized by Gaetan FALLETTA Head of CTOIOIM HIB TIM HIB File Name : document.doc Template Ref.: eHR_TEM_BRD/Issue 1 1

Upload: rajesh-kumar

Post on 19-Nov-2015

44 views

Category:

Documents


2 download

DESCRIPTION

BSR

TRANSCRIPT

Business Requirement DossierRef: RQ___

BSR 14-788-01Issue:

1.0Date :

15/09/2014

xHM interfaces (in)tracking infotypes changes for BWResponsibilitiesName FunctionDepartment - CompanyDateSignature

Written byGrgoire COUSINBI Runmode CoordinatorTIM HIB15/09/2014

Authorized byGaetan FALLETTAHead of CTOIOIM HIBTIM HIB

Contents

31Introduction

31.1Purpose of the document

31.2Scope of the document

31.3Terminology

42AS IS Description

42.1Current IS situation analysis

42.2Risks in case of status quo

53TO BE Description

1 Introduction1.1 Purpose of the documentThe BRD documents all the requirements expressed by the business both functional & non functional (security, performance), highlights impacts & changes on the business process & defines the users population in scope. This key deliverable is validated by BPL & business key stakeholders. It is the major business deliverable for the Concept phase ending at M5. During Technical and Functional Acceptance and for Go ahead of Deployment (M11), this document is the reference to validate the solution by the business.

Through iteration, this document will evolve to a realistic set of requirements from which the project or relevant organization will be able to define, develop, and deliver a solution that addresses customer and business' needs.

1.2 Scope of the documentThis Business Requirement Dossier documents the overall requirements in order to be able to specify the IS solution to be deployed.1.3 Terminology

GPPGeneric Project Process

BRDBusiness Requirement Dossier

ISInformation System

TBDTo be confirmed

CRChange Request

2 AS IS Description2.1 Current IS situation analysisSince SAP HR Renewal 1.0 feature pack 4, a new business function has been introduced on ECC side called Framework for Tracking Infotype Changes (FND_HRICP_1 on help.sap.com).

This framework allows to track all modifications done on PA & PD infotypes. Then it allows BW extractors to send only DELTA to BW system, instead of extraction the full content of the infotype table.

It has been noticed that modification done by PHA interface are not tracked by this framework. After investigation, its a SAP standard behavior, according to following OSS Call:

More detail about the framework behaviour:

BADi currently active and used by the framework:

2.2 Risks in case of status quo

No possibility to use this framework, as it does not track all modification done on infotypes.

This issue has a huge impact on Annual Interview project, as lot of PA/OM modification have to be tracked on a daily basis. 3 TO BE Description

According to the solution suggested by SAP in the OSS Call, all modification done by an IN interfaces, on PA/PD infotypes which are customized to be tracked by the framework, need to be registered in HRICP_D_CH_PTR table on xHM side.IDShort NameDescriptionSourcePriorityCoverage

IITC_01Interface scopeAll interfaces to xHM system which insert/delete/update HR infotype data are in scope of this BRD.GCOHighMandatory

IITC_02Interface statusInfotype changes must be recorded in the change pointer table (HRICP_D_CH_PTR) only when the execution of the interface has been successfully done.GCOHighMandatory

IITC_03Tracking resultsResults of tracking method must be the same as the one delivered by SAP in the used framework :

Registered in HRICP_D_CH_PTR table

Using same operation Insert/Delete Same unique ID generationGCOHighMandatory

IITC_04Performance impactPerformance impact of this tracking on existing interfaces must not be more than 5%.GCOHighMandatory

IITC_05Data ModificationInterfaces data must not be changed, only impacted records must be trackedGCOHighMandatory

IITC_06Out InterfacesAll OUT interfaces (from xHM to another system) are out of scope.GCOHighMandatory

REFERENCE DOCUMENTS

IndexTitleReferenceIssueDate

( Please indicate the list of reference documents used by this template. Note that only documents that are applicable or referred to in the text should be listed.

List also documents to be used to cover/express legal requirements : EADS agreements, Laws, legal forms, In the column Index, please enter the reference to be used in the text (ex: [RD1]). (REVIEWERS

Name - FunctionDepartment -

CompanyDate

Grgoire COUSINCTOIOIM HIB15/09/2014

( In this section, list all relevant reviewers. (APPROVAL

Name - FunctionDepartment -

CompanyDateSignature

( In this section, list only the relevant approvers (Business key stakeholders + eHR core team members + eHR Quality). All others should be on the distribution or review lists only.As signature please put the link to documents included their approval (Validation mails received, MoM, scan of document physically signed)(DISTRIBUTION LIST

Name - FunctionDepartment -

CompanyDateSignature

TABLE OF REVISIONS

IssueDateModified by

Modified sectionsObservations

1.0

15/09/2014Grgoire COUSINAllCreation of the document

File Name : Test.DocTemplate Ref.: eHR_TEM_BRD/Issue 1 10

Table of Contents

Table of Contents11.Activate business function FND_HRICP_1 - Framework for Tracking Infotype Changes22.Activate BAdI Old PA Infotype Framework33.Activate BAdI New PA Infotype Framework54.Activate BADI Old and New PD Infotype Framework65.T-Code sfw_browser7

Activate business function FND_HRICP_1 - Framework for Tracking Infotype Changes

If needed Press continue

Search for FND_HRICP_1 (already activated in that case)

Activate BAdI Old PA Infotype Framework

1. Call transaction SE18 (BAdI Builder: Initial Screen for Definitions).

2. Enter the BAdI name HRPAD00INFTY (Change Pointers for Old PA Framework) and choose Display.

3. Choose Implementation -> Overview.

4. Select the implementation HRICP_PA_OLD_CH_PTR by double-clicking it.

5. Choose Implementation -> Activate.

Need access key 41261639170075244589

Activate BAdI New PA Infotype Framework

In the SAP Customizing Implementation Guide for Personnel Management, choose Personnel Administration -> Customizing Procedures -> Infotypes -> Infotypes in Detached Infotype Framework -> Enhancements to Business Logic and Updating -> BAdI: Performing Actions After Updating.

Activate the implementation HRICP_PA_NEW_CH_PTR (Change Pointers for New PA Framework)

Activate BADI Old and New PD Infotype Framework

1. Call transaction SE18 (BAdI Builder: Initial Screen for Definitions).

2. Enter the BAdI name HRBAS00INFTY and choose Display.

3. Choose Implementation -> Overview.

4. Select the implementation HRICP_PD_CH_PTR (Change Pointers for Old and New PD Framework) by double-clicking it.

5. Choose Implementation -> Activate.

Need access key 21736551543639137990

T-Code sfw_browser

If you dont find following entries in SPRO:

Set Up Data Upload for Changes to Infotype Data

Specify Infotypes to Be Tracked per Consumer

Go in transaction sfw_browser and search FND_HRICP_1, then display IMG Node

_1474015040.pdf

No Infotype tracking (FND_HRICP_1), when iDoc execution ( 0000867872/2014 )

Back Print

Classification

Message 867872 / 2014

created 12.09.2014 - 14:26:16 WDFT Reporter HRIS Support - Compte France Customer AEROSPATIALE MATRA AIRBUS (187739) Last change 15.09.2014 - 13:55:53 WDFT by HRIS Support - Compte France Status Customer Action

Automatic closing of message on 06.10.2014

Language English Component BC-BMT-OM Priority High

Business operations are seriously threatened and urgent tasks cannot be executed.

To send a High message to SAP the Affected System must be production or the imminent go live/upgrade is jeopardized. If a go-live/upgrade is jeopardized, enter a Go-live/Upgrade date in the Business Impact section.

Affected System

System ID / Name PHM / PHM Installation No. / Name 0020143104 / R/3 HR Corporate System Type Production system Product Version SAP ERP 6.0 Operating System HP-UX 11.31 Database ORACLE 11.2.0.3.0 Technical Usage Type ERP Central Component (ECC) Changed on 12.09.2014 by Domaine Technical Operations (S0002413838) Connection Status Access Data Provided / Connection Open

Problem Details: No Infotype tracking (FND_HRICP_1), when iDoc execution

Short Text

Long Text Hello, We are extracting Infotype PA 0001 with the new framework "Tracking Infotype Changes" (FND_HRICP_1). We noticed that all employee files updated with an IDOC (executed in BD87) are never tracked in HRICP_D_CH_PTR table. On our productive system, we put a breakpoint in method IF_EX_HRPAD00INFTY~IN_UPDATE, we reset the iDoc 161523412 status and we execute it again thanks to the BD87. The infotype table is well updated but nothing is tracked in the HRICP_D_CH_PTR table. As a consequence, we miss some data on BW side. Moreover, we know that employees which are updated via Idoc in PHM system are chinese employees (range 0700000 - 07999999) which are managed on a dedicated HR system (PHA). In the tracking table, we have no modification of the infotype 1 for this employee range, but we have in PA0001 few modification done in september on this same range. Thanks for your quick support and this issue. We have one important project based on this framework (Annual Interview) and this problem will become very critical in one month. Kind regards, Grgoire COUSIN

Steps for Reconstruction

Error Message Number Screen Number Transaction Program Table

No Infotype tracking (FND_HRICP_1), when iDoc execution

Page 1 of 3SAP Incident Wizard

15/09/2014https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/m...

"No answer"

Communication

Dear Grgoire, I am afraid I only have a general idea of this functionality but no technical knowledge on its details, therefore I would recommend you to address to the community of experts at: http://scn.sap.com/community/replication-server If the data is introduced in the original or replicated system through database calls like INSERT/DELETE/etc then I guess the change pointer functionality we discuss here would have similar behavior as with idocs.Kind regards, Guillermo Ballesteros SAP Active Global Support ========================================================== You can find details of common issues, fixes, patches visiting: SAP WiKi HCM : http://wiki.sdn.sap.com/wiki/x/GxY SAP Space HCM : http://scn.sap.com/community/erp/hcm

Hello, Thanks again for this answer. Is this behavior would be the same with a replication server (SLT) ? Regards, Grgoire COUSIN

Dear Grgoire, You are welcome. It is not that SAP forgot or purposedly decided to not include saving of idoc changes in the scope of this functionality, which is based on change pointers. This behavior is based on a strong condition: the change pointer principle always considers the source system of ALE as the unique and only valid source for change pointer creation. That is why previous change pointers functionality linked to ALE (based on table BDCP2) had a similar behavior. For example, you could not have a change pointer scenario with integration from systems A -> B -> C, because change pointers would not be saved in system B after an idoc posting. Instead the supported scenario would be A -> B and A -> C. The reason for this is that SAP considers that the data will have a unique source in that scenario (system A). Together with the technical explanation from my previous reply, you can get an idea of the current design boundaries. In other words, if this change tracking framework FND_HRITF_ICP would be active in the source system of those idocs, then the corresponding changes would be saved when the infotypes are being modified there. Of course there can be many possible multiple configurations when working with idocs or with this framework, and for example idocs could be coming from a non-SAP third party or legacy system, etc, so it could also happen as in your case, that recording changes from the idocs is also a requirement. In such situation, you would need to proceed as mentioned with some kind of adjustment in the idoc inbound processing. I am not aware of any planned change of design on this regard, and I would not expect it in the future, as the precondition from SAP with these kind of behavior triggered from PA and PD badis (as in this case the "change detecting" implementations for this framework) is that the inbound idoc processing is directly kept outside the scope. Kind regards, Guillermo Ballesteros SAP Active Global Support ========================================================== You can find details of common issues, fixes, patches visiting: SAP WiKi HCM : http://wiki.sdn.sap.com/wiki/x/GxY SAP Space HCM : http://scn.sap.com/community/erp/hcm

Hello, Thanks for this quick answer. It's a bit surprising from SAP to deliver a framework that forgot this important part of infotypes modification.... The framework was really interesting, but it is simply unusable without this functionallity. If my understanding is correct, it would mean as well that HANA-SLT will suffer from the same problem as based on same "badi" principle.

Questions Specific to the selected application area (component)Dear Customer, Before sending this message to SAP, please make sure you have followed the instructions to the following note 520488 and 163897.

15.09.2014 - 13:55:05 WDFT - Reply by SAP

15.09.2014 - 11:55:58 WDFT - Info for SAP by HRIS Support - Compte France

15.09.2014 - 09:07:12 WDFT - Reply by SAP

12.09.2014 - 18:14:58 WDFT - Info for SAP by HRIS Support - Compte France

Page 2 of 3SAP Incident Wizard

15/09/2014https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/m...

Please confirm this feature will be delivered one day in standard? Regards, Grgoire Cousin

Dear Grgoire, This is expected according to standard behavior, and according to the scope of this new infotype tracking framework from note 1654811. Let me explain this in detail. HR data coming with HRMD idocs is not saved in a similar way as PA30, PA40 transactions or HR_MAINTAIN_MASTERDATA function calls. In order to ensure proper and efficient behavior, the data is saved with direct INSERT/DELETE statements, first deleting possible existing data in the E1PITYP time interval, later creating the data from E1Pnnnn segments with the corresponding INSERT statements. There are very few basic consistency checks done for the data in the idocs compared to all the checks and logic (time constraints, interval validity, obligatory data, etc) done from transactions like PA30. This optimal update behavior from idocs can be guaranteed from the precondition which expects that the source and target system will have compatible customizing and same starting data, and so the relevant data checks done in the source would guarantee correct behavior in the target. Also as a result of this logic, all the implementations from PA and PD badis are then ignored. The idoc update code is triggered inside IDOC_INPUT_HRMD inbound function. Also, in note 134085 you can get an explanation how the inbound process works for HRMD*. As an alternative, you could code and trigger the change pointer recording, adapting where needed the standard code. You could adapt the framework implementations such as HRICP_PA_NEW_CH_PTR of badi HRPAD00INFTYDB into a similar triggering code in an implementation of badi HRALE00INBOUND_IDOC, HRALE00SPLIT_INBOUND, etc or also in some of the available user exits of RHALE001 enhancement in SMOD. I hope this information helps you. Kind regards, Guillermo Ballesteros SAP Active Global Support ========================================================== You can find details of common issues, fixes, patches visiting: SAP WiKi HCM : http://wiki.sdn.sap.com/wiki/x/GxY SAP Space HCM : http://scn.sap.com/community/erp/hcm

Contacts & Notifications

Name Phone Number Mobile Telephone E-Mail Notification

Reporter HRIS Support - Compte France+33 (0)561934465 +33 (0)561934465

[email protected] By SMS By e-mail

Opening System

Other GrgoireCOUSIN +33 581317810 +33 630787525

[email protected] By SMS By e-mail

Other

By SMS By e-mail

Other

By SMS By e-mail

SAP Notes

0001054121 The SAP Ecosystem in a Nutshell

Back Print

12.09.2014 - 15:13:54 WDFT - Reply by SAP

Page 3 of 3SAP Incident Wizard

15/09/2014https://websmp230.sap-ag.de/sap(bD1lbiZjPTAwMQ==)/bc/bsp/spn/smp_custmsg/m...

BW HR Delta Loading Proof of Concept Results

Grgoire COUSIN

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

PoC Presentation & prerequisites

With SAP HR Renewal 1.0 feature pack 4, a new business function has been introduced on ECC side called Framework for Tracking Infotype Changes (FND_HRICP_1 on help.sap.com)

Objective of this proof of concept was to install this business function and to put in place some delta extractors from an ECC system to a BW system.

This PoC has been performed by Michael COCQUEREL, Grgoire COUSIN and an external consultant from AOSYS consulting (7 Mdays), end of 2013.

The SAP HR Renewal 1.0 feature pack 4 has been implemented on PHM system beginning of January 2014.

15 September 2014

Presentation Title runs here (go to Header & Footer to edit this text)

4

This business function provides you with a generic framework that you can use to track changes to data in the PA & PD infotypes. The framework writes a change pointer in a table each time that data is changed. These change pointers can use different consumers, such as DataSources, for extracting infotype data using a delta mechanism.

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

AS-IS Situation

Currently, every week about 2 Billions of records are handled by PHW system.

Currently, its not possible to identify new or changed records on ECC side, thus all records of each table are extracted each time to BW.

Then on BW side, all those records will have to be handled again, up to Master Data layer or Reporting layers, even if there is no change since last loading.

September 15, 2014

BW HR Delta Loading PoC results

6

It includes all data extracted from PHM and PRE, but also all intermediate calculations performed on BW side until the reporting layer.

In average, PHW system is able to handle about 2 500 records each seconds.

Confidential

AS-IS Situation

Below a quick reminder of some BW loading time:

Every day process chain: 3 hours

This chain is executed every evening before any other loading. It is a prerequisite for users authorization calculation (MMS included).

Master Data process chain: 17 hours

This chain is executed before loading any reporting layers. Currently executed within the weekly and the monthly loadings due to its important runtime

Weekly process chain: 37 hours

This chain is executed every Saturday. It refreshs data for ECM, LMS, Salary Review, PA UK and ECM/LMS integration. It must include the master data chain.

Monthly process chain: 50 hours

This chain is executed the first day of each month, to refresh data from PA, IT8, OM, ECM, LMS, ECM/LMS, Salary

We could also add Time, EEDB, Payroll, eRecruiting

September 15, 2014

BW HR Delta Loading PoC results

7

Confidential

AS-IS Situation

Data volume on ECC side is growing continuously... !!

Some extraction from PHM to PHW are done on a daily basis (every day chain), which allow us to see exactly the evolution of the source tables size, since January 2010.

September 15, 2014

BW HR Delta Loading PoC results

8

Lets try a 2 years forecast ?

Confidential

AS-IS Situation

In order to estimate the data volume we could have in 2 years in HRP1001, we have tested a linear (best case) and an exponential regressions (worst case)

Statistically speaking, exponential regression is the better model from HRP1001 evolution.

September 15, 2014

BW HR Delta Loading PoC results

9

This table is extracted every day today in 2 hours, tomorrow in 4 hours?

In average 40 000 records are created

every day, up to 500 000 during mid-year review rush.

Confidential

AS-IS Situation

Same analysis, same forecast has been performed for biggest ECC tables:

If we want to extract all those new data in BW and respect our data delivery time SLA an urgent action has to be taken: Switch the extraction method from a FULL to a DELTA mode

September 15, 2014

BW HR Delta Loading PoC results

10

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

Framework Framework for Tracking Infotype Changes has been installed on MHM.

(see documentation attached)

For each infotypes / subtypes we want to track, a customizing has to be done on ECC side

This customizing doesnt activate any specific tracking or doesnt create any link between the datasource and the infotype. (Cf following OSS Call 1086134/2013).

Framework Usage Installation & Initialization

September 15, 2014

BW HR Delta Loading PoC results

12

Table HRICP_D_IT_CUST

Confidential

Framework Usage Initialization

September 15, 2014

BW HR Delta Loading PoC results

13

Indeed as mentioned by SAP in the OSS Call, this framework is only a toolbox that provide to developers some tools to be able to manage delta in HR : nothing will be automatic, nothing will be generated for you.

You have what you do yourself

It provides some tables and an ABAP class..

To activate the tracking, provided ABAP method CL_HRICP_CH_PTR_FACADE=>INSERT_CONSUMER has to be used, then one record is created in tables HRICP_D_IT_REG and HRICP_D_CONSM.

As soon as those tables have been initialized all modification done in the infotypes are tracked and saved into table HRICP_D_CH_PTR.

Table

HRICP_D_IT_REG

Table

HRICP_D_CONSM

Table

HRICP_D_IT_CUST

Maintained via SPRO

Customer ABAP program

Read custo

CL_HRICP_CH_PTR_FACADE

(INSERT_CONSUMER)

Call method

Create one record

into tables

Confidential

Framework Usage Tracking example 1

Lets see an example of an infotype modification

We will change for a given employee an existing record for infotype 105, subtype 001 (username).

September 15, 2014

BW HR Delta Loading PoC results

14

PA30: Overview before change

We edit the current record

PA30: Overview after change

One record deleted, one record created

Confidential

Framework Usage Tracking example 2

Lets see another example of an infotype modification

We will change for a given employee an existing record for infotype 105, subtype 001 (username).

September 15, 2014

BW HR Delta Loading PoC results

15

PA30: Overview before change

We create a new record with overlapping

PA30: Overview after change

One record deleted, two records created

Confidential

Framework Usage BW Extractor on ECC side

Delta is correctly recorded on ECC side, it has now to be sent to BW: a BW datasource based on a specific function module must be used for that purpose.

Whatever the infotype to be extracted the global function module logic will be the same.

September 15, 2014

BW HR Delta Loading PoC results

16

Get last extraction

date & time

Read Infotype

table directly

No date defined (init request)

Get all records from HRICP_D_CH_PTR since last extraction for this infotype with operation type (insert or delete)

Read infotype table only for records identified in previous step

A date is defined

Send records to BW

Update timestamp in table HRICP_D_CONSM

Remove all records for this infotype from HRICP_D_CH_PTR

(if any)

Will be usefull for HRICP_D_CH_PTR deletion/archiving (every 30 days for example)

SAP How-To used:

Using Timestamps in Generic Delta Extraction by Function Module

Function Module created for PoC by AOSYS Consultant:

Confidential

Framework Usage Data Cleanup of Change Pointer Table

Report for Data Cleanup of Change Pointer Table

You can use the report Cleanup of Change Pointer Table (RHI_ICP_CH_PTR_CLEANUP) to delete any change pointers that have already been processed and are no longer relevant from the table of change pointers for the framework.

The report determines the change pointers that are no longer relevant and deletes them (based on table HRICP_D_CONSM)

The report runs as a background job. You schedule the report in Customizing for Framework for Tracking Infotype Changes using the activity Schedule Background Job for Cleanup of Change Pointers.

September 15, 2014

BW HR Delta Loading PoC results

17

Confidential

Framework Usage Extractor results on BW side (DAL layer)

On BW side, the Data Acquisition Layer (DAL) should be done with a standard DSO, instead of a Write-Optimized DSO. In the previous example, standard DSO had the following structure:

September 15, 2014

BW HR Delta Loading PoC results

18

The operation type (insert or delete) from table HRICP_D_CH_PTR has to be mapped to standard object 0RECORDMODE.

After each loading, the DSO has to be activated, then:

The content of the DSO active table will be equal to the infotype content in ECC

The content of the DSO change log will contains all modification done and will be used for upper calculation

Confidential

Framework Usage From DAL Layer to Master Data Layer

In BW, delta management for time-dependent Master Data is not managed correctly. A specific OSS Call Delta loading issue, when validity period reduction(10144 / 2014) had been created for that, SAP answer is pretty clear:

customers have to write their own logic

As a consequence following logic has to be applied in each Master Data dataflow:

September 15, 2014

BW HR Delta Loading PoC results

19

Keep source package order from Change Log table

Depending of the operation insert or delete

Delete

Insert

Keep key fields values

Delete others fields values

Nothing!

Update Master Data

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

Conclusion

About the Framework itself:

It works well on ECC side, without significant performance impact on front-end transaction

It would allow to load the BW Data Acquisition Layer extremely quickly

About BW impacts:

Most of Data Acquisition Layer (DAL) DSO will have to be converted to be delta-capable (low effort)

Master Data dont support delta loading in standard, a specific logic must be implemented in each dataflow (medium effort)

15 September 2014

BW HR Delta Loading PoC results

21

Confidential

Agenda

BW HR Delta Loading PoC results

Confidential

Glossary

FND, Framework for Tracking Infotype Changes

Using Timestamps in Generic Delta Extraction by Function Module

How ToCreate Generic DataSources which use the Delta Queue

Record Mode Concept in Delta Management

Generic DataSource on CDHDR and CDPOS Tables

Delta Queue Demystification

1599011 - BW master data loading: Changed time-dependent attribute is not updated into master data table from DSO

15 September 2014

BW HR Delta Loading PoC results

23

Confidential

Thank you !

15 September 2014

BW HR Delta Loading PoC results

24

Confidential

Table of Contents

Table of Contents11.Activate business function FND_HRICP_1 - Framework for Tracking Infotype Changes22.Activate BAdI Old PA Infotype Framework33.Activate BAdI New PA Infotype Framework54.Activate BADI Old and New PD Infotype Framework65.T-Code sfw_browser7

Activate business function FND_HRICP_1 - Framework for Tracking Infotype Changes

If needed Press continue

Search for FND_HRICP_1 (already activated in that case)

Activate BAdI Old PA Infotype Framework

1. Call transaction SE18 (BAdI Builder: Initial Screen for Definitions).

2. Enter the BAdI name HRPAD00INFTY (Change Pointers for Old PA Framework) and choose Display.

3. Choose Implementation -> Overview.

4. Select the implementation HRICP_PA_OLD_CH_PTR by double-clicking it.

5. Choose Implementation -> Activate.

Need access key 41261639170075244589

Activate BAdI New PA Infotype Framework

In the SAP Customizing Implementation Guide for Personnel Management, choose Personnel Administration -> Customizing Procedures -> Infotypes -> Infotypes in Detached Infotype Framework -> Enhancements to Business Logic and Updating -> BAdI: Performing Actions After Updating.

Activate the implementation HRICP_PA_NEW_CH_PTR (Change Pointers for New PA Framework)

Activate BADI Old and New PD Infotype Framework

1. Call transaction SE18 (BAdI Builder: Initial Screen for Definitions).

2. Enter the BAdI name HRBAS00INFTY and choose Display.

3. Choose Implementation -> Overview.

4. Select the implementation HRICP_PD_CH_PTR (Change Pointers for Old and New PD Framework) by double-clicking it.

5. Choose Implementation -> Activate.

Need access key 21736551543639137990

T-Code sfw_browser

If you dont find following entries in SPRO:

Set Up Data Upload for Changes to Infotype Data

Specify Infotypes to Be Tracked per Consumer

Go in transaction sfw_browser and search FND_HRICP_1, then display IMG Node

FUNCTIONzbwdspa_mhmpoc_test3_fm.*"----------------------------------------------------------------------*"*"LocalInterface:*"IMPORTING*"VALUE(I_REQUNR)TYPESRSC_S_IF_SIMPLE-REQUNR*"VALUE(I_DSOURCE)TYPESRSC_S_IF_SIMPLE-DSOURCEOPTIONAL*"VALUE(I_MAXSIZE)TYPESRSC_S_IF_SIMPLE-MAXSIZEOPTIONAL*"VALUE(I_INITFLAG)TYPESRSC_S_IF_SIMPLE-INITFLAGOPTIONAL*"VALUE(I_READ_ONLY)TYPESRSC_S_IF_SIMPLE-READONLYOPTIONAL*"VALUE(I_REMOTE_CALL)TYPESBIWA_FLAGDEFAULTSBIWA_C_FLAG_OFF*"TABLES*"I_T_SELECTTYPESRSC_S_IF_SIMPLE-T_SELECTOPTIONAL*"I_T_FIELDSTYPESRSC_S_IF_SIMPLE-T_FIELDSOPTIONAL*"E_T_DATASTRUCTUREZBWDSPA_MHMPOC_TEST3_ESOPTIONAL*"EXCEPTIONS*"NO_MORE_DATA*"ERROR_PASSED_TO_MESS_HANDLER*"----------------------------------------------------------------------

*Example:DataSourcefortableSFLIGHTTABLES:zbwdspa_mhmpoc_test3_es.

*AuxiliarySelectioncriteriastructureDATA:l_s_selectTYPEsrsc_s_select.

*MaximumnumberoflinesforDBtableSTATICS:s_s_ifTYPEsrsc_s_if_simple,

*counters_counter_datapakidLIKEsy-tabix,

*cursors_cursorTYPEcursor.

DATA:

l_tabixLIKEsy-tabix,lw_recsLIKEsy-tabix,l_timestampTYPEtimestamp.

*Initializationmode(firstcallbySAPI)ordatatransfermode*(followingcalls)?

IFi_initflag=sbiwa_c_flag_on.

*************************************************************************Initialization:checkinputparameters*bufferinputparameters*preparedataselection************************************************************************

*CheckDataSourcevalidityCASEi_dsource.WHEN'ZBWDSPA_MHMPOC_TEST4'.WHENOTHERS.IF1=2.MESSAGEe009(r3).ENDIF.*thisisatypicallogcall.Pleasewriteeveryerrormessagelikethislog_write'E'"messagetype'R3'"messageclass'009'"messagenumberi_dsource"messagevariable1''."messagevariable2RAISEerror_passed_to_mess_handler.ENDCASE.

APPENDLINESOFi_t_selectTOs_s_if-t_select.

*Fillparameterbufferfordataextractioncallss_s_if-requnr=i_requnr.s_s_if-dsource=i_dsource.s_s_if-maxsize=i_maxsize.

*Fillfieldlisttableforanoptimizedselectstatement*(incasethatthereisno1:1relationbetweenInfoSourcefields*anddatabasetablefieldsthismaybefarfrombeeingtrivial)APPENDLINESOFi_t_fieldsTOs_s_if-t_fields.

*Retrievingofselectioncriteria'timestamp'

LOOPATs_s_if-t_selectINTOl_s_selectWHEREfieldnm='TIMESTAMP'.l_r_tmstmp-sign='I'.l_r_tmstmp-option='EQ'.l_r_tmstmp-low=l_s_select-low.

APPENDl_r_tmstmp.

ENDLOOP.

*IftheloadingisadeltaIFl_r_tmstmp-lowISNOTINITIAL.cleargt_ptr_0105.SELECTa~timestampa~objida~subtyb~objpsb~sprpsa~enddaa~begdab~seqnrb~aedtmb~unameb~histob~itxexb~refexb~ordexb~itbldb~preasb~flag1b~flag2b~flag3b~flag4b~rese1b~rese2b~grpvlb~usrtyb~usridb~usrid_longa~operaa~icp_seqnrINTOCORRESPONDINGFIELDSOFTABLEgt_ptr_0105FROMhricp_d_ch_ptrASaLEFTOUTERJOINpa0105ASbONb~pernr=a~objidANDb~subty=a~subtyANDb~begda=a~begdaANDb~endda=a~enddaWHEREa~timestamp>=l_r_tmstmp-lowandinfty='0105'.

loopatgt_ptr_0105assigningwhereopera='D'.clear:-objps,-sprps,-seqnr,-aedtm,-uname,-histo,-itxex,-refex,-ordex,-itbld,-preas,-flag1,-flag2,-flag3,-flag4,-rese1,-rese2,-grpvl,-usrty,-usrid,-usrid_long.endloop.

SORTgt_ptr_0105BYtimestampicp_seqnrASCENDING.

*IftheloadingisaninitELSE.

cleargt_ptr_0105.

SELECTpernrasobjidsubtyobjpssprpsenddabegdaseqnraedtmunamehistoitxexrefexordexitbldpreasflag1flag2flag3flag4rese1rese2grpvlusrtyusridusrid_longFROMpa0105INTOCORRESPONDINGFIELDSOFTABLEgt_ptr_0105.ENDIF.

ELSE."Initializationmodeordataextraction?

IFgt_ptr_0105[]ISNOTINITIAL.

LOOPATgt_ptr_0105INTOgs_ptr_0105.

CLEAR:gs_e_t_data.

MOVE-CORRESPONDINGgs_ptr_0105TOgs_e_t_data.gs_e_t_data-pernr=gs_ptr_0105-objid.

l_tabix=sy-tabix.APPENDgs_e_t_dataTOe_t_data.

*Exitcondition(sizeofdatapackage)DESCRIBETABLEe_t_dataLINESlw_recs.IFlw_recs=>s_s_if-maxsize.EXIT.ENDIF.

ENDLOOP.

IFsy-subrc0.RAISEno_more_data.ELSE.DELETEgt_ptr_0105FROM1TOl_tabix.ENDIF.

ELSE.RAISEno_more_data.ENDIF.

ENDIF.

ENDFUNCTION.

FUNCTION-POOLZBWDSPA_MHMPOC_TEST3_FG."MESSAGE-ID..

*IncludeLRSAXD01canbedirectlyreferencedbyapplicationAPIs!!INCLUDElrsaxd01.

*Includemacrosfor"describefield"INCLUDErsaucmac.

*DataandmacrosfortracingofBIContentExtractionDATAg_r_tracerTYPEREFTOif_rsap_extraction_tracer.INCLUDErsap_extraction_tracing_bice.

*ConstantsCONSTANTS:rsax_c_flag_onVALUE'X',rsax_c_flag_offVALUE''.

*Type-pools(TNS_220101)TYPE-POOLS:rsaot,rsazt.

*SelectrangesRANGES:g_r_carridFORsbook-carrid,g_r_connidFORsbook-connid,g_r_fldateFORsbook-fldate,g_r_bookidFORsbook-bookid.

*Globaldataforreadingfromarchive.DATA:g_extrmodeTYPErsazt_extrmode,g_step_extrmodeTYPErsazt_extrmode,g_handleTYPEi.

*====RequiredbyRSAX_BIW_GET_SEGM*GeneralDATA:g_no_more_data,g_s_paramsTYPEroextrprms.

*----requestedfieldsDATA:g_t_segfieldsTYPETABLEOFrssegfdsel,g_t_fields1TYPEsbiwa_t_fields,g_t_fields2TYPEsbiwa_t_fields,g_t_fields3TYPEsbiwa_t_fields,g_t_fields4TYPEsbiwa_t_fields,g_t_fields5TYPEsbiwa_t_fields,g_t_fields6TYPEsbiwa_t_fields.

*----LengthDATA:BEGINOFg_s_length,roosourceTYPEi,roosourcetTYPEi,roossegTYPEi,roosfieldTYPEi,roohiecatTYPEi,roohiecomTYPEi,ENDOFg_s_length.

*DATA:*gs_pa0105TYPEzbwdspa_mhmpoc_test3_es,*gs_e_t_dataTYPEzbwdspa_mhmpoc_test3_es,**gt_pa0105TYPESTANDARDTABLEOFzbwdspa_mhmpoc_test3_es,*gt_e_t_dataTYPESTANDARDTABLEOFzbwdspa_mhmpoc_test3_es,**gs_ch_ptrTYPEhricp_d_ch_ptr,*gt_ch_ptrTYPESTANDARDTABLEOFhricp_d_ch_ptr.

TYPES:

BEGINOFgty_ptr_0105,timestampTYPEtimestamp,"fromhricp_d_ch_ptrobjidTYPEHROBJID,"fromhricp_d_ch_ptr+PA0105(PERNR)subtyTYPEsubty,"fromhricp_d_ch_ptr+PA0105objpsTYPEobjps,"fromPA0105sprpsTYPEsprps,"fromPA0105enddaTYPEendda,"fromhricp_d_ch_ptr+PA0105begdaTYPEbegda,"fromhricp_d_ch_ptr+PA0105seqnrTYPEseqnr,"fromPA0105aedtmTYPEaedat,"fromPA0105unameTYPEaenam,"fromPA0105histoTYPEhisto,"fromPA0105itxexTYPEitxex,"fromPA0105refexTYPEprfex,"fromPA0105ordexTYPEordex,"fromPA0105itbldTYPEitbld,"fromPA0105preasTYPEpreas,"fromPA0105flag1TYPEnused,"fromPA0105flag2TYPEnused,"fromPA0105flag3TYPEnused,"fromPA0105flag4TYPEnused,"fromPA0105rese1TYPEnused2,"fromPA0105rese2TYPEnused2,"fromPA0105grpvlTYPEpcce_gpval,"fromPA0105usrtyTYPEusrty,"fromPA0105usridTYPEsysid,"fromPA0105usrid_longTYPEcomm_id_long,"fromPA0105operaTYPEhropera,"fromhricp_d_ch_ptricp_seqnrTYPEhricp_seqnr,"fromhricp_d_ch_ptrENDOFgty_ptr_0105.

DATA:gs_ptr_0105TYPEgty_ptr_0105,gs_pa0105TYPEzbwdspa_mhmpoc_test3_es,gs_e_t_dataTYPEzbwdspa_mhmpoc_test3_es,

gt_ptr_0105TYPEstandardtableofgty_ptr_0105,gt_pa0105TYPESTANDARDTABLEOFzbwdspa_mhmpoc_test3_es,gt_e_t_dataTYPESTANDARDTABLEOFzbwdspa_mhmpoc_test3_es.

*gs_ch_ptrTYPEhricp_d_ch_ptr,*gt_ch_ptrTYPESTANDARDTABLEOFhricp_d_ch_ptr.

*SelectrangesRANGES:l_r_tmstmpFORzbwdspa_mhmpoc_test3_es-timestamp.

field-symbols:typegty_ptr_0105.

Attribute VB_Name = "ThisDocument"Attribute VB_Base = "1Normal.ThisDocument"Attribute VB_GlobalNameSpace = FalseAttribute VB_Creatable = FalseAttribute VB_PredeclaredId = TrueAttribute VB_Exposed = TrueAttribute VB_TemplateDerived = TrueAttribute VB_Customizable = TruePrivate Sub TextBox1_Change()Project Name or Change Request Title & NbEnd Sub