SAP ABAP Class CL_FDT_FACTORY (FDT: Factory)
Hierarchy
SAP_BASIS (Software Component) SAP Basis Component
   BC-SRV-BR (Application Component) BRFplus - ABAP-Based Business Rules
     SFDT_CORE (Package) BRFplus: Core
Meta Relationship - Using
# Relationship type Using Short Description Created on
1 Interface implementation (CLASS c. INTERFACES i_ref)  IF_FDT_FACTORY FDT: Factory 20050822
Properties
Class CL_FDT_FACTORY  
Short Description FDT: Factory    
Super Class    
Instantiability of a Class 0  Private 
Final    
General Data
Message Class    
Program status     
Category 0   
Package SFDT_CORE   BRFplus: Core 
Created 20050822   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_FDT_ADMIN_DATA Forward declaration class (CLASS c DEFINITION DEFERRED)  Forward declaration class (CLASS c DEFINITION DEFERRED)
3 IF_FDT_TYPES Forward declaration interface (INTERFACE i DEFINITION DEF...  Forward declaration interface (INTERFACE i DEFINITION DEF...
Interfaces
# Interface Abstract Final Description Created on
1 IF_FDT_FACTORY FDT: Factory 20050822
Friends
# Friend Modeled only Created on Description
1 CL_FDT_ADMIN_DATA 20070727 FDT: Administrative Data
2 CL_FDT_DATA_EXCHANGE 20051219 FDT: Data Exchange
3 CL_FDT_GTC_ADMIN_DATA 20070616 Abstract test class for testing transactional FDT objects
4 CL_FDT_LUW 20070619 FDT: LUW Object
5 CL_FDT_SERVICES_INTERNAL 20101124 FDT: Services for Internal Use Only
6 CL_FDT_TRANS_CORE 20100517 FDT: Using Core Functions for Check, Delete and Activate
7 CL_FDT_UNITTEST_HELPERS 20070629 Toolset for global unit tests
Attributes
# Attribute Level Visibility Read only Typing Associated Type Initial Value Description Created on
1 GTH_INSTANCE Static Attribute Private Type reference (TYPE) TH_INSTANCE List of instances of maintenance objects 20071023
2 GTS_FACTORY Static Attribute Private Type reference (TYPE) TS_FACTORY List of factory instances 20050907
3 GV_HOLD_STRONG_REF Static Attribute Private Type reference (TYPE) ABAP_BOOL ABAP_TRUE Factories should hold strong ref to avoid garbage collection 20060705
4 GV_SAVE_INSTANTIATION Static Attribute Public Type reference (TYPE) ABAP_BOOL 20101124
5 GV_SOURCE_TRACE Static Attribute Private Type reference (TYPE) ABAP_BOOL Trace the source of instance creation (During Debugging). 20091218
6 MV_APPLICATION_ID Instance attribute Private Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20050826
7 MV_DESTRUCT_REMAINING_OBJS Static Attribute Private Type reference (TYPE) I Remaining objects after a destruct object 20100922
Methods
# Method Level Visibility Method type Description Created on
1 CLEAR_BUFFERS Static method Public Method Clear object buffers 20060927
2 CONSTRUCTOR Instance method Public Constructor CONSTRUCTOR 20050826
3 CREATE_APPLICATION_AS_COPY Static method Public Method 20080414
4 CREATE_FUNCTION_AS_COPY Static method Public Method 20080414
5 CREATE_OBJECT_REFERENCE Instance method Private Method Create instance of a BRFplus object 20110705
6 DESTRUCT_OBJECT Static method Public Method Destruct an object 20080331
7 DESTRUCT_OBJECT_INTERNAL Static method Private Method Destruct an object (internal) 20101124
8 GET_CHANGED_OBJECTS Static method Private Method Get the changed (unsaved) objects 20060418
9 GET_CLASSNAME Instance method Private Method Get classname for an object type 20070811
10 GET_EXTY_CLASSNAME Instance method Private Method Get classname for the expression type 20061130
11 GET_ID_INFORMATION Static method Public Method Get information about ID (application, object type,...) 20080401
12 GET_INSTANCE Instance method Public Method 20070808
13 GET_INSTANCE_GENERIC Static method Public Method Get an instance for any kind of object type 20060104
14 GET_OBJECT Instance method Private Method Get an object 20070811
15 GET_OBJECTS Static method Private Method Get the object instances 20060910
16 HANDLE_OBJECT_CHANGED Instance method Private Event handling method Event handler for OBJECT_CHANGED 20060307
17 HANDLE_OBJECT_CHANGE_DISCARDED Instance method Private Event handling method Event handler for OBJECT_CHANGES_DISCARDED 20080110
18 HANDLE_OBJECT_SAVED Instance method Private Event handling method Event handler for OBJECT_SAVED 20060307
19 HOLD_WEAK_REFERENCES Static method Public Method Should factories hold weak ref to foster garbage collectn.? 20060720
20 REGISTER_OBJECT_AT_WORKLIST Static method Private Method Register a changed FDT object at worklist 20061020
21 UNREGISTER_OBJECT_AT_WORKLIST Static method Private Method Unregister an FDT object at worklist after save or discard 20061020
22 _GET_EXTY_CLASSNAME_DYNAMIC Instance method Private Method Get classname for the expression type 20070910
Events
Class CL_FDT_FACTORY has no event.
Types
# Type Visibility Typing Associated Type Description Created on Type Source
1 O_ADMIN_DATA Private Object reference (TYPE REF TO) IF_FDT_ADMIN_DATA Object instance 20060418
2 S_FACTORY Private See coding Factory instance 20050907 BEGIN OF s_factory, application_id TYPE if_fdt_types=>id, o_factory TYPE REF TO cl_fdt_factory, END OF s_factory
3 S_INSTANCE Private See coding Instance of maintenance object 20050826 BEGIN OF s_instance, id TYPE if_fdt_types=>id, object_type TYPE if_fdt_types=>object_type, o_reference TYPE REF TO lif_reference, changed TYPE abap_bool, t_table_mode TYPE abap_bool, "MA20091217 source TYPE string, "MA20091217 END OF s_instance
4 TH_INSTANCE Private See coding List of instances of maintenance objects 20071023 th_instance TYPE hashed TABLE OF s_instance WITH UNIQUE KEY id
5 TS_FACTORY Private See coding List of factory instances 20050907 ts_factory TYPE SORTED TABLE OF s_factory WITH UNIQUE KEY application_id
6 T_OBJECT Private See coding List of object instances 20060418 t_object TYPE STANDARD TABLE OF o_admin_data
Method Signatures

Method CLEAR_BUFFERS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting ET_MESSAGE Call by reference Type reference (TYPE) IF_FDT_TYPES=>T_MESSAGE Messages 20060927
2 Exporting EV_FAILURE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: unsaved changes, buffers cannot be cleared 20060927
3 Importing ITH_APPLICATION_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>TH_OBJECT_ID Object IDs as hashed table 20081016
4 Importing IV_CHECK_NO_CHANGED_OBJECTS Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE 20081017
5 Importing IV_CHECK_NO_LOCKED_OBJECTS Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE 20070124
6 Importing IV_CUSTOMIZING_OBJECTS Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE 20071212
7 Importing IV_MASTERDATA_OBJECTS Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE 20071212
8 Importing IV_SKIP_ENQUEUED Call by reference Type reference (TYPE) ENQMODE Retain buffer for enqueued objects 20110906
9 Importing IV_SYSTEM_OBJECTS Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE 20071212
# Exception Resumable Description Created on
1 CX_FDT_SYSTEM BRFplus Locking/Unlocking Failure 20091023

Method CONSTRUCTOR Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_APPLICATION_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20050826

Method CONSTRUCTOR on class CL_FDT_FACTORY has no exception.

Method CREATE_APPLICATION_AS_COPY Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_APPLICATION_NAME Call by reference Type reference (TYPE) IF_FDT_TYPES=>NAME Beschreibung 20080414
2 Returning RO_APPLICATION Value transfer Object reference (TYPE REF TO) IF_FDT_APPLICATION FDT: Application 20080414
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20080414
2 CX_FDT_SYSTEM FDT: System Failure 20080414

Method CREATE_FUNCTION_AS_COPY Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_APPLICATION_NAME Call by reference Type reference (TYPE) IF_FDT_TYPES=>NAME Beschreibung 20080414
2 Importing IV_FUNCTION_NAME Call by reference Type reference (TYPE) IF_FDT_TYPES=>NAME Beschreibung 20080414
3 Returning RO_FUNCTION Value transfer Object reference (TYPE REF TO) IF_FDT_FUNCTION FDT: Application 20080414
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20080414
2 CX_FDT_SYSTEM FDT: System Failure 20080414

Method CREATE_OBJECT_REFERENCE Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_DATA_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>DATA_OBJECT_TYPE Data Object Type 20110705
2 Importing IV_EXPRESSION_TYPE_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20110705
3 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20110705
4 Importing IV_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>OBJECT_TYPE Objekttyp 20110705
5 Importing IV_WEAK_REFERENCE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_FALSE Create a weak reference to the object only 20110705
6 Returning RO_REF Value transfer Object reference (TYPE REF TO) LIF_REFERENCE 20110705
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20110705

Method DESTRUCT_OBJECT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting EV_EXTERNAL_REFERENCE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: failed to destruct, still external references 20080331
2 Importing ITS_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Object IDs as sorted table 20080331
3 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Object ID 20080331

Method DESTRUCT_OBJECT on class CL_FDT_FACTORY has no exception.

Method DESTRUCT_OBJECT_INTERNAL Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting ETS_ID_FAIL_CHANGED Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Object is changed and thus not discarded 20101221
2 Exporting ETS_ID_FAIL_REFERENCED Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Object still referenced externally 20101221
3 Exporting ETS_ID_SUCCESS Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Successfully desctructed objects 20101221
4 Importing ITS_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Object IDs as sorted table 20101124
5 Importing IV_ALL Call by reference Type reference (TYPE) ABAP_BOOL ABAP_FALSE Destruct all objects, threshold logic applies if false 20110118
6 Importing IV_DISCARD_FORCED Call by reference Type reference (TYPE) ABAP_BOOL ABAP_FALSE Forced destruction of objects 20110118
7 Importing IV_DISCARD_UNSAVED Call by reference Type reference (TYPE) ABAP_BOOL ABAP_FALSE Forced destruction of unsaved objects only 20101221
8 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20101221

Method DESTRUCT_OBJECT_INTERNAL on class CL_FDT_FACTORY has no exception.

Method GET_CHANGED_OBJECTS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting ETS_OBJECT_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>TS_OBJECT_ID Object_IDs 20060418
2 Exporting ET_OBJECT Call by reference Type reference (TYPE) T_OBJECT List of object instances 20060418

Method GET_CHANGED_OBJECTS on class CL_FDT_FACTORY has no exception.

Method GET_CLASSNAME Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_DATA_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>DATA_OBJECT_TYPE Data Object Type 20070811
2 Importing IV_EXPRESSION_TYPE_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Expression Type ID 20070811
3 Importing IV_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>OBJECT_TYPE Object Type 20070811
4 Returning RV_CLASSNAME Value transfer Type reference (TYPE) CLASSNAME Class Name 20070811
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20070811

Method GET_EXTY_CLASSNAME Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_EXTY_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Expression Type ID 20061130
2 Returning RV_CLASSNAME Value transfer Type reference (TYPE) CLASSNAME Reference type 20061130
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20061130

Method GET_ID_INFORMATION Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting EV_ACCESS_LEVEL Call by reference Type reference (TYPE) IF_FDT_TYPES=>ACCESS_LEVEL Access Level 20080401
2 Exporting EV_ACTION Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: is an action 20080826
3 Exporting EV_APPLICATION_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Application ID 20080401
4 Exporting EV_CUSTOMIZING_OBJECT Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: customizing object 20080401
5 Exporting EV_DATA_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>DATA_OBJECT_TYPE Data Object Type 20080826
6 Exporting EV_DELETED Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: ID is deleted logically 20080401
7 Exporting EV_EXPRESSION_TYPE_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Expression Type ID 20080826
8 Exporting EV_ID_UNKNOWN Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: ID is unknown 20080401
9 Exporting EV_LOCAL_OBJECT Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: local object 20080401
10 Exporting EV_MARKED_FOR_DELETE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: ID is marked for delete 20080401
11 Exporting EV_MASTERDATA_OBJECT Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: master data object 20080401
12 Exporting EV_NAME Call by reference Type reference (TYPE) IF_FDT_TYPES=>NAME Name 20080401
13 Exporting EV_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>OBJECT_TYPE Object Type 20080401
14 Exporting EV_OBSOLETE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: ID is marked as obsolete 20080401
15 Exporting EV_SYSTEM_OBJECT Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: system object 20080401
16 Exporting EV_UNNAMED Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE: no name defined 20080401
17 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20080401

Method GET_ID_INFORMATION on class CL_FDT_FACTORY has no exception.

Method GET_INSTANCE Signature

Method GET_INSTANCE on class CL_FDT_FACTORY has no parameter.
Method GET_INSTANCE on class CL_FDT_FACTORY has no exception.

Method GET_INSTANCE_GENERIC Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting EO_INSTANCE Call by reference Object reference (TYPE REF TO) IF_FDT_ADMIN_DATA FDT: Administrative Data 20060104
2 Exporting EV_ID_UNKNOWN Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE:ID unknown 20060104
3 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20060104
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20070719

Method GET_OBJECT Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_CREATE Call by reference Type reference (TYPE) ABAP_BOOL ABAP_FALSE ABAP_TRUE: create new object when IV_ID is unknown 20070811
2 Importing IV_DATA_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>DATA_OBJECT_TYPE Data Object Type 20070811
3 Importing IV_EXPRESSION_TYPE_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Expression Type ID 20070811
4 Importing IV_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Universal Unique Identifier 20070811
5 Importing IV_OBJECT_TYPE Call by reference Type reference (TYPE) IF_FDT_TYPES=>OBJECT_TYPE Object Type 20070811
6 Returning RO_OBJECT Value transfer Object reference (TYPE REF TO) CL_FDT_MAINTENANCE Object 20070811
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20070811

Method GET_OBJECTS Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Exporting ET_OBJECT Call by reference Type reference (TYPE) T_OBJECT List of object instances 20060910

Method GET_OBJECTS on class CL_FDT_FACTORY has no exception.

Method HANDLE_OBJECT_CHANGED Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_ID Value transfer Attribute reference (LIKE) 20060307

Method HANDLE_OBJECT_CHANGED on class CL_FDT_FACTORY has no exception.

Method HANDLE_OBJECT_CHANGE_DISCARDED Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_ID Value transfer Attribute reference (LIKE) 20080110

Method HANDLE_OBJECT_CHANGE_DISCARDED on class CL_FDT_FACTORY has no exception.

Method HANDLE_OBJECT_SAVED Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_ID Value transfer Attribute reference (LIKE) 20060307

Method HANDLE_OBJECT_SAVED on class CL_FDT_FACTORY has no exception.

Method HOLD_WEAK_REFERENCES Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_HOLD_WEAK_REF Call by reference Type reference (TYPE) ABAP_BOOL ABAP_TRUE abap_true - Yes, abap_false - No 20060720

Method HOLD_WEAK_REFERENCES on class CL_FDT_FACTORY has no exception.

Method REGISTER_OBJECT_AT_WORKLIST Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IO_OBJECT Call by reference Object reference (TYPE REF TO) OBJECT changed or newly created FDT object 20061020

Method REGISTER_OBJECT_AT_WORKLIST on class CL_FDT_FACTORY has no exception.

Method UNREGISTER_OBJECT_AT_WORKLIST Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IO_OBJECT Call by reference Object reference (TYPE REF TO) OBJECT changed or newly created FDT object 20061020
2 Importing IV_CHANGE_DISCARDED Call by reference Type reference (TYPE) ABAP_BOOL True: Unregister due to discard 20121114

Method UNREGISTER_OBJECT_AT_WORKLIST on class CL_FDT_FACTORY has no exception.

Method _GET_EXTY_CLASSNAME_DYNAMIC Signature

# Type Parameter Pass Value Optional Typing Method Associated Type Default value Description Created on
1 Importing IV_EXTY_ID Call by reference Type reference (TYPE) IF_FDT_TYPES=>ID Expression Type ID 20070910
2 Returning RV_CLASSNAME Value transfer Type reference (TYPE) CLASSNAME Reference type 20070910
# Exception Resumable Description Created on
1 CX_FDT_INPUT FDT: Invalid Input 20070910
History
Last changed by/on SAP  20130531 
SAP Release Created in 710