SAP ABAP Class CL_BADI_MAIN (Main Class for BAdI Handling)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   BC-ABA-LA (Application Component) Syntax, Compiler, Runtime
     SFW_BADI (Package) New Switchable BAdIs
Properties
Class CL_BADI_MAIN  
Short Description Main Class for BAdI Handling    
Super Class    
Instantiability of a Class 2  Public 
Final    
General Data
Message Class    
Program status P  SAP Standard Production Program 
Category 0   
Package SFW_BADI   New Switchable BAdIs 
Created 20040809   SAP 
Last change 20130531   SAP 
Shared Memory-enabled    
Fixed point arithmetic    
Unicode checks active    
Forward declarations
# Type group / Object type Type Type Description
1 ABAP Type group use (TYPE-POOLS tp)  Type group use (TYPE-POOLS tp)
2 CL_ABAP_CHAR_UTILITIES Forward declaration class (CLASS c DEFINITION DEFERRED)  Forward declaration class (CLASS c DEFINITION DEFERRED)
3 SEOP Type group use (TYPE-POOLS tp)  Type group use (TYPE-POOLS tp)
4 SREXT Type group use (TYPE-POOLS tp)  Type group use (TYPE-POOLS tp)
Interfaces
Class CL_BADI_MAIN has no interface implemented.
Friends
Class CL_BADI_MAIN has no friend class.
Attributes
# Attribute Level Visibility Read only Typing Associated Type Initial Value Description Created on
1 BADI_BASE_CLASS Constant Public Type reference (TYPE) CLASSNAME 'CL_BADI_BASE' Reference Type 20040907
2 BADI_CONTEXT Constant Public Type reference (TYPE) BADI_CONTEXT_MODE 'Y' BAdI Creation Depends on Context 20040908
3 BADI_CONTEXT_NEW Constant Public Type reference (TYPE) BADI_CONTEXT_MODE 'N' BAdI is context-free, always with new instances 20040908
4 BADI_CONTEXT_SINGLETON Constant Public Type reference (TYPE) BADI_CONTEXT_MODE 'S' BAdI Is a Context-Free Singleton (per Filter Bindings) 20040908
5 BADI_DEFINITION Instance attribute Private Object reference (TYPE REF TO) CL_BADI_DEFINITION 20040907
6 BADI_NAME Instance attribute Private Type reference (TYPE) CLASSNAME Reference Type 20040907
7 CR_LF Constant Private Type reference (TYPE) STRING CL_ABAP_CHAR_UTILITIES=>CR_LF 20040907
8 CTX_PAR_NAME Constant Public See coding 'CTX' Field Length: 40 Characters 20060601
9 DEF_IMPLEMENTATIONS Instance attribute Private Type reference (TYPE) FULL_IMPL_TABLE 20050414
10 DEF_IMPLEMENTATIONS_LOADED Instance attribute Private Type reference (TYPE) ABAP_BOOL 20050414
11 NONDEF_IMPLEMENTATIONS Instance attribute Private Type reference (TYPE) FULL_IMPL_TABLE 20050414
12 NONDEF_IMPLEMENTATIONS_LOADED Instance attribute Private Type reference (TYPE) ABAP_BOOL 20050414
13 READER Instance attribute Private Object reference (TYPE REF TO) IF_BADI_INFORMATION_READER Interface for Defining Read Functions of BAdI Information 20050613
Methods
# Method Level Visibility Method type Description Created on
1 ACTIVATE_BADI_CLASS Static method Public Method not implemented yet 20040827
2 BADI_CLASS_EXISTS Static method Public Method 20041103
3 CHECK_CONSISTENCY Instance method Public Method Tests consistency (for example, single-use heuristic) 20050414
4 CHECK_IMPL_COLLISION Instance method Public Method Tests whether the passed implemantation causes a collision 20050415
5 COMPARE Instance method Public Method Compare runtime and designtime data 20110119
6 COMPARE_IMPL_TABLE Static method Private Method 20110119
7 CREATE_BADI_CLASS Instance method Private Method Generates and Saves the Class for the Given BAdIs 20040907
8 DELETE_BADI_CLASS Static method Public Method Delete BAdI Class 20040907
9 EQUALS Instance method Public Method 20050613
10 EQUALS_WITHOUT_ORDER Instance method Public Method 20070208
11 GENERATE_BADI_CLASS Static method Public Method Generates and Saves a BAdI Class 20040915
12 GET_ALL_IMPLEMENTATIONS Instance method Public Method Returns All Implementations of a BAdI 20060801
13 GET_BADI_REPRESENTATION Static method Public Method Factory Mmethod, which creates a repr. of a BAdI def. 20040907
14 GET_CLASSPOOL_SOURCE Static method Private Method Generates the Source for the BAdI Class Pool 20040907
15 GET_DEF_IMPLEMENTATIONS Instance method Private Method Loads the default implementations for the BAdI instance 20050414
16 GET_DEVCLASS Static method Private Method Retrieves devclass for a specified enhancement 20080319
17 GET_ENHANCEMENT_SPOT Instance method Public Method 20110119
18 GET_FILTERS Instance method Public Method Returns the Table of Filters 20041122
19 GET_NONDEF_IMPLEMENTATIONS Instance method Private Method Loads the non-default implementation for the BAdI instance 20050414
20 GET_SELECTED_IMPLEMENTATIONS Static method Public Method Retrieves the Table of Selected BAdI Implementations 20040810
21 GET_SWITCH_STATE Static method Public Method Retrieves Switch State for the Current Client Wrt a Enhancem 20040924
22 IMPL_TABLE_DIFFERENCE Static method Private Method 20110119
23 IMPL_TABLE_EQUALS Static method Private Method 20050613
24 IMPL_TABLE_EQUALS_WO_ORDER Static method Private Method 20070208
25 IMPL_TABLE_SUBSET Static method Private Method 20070208
26 INVALIDATE_BADI_LOAD Static method Public Method Invalidates Corresponding Class Load 20041203
27 PRINT_STRING Instance method Public Method Return BAdI Definition as String 20050412
28 SELECT_IMPLS Static method Private Method Retrieves the Table of Selected BAdI Implementations 20050510
29 SORT_IMPLS Static method Private Method (deprecated) 20050513
30 TYPE_IS_BADI Static method Public Method Checks, if a Type is a BAdI 20061013
Events
Class CL_BADI_MAIN has no event.
Types
# Type Visibility Typing Associated Type Description Created on Type Source
1 BADI_IMPL_TABLE Private See coding 20050510 BADI_IMPL_TABLE type standard table of badi_impl
2 CLASS_TABLE Public See coding 20041019 CLASS_table type standard table of classname with default key
3 CONDITION_TABLE Public See coding 20050415 condition_table type sorted table of fline with unique key disj_idx filter_name conj_idx idx
4 FDECLARATIONS Public See coding 20040809 FDECLARATIONS type standard table of badi_filter_declaration with default key
5 FLINE Public See coding 20050415 begin of fline, disj_idx type i, filter_name type badi_filter_name, conj_idx type i, idx type i, value1 type ref to data, value2 type ref to data, compare type char4, is_interval type abap_bool, ftype type char1, end of fline
6 FULL_IMPL_TABLE Public See coding 20060801 FULL_IMPL_TABLE type standard table of ref to cl_badi_implementation with default key
7 HASHED_IMPL_TABLE Public See coding 20110119 hashed_IMPL_TABLE type hashed table of ref to cl_badi_implementation with unique key TABLE_LINE
8 IMPL_TABLE Public See coding 20040826 impl_table type standard table of badi_impl_name with default key
Method Signatures

Method ACTIVATE_BADI_CLASS Signature

Method ACTIVATE_BADI_CLASS on class CL_BADI_MAIN has no parameter.
Method ACTIVATE_BADI_CLASS on class CL_BADI_MAIN has no exception.

Method BADI_CLASS_EXISTS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning EXISTS Value transfer Type reference (TYPE) ABAP_BOOL 20041103
2 Importing NAME Call by reference Type reference (TYPE) BADI_NAME Name eines BAdIs 20041103

Method BADI_CLASS_EXISTS on class CL_BADI_MAIN has no exception.

Method CHECK_CONSISTENCY Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning OK Value transfer Type reference (TYPE) ABAP_BOOL 20050415
# Exception Resumable Description Created on
1 CX_BADI_CONSISTENCY_ERROR Ausnahmen beim statischen Konsistenzcheck 20050415

Method CHECK_IMPL_COLLISION Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing CONDITION Call by reference Type reference (TYPE) CONDITION_TABLE 20050415
2 Importing DEFAULT Call by reference Type reference (TYPE) ABAP_BOOL Ist die neue Impl eine Default-Impl? 20050415
3 Importing ENHNAME Call by reference Type reference (TYPE) ENHNAME Id eines Enhancements 20050506
4 Returning OK Value transfer Type reference (TYPE) ABAP_BOOL 20050415
# Exception Resumable Description Created on
1 CX_BADI_CONSISTENCY_ERROR Ausnahmen beim statischen Konsistenzcheck 20050415

Method COMPARE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing BADI Value transfer Object reference (TYPE REF TO) CL_BADI_MAIN 20110119
2 Exporting DEFINITION_DIFFERS Value transfer Type reference (TYPE) ABAP_BOOL 20110119
3 Exporting IMPLS_WITH_MISSING_DESIGNTIME Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110119
4 Exporting IMPLS_WITH_MISSING_RUNTIME Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110119
5 Exporting IMPLS_W_MISS_BADIIMPL_ENH Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110223

Method COMPARE on class CL_BADI_MAIN has no exception.

Method COMPARE_IMPL_TABLE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting IMPLS_WITH_MISSING_DESIGNTIME Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110119
2 Exporting IMPLS_WITH_MISSING_RUNTIME Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110119
3 Exporting IMPLS_W_MISS_BADIIMPL_ENH Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110223
4 Importing IMPS_DESIGNTIME Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20110119
5 Importing IMPS_RUNTIME Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20110119

Method COMPARE_IMPL_TABLE on class CL_BADI_MAIN has no exception.

Method CREATE_BADI_CLASS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing CHECK_SYNTAX Call by reference Type reference (TYPE) CHAR1 Einstelliges Kennzeichen 20050321

Method CREATE_BADI_CLASS on class CL_BADI_MAIN has no exception.

Method DELETE_BADI_CLASS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing NAME Call by reference Type reference (TYPE) BADI_NAME Name eines BAdIs 20040915

Method DELETE_BADI_CLASS on class CL_BADI_MAIN has no exception.

Method EQUALS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing BADI Value transfer Object reference (TYPE REF TO) CL_BADI_MAIN Main class for BAdI-handling 20050613
2 Returning DIFF Value transfer Type reference (TYPE) STRING 20050620

Method EQUALS on class CL_BADI_MAIN has no exception.

Method EQUALS_WITHOUT_ORDER Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing BADI Value transfer Object reference (TYPE REF TO) CL_BADI_MAIN Main class for BAdI-handling 20070208
2 Returning DIFF Value transfer Type reference (TYPE) STRING 20070208

Method EQUALS_WITHOUT_ORDER on class CL_BADI_MAIN has no exception.

Method GENERATE_BADI_CLASS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing CHECK_SYNTAX Call by reference Type reference (TYPE) CHAR1 ' ' Einstelliges Kennzeichen 20050321
2 Importing ENHS_NAME Call by reference Type reference (TYPE) ENHSPOTNAME Name (ID) of an Enhancement Spot 20060118
3 Importing NAME Call by reference Type reference (TYPE) BADI_NAME 20040915

Method GENERATE_BADI_CLASS on class CL_BADI_MAIN has no exception.

Method GET_ALL_IMPLEMENTATIONS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning IMPLEMENTATIONS Value transfer Type reference (TYPE) FULL_IMPL_TABLE 20060801

Method GET_ALL_IMPLEMENTATIONS on class CL_BADI_MAIN has no exception.

Method GET_BADI_REPRESENTATION Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing BADI_READER Value transfer Object reference (TYPE REF TO) IF_BADI_INFORMATION_READER Interface zur Definition von Lesefunktionen von BAdI-Informa 20050613
2 Importing ENHS_NAME Value transfer Type reference (TYPE) ENHSPOTNAME Name (ID) of an Enhancement Spot 20060118
3 Returning INSTANCE Value transfer Object reference (TYPE REF TO) CL_BADI_MAIN Main class for BAdI-handling 20040907
4 Importing NAME Value transfer Type reference (TYPE) BADI_NAME Referenztyp 20040907

Method GET_BADI_REPRESENTATION on class CL_BADI_MAIN has no exception.

Method GET_CLASSPOOL_SOURCE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing NAME Call by reference Type reference (TYPE) CLASSNAME Referenztyp 20040907
2 Exporting SOURCE Call by reference Type reference (TYPE) SEOP_SOURCE 20040907

Method GET_CLASSPOOL_SOURCE on class CL_BADI_MAIN has no exception.

Method GET_DEF_IMPLEMENTATIONS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting IMPS Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20050414
2 Importing INCLUDE_INACTIVE_IMPLS Call by reference Type reference (TYPE) ABAP_BOOL 20111124

Method GET_DEF_IMPLEMENTATIONS on class CL_BADI_MAIN has no exception.

Method GET_DEVCLASS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning DEVCLASS Value transfer Type reference (TYPE) DEVCLASS Paket 20080319
2 Importing ENHNAME Call by reference Type reference (TYPE) ENHNAME Id eines Enhancements 20080319

Method GET_DEVCLASS on class CL_BADI_MAIN has no exception.

Method GET_ENHANCEMENT_SPOT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning ENHS_NAME Value transfer Type reference (TYPE) ENHSPOTNAME 20110119

Method GET_ENHANCEMENT_SPOT on class CL_BADI_MAIN has no exception.

Method GET_FILTERS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning FILTERS Value transfer Type reference (TYPE) FDECLARATIONS 20041122

Method GET_FILTERS on class CL_BADI_MAIN has no exception.

Method GET_NONDEF_IMPLEMENTATIONS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting IMPS Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20050414
2 Importing INCLUDE_INACTIVE_IMPLS Call by reference Type reference (TYPE) ABAP_BOOL 20111124

Method GET_NONDEF_IMPLEMENTATIONS on class CL_BADI_MAIN has no exception.

Method GET_SELECTED_IMPLEMENTATIONS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting CLASSES Call by reference Type reference (TYPE) CLASS_TABLE 20041019
2 Exporting ENHANCEMENTS Call by reference Type reference (TYPE) ENHNAME_IT Interne Tabelle über ENHNAME 20050127
3 Importing FILTERS Call by reference Type reference (TYPE) BADI_FILTER_BINDINGS Table of Filter-bindings 20040810
4 Exporting IMPLEMENTATIONS Call by reference Type reference (TYPE) IMPL_TABLE 20041019
5 Importing NAME Call by reference Type reference (TYPE) BADI_NAME Name eines BAdIs 20041203

Method GET_SELECTED_IMPLEMENTATIONS on class CL_BADI_MAIN has no exception.

Method GET_SWITCH_STATE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing ENHNAME Call by reference Type reference (TYPE) ENHNAME Referenztyp 20041203
2 Returning STATE Value transfer Type reference (TYPE) SFW_SWITCHPOS Schalterstellung 20040924

Method GET_SWITCH_STATE on class CL_BADI_MAIN has no exception.

Method IMPL_TABLE_DIFFERENCE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IMPS1 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20110119
2 Importing IMPS2 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20110119
3 Exporting IMPS_NOT_IN_IMPS2 Call by reference Type reference (TYPE) HASHED_IMPL_TABLE 20110119

Method IMPL_TABLE_DIFFERENCE on class CL_BADI_MAIN has no exception.

Method IMPL_TABLE_EQUALS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning DIFF Value transfer Type reference (TYPE) STRING 20050620
2 Importing IMPS1 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20050613
3 Importing IMPS2 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20050613

Method IMPL_TABLE_EQUALS on class CL_BADI_MAIN has no exception.

Method IMPL_TABLE_EQUALS_WO_ORDER Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning DIFF Value transfer Type reference (TYPE) STRING 20070208
2 Importing IMPS1 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20070208
3 Importing IMPS2 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20070208

Method IMPL_TABLE_EQUALS_WO_ORDER on class CL_BADI_MAIN has no exception.

Method IMPL_TABLE_SUBSET Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning COUNTER_EXAMPLE Value transfer Object reference (TYPE REF TO) CL_BADI_IMPLEMENTATION falls imp1 keine Teilmenge von imps2 ist, gibts ein Beispiel 20070208
2 Importing IMPS1 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20070208
3 Importing IMPS2 Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20070208

Method IMPL_TABLE_SUBSET on class CL_BADI_MAIN has no exception.

Method INVALIDATE_BADI_LOAD Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing NAME Call by reference Type reference (TYPE) BADI_NAME Name eines BAdIs 20041203

Method INVALIDATE_BADI_LOAD on class CL_BADI_MAIN has no exception.

Method PRINT_STRING Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing CLIENT Value transfer Type reference (TYPE) SFW_CLIENT Mandant 20050819
2 Returning REPR Value transfer Type reference (TYPE) STRING 20050412

Method PRINT_STRING on class CL_BADI_MAIN has no exception.

Method SELECT_IMPLS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting CLASSES Call by reference Type reference (TYPE) CLASS_TABLE 20050510
2 Exporting ENHANCEMENTS Call by reference Type reference (TYPE) ENHNAME_IT Interne Tabelle über ENHNAME 20050510
3 Importing FILTERS Call by reference Type reference (TYPE) BADI_FILTER_BINDINGS Table of Filter-bindings 20050510
4 Exporting IMPLEMENTATIONS Call by reference Type reference (TYPE) IMPL_TABLE 20050510
5 Importing IMPS Call by reference Type reference (TYPE) BADI_IMPL_TABLE Name eines BAdIs 20050510
6 Importing SINGLE_USE Call by reference Type reference (TYPE) ABAP_BOOL 20050510

Method SELECT_IMPLS on class CL_BADI_MAIN has no exception.

Method SORT_IMPLS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Changing IMPS Call by reference Type reference (TYPE) FULL_IMPL_TABLE 20050513

Method SORT_IMPLS on class CL_BADI_MAIN has no exception.

Method TYPE_IS_BADI Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Returning IS_BADI Value transfer Type reference (TYPE) ABAP_BOOL 20061013
2 Importing NAME Call by reference Type reference (TYPE) CSEQUENCE Name des Dictionary Typs 20061013

Method TYPE_IS_BADI on class CL_BADI_MAIN has no exception.
History
Last changed by/on SAP  20130531 
SAP Release Created in 700