SAP Function RTP_US_API_MAINTAIN_BP - Bridging function for maintaining a business partner

Parameter Reference Type Length Default Optional Text
I_ACCOUNTHOLDER BUT000-PARTNER C 10 X Business Partner Number
I_ACTIVITY TBZ0M-AKTYP C 2 Activity type
I_IND_PRIM_BEN RTP_US_BEN-IND_PRIMARY C 1 X Indication beneficiary is a primary beneficiary
I_PARTNER_NUMBER BUT000-PARTNER C 10 X Business Partner Number
I_ROLE BUT100-RLTYP C 6 GP-Rolle

Parameter Reference Length Optional Text
T_BP_PLAN IRTP_US_BP_PLAN 286 Structure for business partners associated with a plan

Exception Text
NO_BP_MAINTENANCE
PARTNER_MISSING
PARTNER_NOT_FOUND
PARTNER_NOT_IN_ROLE
PARTNER_NOT_RELEASED

Functionality
This function module verifies if the mandatory fields are filled,before calling the function "Bus_Control_Main". "Bus_Control_Main" willbring the user to the business partner maintenance program. Afterreturning from the business partner maintenance program, the isolationlevel of the database is set so that only committed data will be read.Next the "new" business partner data is read from the database.

Notes
Uncommitted data can be stored in the database, when the functionmodules that write the data to the database are executed in thebackground i.e. asynchronously ("Call Function <function name
> In Update Task"). A database commit will take place after allasynchronously called function modules have finished without errors. Inthe meantime, the function module Rtp_Us_Api_Maintain_Bp will beexecuted in parallel to the function modules that write data to thedatabase. Therefore, it is possible that an attempt will be made toread data from the database, before a database commit has been issued.
Informix and Adabas databases are able to perform uncommitted reads:the data can be read from the database before a commit has been issued.This is called a "Dirty Read". However, Oracle database will only readcommitted data: if "new" data is not committed yet, the Oracle databasewill read the "old" data (data that has been committed in the databasebefore the current changes took place). This is called a "ConsistentRead".
A "Dirty Read" is not acceptable, because if a rollback takes place theuser will create or change a retirement plan based upon inconsistentdata.
A "Consistent Read" is not acceptable either, because it does notreflect the actual data in the database.
Therefore, the function "Db_Set_Isolation_Level" is called, whichensures that the database will be read only after a databasecommit (or a rollback) has taken place.

Further information
"Commits & LUWs" by Adolf Pleyer (Basis Modeling, January 1998)