concept guide for release - from application to policy · pdf file4 correlation between...

40
Solution Management Guide Concept Guide for Release - From Application to Policy Release 5.3 Policy Management Version 1.0 January 2016

Upload: dangxuyen

Post on 10-Mar-2018

226 views

Category:

Documents


1 download

TRANSCRIPT

Page 1: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide

Concept Guide for

Release - From

Application to Policy

Release 5.3

Policy Management

Version 1.0 January 2016

Page 2: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

www.sap.com/contactsap

© 2016 SAP SE or an SAP affiliate company. All rights reserved.

No part of this publication may be reproduced or transmitted in any form or for any purpose without the express permission of SAP SE or an SAP affiliate company

SAP and other SAP products and services mentioned herein as well as their respective logos are trademarks or registered trademarks of SAP SE (or an SAP affiliate company) in Germany and other countries. All other product and service names mentioned are the trademarks of their respective companies. Please see www.sap.com/corporate-en/legal/copyright/index.epx#trademark for additional trademark information and notices.

Page 3: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Typographic Conventions

Type Style Description

Example Words or characters quoted from the screen. These include field names, screen titles, pushbuttons labels, menu names, menu paths, and menu options.

Textual cross-references to other documents.

Example Emphasized words or expressions.

EXAMPLE Technical names of system objects. These include report names, program names, transaction codes, table names, and key concepts of a programming language when they are surrounded by body text, for example, SELECT and INCLUDE.

Example Output on the screen. This includes file and directory names and their paths, messages, names of variables and parameters, source text, and names of installation, upgrade and database tools.

Example Exact user entry. These are words or characters that you enter in the system exactly as they appear in the documentation.

<Example> Variable user entry. Angle brackets indicate that you replace these words and characters with appropriate entries to make entries in the system.

Type Style Description

EXAMPLE Keys on the keyboard, for example,

F2 or ENTER .

Symbols

Symbol Meaning

Caution

Example

Note

Recommendation

Syntax

Page 4: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Disclaimer

January 2016 4

Contents

1 DISCLAIMER .......................................................................................................................................... 5

2 PREFACE ................................................................................................................................................. 5

3 BASIC CONCEPT OF THE RELEASE ENGINE ............................................................................... 6

3.1 RELEASE IN DIALOG............................................................................................................................ 8 3.2 RELEASE IN UPDATE ........................................................................................................................... 9

4 CORRELATION BETWEEN CUSTOMIZING <-> ABAP .............................................................. 10

4.1 SAP RELEASE SETTINGS ................................................................................................................... 10 4.2 CUSTOMIZING & BADIS .................................................................................................................... 12

4.2.1 Customizing .............................................................................................................................. 13 4.2.2 BAdI Enhancement Spot ........................................................................................................... 15 4.2.3 Customer Enhancements .......................................................................................................... 17

5 PROCESS METHODS AND CLASSES .............................................................................................. 21

5.1 BADI DEFINITION /PM0/ABB_PROC_METHOD ........................................................................... 21 5.1.1 Operational Systems ................................................................................................................. 21 5.1.2 Accounting Component ............................................................................................................ 22 5.1.3 Application ............................................................................................................................... 22 5.1.4 Journal ..................................................................................................................................... 22 5.1.5 Date / BTS / Positioning ........................................................................................................... 23 5.1.6 Redo / Undo .............................................................................................................................. 23 5.1.7 Fund ......................................................................................................................................... 24 5.1.8 Work Items................................................................................................................................ 24 5.1.9 Checks ...................................................................................................................................... 24 5.1.10 Other Process Methods ............................................................................................................ 26

5.2 BADI DEFINITION /PM0/ABB_PROCCOMMIT .............................................................................. 27 5.3 BADI DEFINITION /PM0/ABB_PROCROLLBACK......................................................................... 31 5.4 BADI DEFINITION /PM0/ABB_PROC_TARGETDATE .................................................................. 32 5.5 BADI DEFINITION /PM0/ABB_PROC_TYPE .................................................................................. 32

6 TECHNICAL IMPLEMENTATION ................................................................................................... 33

6.1 PROCESS MACHINE /PM0/ABB_PROCESS_MACHINE ................................................................. 33 6.1.1 Worklist MT_PROC_CONTAINER .......................................................................................... 33 6.1.2 Central Methods of the Process Machine ................................................................................. 34

6.2 PROCESS LOGIC /PM0/ABB_PROCESS_LOGIC ............................................................................ 35 6.2.1 Classes for the Dialog .............................................................................................................. 35 6.2.2 Help and Utility Classes ........................................................................................................... 36

6.3 CALL OF THE PROCESS MACHINE ...................................................................................................... 37 6.3.1 In Update .................................................................................................................................. 37 6.3.2 In Dialog Mode ........................................................................................................................ 38

6.4 BREAKPOINTS ................................................................................................................................... 39

7 SUMMARY ............................................................................................................................................ 40

Page 5: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Disclaimer

January 2016 5

1 Disclaimer This guide is not part of SAP product documentation. By using this guide, you agree that (unless expressly stated otherwise in your agreements with SAP) you may not infer any product claims against SAP based on this information.

2 Preface This document provides additional information to the existing Policy Management documentation which provides the necessary knowledge base.

To accelerate the customer implementation projects, it is encouraged to share the experiences from other SAP internal implementations.

This Solution Management Guide enhances other Solution Management Guides for Policy Management. A basic understanding of the structure of Policy Management, the way it works and its results is required.

The policy release engine is restricted in the following example. You can write your own methods here.

This document should provide answers to important questions, such as "what are the requirements to integrate a release method in the release engine?", "what factors must be considered with a new release method?" as well as convey what you can and must enhance yourself.

Page 6: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Basic Concept of the Release Engine

January 2016 6

3 Basic Concept of the Release Engine The release engine allows a standardized and centralized sequence, including converting the complete application version into a contract version or providing the policy with certain technical entities (for example cash flow documents, correspondences or reinsurance data). This can also include potential calculations, transferring data to other systems and the AP conversion (convert application versions to contract versions in Policy Management.

If the release engine is used, it determines a process type (release variant) according to the different parameters (for example a business process, postdating and so on) upon which it determines different steps that need to be executed in a certain sequence. These steps can be chosen by the customer, however deleting the release steps can be risky, since potential data from single release steps could be necessary in the processing sequence.

We recommend that you do not delete release steps

You can also define your own steps without modification that are executed during the release of an application in the customer namespace. The release engine can be exited "temporarily" for PBT process models (see Step 2 in the diagram), or other activities (for example for updates or for the result screen, see section 6.3.2). The release process notes the progress and continues after processing.

The release can be split into three main sections:

1. Process step execution based on process type (release variant) (BAdI definition /PM0/ABB_PROC_METHOD).

2. Commit (Preparation). The standard process sets the data that is prepared for the commit here (BAdI definition /PM0/ABB_PROCCOMMIT).

3. Rollback (BAdI definition /PM0/ABB_PROCROLLBACK).

These three main sections can be enhanced using the corresponding BAdI Enhancement Spot /PM0/ABB_PROC_METHOD. When defining individual process types, the corresponding enhancement of the BAdI definition /PM0/ABB_PROC_TYPE (see later sections) must be considered.

Interaction of Release Engine and Positioning

Depending on the business process, the positioning can be called either internally in the release engine or externally. The release engine can call the internal update using a release step in Dialog business processes (see section 6.3.2).

The interval module of the update process calls the positioning and then the release in the Update business process. No steps for positioning are called within the release. As there are several types or variants of executing updates, there are multiple release process types that are used in this business process.

Page 7: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Basic Concept of the Release Engine

January 2016 7

Which release process type is used for the update type is specified in the Customizing activity "Define Update Types".

Certain business processes and business transactions operate without positioning, for example the removal of policy postdating.

Page 8: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Basic Concept of the Release Engine

January 2016 8

3.1 Release in Dialog

Every process in the dialog consists of three different phases.

(1) A start phase in which the policy is created or found according to the selection parameters of the entry screen. Depending on the business process, the policy can be positioned to the effective date here.

(2) A change phase, in which the user can choose business transactions and insurance-specific calculations take place based upon the choice of business transaction.

(3) An end phase reached by pressing the release icon. The release engine is active in this phase.

There is technically also a pre-start phase between the Transaction Call business process and the business process selection screen in which the data is cleaned up and preassigned.

The Change API (see Release 5.3 onwards), which allows the direct execution of business transactions from outside to applications using enterprise services or RFCs, offers the following steps:

- Application Creation (= start phase)

- Execution of Business Transactions (= change phase)

- Release Change (= end phase)

Within the release engine, release steps are executed that call the time model for positioning, as well as other steps that are necessary for supplying the operational systems or for further calculations and conversions (AP) Possible steps are explained in more detail in a later section.

Page 9: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Basic Concept of the Release Engine

January 2016 9

3.2 Release in Update

The parallel processing tool is the central starting point in the background.

The parallel processing tool first calls the journal, then the time model and then the release engine. The database buffer is filled in the "COMMIT" steps. The actual database commit is called centrally in the Update interval module.

If you create your own release steps: Do not include a database commit! Ensure that RFC calls do not trigger any COMMITs that write data to the database. The COMMIT takes over the interval module of the update centrally. Everything else can lead to data inconsistencies (for example, an operational system could already be provided with data, but other central data is not yet posted, and so on).

Page 10: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 10

4 Correlation Between Customizing <-> ABAP

4.1 SAP Release Settings

Release Customizing cannot be configured completely freely on the customer's side. There are basic conditions and background settings by SAP that set certain parameters. To quickly understand the following diagram, please read the description:

SAP has predefined central process categories and process methods (lower blue part of the diagram), with which you can execute business steps in a defined sequence. The process methods are linked to the ABAP coding that is to be executed.

The customer has to refer to the predefined process categories and methods in Customizing (red part of the diagram).

Changes to the SAP entries in the following tables represent a customer modification (E-Tables => Control Tables, SAP and customers have separate key areas). The consequences of a modification at this point cannot be foreseen. If an error occurs, the best-case scenario is a program termination. You can however define your own entries in your namespace. If you have defined new entries in your namespace, please ensure that these match the SAP standard entries, namely the sequence (SORTKEY) is correct in /PM0/ABUBPM07. Test the scenarios relevant for you. Extreme caution is advised when adding or removing steps. All possible scenarios require thorough testing. The safest way is to add checks. Please note that if errors are detected in the release, the update mass process will discard whole packages. As soon as the first operational system is provided with data, a “point of no return” is reached (even if the internal buffers for the POST and CLOSE phases of the time model function were provided with data).

SAP has predefined process categories (E-Table /PM0/ABUBPM06). The process categories define all release-relevant and separate release process types planned by SAP (also called release procedures, for example the release procedure for New Business, Reversal, Change and so on). Process categories with the prefix SPC exist from Release 5.3 onwards (SAP – Process Category).

Page 11: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 11

For example the release procedure SPC0001 that is used in the New Business business process. Insight into the release procedure earmarked by SAP can be found in the system using the table /PM0/ABUBPM06.

SAP has predefined process methods (E-Table /PM0/ABUBPM01). The entries in this table are the filter values for the BAdI definition /PM0/ABB_PROC_METHOD (see section 5). The (technical) connection of the process methods to the classes to be executed takes place here. Process categories with the prefix SPM exist from Release 5.3 onwards (SAP – Process Method). An example for this is the process method SPM0026 that executes the creation of cash flow documents. The table contains the steps suitable for mass activities.

SAP has predefined step categories (E-Table /PM0/ABUBPM02) that display the amount of selected business steps. Process categories with the prefix SSC exist from Release 5.3 onwards (SAP – Step Category). An example for this is the step category SSC0026 that corresponds to the creation of cash flow documents.

SAP has predefined the assignment of (technical) process methods to the (business) step categories (E-Table /PM0/ABUBPM03). The process method number is usually the same as that of the step category (apart from the prefix) up to number 0064. Example: SPM0011 is assigned to SSC0011. Only the step categories SSC0002 (Check Insured Object Synchronicity), SSC0018 (Call Tax Component), SSC0029 (Positioning), SSC0031 (Call FS-RI (Facultative Reinsurance Cover), SSC0060 (Retainment) and SSC0067 (Correspondence Postprocessing) are assigned to two process methods. The corresponding methods <-> step type make up an entity that has to be used in the same way by the customer in Customizing.

SAP has predefined the assignment of the step categories (business release steps) to the process categories (release procedure) (table /PM0/ABUBPM07). As well as the actual assignment, this table also defines the sequence of the execution of the step categories.

Please note the SAP entries in the named database tables if you define your own Customizing.

If you define your own process step types (SPRO->Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Step Types), you must use a predefined element from the table /PM0/ABUBPM03 that meets your requirements (see section 4.2).

The process types and the assignment of the step categories to the process type are handled similarly.

Page 12: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 12

4.2 Customizing & BAdIs

The interaction of Customizing with the classes to be executed will be explained first. The bottom-right part of the diagram below refers to Process Customizing and ABAP.

Step sequences (CSTyyyy) can be assigned to the defined process types (CPTxxxx) (CST Customer Step Type; CPT Customer Process Type). The step sequences consist of the process step categories. These are assigned to the process methods (SPMzzzz) in their own Customizing. These process methods act as filter values for the BAdI Enhancement Spot /PM0/ABB_PROC_METHOD in the main BAdI Enhancements to determine the final class/method to be executed.

Page 13: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 13

4.2.1 Customizing

You can find the Process Step Types in Customizing under

Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Step Types.

and the Process Types under

Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Types and Assign Process Step Types.

The process types and their assigned process steps provide information on the activities that are used in the release.

Page 14: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 14

Extreme caution is advised when adding or removing steps. All possible scenarios require thorough testing. The safest way is to add checks.

Page 15: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 15

4.2.2 BAdI Enhancement Spot

You can find the BAdI definition and its implementations for the process steps in the Enhancement Spot /PM0/ABB_PROC_METHOD (transaction SE18):

Page 16: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 16

Example: "Release of Non Cash Flow Documents"

And

"Release of Non Cash Flow Documents" is assigned to the step type "CST0040" in Customizing. The step type "CST0040" is assigned to process method "SPM0040" in Process Step Type Customizing. This is the BAdI filter value that is used to call the implementing class/method /PM0/CL_IM_ABB_APPR_NONCF_BADI/PM0/IF_ABB_PROC_METHOD~EXECUTE. All filter values and the methods to be executed can be found this way.

Page 17: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 17

4.2.3 Customer Enhancements

You can attach your own methods to the release without modifying them using the BAdI Enhancement Spot. Please note that the methods must not contain a COMMIT command in this case. If you want to access your own operational systems, please note that the operational systems must be called asynchronously to have write access. This is done for data integrity and performance reasons.

Data integrity: Assuming that single operating systems already posted data synchronously, but other systems were terminated later, then data in the different systems might not match due to the incomplete postings and data inconsistencies may exist across systems.

Performance: If you post data synchronously, the FS-PM system waits until the data has been processed in the corresponding operational system. This can lead to performance losses.

If you want to call up operational systems with write access, you must add the steps to the COMMIT phase of the release (see section 5.2). Do not build any explicit Commit command in your methods. This may lead to potential errors, such as follow-on release steps or data inconsistencies.

Please note the BAdI interface to be used when creating your own methods.

Page 18: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 18

Example for adjustment of the "release"

In this simplified example, the release procedure for New Business (entry SPC0001 in the table /PM0/ABUBPM06) uses the SAP predefined settings to assign the steps

1) 20 Check Insured Object Synchronicity (process method SPM0002 defined in /PM0/ABUBPM01).

2) 290 Positioning (process method SPM0029 defined in /PM0/ABUBPM01) and

3) 390 Release to Operational System Collections/Disbursement (process method SPM0041 defined in /PM0/ABUBPM01)

in /PM0/ABUBPM07. The corresponding step categories SSC0002 (defined in /PM0/ABUBPM02), SSC0029 and SSC0041 are assigned the corresponding methods (in /PM0/ABUBPM03). See the following diagram:

You want to post special documents in your own "CD System" using a new release step. It is not necessary to check the insured object synchronicity in this scenario.

Define your own process method ZPM0041 in the E-Table /PM0/ABUBPM01 customer namespace for example.

Create a filter value ZPM0041 and your own BAdI implementation for this process method in the central BAdI Enhancements for the BAdI Enhancement Spot (see next section).

Define your own step category ZSC0041 in the E-Table /PM0/ABUBPM02 customer namespace for example.

Assign the process method ZPM0041 to the step category ZSC0041 in the E-Table /PM0/ABUBPM03.

Assign the process category SPC0001 to the step category ZSC0041 with the sort key 400 in the E-Table /PM0/ABUBPM07.

The following "enhanced" settings will become available.

Page 19: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 19

Now you can perform the actual Customizing maintenance.

Under Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Types and Assign Process Step Types, you can

create a new process type CPT0001 (arbitrary prefix Customer Process Type) on the basis of the process category SPC0001.

Under Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Step Types, you can create new process step types:

CST0029 (arbitrary prefix Customer Step Type) on the basis of the step category SSC0029 and method SPM0029

CST0041 on the basis of the step category SSC0041 and method SPM0041

CST0042 on the basis of the step category ZSC0041 and method ZPM0041

Under Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Types and Assign Process Step Types, you can

assign the steps CST0029, CST0041 and CST0042 to the process type CPT0001.

Page 20: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Correlation Between Customizing <-> ABAP

January 2016 20

You have created a release procedure for New Business that includes the main steps of the SAP procedure. You have removed a step (insured object synchronicity) that wasn't necessary for your procedure and added a step to provide your own system with data. Now this procedure must be tested. Removing steps can often cause problems as other steps may rely on interim results. CAUTION Adding steps can often cause problems if interim results are changed as standardized methods could rely on them. Therefore: Even if it seems that a lot is possible, all changes to the release must be tested extensively and in different scenarios. Not only must the results displayed in the system be considered, but also database entries and especially results that affect systems outside of Policy Management.

Data integrity in the production environment could be compromised and enhancing or changing the release procedure could cause consequences that are difficult to solve.

Page 21: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 21

5 Process Methods and Classes The following is a list of all process methods made available by SAP. The methods listed here are aligned with each other. If you enhance existing steps, add new steps, or delete existing steps from a release variant/process type, it can lead to incorrect data in case of dependencies. Check these dependencies and adjust dependent steps or adjust the process type step sequence accordingly.

5.1 BAdI Definition /PM0/ABB_PROC_METHOD

The following list of different release steps/process methods according to the BAdI implementation for enhancement implementation /PM0/ABP_ABB_BADI_EI shows the implementing classes according to "area".

5.1.1 Operational Systems

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0041 /PM0/ABP_ABB_APPR_CD_BADI Release

Collections/Disbursements (FS-CD)

/PM0/CL_IM_ABB_APPR_CD_BADI

SPM0024 /PM0/ABP_ABB_FSCD_DATA_BADI Data Determination for

Collections/Disbursements /PM0/CL_IM_ABB_FSCD_DATA_BADI

SPM0106 /PM0/ABP_ABB_RESET_CD_DATA Reset CD Interface Data

When Postdating /PM0/CL_IM_ABB_RESET_CD_DATA

SPM0118 /PM0/ABP_ABB_APPR_CML_BADI Release CML (Loans

Management) /PM0/CL_IM_ABB_APPR_CML_BADI

SPM0063 /PM0/ABP_ABB_APPR_CM_BADI Release CM /PM0/CL_IM_ABB_APPR_CM_BADI

SPM0062 /PM0/ABP_ABB_CM_DATA_BADI Data Determination for

CM /PM0/CL_IM_ABB_CM_DATA_BADI

SPM0005 /PM0/ABP_ABB_FINISH_ COR_BADI Finish Correspondence /PM0/CL_IM_ABB_FINISH_COR_BADI

SPM0044 /PM0/ABP_ABB_APPR_CORR_BADI Release Correspondence /PM0/CL_IM_ABB_APPR_CORR_BADI

SPM0069 /PM0/ABP_ABB_CORR_POSTPR Correspondence Postprocessing

/PM0/CL_IM_ABB_CORR_POSTP_BADI

SPM0107 /PM0/ABP_ABB_CORR_PP_BG_BADI Correspondence Postprocessing

(background-enabled) /PM0/CL_IM_ABB_CORR_PP_BG_BADI

SPM0028 /PM0/ABP_ABB_CORR_BADI Call Correspondence

Component /PM0/CL_IM_ABB_CORR_BADI

SPM0042 /PM0/ABP_ABB_APPR_ICM_BADI Release ICM /PM0/CL_IM_ABB_APPR_CS_BADI

SPM0023 /PM0/ABP_ABB_ICM_DATA_BADI Data Determination for

ICM /PM0/CL_IM_ABB_ICM_DATA_BADI

SPM0043 /PM0/ABP_ABB_APPR_PFO_BADI Release PFO /PM0/CL_IM_ABB_APPR_PFO_BADI

SPM0027 /PM0/ABP_ABB_PFO_DATA_BADI Data Determination for

PFO /PM0/CL_IM_ABB_PFO_DATA_BADI

SPM0064 /PM0/ABP_ABB_PDORG_BADI Call PDORG /PM0/CL_IM_ABB_PDORG_BADI

SPM0031 /PM0/ABP_ABB_RI_BADI Call FS-RI /PM0/CL_IM_ABB_RI_BADI

SPM0111 /PM0/ABP_ABB_CUMUL_ENQUEUE Set Accumulation Locks /PM0/CL_IM_ABB_RI_CUMUL_ENQ

SPM0109 /PM0/ABP_ABB_RI_CUMUL_BADI RI Accumulation Determination

/PM0/CL_IM_ABB_RI_CUMUL_BADI

Page 22: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 22

SPM0066 /PM0/ABP_ABB_APPR_RIDOC_BADI Release RI Documents /PM0/CL_IM_APPR_RIDOC_BADI

SPM0082 /PM0/ABP_ABB_RI_BG_BADI Call FS-RI (Background-

enabled) /PM0/CL_IM_ABB_RI_BG_BADI

SPM0084 /PM0/ABP_ABB_APPR_IR_RI_BADI Impl. Run Release RI

Documents /PM0/CL_IM_ABB_APPR_IR_RI_BADI

SPM0086 /PM0/ABP_ABB_APPR_IR_CO_BADI Impl. Run Release Correspondence

/PM0/CL_IM_ABB_APPR_IR_CO_BADI

SPM0087 /PM0/ABP_ABB_APPR_IR_CS_BADI Impl. Run Release ICM /PM0/CL_IM_ABB_APPR_IR_CS_BADI

5.1.2 Accounting Component

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0026 /PM0/ABP_ABB_CASHFLOW_BADI Create Cash Flow

Documents /PM0/CL_IM_ABB_CASHFLOW_BADI

SPM0049 /PM0/ABP_ABB_CF_TRANS_BADI Transfer CF Documents

/PM0/CL_IM_ABB_CF_TRANS_BADI

SPM0022 /PM0/ABP_ABB_COPY_DOC_BADI Contract-Relevant Indicator for Cash

Flow Journal Entries /PM0/CL_IM_ABB_COPY_DOC_BADI

SPM0006 /PM0/ABP_ABB_FLUSH_AK_BADI Flush AC /PM0/CL_IM_ABB_FLUSH_AK_BADI

SPM0039 /PM0/ABP_ABB_APPR_CF_BADI Release Cash Flow

Documents /PM0/CL_IM_ABB_APPR_CF_BADI

SPM0077 /PM0/ABP_ABB_SET_ACMODE_BADI Set Accounting

Component Mode for Implicit Run

/PM0/CL_IM_ABB_SET_ACMODE_BADI

SPM0083 /PM0/ABP_ABB_APPR_IR_CF_BADI Impl. Run Release

Cash Flow Documents

/PM0/CL_IM_ABB_APPR_IR_CF_BADI

SPM0085 /PM0/ABP_ABB_APPR_IR_NC_BADI Impl. Run Release

Non Cash Flow Documents

/PM0/CL_IM_ABB_APPR_NONCF_BADI

5.1.3 Application

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0001 /PM0/ABP_ABB_EDIT_APL_BADI Application Processing /PM0/CL_IM_ABB_EDIT_APL_BADI

SPM0004 /PM0/ABP_ABB_FINISH_APL_BADI Finish Application /PM0/CL_IM_ABB_FINISH_APL_BADI

SPM0007 /PM0/ABP_ABB_FLUSH_APL_BADI Flush Application /PM0/CL_IM_ABB_FLUSH_APL_BADI

SPM0045 /PM0/ABP_ABB_APPR_APPL_BADI Release Application

(A2P) /PM0/CL_IM_ABB_APPR_APPL_BADI

5.1.4 Journal

Process Method

BAdI Implementation Description SAP Implementing Class

Page 23: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 23

SPM0003 /PM0/ABP_ABB_JOURN_APL_BADI

Journal Management Application

Version

/PM0/CL_IM_ABB_JOURN_APL_BADI

SPM0020 /PM0/ABP_ABB_JOURN_POL_BADI Journal

Management Policy Version

/PM0/CL_IM_ABB_JOURN_POL_BADI

SPM0078 /PM0/ABP_ABB_JRN_STAT_BADI Set Journal Status

to Released /PM0/CL_IM_ABB_JRN_STAT_BADI

SPM0095 /PM0/ABP_ABB_CORR_JRN_BADI Journal

Management of Correspondence

/PM0/CL_IM_ABB_CORR_JRN_BADI

SPM0114 /PM0/ABP_ABB_JOURN_REVERS_BADI

Journal Management:

Reversal Business Process Released

/PM0/CL_IM_ABB_JRN_REVERS_BADI

SPM0112 /PM0/ABP_ABB_JOURN_POSTDT_BADI Journal

Management: Postdated Release

/PM0/CL_IM_ABB_JRN_POSTDT_BADI

SPM0113 /PM0/ABP_ABB_JOURN_RB_BADI

Journal Management:

Postdated Replacement

Business

/PM0/CL_IM_ABB_JRN_RB_BADI

5.1.5 Date / BTS / Positioning

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0029 /PM0/ABP_ABB_POS_BADI Positioning /PM0/CL_IM_ABB_POS_BADI

SPM0090 /PM0/ABP_ABB_POS_PP_BADI Positioning

(Background-enabled) /PM0/CL_IM_ABB_POS_PP_BADI

SPM0019 /PM0/ABP_ABB_UP_DATES_BADI Create/Update Dates

After Unscheduled Change:

/PM0/CL_IM_ABB_UP_DATES_BADI

SPM0075 /PM0/ABP_ABB_APPR_EXTDT_BADI Release Related Date /PM0/CL_IM_ABB_APPR_EXTDT_BADI

SPM0079 /PM0/ABP_ABB_PLAN_BTS_N_BADI Scheduling BTS Date

for New Business Business Process

/PM0/CL_IM_ABB_PLAN_BTSDATE_N

SPM0080 /PM0/ABP_ABB_PLAN_BTS_V_BADI Scheduling BTS Date for Universal Change

Business Process /PM0/CL_IM_ABB_PLAN_BTSDATE_V

SPM0091 /PM0/ABP_ABB_PLAN_BTS_C_BADI Scheduling BTS Date for Reversal Business

Process /PM0/CL_ABB_APPR_BTSPLAN_C

SPM0092 /PM0/CL_ABB_PLAN_BTS_MP_BADI Scheduling BTS Date

for Mass Change Business Process

/PM0/CL_ABB_APPR_BTSPLAN_MP

5.1.6 Redo / Undo

Process Method

BAdI Implementation Description SAP Implementing Class

Page 24: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 24

SPM0060 /PM0/ABP_ABB_RET_BADI Retention /PM0/CL_IM_ABB_RET_BADI

SPM0071 /PM0/ABP_ABB_RET_P_BADI

Retention of Business

Transaction for Background Processing

/PM0/CL_IM_ABB_RET_P_BADI

SPM0096 /PM0/ABP_ABB_REDOPREWRK_BADI Preparation for

Reimplementation /PM0/CL_IM_ABB_REDOPREWRK_BADI

5.1.7 Fund

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0059 /PM0/ABP_ABB_APPR_FORDR_BADI Release Fund

Order /PM0/CL_IM_ABB_FUNDSORDER_BADI

SPM0068 /PM0/ABP_ABB_APPR_FUNDORDERS Release Fund

Order /PM0/CL_IM_ABB_APPR_FUNDORDERS

5.1.8 Work Items

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0047 /PM0/ABP_ABB_CRT_DP_WI_BADI Create Work Item for Additional Payment

/PM0/CL_IM_ABB_CRT_DP_WI_BADI

SPM0008 /PM0/ABP_ABB_CRT_RES_WI_BADI Create Work Item for

Resumption of Processing

/PM0/CL_IM_ABB_CRT_RES_WI_BADI

SPM0070 /PM0/ABP_ABB_REDO_WI_P_BADI Create Work Item for

Reimplementation /PM0/CL_IM_ABB_REDO_WI_P_BADI

SPM0046 /PM0/ABP_ABB_END_WI Exit Work Item for

Resumption of Processing

/PM0/CL_IM_ABB_END_WI

SPM0105 /PM0/ABP_ABB_END_RENEWAL_WI Exit Work Item of

Contract Extension /PM0/CL_IM_ABB_END_RENEWAL_WI

5.1.9 Checks

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0010 /PM0/ABP_ABB_AUTH_APL_BADI

Check Authorization

Action "Release Application"

/PM0/CL_IM_ABB_AUTH_APL_BADI

SPM0011 /PM0/ABP_ABB_AUTH_CLERK_BADI Processor

Authorization Check

/PM0/CL_IM_ABB_SGL_CLERK_BADI

SPM0014 /PM0/ABP_ABB_AUTH_CORR_BADI

Check Authorization

Release Correspondence

/PM0/CL_IM_ABB_AUTH_CORR_BADI

SPM0072 /PM0/ABP_ABB_CHK_ICC_DA_BADI Check TCN Date /PM0/CL_IM_ABB_CHK_ICC_DA_BADI

Page 25: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 25

SPM0073 /PM0/ABP_ABB_CHK_PD_DA_BADI Check Main Due

Date /PM0/CL_IM_ABB_CHK_PD_DA_BADI

SPM0103 /PM0/ABP_ABB_CHK_RNW_BADI

Check Change Option with

Contract Extension

/PM0/CL_IM_ABB_RNW_CHECK_BADI

SPM0054 /PM0/ABP_ABB_CRDITOR_BADI Check Definition

Date /PM0/CL_IM_ABB_CRDITOR_BADI

SPM0058 /PM0/ABP_ABB_PREMSUM_BADI

Check Premium Total and Premium

Payment Duration

/PM0/CL_IM_ABB_PREMSUM_BADI

SPM0056 /PM0/ABP_ABB_EXTVARIA_BADI Check Possibility

of Single Premium

/PM0/CL_IM_ABB_EXTVARIA_BADI

SPM0057 /PM0/ABP_ABB_DEP_PYMET_BADI Check Premium

Deposit /PM0/CL_IM_ABB_DEP_PYMET_BADI

SPM0016 /PM0/ABP_ABB_CHK_AMN_BADI Check Open

Change Options /PM0/CL_IM_ABB_CHK_AMN_BADI

SPM0017 /PM0/ABP_ABB_CHK_DEVAPL_BADI Check Invalid Application Deviations

/PM0/CL_IM_ABB_CHK_DEVAPL_BADI

SPM0074 /PM0/ABP_ABB_CHK_INFL_BADI Check:

Adjustment /PM0/CL_IM_ABB_CHK_INFL_BADI

SPM0102 /PM0/ABP_ABB_CHK_VBO_BADI Check Insured

Object /PM0/CL_IM_ABB_CHK_VBO_BADI

SPM0104 /PM0/ABP_ABB_CHK_COVSBJ_BADI Check: Insured

Object at Coverage Level

/PM0/CL_IM_ABB_CHK_COVSBJ_BADI

SPM0002 /PM0/ABP_ABB_SYNC_VTO_BADI Check Insured

Object Synchronicity

/PM0/CL_IM_ABB_SYNC_VTO_BADI

SPM0067 /PM0/ABP_ABB_SYNC_VTO_P_BADI

Check Insured Object

Synchronicity (Background-

enabled)

/PM0/CL_IM_ABB_SYNC_VTO_P_BADI

SPM0098 /PM0/ABP_ABB_CHK_MD_MOD_BADI Check Premium Payer in Master Data Model 2

/PM0/CL_IM_ABB_CHK_MD_MOD_BADI

SPM0116 /PM0/ABP_ABB_CHK_BLK_BP_BADI Check for

Blocked Business Partners

/PM0/CL_IM_ABB_CHK_BLK_BP_BADI

SPM0100 /PM0/ABP_ABB_RI_CHECK_BADI Check RI /PM0/CL_IM_ABB_RI_CHECK_BADI

SPM0032 /PM0/ABP_ABB_DUAL_CONTR_BADI Check Multiple

Verification Principle

/PM0/CL_IM_ABB_DUAL_CONTR_BADI

SPM0034 /PM0/ABP_ABB_PAR_PROC_BADI Check/Handling: Parallel Update

/PM0/CL_IM_ABB_PAR_PROC_BADI

SPM0052 /PM0/ABP_ABB_CHK_LEGIGWG_BADI

Check Legitimation

Money Laundering Law

/PM0/CL_IM_ABB_LEGIGWG_BADI

SPM0053 /PM0/ABP_ABB_CHK_RISK Check Risk /PM0/CL_IM_ABB_CHK_RISK

Page 26: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 26

SPM0015 /PM0/ABP_ABB_CHK_BOSTAT_BADI

Check Business Object Status (Calculating,

Investment Stop)

/PM0/CL_IM_ABB_CHK_BOSTAT_BADI

SPM0101 /PM0/ABP_ABB_PML_CHECK_BADI Check PML /PM0/CL_IM_ABB_PML_CHECK_BADI

SPM0115 /PM0/ABP_ABB_APPR_CHK_CBC_BADI Check CBC Amount Paid

/PM0/CL_IM_ABB_CHK_CBC_BADI

5.1.10 Other Process Methods

Process Method

BAdI Implementation Description SAP Implementing Class

SPM0018 /PM0/ABP_ABB_TAXATION_BADI Call Tax Component /PM0/CL_IM_ABB_TAXATION_BADI

SPM0065 /PM0/ABP_ABB_TAX_BG_BADI Call Tax Component in

Background /PM0/CL_IM_ABB_TAX_BG_BADI

SPM0093 /PM0/ABP_ABB_START_SIM_BADI Start Release Simulation /PM0/CL_IM_ABB_START_SIM_BADI

SPM0094 /PM0/ABP_ABB_END_SIM_BADI End Release Simulation /PM0/CL_IM_ABB_END_SIM_BADI

SPM0033 /PM0/ABP_ABB_SET_LOCKS_BADI Set Release Locks /PM0/CL_IM_ABB_SET_LOCKS_BADI

SPM0050 /PM0/ABP_ABB_REL_LOCKS_BADI Remove Release Locks /PM0/CL_IM_ABB_REL_LOCKS_BADI

SPM0021 /PM0/ABP_ABB_FINISH_POL_BADI Finish Policy Version /PM0/CL_IM_ABB_FINISH_POL_BADI

SPM0088 /PM0/ABP_ABB_DEL_PREDCTXT_BADI Deletion: Application Context of Postdating

/PM0/CL_IM_ABB_PRED_CTXT_BADI

SPM0038 /PM0/ABP_ABB_DEL_AMN_BADI Delete Change Offers

(Created for Calculation) /PM0/CL_IM_ABB_DEL_AMN_BADI

SPM0025 /PM0/ABP_ABB_CHARGE_BADI Call Charge Component (Collection of Charges)

/PM0/CL_IM_ABB_CHARGE_BADI

SPM0061 /PM0/ABP_ABB_MDL_CALC_BADI Call Model Calculation /PM0/CL_IM_ABB_MDL_CALC_BADI

SPM0097 /PM0/ABP_ABB_CLARI_C_BADI Credit Clarification after

Reversal /PM0/CL_IM_ABB_CLARI_C_BADI

SPM0099 /PM0/ABP_ABB_DET_BALANCE Determination Whether Credit Must be Paid Off

/PM0/CL_IM_ABB_DET_BALANCE

SPM0117 /PM0/ABP_ABB_RESERVE_BADI Save Current Reserve /PM0/CL_IM_ABB_RESERVE_BADI

SPM0030 /PM0/ABP_ABB_OVV_BADI Result Screen /PM0/CL_IM_ABB_OVV_BADI

SPM0051 /PM0/ABP_ABB_MSG_BADI Message Creation /PM0/CL_IM_ABB_MSG_BADI

SPM0009 /PM0/ABP_ABB_SAVE_OVV_BADI Store Data Temporarily

for Result Screen /PM0/CL_IM_ABB_SAVE_OVV_BADI

SPM0089 /PM0/ABP_ABB_TARIFFCHG_BADI Set Replacement Business Status

/PM0/CL_IM_ABB_TARIFFCHG_STATE

SPM0108 /PM0/ABP_ABB_APPR_MIG_AC Policy Migration Release

AC /PM0/CL_IM_ABB_APPR_MIG_AC

SPM0110 /PM0/ABP_ABB_UPDATEJOB_BADI Update Request Table

(Job Table) /PM0/CL_IM_ABB_UPDATEJOB_BADI

SPM0081 /PM0/ABP_ABB_EMPTY Empty Implementation /PM0/CL_IM_ABB_EMPTY_BADI

SPM0035 /PM0/ABP_ABB_UNQ_NO_BADI /PM0/CL_IM_ABB_UNQ_NO_BADI

Page 27: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 27

5.2 BAdI Definition /PM0/ABB_PROCCOMMIT

The BAdI implementations for enhancement implementation /PM0/ABB_PROC_COMMIT_EI are listed below due to the different process types. You can find the definitions for the process types in Customizing under Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Types and Assign Process Step Types

(for example CPT0001 is the process category "New Business").

How to fill the database buffer is explained under the COMMIT section in section 5.2. For example, they are first written to the update function module during update runs and are then written to the database. No step sequences (SPMxxxx) must be completed when using the Commit (fill the database buffer, providing the operational systems with data). The Commit control (filling the database buffer) is connected to the process and therefore also the process type.

Do not add any coding that could change the posting logic in your new or adjusted steps/methods. This means: Do not add your own database Commit. Do not change any SAP entries that are in the corresponding buffers for the provision of the operational systems.

Process Type BAdI Implementation Description SAP Implementing Class

CPT0001-CPT0009

CPT0011

CPT0013-CPT0014

CPT0016-CPT0019

CPT0022-CPT0023

CPT0029-CPT0033

CPT0037-CPT0038

CPT0041

/PM0/CL_IM_ABB_COMMIT Implementation: Commit /PM0/CL_IM_ABB_COMMIT

CPT0010

CPT0012

CPT0036

/PM0/ABP_ABB_COMMIT_RQCB

Commit Return Replacement

Business/Product Change

/PM0/CL_IM_ABB_COMMIT_RQCB

CPT0015 /PM0/ABP_ABB_COMMIT_R

ARI Commit RI /PM0/CL_IM_ABB_COMMIT_RARI

CPT0020-CPT0021 /PM0/CL_IM_ABB_COMMIT_

B_FUNDS

Commit for Benefit Fund Order Generation/Fund

Order Reversal /PM0/CL_IM_ABB_COMMIT_B_FUND

CPT0024 /PM0/ABP_ABB_COMMIT_IR

UN_BADI

General Commit Implementation for

Implicit Runs /PM0/CL_IM_ABB_COMMIT_IRUN

CPT0025 /PM0/ABP_ABB_COMMIT_K

OR_BADI Commit Implementation for Correspondence Run

/PM0/CL_IM_ABB_COMMIT_KOR

CPT0026 /PM0/ABP_ABB_COMMIT_O

DR_BADI

General Commit Implementation for Order

Planning Run /PM0/CL_IM_ABB_COMMIT_ODR

CPT0027 /PM0/ABP_ABB_COMMIT_P

CR

Commit Implementation Provisional Collection

Run /PM0/CL_IM_ABB_COMMIT_PCR

CPT0028 /PM0/ABP_ABB_COMMIT_C

PCR Commit Implementation

Reversal Provisional /PM0/CL_IM_ABB_COMMIT_CPCR

Page 28: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 28

Collection Run

CPT0034 /PM0/ABP_ABB_COMMIT_C

A Commit Reversal Advance Notice

/PM0/CL_IM_ABB_COMMIT_CA

CPT0035 /PM0/ABP_ABB_COMMIT_M

A

Commit for Mass Change Business

Process /PM0/CL_IM_ABB_COMMIT_MA

CPT0039 /PM0/ABP_ABB_COMMIT_R

NW Commit Implementation

for Contract Renewal /PM0/CL_IM_ABB_COMMIT_RNW

CPT0040 /PM0/ABP_ABB_COMMIT_M

IG_BADI Commit Implementation

for Policy Migration /PM0/CL_IM_ABB_COMMIT_MIG

The following plan is for the BAdI implementation /PM0/CL_IM_ABB_COMMIT:

METHOD /pm0/if_abb_proc_commit~commit. …

CALL METHOD /pm0/cl_abb_bpu_registry=>get_instance IMPORTING er_instance = lr_appr_registry. …

GET REFERENCES FOR TO BE EXECUTED CLASSES/METHODS lr_int_api = lr_appr_registry->get_int_api( ). lr_update_srv = lr_appr_registry->get_update_srv_api( ). lr_ac_api = lr_appr_registry->get_ac_api( ). lr_locks_api = lr_appr_registry->get_locks_api( ). lr_logger_api = lr_appr_registry->get_logging_api( ). lr_bts_api = lr_appr_registry->get_bts_api( ). * get log messages lt_ppolog = lr_logger_api->det_commit_msg( it_keys ).

CORRESPONDENCE REFERENCE * get the mediator lr_cor_mediator ?= /pm0/cl_ab_bpu_cor_registry=>gr_cor_mediator. … * commit CI CALL METHOD lr_int_api->put_ci EXPORTING it_keys = it_keys. COLLECTIONS & DISBURSEMENTS MASTER DATA * commit CD CALL METHOD lr_int_api->commit_cd EXPORTING it_keys = it_keys. * put CD CALL METHOD lr_int_api->put_cd EXPORTING it_keys = it_keys. ICM * commit CS CALL METHOD lr_int_api->commit_cs EXPORTING it_keys = it_keys.

* put CS CALL METHOD lr_int_api->put_cs EXPORTING it_keys = it_keys. PFO * commit PFO CALL METHOD lr_int_api->commit_pfo EXPORTING it_keys = it_keys.

Page 29: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 29

CALL METHOD lr_int_api->put_pfo EXPORTING it_keys = it_keys.

RI * transfer RI CALL METHOD lr_int_api->put_ri EXPORTING it_keys = it_keys. * commit RI CALL METHOD lr_int_api->commit_ri EXPORTING it_keys = it_keys. APPROVE CASHFLOWS * approve cf CALL METHOD lr_ac_api->appr_cf EXPORTING it_keys = it_keys. add_data_to_corr_cache( it_keys ). COLLECTIONS & DISBURSEMENTS MOVEMENT DATA * commit CD CALL METHOD lr_int_api->commit_cd EXPORTING it_keys = it_keys. CLAIMS * put CM CALL METHOD lr_int_api->put_cm EXPORTING it_keys = it_keys. * commit CM CALL METHOD lr_int_api->commit_cm EXPORTING it_keys = it_keys. CML (New in 5.3) * commit and put CML CALL METHOD lr_int_api->commit_cml EXPORTING it_keys = it_keys. CALL METHOD lr_int_api->put_cml EXPORTING it_keys = it_keys. ACOUNTING COMPONENT * commit AC CALL METHOD lr_ac_api->commit EXPORTING it_keys = it_keys.

WORKFLOW EVENTS * raises workflow event for the reassessment workflow creation lr_reassess_bc = /pm0/cl_abp_bc_prc_reass_fac=>get_facade( ). lr_reassess_bc->raise_reass_wf_events( ). * release locks … * Unlock policy … * Unlock application …

Page 30: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 30

CORRESPONDENCE * commit correspondence * calls the update for the instant print lr_cor_mediator->start_print( iv_secpol_id = <ls_key>-policy_id ). * commits the correspondece bo * Executes a COMMIT and no COMMIT WORK, so the update task of start_print * will not be executed at this point. * The update task of start print starts, when the in-force bo is commited. Because * this commit ececutes a COMMIT WOKRK, which startes the update task. * So we can sure, that when the print is started, we load the correct data of the * the correspondence bo and the in-force bo; beause both were already commited. LOOP AT it_keys ASSIGNING <ls_key>. AT NEW policy_id. lr_cor_mediator->commit( iv_secpol_id = <ls_key>-policy_id ). ENDAT. ENDLOOP. BTS * commit BTS

lr_bts_api->commit( EXPORTING it_keys = it_keys ir_appr_ctxt = ir_context ). … BUSINESS OBJECT ITSELF * commit BO

… RESETS * reset cache of the insureble object (object management) … * reset application-context … * reset session data … * reset settle cache … * reset bo manager … * clear AC … * clear effective date service to prevent memory leaks …

* reset settle cache after tariff_check, to avoid identical selects

WRITE MESSAGES TO LOG * call logger CALL METHOD create_log_msg( it_ppolog = lt_ppolog ). … * Create PPO order … ENDMETHOD.

Page 31: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 31

5.3 BAdI Definition /PM0/ABB_PROCROLLBACK

The BAdI implementations for enhancement implementation /PM0/ABB_PROC_ROLLBACK_EI are listed below due to the different process types. You can find the definitions for the process types in Customizing under Policy ManagementIn-Force Business ManagementBasisBusiness Transactions, Actions, and Process StepsDefine Process Types and Assign Process Step Types (for example, CPT0001 is the process category "New

Business").

Process Type BAdI Implementation Description SAP Implementing Class

CPT0001-CPT0002

CPT0005-CPT0011

CPT0013-CPT0016

CPT0022

CPT0029

CPT0031

/PM0/CL_IM_ABB_ROLLBACK

Implementation: Rollback

/PM0/CL_IM_ABB_ROLLBACK

CPT0003-CPT0004

CPT0023

CPT0025-CPT0028

CPT0037-CPT0039

CPT0041

/PM0/CL_IM_ABB_ROLLBACK_P

Rollback (Background) /PM0/CL_IM_ABB_ROLLBACK_P

CPT0012

CPT0018

CPT0036

/PM0/CL_IM_ABB_ROLLBACK_RQCB

Rollback for Business Process Return Product Change/Replacement

Business

/PM0/CL_IM_ABB_ROLLBACK_RQCB

CPT0017

CPT0019

CPT0030

CPT0032

/PM0/CL_IM_ABB_ROLLBACK_B

Rollback for Benefit Business Process

/PM0/CL_IM_ABB_ROLLBACK_B

CPT0020

CPT0021

/PM0/CL_IM_ABB_ROLLBACK_B_FUND

Rollback for Fund Order Generation/Fund Order

Reversal

/PM0/CL_IM_ABB_ROLLBACK_B_FUND

CPT0024 /PM0/ABP_ABB_ROLLBACK

_IRUN

General Rollback Implementation for

Implicit Runs /PM0/CL_IM_ABB_ROLLBACK_IRUN

Page 32: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Process Methods and Classes

January 2016 32

5.4 BAdI Definition /PM0/ABB_PROC_TARGETDATE

The target date determination BAdI is more closely related to the time model than the release:

The BAdI implementations for enhancement implementation /PM0/ABB_PROC_TARGETDATE_EI are listed below due to the different process types. The filter values here are the Line of Business (LoB = Basis BB, Life LL, P&C LP) and an indicator at the DUE_DATE.

Filters BAdI Implementation Description SAP Implementing Class

CONSIDER_DUE_DATE = ‚X‘

All LoB's

/PM0/CL_IM_ABB_TARGDT_DUE_BADI

Implementation: Target Date Determination

Taking Account of Due Dates

/PM0/CL_ABP_BC_TARGDT_DUE_BADI

CONSIDER_DUE_DATE = ''

All LoB's

/PM0/CL_IM_ABB_TARGETDATE_BADI

Implementation: Target Date Determination in

Release

/PM0/CL_IM_ABB_TARGETDATE_BADI

5.5 BAdI Definition /PM0/ABB_PROC_TYPE

The BAdI implementations for enhancement implementation /PM0/ABP_PROC_TYPE_EI are listed below due to the different process types.

The process type for the release control is determined by the business process (N = New Business, C = Change ...) and the set parameters.

Business Process

(Filters)

BAdI Implementation Description SAP Implementing Class

A /PM0/ABB_PROC_TYPE_A Process Type

Determination for A Business Process

/PM0/CL_IM_ABB_PROC_TYPE_A

B /PM0/ABB_PROC_TYPE_B Process Type

Determination for B Business Process

/PM0/CL_IM_ABB_PROC_TYPE_B

C /PM0/ABB_PROC_TYPE_C Process Type

Determination for C Business Process

/PM0/CL_IM_ABB_PROC_TYPE_C

D /PM0/ABB_PROC_TYPE_D Rollback for Benefit Business Process

/PM0/CL_IM_ABB_PROC_TYPE_D

MA /PM0/ABB_PROC_TYPE_MP Process Type

Determination for Business Process

/PM0/CL_IM_ABB_PROC_TYPE_MP

N /PM0/ABB_PROC_TYPE_N Process Type

Determination for N Business Process

/PM0/CL_IM_ABB_PROC_TYPE_N

P /PM0/ABB_PROC_TYPE_P Process Type

Determination for P Business Process

/PM0/CL_IM_ABB_PROC_TYPE_P

Q /PM0/ABB_PROC_TYPE_Q Process Type

Determination for Q Business Process

/PM0/CL_IM_ABB_PROC_TYPE_Q

R /PM0/ABB_PROC_TYPE_R Process Type Determination for R

/PM0/CL_IM_ABB_PROC_TYPE_R

Page 33: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 33

Business Process

U /PM0/ABB_PROC_TYPE_U Process Type

Determination for U Business Process

/PM0/CL_IM_ABB_PROC_TYPE_U

V /PM0/ABB_PROC_TYPE_V Process Type

Determination for V Business Process

/PM0/CL_IM_ABB_PROC_TYPE_V

6 Technical Implementation This section is only relevant if you want to define your own release steps.

The release engine and logic can be found in two packages in the source text. /PM0/ABB_PROCESS_MACHINE and /PM0/ABB_PROCESS_LOGIC (both are subpackages of /PM0/AB_APPROVE).

6.1 Process Machine /PM0/ABB_PROCESS_MACHINE

The process machine creates the worklist of objects to be processed, reads the necessary Customizing and provides an internal process control. The release machine executes the release.

The central class /PM0/CL_ABB_PROC_MACHINE is in the package /PM0/ABB_PROCESS_MACHINE. The worklist and process control are managed by the private instance attribute table MT_PROC_CONTAINER in the category /PM0/ABD_ABB_PROC_CONTAINER_T.

6.1.1 Worklist MT_PROC_CONTAINER

The BO_ID, POLICY_ID, PPDPAC_ID, POLICYPRODUCT_ID, and POLPOLICY_ID fields are used to identify the object to be released.

The BIZPRC_ID field is the business process. The PROC_TYPE field is the process type. The PROC_STATE field indicates the state of the current table entry (policy object).

The process steps to be executed and their execution status are found in the T_PROC_STEP_STATE table. The corresponding step must be given the correct status if errors occur during execution. This table displays the processing progress for a released object.

The messages set by the process are in the T_BAPIRET table. The evaluation of the messages is the responsibility of the caller of the release machine.

The BACKGROUND field specifies whether the release is executed in the dialog or in the background (the BACKGROUND_FG field is currently not relevant)

The RESUME_RI and RESUME_FE_CHECK fields are used to control the resumption for reinsurance and dual control.

The POLICYEDIT_FG field indicates policy processing and the PREDATED field is set for postdating. The TARIFF_CHANGE_P and CORR_POL_ISSUE fields are used for controlling in case of a rate change or corrected policy issuance.

If the F_NO_ROLLBACK field is set, then the process machine will not execute a rollback.

Page 34: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 34

6.1.2 Central Methods of the Process Machine

6.1.2.1 CONSTRUCTOR

The CONSTRUCTOR reads the central Customizing of the release (the database tables/views /PM0/ABU_VPMALLK, /PM0/ABUBPM01T, /PM0/ABUBPM02T, /PM0/ABUBPM06T, /PM0/ABUBPM12T, and /PM0/ABUBPM16T) and fills the instance attribute MS_APPR_CUST_DESCR with it. The constructor is called using the factory /PM0/CL_ABB_PROC_FACTORY.

6.1.2.2 /PM0/IF_ABB_PROC_MACHINE~REGISTER

This method is transferred to a table of objects (table category /PM0/ABD_ABB_PROC_KEY_EXT_T) with the corresponding process types and other control parameters.

(1) Based on this import table, new entries are attached to the MT_PROC_CONTAINER.

(2) The process steps are determined for the new entries (call DERIVE_STEPS).

(3) New entries are checked (call CHECK).

(4) The worklist for processing is (create instance attribute reference MR_WORKLIST with the category /PM0/CL_ABB_PROC_WORKLIST and call MR_WORKLIST->ADD_CONF in the case of a successful CHECK call (see 3)).

6.1.2.3 /PM0/IF_ABB_PROC_MACHINE~EXECUTE

The execution of the process steps is called here.

(1) Create instance attribute MR_ITERATOR using MR_WORKLIST (from the register method). MR_ITERATOR provides the information which step should be executed next and if the worklist has been completed.

(2) Call EXECUTE_STEP.

6.1.2.4 EXECUTE_STEP

Process steps are executed here. The following is a rough schedule:

As long as the MR_ITERATOR finds the next execution step {

(1) Get next execution step MR_ITERATOR->NEXT

(2) Get LT_KEYS

(3) Get Process, Process Step and Customizing

(4) Set step status in LT_KEYS

(5) Call step method using EXECUTE_METHOD (the BAdI is called according to the PROC_METHOD from Customizing).

}

6.1.2.5 /PM0/IF_ABB_PROC_MACHINE~FINISHED

Returns the status on whether the process machine has completed its worklist. The HAS_NEXT method of the MR_ITERATOR must return the value "FALSE" (no further sequence step).

Page 35: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 35

6.2 Process Logic /PM0/ABB_PROCESS_LOGIC

The central process logic package in the release is /PM0/ABB_PROCESS_LOGIC.

This package contains all classes for the BAdI definitions from section 5. Additional classes can be found in the subsections.

6.2.1 Classes for the Dialog

The classes displayed here have implemented the /PM0/IF_3F_BPP_ACTIVITY interface. The bold highlighted classes are more relevant for the release process.

Class Description

/PM0/CL_ABB_BPP_POSITIONING Positioning in Dialog

/PM0/CL_ABB_BPP_POST Process Activity After Release

/PM0/CL_ABB_BPP_POST_MP Process Activity After Release BP Mass Scheduling

/PM0/CL_ABB_BPP_PRE Initializes the Release Engine Before its Execution

/PM0/CL_ABB_BPP_PRE_MP Initializes the Release Engine Before its Execution BP

Mass Scheduling

/PM0/CL_ABB_BPP_SAVE_OVV Saves the Data for the Result Screen

/PM0/CL_ABB_BPP_USER_ABORT

Process Model C_B_S_CHECK_SBOE, Node C_B_E_USER_ABORT: User Termination of Release

Engine

/PM0/CL_ABB_BPP_USER_ABORT_FAC

Process Model P_B_S_SIM_RI, Node P_B_E_ABORT_FAC: Termination of Release Engine

After RI Call

/PM0/CL_ABB_BPP_USER_OK_CODE Process Model C_B_S_CHECK_SBOE, Node

C_B_E_USER_OK_CODE: Exit the Dialog

/PM0/CL_ABB_REDO_JOURNALBO

/PM0/CL_ABB_SEMI_REDO_POST Reset Original Business Process ID

/PM0/CL_ABB_BPU_POSTPROCESSOR Postprocessing after Calling Release Engine

The following classes have implemented the /PM0/IF_3F_BPU_CTRLM (retention dialog) interface.

Class Description

/PM0/CL_ABB_BPS_RET_BIZPRC Retention Dialog – Claim/Benefit Case, General Data

/PM0/CL_ABB_BPS_RET_BIZTRANS Retention Dialog - Business Transaction

/PM0/CL_ABB_BPS_RET_BNF Retention Dialog – Claim/Benefit Case

/PM0/CL_ABB_BPS_RET_CHARGE Retention Dialog - Automatic Charge

/PM0/CL_ABB_BPS_RET_EXTDT Retention Dialog - Related Date

/PM0/CL_ABP_BPS_RETENTION_OVW Subcontroller Retention Overview

Page 36: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 36

6.2.2 Help and Utility Classes

Class Description

/PM0/CL_ABB_BPU_APPROVE_UTILS Help Methods for Release

/PM0/CL_ABB_BPU_APPR_AC Help Class for Access to Accounting Component

/PM0/CL_ABB_BPU_APPR_INT Help Class for Access to Interfaces

/PM0/CL_ABB_BPU_APPR_JOURNAL Help Class for Journal Access in Release

/PM0/CL_ABB_BPU_BTS Help Class for Access to Business Transaction

Scheduler

/PM0/CL_ABB_BPU_CHARGE_SERVICE Help Class for Charge Component

/PM0/CL_ABB_BPU_CHECKS Help Class for Diverse Checks

/PM0/CL_ABB_BPU_CORR Help Class for Access to Correspondence

/PM0/CL_ABB_BPU_FUNDS Help Class for Funds

/PM0/CL_ABB_BPU_LOCKS Help Class for Working with Locks

/PM0/CL_ABB_BPU_LOGGING Help Class for Logging

/PM0/CL_ABB_BPU_MIGRATION Help Class for Access to Migration

/PM0/CL_ABB_BPU_MODEL_CALC Help Class for Access to Model Calculation

/PM0/CL_ABB_BPU_OBJ_MANAGEMENT Help Class for Access to Object Management

/PM0/CL_ABB_BPU_OVERVIEW_DATA Utility Class for Result Screen

/PM0/CL_ABB_BPU_REDO Help Class for Reimplementation

/PM0/CL_ABB_BPU_SIMULATION Help Class for Release Step Simulation

/PM0/CL_ABB_BPU_TM Help Class for Access to Time Model

/PM0/CL_ABB_BPU_UPDATE_SRV Help Class for Access to BO/BO-MGR

/PM0/CL_ABB_BPU_WORKITEM Help Class for Access to Work Items

Page 37: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 37

6.3 Call of the Process Machine

6.3.1 In Update

The function module /PM0/ABY_FPP_FP_PA_INTERVAL (interval module) is used by the FPP tool during updates. Packages with policies/contracts to be updated are processed in this function module.

The following steps usually occur:

(1) Activation of Correspondence Cache

(2) Get LT_CONTROL_STRUC (objects to be processed in package)

(3) For all objects in LT_CONTROL_STRUC {

a) Execute Time Model (call /PM0/CL_ABY_BPU_PP_API->CALL_TM with direct call of the time model)

b) Release (call /PM0/CL_ABY_BPU_PP_API->APPROVE) => Process responsible for calling the process machine)

}

(4) COMMIT WORK AND WAIT

The release engine is called in the method /PM0/CL_ABY_BPU_PP_API->APPROVE:

Get process machine reference * get ubois & proc machine /pm0/cl_abb_proc_factory=>s_get_instance( IMPORTING er_proc_machine = lr_proc_machine ).

* Call process machine *------------------------------------------------------------------------

Structure of LT_PROC_KEY LOOP AT lr_z_tm_ctrl->key_tab REFERENCE INTO lr_key WHERE " process only entries which the TM allowed proc_status = /pm0/if_aby_poi_massprocessing=>gc_polpac

APPEND ls_proc_key TO lt_proc_key. ENDIF. ENDLOOP.

lr_proc_machine->register( lt_proc_key ). lf_finished = abap_false. WHILE lf_finished = abap_false. lr_proc_machine->execute( IMPORTING ev_cmd = lv_cmd ). lf_finished = lr_proc_machine->finished( ). ENDWHILE.

GET STATE OF PROCESSING

* Get state *------------------------------------------------------------------------ lr_proc_machine->get_state( IMPORTING et_state = et_proc_key_state ).

ERROR HANDLING PROCESS MACHINE

If an error occurs after the execution of the time model and further tests in the release, then the whole package is discarded. The background is that the CLOSE phase of the time model

Page 38: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 38

function may have already written data to the buffer for the operational systems. If an error is detected in the release, only a complete rollback can be done for the whole package. If important checks should be executed, please execute them in the CHECK or PRE phases of the time model function.

6.3.2 In Dialog Mode

Basic process model knowledge of the PBT is required.

For the actual release, first an activity node is called in a process model that then calls the process model P_B_S_BPM_APPROVE that then calls the subprocess model P_B_S_APPROVE.

Regarding the positioning within the release: The subprocess model calls the node P_B_P_APPR_WRK_ACT that in turn calls the release engine. The step CPM0029 (step type CST0029) that calls the BAdI implementation /PM0/ABP_ABB_POS_BADI is found within the steps to be processed in the framework of the dialog release. The implementing class /PM0/CL_IM_ABB_POS_BADI sets the (application wide) follow-on command 'CMD_A_POS_DIALOG' and the processing is transferred to the PBT. The PBT interprets the follow-on command and finds the process model P_B_S_POSITIONING to be executed. The positioning is called in the process model P_B_S_POSITIONING in the activity node P_B_S_POSITIONING using the implementing class /PM0/CL_ABB_BPP_POSITIONING. The PBT calls the activity node P_B_P_APPR_WRK_CHK after positioning. This node checks if there are further release steps. If there are steps, the follow-on command CMD_F_AGAIN calls the node P_B_P_APPR_WRK_ACT via PBT) again. The release engine list is processed until the follow-on command CMD_F_OK is determined. In principle, the customer can also execute their own process models within a release.

Page 39: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Technical Implementation

January 2016 39

This results in the following call of EXECUTE methods of the classes in the release category

(1) /PM0/CL_ABB_BPP_PRE: This class is in the package /PM0/ABB_PROCESS_LOGIC

a. Get the instance for the process machine from the factory.

b. Get the BAdI to determine the process type for the Business Process ID (New Business ...).

c. Get POLPR_KEYS and process type and structure of LT_PROC_KEYS.

d. Check whether implicit run is necessary.

e. Call REGISTER method of the process machine.

(2) Calling the submodel P_B_S_APPROVE calls the EXECUTE methods of the following classes:

a. /PM0/CL_ABP_BPP_APPR_WRK_ACT: This class is in the package /PM0/ABP_BTX_CROSS.

i. Get the instance for the process machine from the factory.

ii. Call EXECUTE method of the process machine instance.

b. /PM0/CL_ABP_BPP_APPR_WRK_CHECK: This class is in the package /PM0/ABP_BTX_CROSS.

i. Get the instance for the process machine from the factory.

ii. Call FINISH method of the process machine instance.

(3) /PM0/ CL_ABB_BPP_POST: This class is in the package /PM0/ABB_PROCESS_LOGIC.

a. Call diverse /PM0/CL_ABB_BPU_POSTPROCESSOR methods.

b. Call CLOSE method of the process machine (buffers are reset).

6.4 Breakpoints

To understand the process machine better, before implementing your own methods in the /PM0/CL_ABB_PROC_MACHINE class, you should set breakpoints before the following methods:

Method EXECUTE_STEP

Method GET_STATE

Method COMMIT

Method REGISTER

Method ROLLBACK

Method SET_POLICY_ERROR

Method SET_ERROR_PER_KEY

Check in the MT_PROC_CONTAINER table while regarding the MT_PROC_CONTAINER-T_PROC_STEP. If you add your own steps, one of the breakpoints in these methods could aid you when analyzing potential error states.

Page 40: Concept Guide for Release - From Application to Policy · PDF file4 CORRELATION BETWEEN CUSTOMIZING ABAP ... This guide is not part of SAP product ... business process selection screen

Solution Management Guide Summary

January 2016 40

7 Summary The release engine allows a unified release process above the business processes that can be enhanced by the customer. The /PM0/ABB_PROC_METHOD enhancement spot and the BAdI definitions must be used for this.

The release engine allows the processing steps on policy objects to be processed sequentially, where the single steps are given a status and are therefore visible during the processing of the processing progress.

If errors occur in the release engine, the caller is obliged to handle the errors. The package /PM0/ABB_PROCESS_LOGIC contains all classes that sort the execution of the process steps. Classes that provide the operational systems can also be found there. The package /PM0/ABP_BTX_CROSS contains the dialog classes within the framework of the release.