Skip to content

Avoid Classic List Processing Statements ​

WarningAnti-Patterns & Bad Practices#EC NO_LIST_PROCRemote Enabled

Overview ​

Prohibit classic list processing statements.

ATC Finding Message: List processing statement is forbidden in OO/Cloud ABAP

Rationale ​

Classic list processing with WRITE, ULINE, FORMAT, and READ LINE only works in SAP GUI list reports and is unavailable in ABAP Cloud. It couples business logic to screen output and makes the code impossible to test independently. Use application logging or a modern UI framework instead of writing directly to a list.

Non-Compliant ​

abap
WRITE / 'Order processed:'.
ULINE.

Compliant ​

abap
mo_logger->info( 'Order processed:' ).

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_WRITEBooleantrueDetect classic list processing WRITE statements
CHECK_ULINEBooleantrueDetect classic ULINE statements
CHECK_SKIPBooleantrueDetect classic SKIP statements
CHECK_OTHERBooleantrueDetect BACK, FORMAT, and classic print formatting statements
IGN_WRITE_TOBooleantrueIgnore WRITE ... TO ... string formatting statements (use string templates instead)
CHECK_LEAVEBooleantrueDetect LEAVE LIST-PROCESSING statements
CHECK_REJECTBooleantrueDetect REJECT statements in logical databases

Suppression ​

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

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

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

Technical Details ​

Released under the MIT License.