Skip to Content

Hi community,

do you know this situation? You just saw a presentation about the really cool new ABAP language features and can’t wait until you can use them. Fortunately you have a brand new 7.40 system in your landscape and you write you first modern ABAP report. For sure you are using ABAP in Eclipse and you look very proud on your new piece of code like in this example with a bunch of inline declarations:



/wp-content/uploads/2014/11/ci4_596539.png


Woh, that’s really nice. But ………DAMN.  ๐Ÿ˜ก

You forgot that your product owner told you that you have to deliver your code also for older releases.

[Remark: All the developers in the ABAP in Eclipse team know this situation ๐Ÿ˜‰ ]

So you can’t use the new feature because in older releases the code will not run. But how can you do that?

The syntax check does not tell when you are using statements that are not available in older releases.

You first have to downport your code and do the syntax check there. This is horrible !

How cool would be the world if your IDE is doing the following: 



/wp-content/uploads/2014/11/ci5_596538.png      



You can do a remote syntax check in your system by using the code inspector and I will tell you now what you have to do:

First you have to define a code inspector variant (or you add the remote check in your existing variant) by using transaction SCI:


/wp-content/uploads/2014/11/ci1_596591.png

In the tree of available checks you find under ‘Syntax Check/Generation’ an item called ‘Syntax Check in Remote System’.


/wp-content/uploads/2014/11/ci3_596592.png


Select this check and press the green/yellow icon because you have to enter additional attributes:


/wp-content/uploads/2014/11/ci7_596596.png


On the popup you have to enter the name of the RFC connection that you want to use for the remote check. Additionally you can enter the name of a transport object set. These are the objects that are transported virtually in the remote system before the check is triggered. Via this object set the dependent objects that you need for the check are defined. The object set is defined via an code inspector object set. In my example I just picked the ABAP package of my report:


/wp-content/uploads/2014/11/ci2_596606.png    



That is more or less what you have to. The code inspector variant is ready to go.

Very nice is the integration of this feature with ABAP in Eclipse via the ABAP test cockpit. You can use the variant in your eclipse project to do the remote syntax-check directly from your IDE. Just specify in your project properties the name of the code inspector variant under the ATC settings:


/wp-content/uploads/2014/11/ci6_596608.png  


Now you can trigger the check via the eclipse project explorer just by choosing the context menu item RunAs…ABAP Test Cockpit on the object that you want to check.The result will look like the picture above. 


Find more information about the ABAP test cockpit in general in this nice blog from Olga DolinskajaABAP Test Cockpit (ATC) for Developers in Eclipse or watch the video that is linked within that blog.

Have fun with the ABAP test cockpit and the remote syntax-check.

This feature is available on following releases:

7.02 SP14  

7.31 SP09

7.40 SP03


Kind Regards,

Thomas.












To report this post you need to login first.

13 Comments

You must be Logged on to comment or reply to a post.

  1. Florian Henninger

    Hi Thomas,

    this is a cool feature right now and hey, now just a quick fix is missing ๐Ÿ˜‰

    For me it is a very helpful feature, so I can develop things on my playground and move it to the system without a need to recheck it in the workbench again… oh life can be so easy ๐Ÿ˜Ž

    ~Florian

    (0) 
    1. Thomas Fiedler Post author

      Hi Florian,

      the Quick Fix to migrate inline declaration into standard type declarations is already in place. Others will follow. This week I tested another hot feature. Comparing source code between systems with editing in both systems. Can’t wait to ship that awesome stuff.

      Regards,

      Thomas.

      (0) 
  2. Matthias Bucher

    Thanks for this useful information.

    Does the virtual transport also handle DDIC objects like data element & structure definitions ?

    Without valid DDIC, nearly every line of code in destination system might be syntactically wrong …

    Best regards,

    Matthias

    (0) 
    1. Thomas Fiedler Post author

      Hi Matthias,

      no, the DDIC objects are not transported to the remote system. It is technical not possible.

      So you will get syntax errors for the usage of DDIC objects that does not exists in the remote system.

      Regards,

      Thomas.

      (0) 
  3. Peter Inotai

    Hi Thomas,

    Do you know if what could be the reason that in the “Check message” column there are some truncated technical messages, instead of “real” messages?

    For local checks it works fine.

    ATC system: SAP_BASIS 702 0015, remote system SAP_BASIS 740 0004.

    OSS note 2040982 is implemented in the 7.02 system, but couldn’t be implemented in 740 system, because SP8 is the min requirement. Not sure if this causing the problem, but could be.

    Any info/hint is welcome.

    Thanks,

    Peter

    (0) 
  4. Peter Inotai

    Hi,

    It seems currently only one system can be entered. ๐Ÿ™

    Or is there any trick to enter more than one system? (without creating several variables)

    Thanks,

    Peter

    (0) 
  5. Joachim Rees

    Hi Thomas,

    I don’t really get the part with the “transport object set”. ๐Ÿ™
    You say it’s a “code inspector object set” (I know I can create those in TC: SCI), and for your example TF_REMOTE_CHECK you just used your ABAP Package (“SE21”) TEST_REMOTE_CHECK.

    But: Surely the remot check then always (only) checks that packages content, right?
    In your example/use case, woldn’t you want it to check whatever object you edit in Eclipse. (How) ist that possible?

    Another thing that’s not clear to me:
    Is this am eclipse-only feature? Or should I be able to use it with an SCI-inspection as well?
    When I tried, it didn’t work: I got a message saying the object doesn’t exist – which is true for the target system, but I thought this was the whole point?!

    best
    Joachim

    (0) 
    1. Joachim Rees

      I can answer the 2nd part, as I got it working now: It does work in SCI as well!

      (However – and I think someone metioned that already: only sources are virtually transported to the target system, not DDIC-Objects…)

      Best
      Joachim

      (0) 
  6. Joachim Rees

    Hi Thomas,

    I got the remote syntax check workingย fine in SCI and think it can be quite useful.
    Thanks for pointing that option out to us!

    However, it doesn’t work in Eclipse, at least not with the RFC-Configuration I have (I guess in your example, you have a trusted system relationship or something between the systems?!).

    – In SCI when I run the inspection, it will ask me for credentials (User, PW) for the remote system.
    After I provide those,ย the check is done -> fine.
    – In Eclipse / AdT, Iโ€™m not asked for credentials – the checks just fail, saying “username or password is wrong”

    …thought I let you know about that…

    best
    Joachim

    (0) 

Leave a Reply