Professional Documents
Culture Documents
ATC Pseudo Comments List
ATC Pseudo Comments List
(https://www.facebook.com/sharer/sharer.php?u=http%3A%2F%2Fabapblog.com&t=) (https://twitter.com/intent/tweet?
source=http%3A%2F%2Fabapblog.com&text=:%20http%3A%2F%2Fabapblog.com&via=abapblog) (http://pinterest.com/pin/create/button/?
url=http%3A%2F%2Fabapblog.com&title=) (http://www.linkedin.com/shareArticle?
mini=true&url=http%3A%2F%2Fabapblog.com&title=&summary=&source=http%3A%2F%2Fabapblog.com) (https://pinboard.in/popup_login/?
url=http%3A%2F%2Fabapblog.com&title=&description=)
1 Comment
I was implementing ATC checks in the company I work for and wanted to find the place where the information about possible pseudo comments are stored.
In transaction ATC I could find them in the management of priorities for check variants, but I couldn't find corresponding DB table. Seems that they are stored directly in
the checks that's why after some debugging I've setup a break-point in the SCI transaction and then I've collected all the checks that have assigned pseudo comments.
The version of NW that I was extracting pseudo comments from is 7.52 SP02.
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 1/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Now you can also use this information as I've attached the whole table bellow, hopefully it will help you to find the correct pseudo comment if the code cannot be
adjusted in your opinion.
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 2/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_DDIC_TABLES 2 N No Data Class or Size Category CI_TABL_EXCEPTN
Chosen
CL_CI_TEST_DDIC_TABLES 3 W Buffering Permitted, but Switched Off CI_TABL_EXCEPTN
selected - Size Category < 2
CL_CI_TEST_DDIC_TABLES 4 N Buffering Permitted, but Switched Off CI_TABL_EXCEPTN
selected - Size Category >= 2
CL_CI_TEST_DDIC_TABLES 10 N Buffering Type is initial but Delivery CI_TABL_EXCEPTN
Class Is "&1"
CL_CI_TEST_DDIC_TABLES 11 N Buffering is activated but Delivery CI_TABL_EXCEPTN
Class Is "&1"
CL_CI_TEST_DDIC_TABLES 12 N Buffering is activated but Size CI_TABL_EXCEPTN
Category Is "&1"
CL_CI_TEST_DDIC_TABLES 13 N Buffering is initial but Data Class Is CI_TABL_EXCEPTN
"APPL2"
CL_CI_TEST_DDIC_TABLES 14 N Buffering is activated but Data Class CI_TABL_EXCEPTN
Is "&1"
CL_CI_TEST_DDIC_TABLES 15 N Buffering is activated but no Buffering CI_TABL_EXCEPTN
Type is chosen
CL_CI_TEST_DDIC_TABLES 16 N Buffering is permitted but table is CI_TABL_EXCEPTN
contained in DB view &1
CL_CI_TEST_DDIC_TABLES 17 N Buffering is permitted but table can be CI_TABL_EXCEPTN
changed using database view &1
CL_CI_TEST_DDIC_TABLES 20 O Table has more than 100 fields CI_TABL_EXCEPTN
CL_CI_TEST_DDIC_TABLES 21 N Table has more than 700 fields CI_TABL_EXCEPTN
CL_CI_TEST_DDIC_TABLES 22 E Change Log active despite Data CI_TABL_EXCEPTN
Class "APPL0" or "APPL1"
CL_CI_TEST_DDIC_TABLES 23 E Change Log active for large table CI_TABL_EXCEPTN
(Size Category &1)
CL_CI_TEST_DDIC_TABLES 30 N Table has unique Secondary Index CI_TABL_EXCEPTN
CL_CI_TEST_DDIC_TABLES 31 N Table has more than 4 Secondary CI_TABL_EXCEPTN
Indexes though Data Class is
"APPL0"
CL_CI_TEST_DDIC_TABLES 32 N Secondary Index "&1": more than 4 CI_TABL_EXCEPTN
fields
CL_CI_TEST_DDIC_TABLES 33 N Table has non-unique secondary CI_TABL_EXCEPTN
index but is buffered
CL_CI_TEST_DDIC_TABLES 34 N Table has more than 2 Secondary CI_TABL_EXCEPTN
Indexes though Data Class is
"APPL1"
CL_CI_TEST_DDIC_TABLES 35 N At least 2 fields ("&1" and "&2") are CI_TABL_EXCEPTN
included in 2 Indexes
CL_CI_TEST_DDIC_TABLES 36 N Index "&2" contains Index "&1" (left- CI_TABL_EXCEPTN
aligned)
CL_CI_TEST_DDIC_TABLES 37 W Table &1: field &3 in secondary index CI_TABL_EXCEPTN
&2 is of the type FLOAT
CL_CI_TEST_DDIC_TABLES 38 N Cross-Client table &1: Secondary CI_TABL_EXCEPTN
Index &2 without client field
CL_CI_TEST_DDIC_TABLES 39 N Cross-Client table &1: Secondary CI_TABL_EXCEPTN
index &2 does not have client as first
field
CL_CI_TEST_DDIC_TABLES 41 W INDX-type table &1 is buffered CI_TABL_EXCEPTN
CL_CI_TEST_DDIC_TABLES 42 W View &1: first field not client, though CI_TABL_EXCEPTN
basis table &2 is client-specific
CL_CI_TEST_DDIC_TABLES 43 W View &1: Client fields of basis tables CI_TABL_EXCEPTN
&2 not linked using join condition
CL_CI_TEST_DDIC_TABLES 50 N Language-dependent table &1: CI_TABL_EXCEPTN
Language is not first field (or second
after the client)
CL_CI_TEST_DDIC_TABLES 51 N Language-specific table &1 is not CI_TABL_EXCEPTN
buffered generically with regard to
language
CL_CI_TEST_DDIC_TABLES 60 W Table &1 contains &2 STRING or CI_TABL_EXCEPTN
RAWSTRING fields
CL_CI_TEST_DDIC_TABLES 70 W Though table &1 lies in column store, CI_TABL_EXCEPTN
secondary index &2 has more than
one field
CL_CI_TEST_DDIC_TABLES 71 W Though table &1 lies in row store, CI_TABL_EXCEPTN
secondary index &2 is explicitly
excluded from HDB
CL_CI_TEST_DDIC_TABLES 72 W Table &1 lies in row store, but CI_TABL_EXCEPTN
software component is &2
CL_CI_TEST_DDIC_TABLES 131 W Table has more than 7 secondary CI_TABL_EXCEPTN
indexes, though data class is APPL0
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 3/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_DDIC_TABLES 134 W Table has more than 5 secondary CI_TABL_EXCEPTN
indexes though data class is APPL1
CL_CI_TEST_DDIC_TABLES 137 E Table &1: Field &3 in primary index is CI_TABL_EXCEPTN
of type FLOAT
CL_CI_TEST_EXTENDED_CHECK 100 E There is no form routine for this PERF_NO_FORM
PERFORM call
CL_CI_TEST_EXTENDED_CHECK 101 E Wrong number of parameters for this PERF_NUM_ARGS
PERFORM call
CL_CI_TEST_EXTENDED_CHECK 102 E Undefined TABLES parameter for this PERF_TABLE_CATEGORY
PERFORM call
CL_CI_TEST_EXTENDED_CHECK 103 E Formal parameter incompatible with COMPATIBLE
actual parameter
CL_CI_TEST_EXTENDED_CHECK 105 E STRUCTURE parameter too short for COMPATIBLE
formal parameter
CL_CI_TEST_EXTENDED_CHECK 106 E Literal incompatible with formal LIT_COMPATIBLE
parameter
CL_CI_TEST_EXTENDED_CHECK 200 W CASE statement with identical WHEN WHEN_DOUBLE_OK
conditions
CL_CI_TEST_EXTENDED_CHECK 201 N LOOP with WHERE/TO condition LOOP_AT_OK
contains an AT (Warning)
CL_CI_TEST_EXTENDED_CHECK 202 N The TO limit in LOOP is overwritten in LOOP_TO_OK
body
CL_CI_TEST_EXTENDED_CHECK 203 N Name begins with a reserved prefix PREFIX_OK
'%_'
CL_CI_TEST_EXTENDED_CHECK 204 E FREE MEMORY statement with no ID FREE_MEMORY_OK
specified
CL_CI_TEST_EXTENDED_CHECK 205 N INCLUDE program does not have INCL_TYPE_OK
type I
CL_CI_TEST_EXTENDED_CHECK 206 W WHEN statement written in chained WHEN_CHAIN_OK
statement
CL_CI_TEST_EXTENDED_CHECK 208 W Exception handling is empty NO_HANDLER
CL_CI_TEST_EXTENDED_CHECK 209 E STOP statement in MODUL definition STOP_IN_MODULE
CL_CI_TEST_EXTENDED_CHECK 212 N Exception handling is empty NO_HANDLER
CL_CI_TEST_EXTENDED_CHECK 215 E LOAD-OF-PROGRAM event with LOAD_STMNT_OK
invalid statement
CL_CI_TEST_EXTENDED_CHECK 219 E STOP Statement in Function Module STOP_IN_FM
CL_CI_TEST_EXTENDED_CHECK 237 W Important SY field is overwritten WRITE_OK
CL_CI_TEST_EXTENDED_CHECK 300 W Authorization field missing AUTH_FLD_MISSING
CL_CI_TEST_EXTENDED_CHECK 301 W Authorization object not entered in AUTH_OBJ_OK
table TOBJ
CL_CI_TEST_EXTENDED_CHECK 302 W Wrong number of authorization fields AUTH_FLD_NO
CL_CI_TEST_EXTENDED_CHECK 303 W Authorizations: Wrong fixed domain AUTH_DOM_VAL_OK
value entered for ID
CL_CI_TEST_EXTENDED_CHECK 304 W Authorizations: Field length too long AUTH_FLD_LEN
CL_CI_TEST_EXTENDED_CHECK 401 N GET/SET parameters: Field length GS_TWENTY
too long
CL_CI_TEST_EXTENDED_CHECK 402 N GET/SET parameter not entered in EXISTS
TPARA
CL_CI_TEST_EXTENDED_CHECK 600 W T100 MESSAGE not defined MG_MISSING
CL_CI_TEST_EXTENDED_CHECK 601 N MESSAGE call contains the wrong MG_MISSING
number of WITH parameters
CL_CI_TEST_EXTENDED_CHECK 607 N Missing attribute in exception class for MG_MIS_ATT
T100 message
CL_CI_TEST_EXTENDED_CHECK 700 W GUI status not defined STAT_UNDEF
CL_CI_TEST_EXTENDED_CHECK 701 W TITLE not defined TITL_UNDEF
CL_CI_TEST_EXTENDED_CHECK 800 W BREAK-POINT statement NO_BREAK
CL_CI_TEST_EXTENDED_CHECK 806 N Statement after STMNT_EXIT
EXIT/STOP/RETURN/RAISE/SUBMIT
cannot be reached
CL_CI_TEST_EXTENDED_CHECK 824 N Redundant assignment NEEDED
CL_CI_TEST_EXTENDED_CHECK 901 N Undefined search help SEARCH_HELP_OK
CL_CI_TEST_EXTENDED_CHECK 903 N Initial value check for field type VALUE_OK
CL_CI_TEST_EXTENDED_CHECK 904 N Reference is not written NEEDED
CL_CI_TEST_EXTENDED_CHECK 916 W Calculations with time stamp fields TIME_ARITH
CL_CI_TEST_EXTENDED_CHECK 1000 W Called function module does not exist EXISTS
CL_CI_TEST_EXTENDED_CHECK 1001 E Function module parameter not called FM_PAR_MIS
CL_CI_TEST_EXTENDED_CHECK 1002 W Function module parameter missing ARG_OK
CL_CI_TEST_EXTENDED_CHECK 1003 E Class-based exception is not handled EXCEPT_TRY
CL_CI_TEST_EXTENDED_CHECK 1004 N The called function module is FM_OLDED
obsolete
CL_CI_TEST_EXTENDED_CHECK 1006 N Undefined return code accessed after FM_SUBRC_OK
CALL FUNCTION
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 4/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_EXTENDED_CHECK 1007 N Return codes of function module FM_SUBRC_OK
exceptions are ignored
CL_CI_TEST_EXTENDED_CHECK 1010 W Update module with invalid statement FM_UPDATE_OK
CL_CI_TEST_EXTENDED_CHECK 1025 W Function module exception missing ARG_OK
CL_CI_TEST_EXTENDED_CHECK 1400 N CURR field produced without UOM_IN_MES
CURRENCY Addition
CL_CI_TEST_EXTENDED_CHECK 1401 N UNIT field produced without UNIT UOM_IN_MES
addition
CL_CI_TEST_EXTENDED_CHECK 1700 N Text element missing in a character NO_TEXT
string
CL_CI_TEST_EXTENDED_CHECK 1701 N Text element not defined in TEXT- TEXT_POOL
POOL
CL_CI_TEST_EXTENDED_CHECK 1713 N Text element is missing in a character NO_TEXT
string in a string template
CL_CI_TEST_EXTENDED_CHECK 1800 E Transaction code not entered in TSTC TSTC_MISS
CL_CI_TEST_EXTENDED_CHECK 1801 W SUBMIT parameter does not exist SUB_PAR
CL_CI_TEST_EXTENDED_CHECK 1802 E SELECT-OPTION missing for SUB_SELOP
SUBMIT parameters
CL_CI_TEST_EXTENDED_CHECK 1803 E Dialog module is not entered in TDCT TDCT_MISS
CL_CI_TEST_EXTENDED_CHECK 1804 E Report called using SUBMIT is not SUB_NO_REP
type 1
CL_CI_TEST_EXTENDED_CHECK 1805 W User exit enhancement missing USER_SMOD
CL_CI_TEST_EXTENDED_CHECK 1806 E Function module with interface USER_FM
missing in function group (X..)
CL_CI_TEST_EXTENDED_CHECK 1808 N Report called using SUBMIT has no SUB_FR_SEL
dynamic selections
CL_CI_TEST_EXTENDED_CHECK 1809 E Program does not exist NEEDED
CL_CI_TEST_EXTENDED_CHECK 2004 E Not all supported date formats are DATE_FORMAT
handled
CL_CI_TEST_EXTENDED_CHECK 2005 W It is possible that not all supported DATE_FORMAT
date formats are handled
CL_CI_TEST_EXTENDED_CHECK 2601 W SELECT loop contains statement that CURSOR_LOST
destroys cursor
CL_CI_TEST_EXTENDED_CHECK 2605 E Use of ASSIGN or UNASSIGN on LOOP_ASSIGN
field symbol forbidden
CL_CI_TEST_EXTENDED_CHECK 3200 E Index access on internal table outside LOOP_INDEX
a LOOP
CL_CI_TEST_EXTENDED_CHECK 3202 E Non-numeric index access on internal INDEX_NUM
table
CL_CI_TEST_FIELD_EXT ARC_TYPE W Structure-Component &2 (&1) CI_FLDEXT_OK
arithmetic conflict &3 -> &4
CL_CI_TEST_FIELD_EXT ARC_TYPEO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
arithmetic conflict &3 -> &4
CL_CI_TEST_FIELD_EXT AR_TYPE W Arithmetic type conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT AR_TYPEO W Old Arithmetic type conflict (&1) &2 <- CI_FLDEXT_OK
> &3
CL_CI_TEST_FIELD_EXT CAST N Casting from/to (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT COMP_CMP E Compare Structure-Component &2 CI_FLDEXT_OK
(&1) type conflict &3 <-> &4
CL_CI_TEST_FIELD_EXT COMP_CONS N Constant-Compare conflict (&1) &2 <- CI_FLDEXT_OK
> &3
CL_CI_TEST_FIELD_EXT COMP_CONSO N Old Constant-Compare conflict (&1) CI_FLDEXT_OK
&2 <-> &3
CL_CI_TEST_FIELD_EXT COMP_GEN N Compare (&1) <-> Generic CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT COMP_LENG E Compare length conflict (&1) &2 <-> CI_FLDEXT_OK
&3
CL_CI_TEST_FIELD_EXT COMP_LENGO W Old Compare length conflict (&1) &2 CI_FLDEXT_OK
<-> &3
CL_CI_TEST_FIELD_EXT COMP_TYPE E Compare type conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT COMP_TYPEO W Old Compare type conflict (&1) &2 <-> CI_FLDEXT_OK
&3
CL_CI_TEST_FIELD_EXT CONCAT E Concatenate (&1) length conflict &2 -> CI_FLDEXT_OK
&3
CL_CI_TEST_FIELD_EXT CONCATO W Old Concatenate (&1) length conflict CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_FIELD_EXT DESCRIBE N DESCRIBE FIELD (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT DYN_ASS N Dynamic Assign -> (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT DYN_DB N Dynamic DB-Access (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT EXPORT N EXPORT (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT FUNPAR W Type used by RFC-Function CI_FLDEXT_OK
parameter (&1) &2 -> &3
CL_CI_TEST_FIELD_EXT FUNPAR_CMP W Type component &2 used by RFC- CI_FLDEXT_OK
Function parameter (&1) &3 - >&4
CL_CI_TEST_FIELD_EXT GEN N &1 <-> &2 CI_FLDEXT_OK
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 5/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_FIELD_EXT GEND N Move (&1) -> Generic CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT GENS N Generic -> (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT GET_PARAM N GET PARAMETER (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT IMPORT N IMPORT (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT LEVEL N Analyze aborted CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT MOVE_CUT E Move length conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT MOVE_CUTO W Old Move length conflict (&1) &2 -> CI_FLDEXT_OK
&3
CL_CI_TEST_FIELD_EXT MOVE_EXT N Move length extend (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT MOVE_TYPE W Move type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT MOVE_TYPEO W Old Move type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT MSG_INTO E MESSAGE-INTO length conflict (&1) CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_FIELD_EXT MSG_INTOO W Old MESSAGE-INTO length conflict CI_FLDEXT_OK
(&1) &2 -> &3
CL_CI_TEST_FIELD_EXT MSG_WITH E MESSAGE-WITH length conflict (&1) CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_FIELD_EXT MSG_WITHO W Old MESSAGE-WITH length conflict CI_FLDEXT_OK
(&1) &2 -> &3
CL_CI_TEST_FIELD_EXT MVC_CUT E Structure-Component &2 (&1) length CI_FLDEXT_OK
conflict &3 -> &4
CL_CI_TEST_FIELD_EXT MVC_CUTO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
length conflict &3 -> &4
CL_CI_TEST_FIELD_EXT MVC_EXT N Structure-Component &2 (&1) length CI_FLDEXT_OK
extend &3 -> &4
CL_CI_TEST_FIELD_EXT MVC_TYPE W Structure-Component &2 (&1) type CI_FLDEXT_OK
conflict &3 -> &4
CL_CI_TEST_FIELD_EXT MVC_TYPEO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
type conflict &3 -> &4
CL_CI_TEST_FIELD_EXT NOEVAL N Evaluation aborted. (&1) used in CI_FLDEXT_OK
current statement.
CL_CI_TEST_FIELD_EXT OFFLEN W Offset/Length-Access (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT REPLACE W REPLACE (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT SELSCR E SELECTION-SCREEN length conflict CI_FLDEXT_OK
(&1)
CL_CI_TEST_FIELD_EXT SELSRCO W Old SELECTION-SCREEN length CI_FLDEXT_OK
conflict (&1)
CL_CI_TEST_FIELD_EXT SET_PARAM N SET PARAMETER (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT SPLIT W SPLIT length conflict (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT SPLITO W Old SPLIT length conflict (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT TRANSFER W TRANSFER (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT TYPE E Type-Conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT TYPEO W Old Type-Conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT TYPE_CMP E Structure-Component &2 (&1) type CI_FLDEXT_OK
conflict &3 <-> &4
CL_CI_TEST_FIELD_EXT WRITE W WRITE (&1) CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT WRITE_TO W WRITE TO type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_FIELD_EXT WRITE_TOO W Old WRITE TO type conflict (&1) &2 - CI_FLDEXT_OK
> &3
CL_CI_TEST_FIND_BADI_CALL 1 W When an instance of a BAdI is CI_BADI_GETINST
created, the import parameter
EXIT_NAME is not filled
CL_CI_TEST_FIND_BADI_CALL 2 N When an instance of a BAdI is CI_BADI_GETINST
created, the import parameter
NULL_INSTANCE_ACCEPTED is not
filled
CL_CI_TEST_FIND_BADI_CALL 3 W When an instance of a BAdI is CI_BADI_GETINST
created, the import parameters
EXIT_NAME and
NULL_INSTANCE_ACCEPTED are
not filled
CL_CI_TEST_FIND_BADI_CALL 10 W Use of Old BAdI Instantiation; Use CI_BADI_OLD
GET BADI
CL_CI_TEST_FIND_DYN_SQL ADBC_USE_i W ADBC classes(e.g. &1) used in &2 CI_ADBC_US
places
CL_CI_TEST_FIND_DYN_SQL ADBC_USE_m W ADBC classes(e.g. &1) used in &2 CI_ADBC_US
places
CL_CI_TEST_FIND_DYN_SQL ADBC_USE_s N ADBC class &1 used CI_ADBC_US
CL_CI_TEST_FOR_ALL_ENTR_HANA TRANSFORM E SELECT * FOR ALL statement can be CI_NO_TRANSFORM
joined with SELECT statement at &1
line &2
CL_CI_TEST_FOR_ALL_ENTRIES FAllRisky N Possible use of &1 without prior CI_FAE_LINES_ENSURED CI_FAE_NO_LINES_OK
content validation within procedure
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 6/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_FOR_ALL_ENTRIES FAllUnsafe W Possible use of &1 without prior CI_FAE_LINES_ENSURED CI_FAE_NO_LINES_OK
content validation
CL_CI_TEST_IMUD_NESTED 1 N &2 in &1 Loop CI_IMUD_NESTED
CL_CI_TEST_IMUD_NESTED 2 W &2 in LOOP/ENDLOOP Loop CI_IMUD_NESTED
CL_CI_TEST_IMUD_NESTED 3 N &2 in SELECT/ENDSELECT Loop CI_IMUD_NESTED
CL_CI_TEST_IMUD_TAW_SEC01 1 N Dynamic Changing Table Access (&2) CI_DYNTAB
CL_CI_TEST_IMUD_TAW_SEC01 2 N Dynamic WHERE Condition for Table CI_DYNWHERE
&1
CL_CI_TEST_IMUD_TAW_SEC01 3 N Changing Access (&2) to Table &1 CI_TABLES
CL_CI_TEST_IMUD_TAW_SEC01 4 W Client-Specific Changing (&2) Access CI_CLIENT
to Table &1
CL_CI_TEST_IMUD_TAW_SEC01 11 N Dynamic Read Access to Table in CI_DYNTAB
Subquery
CL_CI_TEST_IMUD_TAW_SEC01 12 N Dynamic WHERE Condition for Table CI_DYNWHERE
&1 in Subquery
CL_CI_TEST_IMUD_TAW_SEC01 13 N Read Access to Table &1 in Subquery CI_TABLES
CL_CI_TEST_IMUD_TAW_SEC01 14 W Client-Specific Read Access to Table CI_CLIENT
&1 in Subquery
CL_CI_TEST_INT8 ATYP_CASE W Missing handling of ABAP-Type in CI_INT8_OK
CASE-Statement
CL_CI_TEST_INT8 ATYP_CASEA E Missing handling of ABAP-Type in CI_INT8_OK
CASE-Statement
CL_CI_TEST_INT8 ATYP_COND W Missing handling of ABAP-Type in CI_INT8_OK
condition
CL_CI_TEST_INT8 ATYP_CONDA E Missing handling of ABAP-Type in CI_INT8_OK
condition
CL_CI_TEST_INT8 ATYP_IF W Missing handling of ABAP-Type in IF- CI_INT8_OK
Statement
CL_CI_TEST_INT8 ATYP_IFA E Missing handling of ABAP-Type in IF- CI_INT8_OK
Statement
CL_CI_TEST_INT8 DTYP_CASE W Missing handling of DDIC-Type in CI_INT8_OK
CASE-Statement
CL_CI_TEST_INT8 DTYP_CASEA E Missing handling of DDIC-Type in CI_INT8_OK
CASE-Statement
CL_CI_TEST_INT8 DTYP_COND W Missing handling of DDIC-Type in CI_INT8_OK
condition
CL_CI_TEST_INT8 DTYP_CONDA E Missing handling of DDIC-Type in CI_INT8_OK
condition
CL_CI_TEST_INT8 DTYP_IF W Missing handling of DDIC-Type in IF- CI_INT8_OK
Statement
CL_CI_TEST_INT8 DTYP_IFA E Missing handling of DDIC-Type in IF- CI_INT8_OK
Statement
CL_CI_TEST_INT8 STYP_CASE W Missing handling of ABAP-Type in CI_INT8_OK
CASE-Statement
CL_CI_TEST_INT8 STYP_COND W Missing handling of ABAP-Type in CI_INT8_OK
condition
CL_CI_TEST_INT8 STYP_IF W Missing handling of ABAP-Type in IF- CI_INT8_OK
Statement
CL_CI_TEST_INTFMETHS_IN_LOOP 0L11 N Call interface &1, method &2, in &3 CI_INTF_LOOP
loop
CL_CI_TEST_INTFMETHS_IN_LOOP 0L12 W Call interface &1, method &2, in &3 CI_INTF_LOOP
loop
CL_CI_TEST_INTFMETHS_IN_LOOP 0L13 W Call interface &1, method &2, in &3 CI_INTF_LOOP
loop
CL_CI_TEST_ITAB_PERFORMANCE MESSAGEGJG W Possible sequential access when CI_STDSEQ
deleting from a table
CL_CI_TEST_ITAB_PERFORMANCE MESSAGEGM0 N Sequential read on a standard table CI_STDSEQ
CL_CI_TEST_ITAB_PERFORMANCE MESSAGEGM1 W Possible sequential read on a sorted CI_SORTSEQ
table
CL_CI_TEST_ITAB_PERFORMANCE MESSAGEGM2 W Possible sequential read on a hashed CI_HASHSEQ
table
CL_CI_TEST_ITAB_PERFORMANCE MESSAGEGM3 W Possible sequential read on a CI_ANYSEQ
generically typed table
CL_CI_TEST_LOOP_AT 1 N LOOP AT &1 INTO <fs>. CI_LOOP_INTO_FS
CL_CI_TEST_LOOP_AT 2 N LOOP AT &1 INTO WA. CI_LOOP_INTO_WA
CL_CI_TEST_LOOP_AT 3 N LOOP AT &1. CI_LOOP_INTO_HL
CL_CI_TEST_LOOP_AT 11 N LOOP AT &1 INTO <fs> with CI_LOOP_INTO_FS
'MODIFY' in the Loop
CL_CI_TEST_LOOP_AT 12 N LOOP AT &1 INTO WA with 'MODIFY' CI_LOOP_INTO_WA
in the Loop
CL_CI_TEST_LOOP_AT 13 N LOOP AT &1 with 'MODIFY' in the CI_LOOP_INTO_HL
Loop
CL_CI_TEST_MOVE_PERFORMANCE MESSAGEG}L N Assign a Nested Table CI_CONV_OK
CL_CI_TEST_MOVE_PERFORMANCE MESSAGEG}M N Assign a Long Field CI_CONV_OK
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 7/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_NO_ORDER_BY AMB_SINGLE N SELECT SINGLE is possibly not CI_NOORDER WARNOK
unique
CL_CI_TEST_NO_ORDER_BY BIN_SEARCH E READ .. BINARY SEARCH for result CI_SORTED
of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY CONCAT W CONCATENATE ... LINES OF itab ... CI_NOORDER
for result of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY DELETE_ADJ E DELETE ADJACENT DUPLICATES CI_SORTED
for result of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY DEL_FR/TO W DELETE ... FROM/TO for result of CI_NOORDER
statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY DEL_IDX W DELETE ... INDEX for result of CI_NOORDER
SELECT statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY EMPTY_SEL N Empty SELECT/ENDSELECT at &1 CI_NOORDER
line &2
CL_CI_TEST_NO_ORDER_BY FIND W FIND FIRST OCCURRENCE ... IN CI_NOORDER
TABLE itab for result of statement at
&1 line &2
CL_CI_TEST_NO_ORDER_BY LOOP_AT E LOOP AT itab. AT ... ENDAT. for result CI_SORTED
of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY LOOP_AT_FL W LOOP AT itab. AT FIRST/LAST... CI_SORTED
ENDAT. for result of statement at &1
line &2
CL_CI_TEST_NO_ORDER_BY LOOP_EXIT N LOOP AT itab. EXIT/RETURN/LEAVE CI_NOORDER
... for result of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY LOOP_FR/TO W LOOP AT itab FROM/TO for result of CI_NOORDER
statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY MODIFY_IDX W MODIFY ... INDEX for result of CI_NOORDER
SELECT statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY OPEN_CLUST N OPEN CURSOR ... FOR cluster table CI_NOORDER
&1 without ORDER BY found
CL_CI_TEST_NO_ORDER_BY OPEN_POOL N OPEN CURSOR ... FOR pool table CI_NOORDER
&1 without ORDER BY found
CL_CI_TEST_NO_ORDER_BY PROVIDE E PROVIDE ... itab for result of CI_SORTED
statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY READ_IDX N READ TABLE ... INDEX for result of CI_NOORDER
SELECT statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY READ_IDX_1 N READ TABLE ... INDEX 1 for result of CI_NOORDER
statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY READ_IDX_C W READ TABLE ... INDEX C_CONST CI_NOORDER
for result of statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY REPLACE W REPLACE FIRST OCCURRENCE ... CI_NOORDER
IN TABLE itab for result of statement
at &1 line &2
CL_CI_TEST_NO_ORDER_BY SEARCH W SEARCH ... IN itab for result of CI_NOORDER
statement at &1 line &2
CL_CI_TEST_NO_ORDER_BY SELS_CLUST N SELECT ... FOR cluster table &1 into CI_NOORDER
sorted table without ORDER BY found
CL_CI_TEST_NO_ORDER_BY SELS_POOL N SELECT ... FOR pool table &1 into CI_NOORDER
sorted table without ORDER BY found
CL_CI_TEST_NO_ORDER_BY SEL_CLUST N SELECT ... FOR cluster table &1 CI_NOORDER
without ORDER BY found
CL_CI_TEST_NO_ORDER_BY SEL_EXIT N EXIT/RETURN/LEAVE in CI_NOORDER
SELECT/ENDSELECT at &1 line &2
CL_CI_TEST_NO_ORDER_BY SEL_POOL N SELECT ... FOR pool table &1 without CI_NOORDER
ORDER BY found
CL_CI_TEST_S4H_FIELD_EXT ARC_TYPE W Structure-Component &2 (&1) CI_FLDEXT_OK
arithmetic conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT ARC_TYPEO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
arithmetic conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT AR_TYPE W Arithmetic type conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT AR_TYPEO W Old Arithmetic type conflict (&1) &2 <- CI_FLDEXT_OK
> &3
CL_CI_TEST_S4H_FIELD_EXT CAST N Casting from/to (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT COMP_CMP E Compare Structure-Component &2 CI_FLDEXT_OK
(&1) type conflict &3 <-> &4
CL_CI_TEST_S4H_FIELD_EXT COMP_CONS N Constant-Compare conflict (&1) &2 <- CI_FLDEXT_OK
> &3
CL_CI_TEST_S4H_FIELD_EXT COMP_CONSO N Old Constant-Compare conflict (&1) CI_FLDEXT_OK
&2 <-> &3
CL_CI_TEST_S4H_FIELD_EXT COMP_GEN N Compare (&1) <-> Generic CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT COMP_LENG E Compare length conflict (&1) &2 <-> CI_FLDEXT_OK
&3
CL_CI_TEST_S4H_FIELD_EXT COMP_LENGO W Old Compare length conflict (&1) &2 CI_FLDEXT_OK
<-> &3
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 8/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_S4H_FIELD_EXT COMP_TYPE E Compare type conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT COMP_TYPEO W Old Compare type conflict (&1) &2 <-> CI_FLDEXT_OK
&3
CL_CI_TEST_S4H_FIELD_EXT CONCAT E Concatenate (&1) length conflict &2 -> CI_FLDEXT_OK
&3
CL_CI_TEST_S4H_FIELD_EXT CONCATO W Old Concatenate (&1) length conflict CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_S4H_FIELD_EXT DESCRIBE N DESCRIBE FIELD (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT DYN_ASS N Dynamic Assign -> (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT DYN_DB N Dynamic DB-Access (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT EXPORT N EXPORT (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT FUNPAR W Type used by RFC-Function CI_FLDEXT_OK
parameter (&1) &2 -> &3
CL_CI_TEST_S4H_FIELD_EXT FUNPAR_CMP W Type component &2 used by RFC- CI_FLDEXT_OK
Function parameter (&1) &3 - >&4
CL_CI_TEST_S4H_FIELD_EXT GEN N &1 <-> &2 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT GEND N Move (&1) -> Generic CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT GENS N Generic -> (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT GET_PARAM N GET PARAMETER (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT IMPORT N IMPORT (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT LEVEL N Analyze aborted CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT MOVE_CUT E Move length conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT MOVE_CUTO W Old Move length conflict (&1) &2 -> CI_FLDEXT_OK
&3
CL_CI_TEST_S4H_FIELD_EXT MOVE_EXT N Move length extend (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT MOVE_TYPE W Move type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT MOVE_TYPEO W Old Move type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT MSG_INTO E MESSAGE-INTO length conflict (&1) CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_S4H_FIELD_EXT MSG_INTOO W Old MESSAGE-INTO length conflict CI_FLDEXT_OK
(&1) &2 -> &3
CL_CI_TEST_S4H_FIELD_EXT MSG_WITH E MESSAGE-WITH length conflict (&1) CI_FLDEXT_OK
&2 -> &3
CL_CI_TEST_S4H_FIELD_EXT MSG_WITHO W Old MESSAGE-WITH length conflict CI_FLDEXT_OK
(&1) &2 -> &3
CL_CI_TEST_S4H_FIELD_EXT MVC_CUT E Structure-Component &2 (&1) length CI_FLDEXT_OK
conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT MVC_CUTO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
length conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT MVC_EXT N Structure-Component &2 (&1) length CI_FLDEXT_OK
extend &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT MVC_TYPE W Structure-Component &2 (&1) type CI_FLDEXT_OK
conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT MVC_TYPEO W Old Structure-Component &2 (&1) CI_FLDEXT_OK
type conflict &3 -> &4
CL_CI_TEST_S4H_FIELD_EXT NOEVAL N Evaluation aborted. (&1) used in CI_FLDEXT_OK
current statement.
CL_CI_TEST_S4H_FIELD_EXT OFFLEN W Offset/Length-Access (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT REPLACE W REPLACE (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT SELSCR E SELECTION-SCREEN length conflict CI_FLDEXT_OK
(&1)
CL_CI_TEST_S4H_FIELD_EXT SELSRCO W Old SELECTION-SCREEN length CI_FLDEXT_OK
conflict (&1)
CL_CI_TEST_S4H_FIELD_EXT SET_PARAM N SET PARAMETER (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT SPLIT W SPLIT length conflict (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT SPLITO W Old SPLIT length conflict (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT TRANSFER W TRANSFER (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT TYPE E Type-Conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT TYPEO W Old Type-Conflict (&1) &2 <-> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT TYPE_CMP E Structure-Component &2 (&1) type CI_FLDEXT_OK
conflict &3 <-> &4
CL_CI_TEST_S4H_FIELD_EXT WRITE W WRITE (&1) CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT WRITE_TO W WRITE TO type conflict (&1) &2 -> &3 CI_FLDEXT_OK
CL_CI_TEST_S4H_FIELD_EXT WRITE_TOO W Old WRITE TO type conflict (&1) &2 - CI_FLDEXT_OK
> &3
CL_CI_TEST_S4H_SEARCH_DB_OPS CLOSE E DB Operation CLOSE CURSOR CI_DB_OPERATION_OK
found (&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS CLOSE_WO N DB Operation CLOSE CURSOR CI_DB_OPERATION_OK
found.
CL_CI_TEST_S4H_SEARCH_DB_OPS DELETE E DB Operation DELETE found (&1, CI_DB_OPERATION_OK
see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS EXEC_SQL N EXEC SQL found. CI_DB_OPERATION_OK
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 9/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_S4H_SEARCH_DB_OPS EXPORT_DB E DB Operation EXPORT DBTAB found CI_DB_OPERATION_OK
(&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS FETCH E DB Operation FETCH NEXT CI_DB_OPERATION_OK
CURSOR found (&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS FETCH_WO N DB Operation FETCH NEXT CI_DB_OPERATION_OK
CURSOR found
CL_CI_TEST_S4H_SEARCH_DB_OPS IMPORT_DB E DB Operation IMPORT DBTAB found CI_DB_OPERATION_OK
(&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS INSERT E DB Operation INSERT found (&1, see CI_DB_OPERATION_OK
&2)
CL_CI_TEST_S4H_SEARCH_DB_OPS JOIN E DB Operation JOIN found (&1, see CI_DB_OPERATION_OK
&2)
CL_CI_TEST_S4H_SEARCH_DB_OPS LOOP_OBS E DB Operation LOOP found (&1, see CI_DB_OPERATION_OK
&2)
CL_CI_TEST_S4H_SEARCH_DB_OPS MODIFY E DB Operation MODIFY found (&1, CI_DB_OPERATION_OK
see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS OPEN E DB Operation OPEN CURSOR found CI_DB_OPERATION_OK
(&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS READ_OBS E DB Operation READ found (&1, see CI_DB_OPERATION_OK
&2)
CL_CI_TEST_S4H_SEARCH_DB_OPS SELECT E DB Operation SELECT found (&1, CI_DB_OPERATION_OK
see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS SELECT_UPD E DB Operation SELECT FOR UPDATE CI_DB_OPERATION_OK
found (&1, see &2)
CL_CI_TEST_S4H_SEARCH_DB_OPS STAT N Details with double click CI_DB_OPERATION_OK
CL_CI_TEST_S4H_SEARCH_DB_OPS UPDATE E DB Operation UPDATE found (&1, CI_DB_OPERATION_OK
see &2)
CL_CI_TEST_S4H_WHERE_USED FuNotAvail E Usage of no longer available CI_USAGE_OK
development object (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED FuWPerfImp W Change of existing functionality with CI_USAGE_OK
performance impact (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED NoFuEquiv E Functionality not available: no CI_USAGE_OK
functional equivalent (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED NonStrFuNE N Non-strategic-function: no functional CI_USAGE_OK
equivalent (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED NonStrFuWE N Non-strategic-function: functional CI_USAGE_OK
equivalent available (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED NonStratFu N Non-strategic-function (&3 &2, &1) CI_USAGE_OK
CL_CI_TEST_S4H_WHERE_USED OnRoadMap E Functionality not available: equivalent CI_USAGE_OK
function on roadmap (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED SemIncompC E Semantically incompatible change of CI_USAGE_OK
existing functionality (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED SynIncompC E Syntactically incompatible change of CI_USAGE_OK
existing functionality (&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED UsageFuMan E Usage of functionality mandatory (&3 CI_USAGE_OK
&2, &1)
CL_CI_TEST_S4H_WHERE_USED UsageFuRec W Usage of functionality recommended CI_USAGE_OK
(&3 &2, &1)
CL_CI_TEST_S4H_WHERE_USED WithFuEqui E Functionality not available: functional CI_USAGE_OK
equivalent available (&3 &2, &1)
CL_CI_TEST_SCAN_NESTED 1 N Nesting: &1 Loop Inside &2 CI_NESTED
CL_CI_TEST_SCAN_NESTED 2 W Nesting: LOOP/ENDLOOP Loop CI_NESTED
Inside LOOP/ENDLOOP
CL_CI_TEST_SCAN_NESTED 3 W Nesting: LOOP/ENDLOOP Loop CI_NESTED
Within SELECT/ENDSELECT
CL_CI_TEST_SEARCH_CDS_PRIV_ACC CLOSE W DB Operation CLOSE CURSOR CI_PRIVACC
found for &1.
CL_CI_TEST_SEARCH_CDS_PRIV_ACC FETCH W DB operation FETCH NEXT CI_PRIVACC
CURSOR found for &1.
CL_CI_TEST_SEARCH_CDS_PRIV_ACC IMPORT_DB W DB Operation IMPORT DBTAB found CI_PRIVACC
for &1.
CL_CI_TEST_SEARCH_CDS_PRIV_ACC JOIN W DB Operation JOIN found for &1. CI_PRIVACC
CL_CI_TEST_SEARCH_CDS_PRIV_ACC OPEN W DB Operation OPEN CURSOR found CI_PRIVACC
for &1.
CL_CI_TEST_SEARCH_CDS_PRIV_ACC SELECT W DB operation SELECT found for &1. CI_PRIVACC
CL_CI_TEST_SEARCH_CDS_PRIV_ACC WITH W DB Operation WITH found for &1. CI_PRIVACC
CL_CI_TEST_SEARCH_DB_OPS_IN_PC CLOSE E DB Operation CLOSE for Pool/Cluster CI_ACCESS_TO_DB_OK
Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC DELETE E DB Operation DELETE for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC EXPORT_DB E DB Operation EXPORT DBTAB for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC FETCH E DB Operation FETCH for Pool/Cluster CI_ACCESS_TO_DB_OK
Table &1 found.
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 10/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_SEARCH_DB_OPS_IN_PC IMPORT_DB E DB Operation IMPORT DBTAB for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC INSERT E DB Operation INSERT for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC LOOP_OBS E DB Operation LOOP for Pool/Cluster CI_ACCESS_TO_DB_OK
Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC MODIFY E DB Operation MODIFY for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC OPEN E DB Operation OPEN for Pool/Cluster CI_ACCESS_TO_DB_OK
Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC READ_OBS E DB Operation READ for Pool/Cluster CI_ACCESS_TO_DB_OK
Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC SELECT E DB Operation SELECT for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SEARCH_DB_OPS_IN_PC UPDATE E DB Operation UPDATE for CI_ACCESS_TO_DB_OK
Pool/Cluster Table &1 found.
CL_CI_TEST_SELECT_EXIT 1 N &1 statement within a CI_EXIT_SELECT
SELECT...ENDSELECT loop
CL_CI_TEST_SELECT_EXIT 2 N Empty SELECT...ENDSELECT Loop CI_EMPTY_SELECT
CL_CI_TEST_SELECT_EXIT 3 N Access to single record with unique CI_SELECTS_ONE
index &1
CL_CI_TEST_SELECT_NESTED 1 N SELECT on table &2 in &1 loop CI_SEL_NESTED
CL_CI_TEST_SELECT_NESTED 2 W SELECT on table &2 in CI_SEL_NESTED
LOOP/ENDLOOP loop
CL_CI_TEST_SELECT_NESTED 3 N SELECT on table &2 in CI_SEL_NESTED
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 11 N SELECT on non-buffered table &2 in CI_SEL_NESTED
&1 loop
CL_CI_TEST_SELECT_NESTED 12 W SELECT on non-buffered table &2 in CI_SEL_NESTED
LOOP/ENDLOOP loop
CL_CI_TEST_SELECT_NESTED 13 N SELECT on non-buffered table &2 in CI_SEL_NESTED
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 101 N JOIN on table &2 in &1 loop CI_SEL_NESTED
CL_CI_TEST_SELECT_NESTED 102 W JOIN on table &2 in LOOP/ENDLOOP CI_SEL_NESTED
loop
CL_CI_TEST_SELECT_NESTED 103 N JOIN on table &2 in CI_SEL_NESTED
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 111 N JOIN on table &2 in &1 loop CI_SEL_NESTED
CL_CI_TEST_SELECT_NESTED 112 W JOIN on table &2 in LOOP/ENDLOOP CI_SEL_NESTED
loop
CL_CI_TEST_SELECT_NESTED 113 N JOIN on table &2 in CI_SEL_NESTED
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 201 N SELECT SINGLE on table &2 in &1 CI_SEL_NESTED
loop
CL_CI_TEST_SELECT_NESTED 202 W SELECT SINGLE on table &2 in CI_SEL_NESTED
LOOP/ENDLOOP loop
CL_CI_TEST_SELECT_NESTED 203 N SELECT SINGLE on table &2 in CI_SEL_NESTED
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 211 N SELECT SINGLE on non-buffered CI_SEL_NESTED
table &2 in &1 loop
CL_CI_TEST_SELECT_NESTED 212 W SELECT SINGLE on non-buffered CI_SEL_NESTED
table &2 in LOOP/ENDLOOP loop
CL_CI_TEST_SELECT_NESTED 213 N SELECT SINGLE on non-buffered CI_SEL_NESTED
table &2 in SELECT/ENDSELECT
loop
CL_CI_TEST_SELECT_NESTED 301 N SELECT without SINGLE on table &2 CI_SEL_NESTED
in &1 loop
CL_CI_TEST_SELECT_NESTED 302 W SELECT without SINGLE on table &2 CI_SEL_NESTED
in LOOP/ENDLOOP loop
CL_CI_TEST_SELECT_NESTED 303 N SELECT without SINGLE on table &2 CI_SEL_NESTED
in SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_NESTED 311 N SELECT without SINGLE on non- CI_SEL_NESTED
buffered table &2 in &1 loop
CL_CI_TEST_SELECT_NESTED 312 W SELECT without SINGLE on non- CI_SEL_NESTED
buffered table &2 in LOOP/ENDLOOP
loop
CL_CI_TEST_SELECT_NESTED 313 N SELECT without SINGLE on non- CI_SEL_NESTED
buffered table &2 in
SELECT/ENDSELECT loop
CL_CI_TEST_SELECT_TAW_A 1 W Table &1: No WHERE condition CI_NOWHERE
CL_CI_TEST_SELECT_TAW_A 2 W Table &1: No field of a table index in CI_NOFIELD
WHERE condition
CL_CI_TEST_SELECT_TAW_A 3 W Table &1: No first field of a table index CI_NOFIRST
in WHERE condition
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 11/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_SELECT_TAW_A 4 N Table &1: No client-specific field in CI_NOCLIENT
WHERE condition despite CLIENT
SPECIFIED
CL_CI_TEST_SELECT_TAW_A 10 E Table &1 does not exist or does not CI_NO_TABLE
have a nametab entry
CL_CI_TEST_SELECT_TAW_A 501 E Large table &1: No WHERE condition CI_NOWHERE
CL_CI_TEST_SELECT_TAW_A 502 E Large table &1: No field of a table CI_NOFIELD
index in WHERE condition
CL_CI_TEST_SELECT_TAW_A 503 E Large table &1: No first field of a table CI_NOFIRST
index in WHERE condition
CL_CI_TEST_SELECT_TAW_A 507 E S/4HANA - Large table &1: No field of CI_NOFIELD
a HDB table index in WHERE
condition
CL_CI_TEST_SELECT_TAW_A 508 E S/4HANA - Large table &1: No first CI_NOFIRST
field of a HDB table index in WHERE
condition
CL_CI_TEST_SELECT_TAW_BYBUF 1 W Buffered Table &1 in a JOIN CI_BUFFJOIN
CL_CI_TEST_SELECT_TAW_BYBUF 2 W Buffered Table &1 in SELECT with CI_BUFFSUBQ
Subquery
CL_CI_TEST_SELECT_TAW_BYBUF 3 W Access to Table &1 Bypasses Table CI_BYPASS
Buffer: &2
CL_CI_TEST_SELECT_TAW_BYBUF 5 W Generically Buffered Key Area not CI_GENBUFF CI_SGLSELECT
Completely Specified for Table &1
CL_CI_TEST_SELECT_TAW_BYBUF 6 W SELECT on Client-Specific Table &1 CI_BUFFCLIENT
with CLIENT SPECIFIED, but no
Client Field in the WHERE Condition
CL_CI_TEST_SELECT_TAW_BYBUF 10 W Access to buffered table &1 with CI_BYPASS
replacement object &2
CL_CI_TEST_SELECT_TAW_BYBUF 51 W Access to single record buffered table CI_GENBUFF CI_SGLSELECT
&1 cannot use buffer
CL_CI_TEST_SELECT_TAW_SEC01 1 N Dynamic Read Access to Table CI_DYNTAB
CL_CI_TEST_SELECT_TAW_SEC01 2 N Dynamic WHERE Condition for Table CI_DYNWHERE
&1
CL_CI_TEST_SELECT_TAW_SEC01 3 N Read Access to Table &1 CI_TABLES
CL_CI_TEST_SELECT_TAW_SEC01 4 W Client-Specific Read Access to Table CI_CLIENT
&1
CL_CI_TEST_SELECT_THEN_CHECK 1 N SELECT on Table &1 with CI_CHECK
Subsequent CHECK
CL_CI_TEST_SEQ_ACC_ITAB_NESTED IN_MD_DL_A N Sequential &1-statement on generic CI_ANYSEQ
typed table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED IN_MD_DL_H W Sequential &1-statement on HASHED CI_HASHSEQ
table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED IN_MD_DL_O W Sequential &1-statement on SORTED CI_SORTSEQ
table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED IN_MD_DL_S N Sequential &1-statement on CI_STDSEQ
STANDARD table inside &2; nesting
level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED LOOP_NO_WH N LOOP without WHERE-clause inside CI_NESTED
&2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED LOOP_SEQ_A N Sequential LOOP on generic typed CI_ANYSEQ
table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED LOOP_SEQ_H W Sequential LOOP on HASHED table CI_HASHSEQ
inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED LOOP_SEQ_O W Sequential LOOP on SORTED table CI_SORTSEQ
inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED LOOP_SEQ_S N Sequential LOOP on STANDARD CI_STDSEQ
table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED OTHERS_A N Other sequential access to generic CI_ANYSEQ
typed table inside &2-loop; nesting
level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED OTHERS_H W Other sequential access to HASHED CI_HASHSEQ
table inside &2-loop; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED OTHERS_O W Other sequential access to SORTED CI_SORTSEQ
table inside &2-loop; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED OTHERS_S N Other sequential access to CI_STDSEQ
STANDARD table inside &2-loop;
nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED READ_SEQ_A N Sequential READ TABLE on generic CI_ANYSEQ
typed table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED READ_SEQ_H W Sequential READ TABLE on HASHED CI_HASHSEQ
table inside &2; nesting level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED READ_SEQ_O W Sequential READ TABLE on SORTED CI_SORTSEQ
table inside &2; nesting level &3
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 12/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_SEQ_ACC_ITAB_NESTED READ_SEQ_S N Sequential READ TABLE on CI_STDSEQ
STANDARD table inside &2; nesting
level &3
CL_CI_TEST_SEQ_ACC_ITAB_NESTED SORT W SORT inside &2; nesting level &3 CI_SORTLOOP
CL_CI_TEST_SHO_CLIENT 1 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 2 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 3 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 4 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 5 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 6 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 7 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 8 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 9 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 10 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SHO_CLIENT 11 W Call Client-Specific Method: &1 CI_CLIENT
CL_CI_TEST_SORT_IN_LOOP 1 N SORT Inside &1 CI_SORTLOOP
CL_CI_TEST_SORT_IN_LOOP 2 W SORT Inside LOOP ... ENDLOOP CI_SORTLOOP
CL_CI_TEST_SORT_IN_LOOP 3 W SORT Inside SELECT ... CI_SORTLOOP
ENDSELECT
CL_CI_TEST_SPEC_CRIT_STMNTS 1 W Call System Function: &1 CI_CCALL
CL_CI_TEST_SPEC_CRIT_STMNTS 2 N Call Transaction &1 CI_CALLTA
CL_CI_TEST_SPEC_CRIT_STMNTS 3 W Use a SYSTEM-CALL: &1 CI_SYSTEMCALL
CL_CI_TEST_SPEC_CRIT_STMNTS 4 N Call Editor for Program &1 CI_EDITORCALL
CL_CI_TEST_SPEC_CRIT_STMNTS 5 N Call Executable Program &1 CI_SUBMIT
CL_CI_TEST_SPEC_CRIT_STMNTS 6 W Use Native SQL: &1 CI_EXECSQL
CL_CI_TEST_SPEC_CRIT_STMNTS 7 N Use of ROLLBACK WORK CI_ROLLBACK
CL_CI_TEST_SPEC_CRIT_STMNTS 8 W Use of Database Hint: &1 CI_HINTS
CL_CI_TEST_SPEC_CRIT_STMNTS 9 N Dynamic Programming with CI_GENERATE
GENERATE DYNPRO &1
CL_CI_TEST_SPEC_CRIT_STMNTS 10 N Read Report/Text Pool &1 CI_READ_REP
CL_CI_TEST_SPEC_CRIT_STMNTS 11 W Write/Delete Report/Text Pool &1 CI_TABL_EXCEPTN
CL_CI_TEST_SPEC_CRIT_STMNTS 12 N Read a dynpro CI_IMPORT_DYNP
CL_CI_TEST_SPEC_CRIT_STMNTS 13 W Write/delete a dynpro CI_TABL_EXCEPTN
CL_CI_TEST_SPEC_CRIT_STMNTS 14 N Read NAMETAB CI_IMPORT_NAM
CL_CI_TEST_SPEC_CRIT_STMNTS 15 W Write NAMETAB CI_TABL_EXCEPTN
CL_CI_TEST_SPEC_CRIT_STMNTS 19 N Dynamic Programming with CI_GENERATE
GENERATE REPORT &1
CL_CI_TEST_SPEC_CRIT_STMNTS 29 N Dynamic Programming with CI_GENERATE
GENERATE SUBROUTINE POOL &1
CL_CI_TEST_SPEC_CRIT_STMNTS 102 N Call Transaction (Transaction Name = CI_CALLTA
Data Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 104 N Call Editor (Program Name = Data CI_EDITORCALL
Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 105 N Call an Executable Program (Program CI_SUBMIT
Name = Data Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 110 N Read a Report/Text Pool (Program CI_READ_REP
Name = Data Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 111 W Write/Delete a Report/Text Pool CI_TABL_EXCEPTN
(Program Name = Data Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 119 N Dynamic Programming with CI_GENERATE
GENERATE REPORT (Program
Name = Data Object)
CL_CI_TEST_SPEC_CRIT_STMNTS 129 N Dynamic Programming with CI_GENERATE
GENERATE SUBROUTINE POOL
(Name of Subroutine Pool = Data
Object)
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_F N Suspect Conversion to ABAP Type CI_CONV_OK
NUMERIC
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_G N Suspect Conversion Between CI_CONV_OK
Different ABAP Types
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_H N Truncate in Conversion to ABAP Type CI_CONV_OK
C
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_J N Suspect Conversion (a Structure) to CI_CONV_OK
ABAP Type CHAR
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_L N Suspect Conversion from Literal to CI_CONV_OK
ABAP Type NUMERIC
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_M N Suspect Conversion from Literal to CI_CONV_OK
ABAP Type
CL_CI_TEST_SUSP_CONVERSIONS MESSAGEG_N N Truncate in Conversion from Literal to CI_CONV_OK
ABAP Type
CL_CI_TEST_SYSUBRC 1 W No Handling of SY-SUBRC After CI_SUBRC
Changing Database Statement
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 13/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
Test Class Code Kind Text Pseudo Comment Alternative Pseudo
Comment
CL_CI_TEST_SYSUBRC 2 W No Handling of SY-SUBRC After CI_SUBRC
Reading Database Statement
CL_CI_TEST_SYSUBRC 3 E No Handling of SY-SUBRC After CI_SUBRC
AUTHORITY-CHECK
CL_CI_TEST_SYSUBRC 4 W No Handling of SY-SUBRC After CI_SUBRC
CALL FUNCTION
CL_CI_TEST_SYSUBRC 5 W No Handling of SY-SUBRC After &1 CI_SUBRC
CL_CI_TEST_SYSUBRC 14 W No Handling of SY-SUBRC After CI_SUBRC
CALL METHOD
CL_CI_TEST_SYSUBRC 15 W No Handling of SY-SUBRC After CI_SUBRC
ENQUEUE
CL_CI_TEST_SYSUBRC 16 N No Handling of SY-SUBRC After CI_SUBRC
ENDCATCH
CL_CI_TEST_SYSUBRC 17 N No Handling of SY-SUBRC After CI_SUBRC
Dynamic ASSIGN
CL_CI_TEST_UCCHECK CASE W Missing handling of UCCHECK in CI_UCCHECK_OK
CASE-Statement
CL_CI_TEST_UCCHECK COND W Missing handling of UCCHECK in CI_UCCHECK_OK
condition
CL_CI_TEST_UCCHECK IF W Missing handling of UCCHECK in IF- CI_UCCHECK_OK
Statement
CL_CI_TEST_VALUE_PARAMETER DEEP_TAB E Parameter is a nested internal table CI_VALPAR
and is passed by VALUE
CL_CI_TEST_VALUE_PARAMETER FLD_INNOWR N Input parameter is passed by VALUE CI_VALPAR
but not changed
CL_CI_TEST_VALUE_PARAMETER LEN W Parameter is a long field and is CI_VALPAR
passed by VALUE
CL_CI_TEST_VALUE_PARAMETER LEN_EV W EVENT parameter is a long field CI_VALPAR
CL_CI_TEST_VALUE_PARAMETER LEN_INNOWR W Parameter is a long field, is passed by CI_VALPAR
VALUE, and is not changed
CL_CI_TEST_VALUE_PARAMETER LEN_INWR W Parameter is a long field, is passed by CI_VALPAR
VALUE, and is changed
CL_CI_TEST_VALUE_PARAMETER LEN_RET W RETURNING parameter is a long field CI_VALPAR
CL_CI_TEST_VALUE_PARAMETER STR W Parameter contains strings and is CI_VALPAR
passed by VALUE
CL_CI_TEST_VALUE_PARAMETER STR_EV W EVENT parameter contains strings CI_VALPAR
CL_CI_TEST_VALUE_PARAMETER STR_INNOWR W Parameter contains strings, is passed CI_VALPAR
by VALUE, and is not changed
CL_CI_TEST_VALUE_PARAMETER STR_INWR W Parameter contains strings, is passed CI_VALPAR
by VALUE, and is changed
CL_CI_TEST_VALUE_PARAMETER STR_RET W RETURNING param. contains strings CI_VALPAR
CL_CI_TEST_VALUE_PARAMETER TAB W Parameter is an internal table and is CI_VALPAR
passed by VALUE
CL_CI_TEST_VALUE_PARAMETER TAB_EV W EVENT parameter contains internal CI_VALPAR
tables
CL_CI_TEST_VALUE_PARAMETER TAB_INNOWR W Parameter contains internal tables, is CI_VALPAR
passed by VALUE, and is not
changed
CL_CI_TEST_VALUE_PARAMETER TAB_INWR E Parameter contains internal tables, is CI_VALPAR
passed by VALUE, and is changed
CL_CI_TEST_VALUE_PARAMETER TAB_RET W RETURNING parameter contains CI_VALPAR
internal tables
ZCL_AOC_CHECK_40 1 E CI_SUBRC
ZCL_AOC_CHECK_48 1 E CI_DEFAULT_KEY
EDIT: Additionally here is the list of the pragmas and pseudo comments for SLIN checks.
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 14/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
AUTFLD_WRO AUTH_FLD_NO Wrong number of authorization fields
CURS_PERF CURSOR_LOST SELECT loop contains PERFORM call (cursor may be lost)
DATFM DATE_FORMAT It is possible that not all supported date formats are handled
EXCEPT_OK EXCEPT_OK No RAISE statement in function group for EXCEPTION in function module
F_INPUT_OK FORMAT_INPUT_OK 'FORMAT INPUT ON' in a procedure without following 'FORMAT INPUT OFF'
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 15/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
INCL_OK INCL_OK Include without source code
LOOP_INDEX LOOP_INDEX Index access on internal table outside a LOOP (in FORM)
MG_PAR_CNT MG_MISSING MESSAGE call contains the wrong number of WITH parameters
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 16/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
NEEDED NEEDED Unused fields
TEXT_DIFF TEXT_DIFF Text element defined differently in text pool and program
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 17/23
9/5/2019 ABAPblog.com - ATC Pseudo Comments list
TIME_ARITH TIME_ARITH Calculations with time stamp fields
UOM_IN_MES UOM_IN_MES UNIT field produced without UNIT addition with DECIMALS
USER_FB USER_FM Function module with interface missing in function group (X..)
WHERE_OK LOOP_WHERE_OK LOOP WHERE in which variables of WHERE condition are modified in loop
Cheers
https://abapblog.com/articles/tips/124-atc-pseudo-comments-list 18/23