CL_CRM_MKTPL_EAI_MASS_PROCESS - Common Mass Process Class
General Material Data Vendor Master (General Section)This documentation is copyright by SAP AG.
>>> Development Documentation generated by DocuGenerator v2.0 (only available in English => NO TRANSLATION!!!) <<<
General Class Description
Common Mass Process Class
__________________________________________________________
Class Info
| Name: | CL_CRM_MKTPL_EAI_MASS_PROCESS |
| Instantiation: | Protected |
Superclass
Implemented Interfaces
None
Friend Classes
None
Subclasses
CL_CRM_MKTPL_EAI_MASS_CREATE
CL_CRM_MKTPL_EAI_MASS_READ
__________________________________________________________
Methods
CALLBACK_RECEIVE_RESULT_DATA
Public Abstract CALLBACK_RECEIVE_RESULT_DATA(
| IMPORTING | CLIKE | P_TASK |
)
| ________________________________________________________________________ |
|---|
CHECK_SERVER_GROUP_VALIDITY
Protected static CHECK_SERVER_GROUP_VALIDITY(
| IMPORTING | RZLLI_APCL | IV_SERVER_GROUP_NAME |
)
This method checks the server group name validiy and initialize the
server group for the parallel processing.
The Check server validity returns True only if no exceptions raised.
Parameters
| - | IV_SERVER_GROUP_NAME | is the server group name to be checked |
Exceptions
| - | CX_CRM_MKTPL_EAI_CUSTOMIZING | when no available capacity is found |
| for the corresponding server group. |
| ________________________________________________________________________ |
|---|
CONSTRUCTOR
Protected CONSTRUCTOR( )
Create object instance and create a Task Manager instance.
| ________________________________________________________________________ |
|---|
DIVIDE_MKT_PROJS_INTO_BUCKETS
Protected DIVIDE_MKT_PROJS_INTO_BUCKETS(
| IMPORTING | I | IV_BUCKET_THRESHOLD |
| ANY TABLE | IT_MARKETING_PROJECT | |
| EXPORTING | ANY TABLE | ET_BUCKET |
)
This method divides the list of marketing projects into tasks.
Each task contains the maximum allowed entries (based on IMG customizing)
Parameters
| - | IV_BUCKET_THRESHOLD | contains the bucket threshold used for dividing the object list |
| - | IT_MARKETING_PROJECT | contains the list of marketing projects |
| - | ET_BUCKET | contains the list of bucket contains the marketing |
| objects. |
| ________________________________________________________________________ |
|---|
EXECUTE_JOB_PROCESSING
Protected EXECUTE_JOB_PROCESSING(
| IMPORTING | ANY | IT_MARKETING_PROJECT |
| EXPORTING | CRMT_MKTPL_EAI_LOG | ET_MESSAGE_LOG |
)
This method checks the customizing for the parallel processing. After dividing
the marketing project lists into different tasks (which contains marketing
projects), each task is processed in parallel on the available server.
If any issue during the parallel processing, all the marketing projects which
remain into the unprocessed tasks are processed once in local.
Parameters
| - | IT_MARKETING_PROJECT | includes the marketing projects |
| - | ET_MESSAGE_LOG | includes the messages logged during the process. |
| ________________________________________________________________________ |
|---|
FREE
Redefined Protected FREE( )
Clear the Task Manager static variables.
| ________________________________________________________________________ |
|---|
GET_BUCKET_THRESHOLD
Protected Abstract I GET_BUCKET_THRESHOLD(
| IMPORTING | CRMS_MKTPL_EAI_PARALL_PRC_CUST | IS_THRESHOLD_CUSTOMIZING |
)
| ________________________________________________________________________ |
|---|
GET_FM_NAME_FOR_PARALLEL_PROC
Protected Abstract CRMT_FUNCTION_NAME GET_FM_NAME_FOR_PARALLEL_PROC( )
| ________________________________________________________________________ |
|---|
GET_MARKETING_PROJECT_SIZE
Protected Abstract I GET_MARKETING_PROJECT_SIZE(
| IMPORTING | ANY | IS_MARKETING_OBJECT |
)
| ________________________________________________________________________ |
|---|
GET_OBJECT_TYPE_TO_PROCESS
Protected Abstract CGPL_OBJECT_TYPE GET_OBJECT_TYPE_TO_PROCESS( )
| ________________________________________________________________________ |
|---|
GET_PARALLEL_PROCESSING_TYPE
Protected Abstract CRM_MKTPL_EAI_PARALL_PROC_TYPE GET_PARALLEL_PROCESSING_TYPE( )
| ________________________________________________________________________ |
|---|
PROCESS_TASKS
Protected PROCESS_TASKS(
| IMPORTING | CRMT_MKTPL_EAI_TASK | IT_TASK |
)
This methods decides if we use the parallel processing or if we call the synchronous processing.
Then, it trigger the processing accordingly to the decision.
Parameters
| - | IT_TASK | Table of tasks to process. |
Exceptions
| - | CX_CRM_MKTPL_EAI_CUSTOMIZING | Propagate any exception that can happen when we read the |
| customizing of parallel processing. |
| ________________________________________________________________________ |
|---|
PROCESS_TASKS_IN_LOCAL
Protected Abstract PROCESS_TASKS_IN_LOCAL(
| IMPORTING | CRMT_MKTPL_EAI_TASK | IT_TASK |
)
| ________________________________________________________________________ |
|---|
PROCESS_TASKS_IN_PARALLEL
Protected PROCESS_TASKS_IN_PARALLEL(
| IMPORTING | RZLLI_APCL | IV_SERVER_GROUP_NAME |
| CRMT_FUNCTION_NAME | IV_FUNCTION_MODULE_TO_CALL | |
| CRMT_MKTPL_EAI_TASK | IT_TASK |
)
This method loops at each task and processes each
one of them in parallel.
Parameters
| - | IV_SERVER_GROUP_NAME | contains the server group name used for parallel processing |
| - | IV_FUNCTION_MODULE_TO_CALL | contains the function module to be called dynamically |
| - | IT_TASK | contains the list of tasks |
| ________________________________________________________________________ |
|---|
PROCESS_TASK_IN_PARALLEL
Protected PROCESS_TASK_IN_PARALLEL(
| IMPORTING | RZLLI_APCL | IV_SERVER_GROUP_NAME |
| CRMT_FUNCTION_NAME | IV_FUNCTION_MODULE_TO_CALL | |
| CRMS_MKTPL_EAI_TASK | IS_TASK |
)
This method processes one task in parallel by using parallel processing framework.
If there is a communication or a system failure, the method tries to reprocess
this task a few times (arbitrary stated as 3 times). For each try, failed server is
removed from the server group.
If maximum retries are reached, the task will be processed afterwards in local.
If no server left into the server group, the remaining tasks will be processed
afterwards in local.
The function module is called dyanmically for all type of parallel processing (Create, Read ...)
Parameters
| - | IV_SERVER_GROUP_NAME | represents the server group allocated to parallel processing. |
| - | IV_FUNCTION_MODULE_TO_CALL | contains the function module to be called for in parallel processing. |
| - | IS_TASK | represents the specific task to be processed on parallel. |
Exceptions
| - | CX_CRM_MKTPL_EAI_FAILED | when no server left into the allocated server group |
| ________________________________________________________________________ |
|---|
REMOVE_LAST_SERVER
Protected REMOVE_LAST_SERVER( )
Removes the last server requested for a parallel task from usage.
This should be called RIGHT AFTER A FAILED CALL IN UPDATE TASK.
In the case of an exception, the server is imply not removed from
the call list.
Exceptions
| - | CX_CRM_MKTPL_EAI_FAILED | when no server left into the allocated |
| server group. |
RFUMSV00 - Advance Return for Tax on Sales/Purchases RFUMSV00 - Advance Return for Tax on Sales/Purchases
This documentation is copyright by SAP AG.
Length: 15701 Date: 20120526 Time: 113227 triton ( 156 ms )






