Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

Problem with String parameters while Calling RFC enabled Function Module

Former Member
0 Likes
1,166

Hi all,

I execute BAPI(RFC enabled Function Module) from my WebDynpro Application and retrieve data from R/3.

To fetch the data I pass few String parameters to BAPI from my Dynpro Application.

Now the problem is that while making this call, the parameters are automatically converted to UpperCase. And I want those parameters in the original case at R/3.

I am not able to find out whether this conversion occurs at Dynpro side or R/3 Side.

Should i configure my BAPI(RFC enabled Function Module) or is there some option on the Dynpro Side to preserve the Case of the String?

Please help me.

Thanks,

Darshil

1 ACCEPTED SOLUTION
Read only

christian_wohlfahrt
Active Contributor
0 Likes
830

Hi,

spontaneously I know two places for such a setting:

If you test a function module in SE27, there is a small flag in the upper part: here lower case handling of the test frame can be activated - that's of course not relevant in your case.

Otherwise your character variables itself have to be defined as 'lower case' - it's an option of the DATA-statement. Check, if this is fulfilled in your case.

Regards,

Christian

6 REPLIES 6
Read only

christian_wohlfahrt
Active Contributor
0 Likes
831

Hi,

spontaneously I know two places for such a setting:

If you test a function module in SE27, there is a small flag in the upper part: here lower case handling of the test frame can be activated - that's of course not relevant in your case.

Otherwise your character variables itself have to be defined as 'lower case' - it's an option of the DATA-statement. Check, if this is fulfilled in your case.

Regards,

Christian

Read only

0 Likes
830

Hi Chirstian,

These Character Variables are attached to data elements and in turn to domains. And these domains are already in lowercase.

and ya, setting a flag in SE37 is not a solution to my problem but if somehow i can make it permenant i.e. if i can mark that flag permanently, my problem would be resolved.

Do you have any idea how to make that permanent?

Thanks,

Darshil

Read only

0 Likes
830

Hi Darshil,

I'm not sure whether you have experience with ABAP or you are a Java Programmer, but we cannot set that flag permanently.

Now, if you are saying that the domains are marked with the <i>Lowercase</i> attribute, then it means that the final table field will be capable of holding Case Sensitive data.

I have a hunch that the case-conversion is happenning at the Web-Dynpro side. Or, the application logic converts the string to UPPERCASE explicitly.

By the way, which BAPI are you talking about ?

Regards,

Anand Mandalika.

Read only

christian_wohlfahrt
Active Contributor
0 Likes
830

... not only database definition (or BAPI interface) has to have lower case setting, every variable in the chain has to be enabled - Darshil, your answer wasn't clear: which parts did you already check?

Christian

Read only

0 Likes
830

Christian,

All the variables i am using are either internal tables or structures. and all these structures are defined using LIKE statement. so it directly takes definition of the database structure. Do i still need to have lower case setting?

Anand,

Somehow I feel that this problem is occuring at R/3 System.

Sorry to confuse you. Whenever I say BAPI, I am referring to a user-defined, RFC enabled Function Module.

Thanks

Read only

0 Likes
830

Hi Darshil,

in general lower case is possible and we can give some hints where to check settings / make changes - but search has to be done by yourself.

If you don't trust your R/3 part, start there. E.g. use testframe (with flag!) and check the result. Usage via RFC or testframe won't bring differences. (You might write mini-SAP-test-program for RFC call inside R/3; call function ... starting new task.)

Depending on your result, you should look inside the function or switch your attention to the calling part.

Come back with some results (/further questions),

Christian