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

CL_CRM_MKTPL_EAI

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(

IMPORTINGCLIKE P_TASK

)

________________________________________________________________________

CHECK_SERVER_GROUP_VALIDITY

Protected static CHECK_SERVER_GROUP_VALIDITY(

IMPORTINGRZLLI_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_NAMEis the server group name to be checked

Exceptions

- CX_CRM_MKTPL_EAI_CUSTOMIZINGwhen 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(

IMPORTINGI IV_BUCKET_THRESHOLD
ANY TABLE IT_MARKETING_PROJECT
EXPORTINGANY 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_THRESHOLDcontains the bucket threshold used for dividing the object list
- IT_MARKETING_PROJECTcontains the list of marketing projects
- ET_BUCKETcontains the list of bucket contains the marketing
 objects.

________________________________________________________________________

EXECUTE_JOB_PROCESSING

Protected EXECUTE_JOB_PROCESSING(

IMPORTINGANY IT_MARKETING_PROJECT
EXPORTINGCRMT_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_PROJECTincludes the marketing projects
- ET_MESSAGE_LOGincludes 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(

IMPORTINGCRMS_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(

IMPORTINGANY 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(

IMPORTINGCRMT_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_TASKTable of tasks to process.

Exceptions

- CX_CRM_MKTPL_EAI_CUSTOMIZINGPropagate any exception that can happen when we read the
 customizing of parallel processing.

________________________________________________________________________

PROCESS_TASKS_IN_LOCAL

Protected Abstract PROCESS_TASKS_IN_LOCAL(

IMPORTINGCRMT_MKTPL_EAI_TASK IT_TASK

)

________________________________________________________________________

PROCESS_TASKS_IN_PARALLEL

Protected PROCESS_TASKS_IN_PARALLEL(

IMPORTINGRZLLI_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_NAMEcontains the server group name used for parallel processing
- IV_FUNCTION_MODULE_TO_CALLcontains the function module to be called dynamically
- IT_TASKcontains the list of tasks

________________________________________________________________________

PROCESS_TASK_IN_PARALLEL

Protected PROCESS_TASK_IN_PARALLEL(

IMPORTINGRZLLI_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_NAMErepresents the server group allocated to parallel processing.
- IV_FUNCTION_MODULE_TO_CALLcontains the function module to be called for in parallel processing.
- IS_TASKrepresents the specific task to be processed on parallel.

Exceptions

- CX_CRM_MKTPL_EAI_FAILEDwhen 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_FAILEDwhen 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 )