Skip to Content
author's profile photo Former Member
Former Member

Cannot retrieve any result from an adaptive RFC model

Hi Fellas,

I have read plenty of entries regarding my particular problem but somehow I seem to miss something terribly.

I have successfully imported an adaptive RFC model from a SAP 6.2 instance. My WebDynpro has been successfully deployed into my (remote) J2EE WAS 6.40 which runs on a separate host. I have created appropriate JCO connectors in the WebDynpro Content Administrator which refer to the remote SAP 6.2 instance of my WAS 6.40 - and tested them as well.

When the model in my ModelController is executed I get no exception but I do not seem to get any result either. I have already checked the RFC, but its declared as "remote" and does not include any authorization procedures.

My Context Model looks like

Root

...PartnerInput (Model node)

.....Partner

.....Partner_Lesen

...PartnerOutput (Model node)

.....E_Partnerdaten (Model node)

.......Name

.......further Model Attributes

Here is my model execution code.

IWDMessageManager manager = wdComponentAPI.getMessageManager();

try{

wdContext.currentPartnerInputElement().setPartner_Lesen("X");

wdContext.nodePartnerOutput().bind(new Z_Bilanzdaten_Aarloan_Output());

wdContext.nodePartnerOutput().nodeE_Partnerdaten().bind(new Zdalbp01(new Partner()));

wdContext.currentPartnerInputElement().modelObject().execute();

wdContext.nodePartnerOutput().invalidate();

} catch(WDDynamicRFCExecuteException ce) {

manager.reportException(ce.getMessage(), false);

}

So, does anyone know of any meaningful means how to trace down the problem.

Regards

Metin

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

4 Answers

  • author's profile photo Former Member
    Former Member
    Posted on Sep 27, 2005 at 03:06 PM

    Hi Metin,

    1. is "X" is correct parameter.I mean please connect to R/3 system using SAPLogon and test the output for this input.

    2.If you performed the above step already then try following.

    IWDMessageManager manager = wdComponentAPI.getMessageManager();

    try{

    wdContext.currentPartnerInputElement().setPartner_Lesen("X");

    wdContext.currentPartnerInputElement().modelObject().execute();

    wdContext.nodePartnerOutput().invalidate();

    } catch(WDDynamicRFCExecuteException ce) {

    manager.reportException(ce.getMessage(), false);

    }

    3. Please check if there are any mandatory parameters that you need to pass to this BAPI.

    Regards, Anilkumar

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi,

      yes, "X" is the correct parameter. I already tested my RFC in SAP with the same parameters and works fine.

      Your suggested code was my initial approach (which seem to be a common pattern), but it failed unfortunately. So I had read some postings about invalidating in the context of an adaptive rfc model and gave my latest coding a chance (see my first posting).

      I am not even sure, whether my RFC gets executed at all. Is there any way to check this via logs or anything similar.

      No success so far.

      Regards, Metin

      Message was edited by: Metin Göktay

  • author's profile photo Former Member
    Former Member
    Posted on Sep 27, 2005 at 05:36 PM

    Hi Metin,

    can u please send ur model/component contest hierarhcy.

    then i can try.previously i also got same type of problem.

    regards

    Naidu

    Add a comment
    10|10000 characters needed characters exceeded

    • Former Member

      Hi Metin!

      I am not sure what is your SAP Version and if External Breakpoint is supported or not?

      Anyhave Did you try to Debug the ABAP Code from your WebDynpro Application? You can try that.But when you set the Breakpoint in your RFC you have to set it as a External Breakpoint(HTTP Breakpoint).Also Make sure you have SAPGUI installed in the local machine your running the application from and your connected via a dedicated server.Verify that you have maintained your JCo Connection with dest.type as SingleServerConnection.

      This will give you an idea, if your Connection is successfull and if so, where it fails in the RFC.

      Thx

      Gisk

      Message was edited by: Gisk

  • author's profile photo Former Member
    Former Member
    Posted on Sep 28, 2005 at 04:19 AM

    Hi Metin,

    Make some changes in your code.

    Here is my model execution code.

    I guess you have initialized your model as you are not getting any errors related to that.

    IWDMessageManager manager = wdComponentAPI.getMessageManager();

    try{

    wdContext.currentPartnerInputElement().setPartner_Lesen("X");

    wdContext.currentPartnerInputElement().modelObject().execute();

    wdContext.nodePartnerOutput().invalidate();

    wdContext.nodeE_Partnerdaten().invalidate();

    } catch(WDDynamicRFCExecuteException ce) {

    manager.reportException(ce.getMessage(), false);

    }

    Regards,

    Bhavik

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Sep 28, 2005 at 09:33 AM

    Hi,

    first of all let me thank you all for your ideas.

    Finally, I made it work. But I had to change quite of my model binding.

    My RFC-Model looks like this.

    Model Classes

    ...Z_Bilanzdaten_Aarloan_Input

    .....Relation:Output:Z_Bilanzdaten_Aarloan_Output

    .....Property:Partner

    .....Property:Partner_Lesen

    ...Z_Bilanzdaten_Aarloan_Output

    ......Relation:E_Partnerdaten

    ...E_Partnerdaten

    ......Property:Name

    ......More Properties

    My initial Model Binding looked like

    this

    Root

    ....Z_Input (Model node) bound to Z_Bilanzdaten_Aarloan_Input

    ....Z_Output (Model node) bound to Z_Bilanzdaten_Aarloan_Output.E_Partnerdaten

    Well, this did not seem to work.

    My new binding is now:

    Root

    ...Z_Input(Model node) bound to Z_Bilanzdaten_Aarloan_Input

    .......Output (Model node) bound to Z_Bilanzdaten_Aarloan_Input:Output

    .........E_Partnerdaten (Model node)

    ....Partner

    ....Partner_Lesen

    So, as you can (hopefully) see I only have a single model node bound to the elements of my Model Class Z_Bilanzdaten_Aarloan_Input as opposed to my initial version where I used TWO model nodes bound to their corresponding model classes. It seems to make sense to me now. Obviously I need to access the return values from the model I execute. That I did not in my previous implementation since I mistakenly accessed the return values from the second model Z_Bilanzdaten_Aarloan_Output which actually has never been executed.

    Thanx for the debugging advise of RFC via External Breakpoints. That works too.

    Good hacking.

    Metin

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.