Avoid Classic List Processing Statements
WarningAnti-Patterns & Bad Practices#EC 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 Name | Data Type | Default Value |
|---|---|---|
CHECK_WRITE | Boolean | true |
CHECK_ULINE | Boolean | true |
CHECK_SKIP | Boolean | true |
CHECK_OTHER | Boolean | true |
IGN_WRITE_TO | Boolean | true |
CHECK_LEAVE | Boolean | true |
CHECK_REJECT | Boolean | true |
Suppression
To suppress findings for this rule, append the pseudo-comment to the statement:
abap
" Standard pseudo-comment:
... "#EC LIST_PROC
" SAP CI_ prefix format:
... "#EC CI_LIST_PROCTechnical Details
- Native ATC Class:
ZCL_SKYLINT_NO_LIST_PROC - Implementation File: zcl_skylint_no_list_proc.clas.abap