larshp / abapOpenChecks

Open source checks for SAP Code Inspector / ABAP Test Cockpit
https://docs.abapopenchecks.org
MIT License
265 stars 79 forks source link

AOC with NW 750 #313

Closed TimoJohn closed 7 years ago

TimoJohn commented 7 years ago

Hello Lars, looks like all your checks have Issues with 750:

METHOD get_message_text.

CLEAR p_text.

CASE p_code.
  WHEN '001'.
    p_text = 'Add table key or EMPTY KEY'.              "#EC NOTEXT
  WHEN OTHERS.
    ASSERT 0 = 1.
ENDCASE.

ENDMETHOD.

Using ATC the message p_code differs, sometimes it is '0001' or '0002' not really clear to me at the moment. Strange is that with se24 this is no issue.

As work around I fix all the OTHERS Statements.

larshp commented 7 years ago

Hi Timo, welcome to github :smile:

So the error only occurs when the check is run via ATC, and not when run via code inspector in SE24?

TimoJohn commented 7 years ago

Yes at the time I tested this was the case.

must have something todo with the SAP Internal Length of P_CODE.
I updated the classes to use '0001' or in other cases also 4 letters.

inform( p_sub_obj_type = c_type_include p_sub_obj_name = lv_include1 p_line = ls_prev-row p_kind = iv_error_type p_test = c_my_name p_code = '0001' p_param_1 = pack( lt_list ) ).

looks like this helps

larshp commented 7 years ago

Hi, I've done some testing on a 750 SP1 system, but I cannot reproduce the error, can you help providing additional information on how to reproduce the error?

Do you schedule a ATC run in background, and then it dumps there? Or does it dump when showing the ATC results in the ATC result browser?

Perhaps try changing the check variant to contain less checks, in case they somehow influence each other.

TimoJohn commented 7 years ago

We are on 750 SP 004 Run AOC_17 from ADT ... got this dump:

The issue is that in p_code from ADT is 0001 in and in SE80 / or other Tool I have '001' in it. From Exclipse I could not start the debugger ... sorry.

I had to fix the isseue again by updating:

METHOD get_message_text.

CASE p_code.
  WHEN '0001' or '001'.

Now its better ...

larshp commented 7 years ago

okay, will try from Eclipse tomorrow :smile:

larshp commented 7 years ago

try again. It turns out that the bad message codes originates from the check superclasses, so now it calls super->get_message_text, I guess these messages are then later removed from the results.

I would say this is an error in the SAP standard code, but we have to work around the issue.

Thanks for the bug report :smile:

TimoJohn commented 7 years ago

Yes I also think this is something in SAP Standard for me this looks like if old tools use different SCI classes than ATC / new tools .... but I did not verify this.

larshp commented 7 years ago

I have updated the code in commit https://github.com/larshp/abapOpenChecks/commit/f0330741c05efabb35063b52e7dc807c3e19923f

can you try installing it and try again?

TimoJohn commented 7 years ago

Hello Lars, "Installing ist good .. our DEV system does not have internet access ... so not ABAP GIT with github ... I will have to fix them manual. But it looks like it works fine.

larshp commented 7 years ago

no need to do it manually, you can create an offline project and then import https://github.com/larshp/abapOpenChecks/archive/master.zip

see https://github.com/larshp/abapGit/wiki/Installing-a-repository-offline

larshp commented 7 years ago

solved, closing, feel free to open a new issue if there still are problems