Interfacing via Business Objects (BAPI/BAdl)

  • Access direct OR via RFC
  • Synchrone BAPIs > RFC
  • Asynchrone BAPIs > ALE

Transactions#

SWO1Business Object Repository
BAPIBapi Explorer
SE18BAdI Builder Definition
SE19BAdI Builder

Tables#

TBDBAMapping BAPIs to ALE
SWOTDQVerb Parameters, Exceptions

Payroll BAdl#

HRPAY99_KTO           " Allows different operations related to the payroll account
HRPAY00_PRE_DME       " Exit for the Preliminary Program Data Medium Exchange
HRPAY00_PAYMENTS      " Exit for the Bank Transfer Interface CL_HRPAY00_PAYMENTS
HRPAY00_ESS_PAYSLIP   " Check if remuneration statement is only accessible using ESS
HRPAY00_COL_DME_KEYS  " Summary Key for Collective Bank Transfers
HRPAY00_COL_DME       " Purpose of the Collective Bank Transfer
BADI_OCWB_REVERSAL    " Off-Cycle Workbench:  Exclude payment for cancellation
HR_PY_OUT_OF_SEQ      " Country Exits for Payroll Main Routine
HR_PY_ENQUEUE         " BAdi: Additional Activities for Locked Employees
HR_PY_CLST_DISP       " PY_PAYRESULT: Country exit before table display
HR_PY_AUTH_PU01       " Customer-specific authorization check in PU01

Usage#

Transaction
BapiService.TransactionCommit()
BapiService.TransactionRollback()
CALL FUNCTION 'DEQUEUE_ALL' .
CALL FUNCTION 'BAPI_EMPLOYEE_ENQUEUE'
CALL FUNCTION 'HR_INFOTYPE_OPERATION'
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'.
CALL FUNCTION 'BAPI_EMPLOYEE_DEQUEUE'

BAPI can call 'COMMIT WORK' itself, but this must be mentioned in documentation
Documentation
HelpValues.GetList()
BapiService.FieldHelpGetDocu()
BapiService.InterfaceGetDocu()
BapiService.HyperLinkGetText()
BapiService.HyperLinkGetText()
Errors
BapiService.MessageGetDetail()
BapiService.ApplicationLogGetDetail()
All provide return parameter "Return" 
A - Abort
E - Error
Konversion
BapiService.DataConversionInt2Ext1()
BapiService.DataConversionExt2Int1()
Read
GetList()
GetDetail()
GetStatus()
ExistenceCheck()
CRUD
Create() oder CreateFromData()
Change()
Delete() und Undelete()
Cancel()
Mass:	ChangeMultiple(), CreateMultiple(), DeleteMultiple() ...
Copy: 	Replicate() und SaveReplica()
Other
	
PERFORM <routine> ON COMMIT
CALL <Business-Objektname>_SAVEBUFFER IN UPDATE TASK

ODATA / Gateway
x.SEGW
CDS views