SAPMACO is a standard Executable ABAP Report available within your SAP system (depending on your version and release level). It is used for objects...see full standard documentation available for this report. Also check out the submitted Comments related to this SAP report and the details below to see which OBJECTS it interacts with such as TABLES, FUNCTION MODULES, INCLUDES ETC.
If you would like to execute this report or see the full code listing simply enter SAPMACO into the relevant SAP transactions such as SE38 or SE80
Below is a list of transaction codes which are relevant to this SAP report
CNV_MACO - Rebuilding matchcodes
This report can be called from another progam/report simply by using the ABAP SUBMIT statement, see below for example ABAP code snipts of how to do this.
Selection Text: BATCH = Execute in background
Selection Text: FUNKTION = Function (GEN,CRE,DEL,DMA,PRT)
Selection Text: MANDANT = Client
Selection Text: MCONAME = Matchcode object name
Selection Text: PRDDAYS = Job repetition period in days
Selection Text: STRTDATE = Start in background: Date
Selection Text: STRTIMM = Start immed. in background
Selection Text: STRTTIME = Time
Title: Matchcode Utility
Text Symbol: 001 = Function
Text Symbol: 002 = Client
Text Symbol: 005 = Matchcode object
Text Symbol: 024 = Generated variant
No INCLUDES are used within this REPORT code!
No SAP DATABASE tables are accessed within this REPORT code!
JOB_OPEN CALL FUNCTION 'JOB_OPEN' EXPORTING JOBNAME = AJOBNAME JOBGROUP = 'MATCHCODES' IMPORTING JOBCOUNT = JOBCOUNT EXCEPTIONS OTHERS = 1.
JOB_SUBMIT CALL FUNCTION 'JOB_SUBMIT' EXPORTING * arcparams = ' ' AUTHCKNAM = AUTHCKNAM EXTPGM_NAME = ' ' EXTPGM_PARAM = ' ' EXTPGM_SET_TRACE_ON = ' ' EXTPGM_STDERR_IN_JOBLOG = 'X' EXTPGM_STDOUT_IN_JOBLOG = 'X' EXTPGM_SYSTEM = ' ' EXTPGM_WAIT_FOR_TERMINATION = 'X' JOBCOUNT = JOBCOUNT JOBNAME = AJOBNAME LANGUAGE = SY-LANGU * priparams = ' ' REPORT = 'RSMCBTCH' VARIANT = VARNAME EXCEPTIONS BAD_PRIPARAMS = 01 BAD_XPGFLAGS = 02 INVALID_JOBDATA = 03 JOBNAME_MISSING = 04 JOB_NOTEX = 05 JOB_SUBMIT_FAILED = 06 LOCK_FAILED = 07 PROGRAM_MISSING = 08 PROG_ABAP_AND_EXTPG_SET = 09.
JOB_CLOSE CALL FUNCTION 'JOB_CLOSE' EXPORTING JOBNAME = AJOBNAME JOBCOUNT = JOBCOUNT SDLSTRTDT = EXDATE SDLSTRTTM = EXTIME PRDDAYS = PRDDAYS EXCEPTIONS OTHERS = 1.
BP_JOB_DELETE CALL FUNCTION 'BP_JOB_DELETE' EXPORTING FORCEDMODE = 'X' JOBCOUNT = JOBCOUNT JOBNAME = AJOBNAME EXCEPTIONS CANT_DELETE_EVENT_ENTRY = 01 CANT_DELETE_JOB = 02 CANT_DELETE_JOBLOG = 03 CANT_DELETE_STEPS = 04 CANT_DELETE_TIME_ENTRY = 05 CANT_DERELEASE_SUCCESSOR = 06 CANT_ENQ_PREDECESSOR = 07 CANT_ENQ_SUCCESSOR = 08 CANT_ENQ_TBTCO_ENTRY = 09 CANT_UPDATE_PREDECESSOR = 10 CANT_UPDATE_SUCCESSOR = 11 COMMIT_FAILED = 12 JOBCOUNT_MISSING = 13 JOBNAME_MISSING = 14 JOB_DOES_NOT_EXIST = 15 JOB_IS_ALREADY_RUNNING = 16 NO_DELETE_AUTHORITY = 17.
MC_CRE_CHECK_UTILITY CALL FUNCTION 'MC_CRE_CHECK_UTILITY' EXPORTING FUNC = FUNKTION MCONAME = MCO_NAME EXCEPTIONS FCT_NOT_FOUND = 1.
MC_TMCIR_ALL CALL FUNCTION 'MC_TMCIR_ALL' EXPORTING FUNC = 'DEF' MANDT = MCMANDT MCO = MCONAME TABLES MCIDSEL = MCIDSEL.
MC_CREATE_UTILITY_MCO CALL FUNCTION 'MC_CREATE_UTILITY_MCO' EXPORTING MCONAME = MCONAME EXCEPTIONS ERROR_MCO_DEFINITION = 1 MCO_NOT_FOUND = 1 MCO_NOT_ACTIVE = 1 MCO_NO_MCID = 1 MCO_NO_LANG_FIELD = 1 MCO_NO_FOREIGN_KEY_FIELD = 1 MCO_MISSING_FIELD_DESC = 1 MCO_INTERNAL_ERROR = 1 TOO_MANY_FUNCTIONS = 2 FUNCTION_ALREADY_EXISTS = 2 INVALID_FUNCTION_POOL = 2 ERROR_FUNCTION_CR = 3 MCO_DEF_ERROR = 4 GLOBAL_DATA_LOCK = 5 GLOBAL_DATA_LOCK_ERR = 6 GLOBAL_DATA_FREE = 7 ERROR_FUNCTION_DELETE = 8 INVALID_PHYSICAL_POOL = 9 NO_FUNCTION_GENERATED = 10.
MC_TMCIR_ALL CALL FUNCTION 'MC_TMCIR_ALL' EXPORTING FUNC = 'TIMG' MANDT = MCMANDT MCO = MCONAME TABLES MCIDSEL = MCIDSEL.
RS_VARIANT_EXISTS CALL FUNCTION 'RS_VARIANT_EXISTS' EXPORTING REPORT = REPORT_NAME VARIANT = VARIANT_NAME IMPORTING R_C = RC EXCEPTIONS NOT_AUTHORIZED = 01 NO_REPORT = 02 REPORT_NOT_EXISTENT = 03 REPORT_NOT_SUPPLIED = 04.
RS_VARIANT_DELETE * call function 'RS_VARIANT_DELETE' * exporting * report = report_name * variant = variant_name * importing * variant = variant_del * exceptions * not_authorized = 01 * not_executed = 02 * no_report = 03 * report_not_existent = 04 * report_not_supplied = 05 * variant_locked = 06 * variant_not_existent = 07 * variant_protected = 08.
RS_CHANGE_CREATED_VARIANT CALL FUNCTION 'RS_CHANGE_CREATED_VARIANT' EXPORTING CURR_REPORT = REPORT_NAME CURR_VARIANT = VARIANT_NAME VARI_DESC = VARID_TAB TABLES VARI_CONTENTS = RSPARAMS_TAB VARI_TEXT = VARIT_TAB EXCEPTIONS ILLEGAL_REPORT_OR_VARIANT = 01 ILLEGAL_VARIANTNAME = 02 NOT_AUTHORIZED = 03 NOT_EXECUTED = 04 REPORT_NOT_EXISTENT = 05 REPORT_NOT_SUPPLIED = 06 VARIANT_DOESNT_EXIST = 07 VARIANT_LOCKED = 08 SELECTIONS_NO_MATCH = 09.
RS_CREATE_VARIANT CALL FUNCTION 'RS_CREATE_VARIANT' EXPORTING CURR_REPORT = REPORT_NAME CURR_VARIANT = VARIANT_NAME VARI_DESC = VARID_TAB TABLES VARI_CONTENTS = RSPARAMS_TAB VARI_TEXT = VARIT_TAB EXCEPTIONS ILLEGAL_REPORT_OR_VARIANT = 01 ILLEGAL_VARIANTNAME = 02 NOT_AUTHORIZED = 03 NOT_EXECUTED = 04 REPORT_NOT_EXISTENT = 05 REPORT_NOT_SUPPLIED = 06 VARIANT_EXISTS = 07 VARIANT_LOCKED = 08.
Although this basic information may have limited use it does provide an easy to find location to store any knowledge about this program/report.