SAP DD_MASS_ACT_C3 Function Module for DD: Mass activation
DD_MASS_ACT_C3 is a standard dd mass act c3 SAP function module available within SAP R/3 or S/4 Hana systems, depending on your version and release level. It is used for DD: Mass activation processing and below is the pattern details for this FM, showing its interface including any import and export parameters, exceptions etc. there is also a full "cut and paste" ABAP pattern code example, along with implementation ABAP coding, documentation and contribution comments specific to this or related objects.
See here to view full function module documentation and code listing for dd mass act c3 FM, simply by entering the name DD_MASS_ACT_C3 into the relevant SAP transaction such as SE37 or SE38.
Function Group: SDMP
Program Name: SAPLSDMP
Main Program: SAPLSDMP
Appliation area:
Release date: N/A
Mode(Normal, Remote etc): Normal Function Module
Update:

Function DD_MASS_ACT_C3 pattern details
In-order to call this FM within your sap programs, simply using the below ABAP pattern details to trigger the function call...or see the full ABAP code listing at the end of this article. You can simply cut and paste this code into your ABAP progrom as it is, including variable declarations.CALL FUNCTION 'DD_MASS_ACT_C3'"DD: Mass activation.
EXPORTING
* DDMODE = 'O' "
* VERSION = 'ACT' "
* DELALL = ' ' "
* DELNOREF = ' ' "
* MEDIUM = 'T' "
* ENQUEUE = 'S' "Blocking type
* ACT_S = ' ' "DD: Activates single activation by mass activation program
* DEVICE = 'T' "
* LOGNAME = "Log Name
* WRITE_LOG = 'X' "
* LOG_HEAD_TAIL = 'X' "
* EXTTAB = ' ' "
* T_ON = 'X' "
* TST = ' ' "'X'/' ': Test Mode On/Off
* PARALLEL = 'X' "
* MAXTASKS = 12 "
* MINOBJS = 3000 "Minimum Number of Objects/Costs per Task
* MAXOBJS = 150000 "Maximum Number of Objects/Costs per Task
* RESPERC = 30 "% of Resources
* PRID = 0 "Log ID
* INACTIVE = ' ' "
* FRCACT = ' ' "
* AUTH_CHK = 'X' "
* PERSIST_SEL = "
* PERSIST = "
* NOTFILL = "
* EXCOMMIT = 'X' "
IMPORTING
ACT_RC = "
TABLES
GENTAB = "
DELTAB = "
* CNVTAB = "
* TRKORR = "
EXCEPTIONS
ACCESS_FAILURE = 1 NO_OBJECTS = 2 LOCKED = 3 INTERNAL_ERROR = 4
IMPORTING Parameters details for DD_MASS_ACT_C3
DDMODE -
Data type: DDMASS-DDMODEDefault: 'O'
Optional: Yes
Call by Reference: No ( called with pass by value option)
VERSION -
Data type: DDMASS-VERSIONDefault: 'ACT'
Optional: Yes
Call by Reference: No ( called with pass by value option)
DELALL -
Data type: DDMASS-DELALLDefault: ' '
Optional: Yes
Call by Reference: Yes
DELNOREF -
Data type: DDMASS-DELNOREFDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
MEDIUM -
Data type: DDMASS-MEDIUMDefault: 'T'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ENQUEUE - Blocking type
Data type: DDMASS-ENQUEUEDefault: 'S'
Optional: Yes
Call by Reference: No ( called with pass by value option)
ACT_S - DD: Activates single activation by mass activation program
Data type: DDMASS-ACTSINGLEDefault: ' '
Optional: Yes
Call by Reference: Yes
DEVICE -
Data type: DDMASS-DEVICEDefault: 'T'
Optional: Yes
Call by Reference: No ( called with pass by value option)
LOGNAME - Log Name
Data type: DDMASS-LOGNAMEOptional: Yes
Call by Reference: Yes
WRITE_LOG -
Data type: DDMASS-WRITE_LOGDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
LOG_HEAD_TAIL -
Data type: DDREFSTRUC-BOOLDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXTTAB -
Data type: DDMASS-EXTTABDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
T_ON -
Data type: DDREFSTRUC-BOOLDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
TST - 'X'/' ': Test Mode On/Off
Data type: DDMASSTSTDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
PARALLEL -
Data type: PARCONTROL-PARALLELDefault: 'X'
Optional: Yes
Call by Reference: Yes
MAXTASKS -
Data type: PARCONTROL-MAXTASKSDefault: 12
Optional: Yes
Call by Reference: No ( called with pass by value option)
MINOBJS - Minimum Number of Objects/Costs per Task
Data type: PARCONTROL-MINOBJSDefault: 3000
Optional: Yes
Call by Reference: Yes
MAXOBJS - Maximum Number of Objects/Costs per Task
Data type: PARCONTROL-MAXOBJSDefault: 150000
Optional: Yes
Call by Reference: Yes
RESPERC - % of Resources
Data type: PARCONTROL-RESPERCDefault: 30
Optional: Yes
Call by Reference: No ( called with pass by value option)
PRID - Log ID
Data type: SY-TABIXOptional: Yes
Call by Reference: No ( called with pass by value option)
INACTIVE -
Data type: DDMASS-INACTIVEDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
FRCACT -
Data type: DDMASS-FRCACTDefault: ' '
Optional: Yes
Call by Reference: No ( called with pass by value option)
AUTH_CHK -
Data type: DDMASS-AUTHCHKDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
PERSIST_SEL -
Data type: DDMASS-PERSISTSOptional: Yes
Call by Reference: No ( called with pass by value option)
PERSIST -
Data type: DDMASS-PERSISTOptional: Yes
Call by Reference: No ( called with pass by value option)
NOTFILL -
Data type: DDMASS-NOTFILLOptional: Yes
Call by Reference: No ( called with pass by value option)
EXCOMMIT -
Data type: DDMASS-EXCOMMITDefault: 'X'
Optional: Yes
Call by Reference: No ( called with pass by value option)
EXPORTING Parameters details for DD_MASS_ACT_C3
ACT_RC -
Data type: SY-SUBRCOptional: No
Call by Reference: No ( called with pass by value option)
TABLES Parameters details for DD_MASS_ACT_C3
GENTAB -
Data type: DCGENTBOptional: No
Call by Reference: No ( called with pass by value option)
DELTAB -
Data type: DCDELTBOptional: No
Call by Reference: No ( called with pass by value option)
CNVTAB -
Data type: DCTABLRESOptional: Yes
Call by Reference: No ( called with pass by value option)
TRKORR -
Data type:Optional: Yes
Call by Reference: Yes
EXCEPTIONS details
ACCESS_FAILURE -
Data type:Optional: No
Call by Reference: Yes
NO_OBJECTS -
Data type:Optional: No
Call by Reference: Yes
LOCKED -
Data type:Optional: No
Call by Reference: Yes
INTERNAL_ERROR -
Data type:Optional: No
Call by Reference: Yes
Copy and paste ABAP code example for DD_MASS_ACT_C3 Function Module
The ABAP code below is a full code listing to execute function module POPUP_TO_CONFIRM including all data declarations. The code uses the original data declarations rather than the latest in-line data DECLARATION SYNTAX but I have included an ABAP code snippet at the end to show how declarations would look using the newer method of declaring data variables on the fly. This will allow you to compare and fully understand the new inline method. Please note some of the newer syntax such as the @DATA is not available until a later 4.70 service pack (SP8), which i why i have stuck to the origianl for this example.| DATA: | ||||
| lv_act_rc | TYPE SY-SUBRC, " | |||
| lv_ddmode | TYPE DDMASS-DDMODE, " 'O' | |||
| lt_gentab | TYPE STANDARD TABLE OF DCGENTB, " | |||
| lv_access_failure | TYPE DCGENTB, " | |||
| lv_version | TYPE DDMASS-VERSION, " 'ACT' | |||
| lv_delall | TYPE DDMASS-DELALL, " ' ' | |||
| lv_delnoref | TYPE DDMASS-DELNOREF, " ' ' | |||
| lv_medium | TYPE DDMASS-MEDIUM, " 'T' | |||
| lv_enqueue | TYPE DDMASS-ENQUEUE, " 'S' | |||
| lv_act_s | TYPE DDMASS-ACTSINGLE, " ' ' | |||
| lv_device | TYPE DDMASS-DEVICE, " 'T' | |||
| lv_logname | TYPE DDMASS-LOGNAME, " | |||
| lv_write_log | TYPE DDMASS-WRITE_LOG, " 'X' | |||
| lv_log_head_tail | TYPE DDREFSTRUC-BOOL, " 'X' | |||
| lt_deltab | TYPE STANDARD TABLE OF DCDELTB, " | |||
| lv_exttab | TYPE DDMASS-EXTTAB, " ' ' | |||
| lv_no_objects | TYPE DDMASS, " | |||
| lv_t_on | TYPE DDREFSTRUC-BOOL, " 'X' | |||
| lv_tst | TYPE DDMASSTST, " ' ' | |||
| lv_parallel | TYPE PARCONTROL-PARALLEL, " 'X' | |||
| lv_maxtasks | TYPE PARCONTROL-MAXTASKS, " 12 | |||
| lv_minobjs | TYPE PARCONTROL-MINOBJS, " 3000 | |||
| lv_maxobjs | TYPE PARCONTROL-MAXOBJS, " 150000 | |||
| lv_resperc | TYPE PARCONTROL-RESPERC, " 30 | |||
| lv_prid | TYPE SY-TABIX, " 0 | |||
| lt_cnvtab | TYPE STANDARD TABLE OF DCTABLRES, " | |||
| lv_locked | TYPE DCTABLRES, " | |||
| lv_inactive | TYPE DDMASS-INACTIVE, " ' ' | |||
| lv_frcact | TYPE DDMASS-FRCACT, " ' ' | |||
| lt_trkorr | TYPE STANDARD TABLE OF DDMASS, " | |||
| lv_internal_error | TYPE DDMASS, " | |||
| lv_auth_chk | TYPE DDMASS-AUTHCHK, " 'X' | |||
| lv_persist_sel | TYPE DDMASS-PERSISTS, " | |||
| lv_persist | TYPE DDMASS-PERSIST, " | |||
| lv_notfill | TYPE DDMASS-NOTFILL, " | |||
| lv_excommit | TYPE DDMASS-EXCOMMIT. " 'X' |
|   CALL FUNCTION 'DD_MASS_ACT_C3' "DD: Mass activation |
| EXPORTING | ||
| DDMODE | = lv_ddmode | |
| VERSION | = lv_version | |
| DELALL | = lv_delall | |
| DELNOREF | = lv_delnoref | |
| MEDIUM | = lv_medium | |
| ENQUEUE | = lv_enqueue | |
| ACT_S | = lv_act_s | |
| DEVICE | = lv_device | |
| LOGNAME | = lv_logname | |
| WRITE_LOG | = lv_write_log | |
| LOG_HEAD_TAIL | = lv_log_head_tail | |
| EXTTAB | = lv_exttab | |
| T_ON | = lv_t_on | |
| TST | = lv_tst | |
| PARALLEL | = lv_parallel | |
| MAXTASKS | = lv_maxtasks | |
| MINOBJS | = lv_minobjs | |
| MAXOBJS | = lv_maxobjs | |
| RESPERC | = lv_resperc | |
| PRID | = lv_prid | |
| INACTIVE | = lv_inactive | |
| FRCACT | = lv_frcact | |
| AUTH_CHK | = lv_auth_chk | |
| PERSIST_SEL | = lv_persist_sel | |
| PERSIST | = lv_persist | |
| NOTFILL | = lv_notfill | |
| EXCOMMIT | = lv_excommit | |
| IMPORTING | ||
| ACT_RC | = lv_act_rc | |
| TABLES | ||
| GENTAB | = lt_gentab | |
| DELTAB | = lt_deltab | |
| CNVTAB | = lt_cnvtab | |
| TRKORR | = lt_trkorr | |
| EXCEPTIONS | ||
| ACCESS_FAILURE = 1 | ||
| NO_OBJECTS = 2 | ||
| LOCKED = 3 | ||
| INTERNAL_ERROR = 4 | ||
| . " DD_MASS_ACT_C3 | ||
ABAP code using 7.40 inline data declarations to call FM DD_MASS_ACT_C3
The below ABAP code uses the newer in-line data declarations. This allows you to see the coding differences/benefits of the later inline syntax. Please note some of the newer syntax below, such as the @DATA is not available until 4.70 EHP 8.| "SELECT single SUBRC FROM SY INTO @DATA(ld_act_rc). | ||||
| "SELECT single DDMODE FROM DDMASS INTO @DATA(ld_ddmode). | ||||
| DATA(ld_ddmode) | = 'O'. | |||
| "SELECT single VERSION FROM DDMASS INTO @DATA(ld_version). | ||||
| DATA(ld_version) | = 'ACT'. | |||
| "SELECT single DELALL FROM DDMASS INTO @DATA(ld_delall). | ||||
| DATA(ld_delall) | = ' '. | |||
| "SELECT single DELNOREF FROM DDMASS INTO @DATA(ld_delnoref). | ||||
| DATA(ld_delnoref) | = ' '. | |||
| "SELECT single MEDIUM FROM DDMASS INTO @DATA(ld_medium). | ||||
| DATA(ld_medium) | = 'T'. | |||
| "SELECT single ENQUEUE FROM DDMASS INTO @DATA(ld_enqueue). | ||||
| DATA(ld_enqueue) | = 'S'. | |||
| "SELECT single ACTSINGLE FROM DDMASS INTO @DATA(ld_act_s). | ||||
| DATA(ld_act_s) | = ' '. | |||
| "SELECT single DEVICE FROM DDMASS INTO @DATA(ld_device). | ||||
| DATA(ld_device) | = 'T'. | |||
| "SELECT single LOGNAME FROM DDMASS INTO @DATA(ld_logname). | ||||
| "SELECT single WRITE_LOG FROM DDMASS INTO @DATA(ld_write_log). | ||||
| DATA(ld_write_log) | = 'X'. | |||
| "SELECT single BOOL FROM DDREFSTRUC INTO @DATA(ld_log_head_tail). | ||||
| DATA(ld_log_head_tail) | = 'X'. | |||
| "SELECT single EXTTAB FROM DDMASS INTO @DATA(ld_exttab). | ||||
| DATA(ld_exttab) | = ' '. | |||
| "SELECT single BOOL FROM DDREFSTRUC INTO @DATA(ld_t_on). | ||||
| DATA(ld_t_on) | = 'X'. | |||
| DATA(ld_tst) | = ' '. | |||
| "SELECT single PARALLEL FROM PARCONTROL INTO @DATA(ld_parallel). | ||||
| DATA(ld_parallel) | = 'X'. | |||
| "SELECT single MAXTASKS FROM PARCONTROL INTO @DATA(ld_maxtasks). | ||||
| DATA(ld_maxtasks) | = 12. | |||
| "SELECT single MINOBJS FROM PARCONTROL INTO @DATA(ld_minobjs). | ||||
| DATA(ld_minobjs) | = 3000. | |||
| "SELECT single MAXOBJS FROM PARCONTROL INTO @DATA(ld_maxobjs). | ||||
| DATA(ld_maxobjs) | = 150000. | |||
| "SELECT single RESPERC FROM PARCONTROL INTO @DATA(ld_resperc). | ||||
| DATA(ld_resperc) | = 30. | |||
| "SELECT single TABIX FROM SY INTO @DATA(ld_prid). | ||||
| "SELECT single INACTIVE FROM DDMASS INTO @DATA(ld_inactive). | ||||
| DATA(ld_inactive) | = ' '. | |||
| "SELECT single FRCACT FROM DDMASS INTO @DATA(ld_frcact). | ||||
| DATA(ld_frcact) | = ' '. | |||
| "SELECT single AUTHCHK FROM DDMASS INTO @DATA(ld_auth_chk). | ||||
| DATA(ld_auth_chk) | = 'X'. | |||
| "SELECT single PERSISTS FROM DDMASS INTO @DATA(ld_persist_sel). | ||||
| "SELECT single PERSIST FROM DDMASS INTO @DATA(ld_persist). | ||||
| "SELECT single NOTFILL FROM DDMASS INTO @DATA(ld_notfill). | ||||
| "SELECT single EXCOMMIT FROM DDMASS INTO @DATA(ld_excommit). | ||||
| DATA(ld_excommit) | = 'X'. | |||
Search for further information about these or an SAP related objects