Skip to content

Avoid Obsolete ABAP Memory and Context Statements ​

WarningAnti-Patterns & Bad Practices#EC NO_OBS_MEMORYRemote Enabled

Overview ​

Obsolete Memory and Context Statements.

ATC Finding Message: Avoid obsolete memory, context, and legacy data-sharing constructs

Rationale ​

ABAP memory and database cluster statements (EXPORT ... TO MEMORY / DATABASE, FREE MEMORY) and Context commands (CONTEXTS, DEMAND, SUPPLY, PROVIDE) rely on hidden shared memory regions that break statelessness, multi-tenancy, and testability. In cloud systems, communicate explicitly via method parameters, database repositories, or session services.

Non-Compliant ​

abap
EXPORT user_id = lv_user TO MEMORY ID 'USR_CTX'.
FREE MEMORY ID 'USR_CTX'.

Compliant ​

abap
" Pass user context explicitly via method arguments or a dedicated context provider service.

Configuration & Thresholds ​

This check can be fine-tuned directly in the ATC Check Variant Editor (CHKV) in Eclipse ADT:

Parameter NameData TypeDefault ValueDescription & Guidance
CHECK_EXPORT_MEMORYBooleantrueDetect obsolete EXPORT TO MEMORY statements
CHECK_FREE_MEMORYBooleantrueDetect obsolete FREE MEMORY statements
CHECK_PROVIDEBooleantrueDetect obsolete PROVIDE statements
CHECK_CONTEXTSBooleantrueDetect obsolete CONTEXTS statements
CHECK_INFOTYPESBooleantrueDetect obsolete INFOTYPES statements
CHECK_COMMUNICATIONBooleantrueDetect obsolete COMMUNICATION statements
CHECK_CALL_TRANSFBooleantrueDetect obsolete CALL TRANSFORMATION XML statements

Suppression ​

To suppress findings for this rule, append the pseudo-comment to the statement:

abap
" Standard pseudo-comment:
... "#EC NO_OBS_MEMORY

" SAP CI_ prefix format:
... "#EC CI_NO_OBS_MEMORY

Technical Details ​

Released under the MIT License.