Currently Being Moderated

Problem description

Have you ever experienced problems with testing a development object that contain string variables, for example with a proxy class with an input parameter of type xsd:string? Find your solution here.

The first step is of course to create the Service Interface in XI and import it to ECC in transaction SPROXY. As a result, you will get an ABAP class created, implementing your Service Interface. In normal case, you can test this class just like any other ABAP class in transaction se24. Simply click the Execute button or press F8, then find your interface and click the "Edit interface" view button:

 

Then find a particular method of your ABAP class (it's name will be identical to Service Interface name from XI) and click "Execute method" button:

 

Then edit your input parameters by clicking on the "Edit long field or structure" button and type your input values:

 

Normally, fields will be ready for input there, so you can type your values and execute the method. But if your Service Interface contains fields of type xsd:string, you will get an error message: "The object can only be displayed", and all the fields will be grayed out:

 

Additionally, you will notice same thing for example when testing a function module with a string input parameter, as the testing environments for classes (se24) and function modules (se37) partially use the same code.

Problem solution

There are a few ways you can handle this error. First of all, if your system's NetWeaver version is 7.02, you will not experience the problems described. This is because one of the new functionalities of the new NetWeaver version, that you can test development objects with string variables.

Alternatively, if the NetWeaver platform version for your system is 7.01 or lower, you can import the SAP Note 1503476 - SE37 test environment: String cannot be processed OSS Note to have the problem solved. 

Finally, the easiest and most preferable solution for ABAP Proxy implementations is simply to specify the maximal length of your xsd:string typed fields in the Data Type of your Service Interface in PI. Simply go to the Data Type, switch to change mode, find the desired field and click Details and provide a value in the maxLength field.

 

After saving and activating your changes in PI, go to ECC again, to transaction SPROXY, and regenerate your proxy: find it on the list on the left, right-click it, select Regenerate Proxy and activate the change. Then you can execute the test environment again and everything will work as expected.

Comments

Actions

Filter Blog

By author:
By date:
By tag: