How To Debug ABAP Web Service on SAP Web Application Server (WAS)

One of the more confounding aspects of developing in the SAP space is the lack of good, low-level, helpful instructions.  While this post is merely regurgitating information that is readily available elsewhere, it will be done in a manner that (hopefully) will actually be useful to vast majority of ABAP developers out there that,  like me, find a lot of SAP’s implementation of web services on the ABAP stack confusing.

Debugging a web service on the ABAP stack of SAP Web Application Server is a very useful procedure to know.  Here’s how you do it.

[Read more...]

Changing The Function Interface of Web Service Enabled Functions

Today, I got an email from one of my co-workers at my client with a very good question.  This developer had created an ABAP function to return SAP data.  Then, he exposed this function as a web service. Due to changes in functional scope, he had to change the function interface.  After he made all his changes and unit tested the ABAP code, he was surprised to find that his web service was still adhering to the old function interface.  He tried deleting and recreating the web service, but ran in to problems.  He was stuck in a pickle and needed a little push in the right direction.

[Read more...]

Discovering Something Old in SAP – Using an External Program as a Batch Job Step

Occasionally, I have the opportunity to utilize a feature in SAP that I have never used before.  It is not necessarily a new feature, and it may have existed in SAP for several releases.  There are several reasons for ignoring new functionality, but the primary reason that comes to mind is “I’ve always done it this way, I’ve installed hundreds of these, and I know it works”.

Sometimes, a special business or security requirement does not permit the “business as usual” scenario.  It is these situations which nudge me down the path which I have never explored.

[Read more...]

Use ABAP to Access ANY Data In Memory

OK. So, maybe the title is a little misleading and before I continue, I should qualify it.  You can’t access any memory in ABAP.  This tip can only access the current internal session, and it can only access data that is declared globally in the programs currently loaded in the internal session.  Fortunately in most programs, those memory locations have a lot of data declarations.

[UPDATE] The ABAP statement variants used in this tip are marked for internal use only by SAP.  Therefore, the use of these programming statements should be done at your own risk.

[Read more...]

Setting the GUI Status on a Selection-Screen

Setting the GUI Status for a Selection-Screen

In dialog programming, you may already be familiar with the setting of the PF-STATUS (known as the GUI Status) prior to calling a screen.  Usually, the code looks something like this:

set pf-status ‘STATUS_2000’.
call screen ‘2000’.

I recently discovered that this does not work at all when calling a selection screen.
Here was my non-working code:

set pf-status ‘STATUS_2100’.
call selection-screen ‘2100’
.

[Read more...]

SAP Exchange Infrastructure – JMS for Oracle AQ Setup Instructions

By: Timothy Yates and Wess Tobler

Description:

This document gives step-by-step instructions on how to install, setup, and configure the JMS adapter to communicate with Oracle AQ Messaging.  Oracle AQ and the SAP XI adapter are not compatible as delivered by SAP and Oracle.

DataXstream adapter software was developed to bridge the incompatibilities between the SAP JMS adapter and Oracle AQ.

SAP Exchange Infrastructure – JMS for Oracle AQ Setup Instructions