SAP / styleguides

This repository provides SAP style guides for coding and coding-related topics.

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Returning a value

Quappel opened this issue · comments

In the guideline, as well as all trainings, it is said that one should name the return value result and then assign the return parameter in the code.

CLASS /clean/string_utils DEFINITION [...].
  CLASS-METHODS trim
   IMPORTING
     string TYPE string
   RETURNING
     VALUE(result) TYPE string.
ENDCLASS.

METHOD retrieve.
  DATA(trimmed_name) = /clean/string_utils=>trim( name ).
  result = read( trimmed_name ).
ENDMETHOD.

//not mentioned
METHOD retrieve.
  DATA(trimmed_name) = /clean/string_utils=>trim( name ).
  return read( trimmed_name ).
ENDMETHOD.

In other languages the form return Value; is used. This works also in Abap ( at least in the newest version ), I find it much easier to read. Why is it not mentioned? Also in the Language Help it is not mentioned. Is it a bug, is the feature coming soon?

Where did you this form of return? What is the ABAP release you are on?

My gut feeling is someone defined a macro with the same name as return. Could you check the table TRMAC with name = 'RETURN'?

~Suhas

Hi I am just back from vacation and will check tomorrow

The ABAP release is 751.

I checked the TRMAC and there is no entry for 'RETURN'.

You also cannot redefine keywords using macros (I assume this also applies to TRMAC) "RETURN" is an ABAP key word and cannot be redefined as a DEFINE macro.. I cannot reproduce this on 7.56 and the info doesn't quite add up for me.

This works also in Abap ( at least in the newest version )

is the feature coming soon?

The ABAP release is 751.

7.51 was released 6 years ago.

Ohh sorry, I had no idea how to look it up and must have been looking at the wrong value. My coworker just told me that it is 7.58

Ah now it makes sense, then we externals got another sneak peek with this styleguide repo ;)

(S/4 2022 was just released with 7.57 and the BTP ABAP Environment is on the equivalent 7.89.)

Let's wait till that ABAP version is available to the external world, then recommend it as the default variant.