Skip to Content

Wonders in ABAP Editor se38

I was wondering in ABAP editor se38.

See the below screen shots,



From the above screen shots the  program name’s are different while checking it is not throwing any syntax error.

As well As i didn’t pass any report name like below screen shots, but it did not throw any syntax error.


I gave the following report name which i already created ZRTEST_REP_KEY1 then i want find the program using the where used list it throws the below error screen shot.


Using SUBMIT key i submitted that report into my report. Then i clicked the where used list it does display like the below screen shot.



And also i created one subroutine which met all the above first three screen shots behavior.


As well as i created  one more include program it is also met the same.


What ever it may be the ABAP editor will not consider any thing on report first it will search the program has the key word report or program if not it will leave the syntax error otherwise it will read the program from the repository through the program attributes.

You must be Logged on to comment or reply to a post.
  • As stated in the ABAP documentation for the key word “REPORT”:

    REPORT rep [list_options]

               [MESSAGE-ID mid]

               [DEFINING DATABASE ldb]



    Although you do not absolutely need to specify the name rep, you should always use the name of the ABAP program from the Repository.

    “Should” and not “must”.

  • Not much of a “wonder” IMHO. As Riccardo pointed out, this is in line with ABAP Help. There are much more “wonderer” things in ABAP, although also all explained in documentation.

  • Hi Riccardo Escher and Jelena Perfiljeva,

    I should appreciated yours comment but here i want to explain some what differently,

    From my first three screen shot it doesn’t consider about the report name what ever it may be. But in my fifth screen shot it read the report name while i’m click on where used list, here only i seen that wonder.

    i.e if screen shots 1,2,3 = 5.

            return sy-subrc = 0.


    But here,

    i.e if screen shots 1,2,3 <> 5.

            return sy-subrc = 0. Is it correct.


    This is my doubt, Kindly help to clear my doubt.

    Kind & Regards,


    • John, I’m not sure what did you mean exactly by those ‘if’ statements. If you’re wondering about ‘where used’ then it does not return any search results if the only occurrence of the string is in the REPORT command. It works the same way even if both names match.

      Personally I always keep the names in sync and the only instances where I saw a mismatch it was clearly by mistake. For the same reason I wouldn’t be a single bit interested in ‘where used’ returning the ‘REPORT’ command as a result, if it’s the same line I’m looking at. In the second case it listed REPORT command because it also found another command. I believe this makes sense, although, quite honestly, wouldn’t care much either way. Not really a revelation for me, sorry.

  • Its an interesting demonstration of a Basic mistake which can occur in SAP.  And the Where Used List is the inconsistency from SAP for sure.

    There are various instances developers just copy the programs / clones and forget to change the REPORT statement, and this is one our Quality Handbook rules which we also automate.



    Using SUBMIT key i submitted that report into my report. Then i clicked the where used list it does display like the below screen shot.

    Even though the where used list shows the report usage as if it exists, it is an invalid where used list.

    And if we run the program with the”SUBMIT  <non existing prog>” , then it would create a DUMP.

    Further, lets say if there exists another real report with the same name ZRTEST_REP_KEY1 , then the submit statement gives control goes to the real program.

    Off the topic, when you say SE38, i would like add some more “different” things of this transaction

    –> From the initial screen of SE38 ( i.e not in the code editor, but very first screen )

    In the Command field, Just enter the transaction SE16 without /n or /o as prefix. You would still be navigated to SE16 .

    So in the similar way, Below is the list of tcodes where from A to B you dont need to enter /n or /o .

    • SE38 -> SE16
    • SE38 –> SLIN
    • SE11 –> SE16

    This was my childhood fantasy.  🙂