cancel
Showing results for 
Search instead for 
Did you mean: 

RFC Context Initialization

Former Member
0 Kudos

Hi,

I'm trying to figure out how RFC context initialization works.

If I'm not mistaken, when I have to use a model, I have to create a model bound node in the context and I have to initialize it by creating the appropriate structures (the java beans that will hold the values) and binding them to the nodes.

//$$begin ZMCTBPM_A_READ_NOTE_SR00(-15072069)
ReadNote_SR00 readNote_SR00Model = new ReadNote_SR00();
com.mycompany.mctciat_rfc.readnot.Zmctbpm_A_Read_Note_Input zmctbpm_A_Read_Note_Input_SR00 = new com.mycompany.mctciat_rfc.readnot.Zmctbpm_A_Read_Note_Input(readNote_SR00Model);
java.util.List<com.mycompany.mctciat_rfc.readnot.Zmctbpm_P11> it_Note_SR00 = new ArrayList<com.mycompany.mctciat_rfc.readnot.Zmctbpm_P11>();
zmctbpm_A_Read_Note_Input_SR00.setIt_Note(it_Note_SR00);
com.mycompany.mctciat_rfc.readnot.Zmctbpm_A_Read_Note_Output output_SR00_1 = new com.mycompany.mctciat_rfc.readnot.Zmctbpm_A_Read_Note_Output(readNote_SR00Model);
java.util.List<com.mycompany.mctciat_rfc.readnot.Zmctbpm_P11> it_Note_SR00_1 = new ArrayList<com.mycompany.mctciat_rfc.readnot.Zmctbpm_P11>();
output_SR00_1.setIt_Note(it_Note_SR00_1);
wdContext.nodeZmctbpm_A_Read_Note_Input_SR00().bind(zmctbpm_A_Read_Note_Input_SR00);
//$$end

This is what is automatically made by applying the Service Controller template: it's the code put in the wdDoInit() method. I always used the Service Controller template to initialize the model nodes.

Now I was looking to a Web Dynpro written by another person and this WD adopts a strange method to initialize the model nodes. This WD uses a model that holds several functions and the context is initialized in this way:

1) An instance of the model structure is created

MctBpm_Ac_Model modlInst = new MctBpm_Ac_Model();

2) An instance of the desidered function's root node bean is created, passing the model instance as an argument

Get_Lista_Coge_In bapiInGetListaCoge = new Get_Lista_Coge_In(modlInst);

3) The instance of the root node bean is bound to the context

wdContext.nodeGetListaCoge_In().bind(bapiInGetListaCoge);

That's it. So I want to know:

1) Are these two different method of initialization equivalent? (i.e. using the Service Controller Template and using the other method?).

2) Why it is necessary to bound model nodes to a java bean/structure and for value nodes it is not?

Thank you.

Pietro

Edited by: pietro.m on Mar 1, 2011 10:24 AM

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

can someone point me at least to some SAP documentation where to find informations about models and RFC initializations in Java?

Thank you,

Pietro

0 Kudos

Hi Pietro,

1) Are these two different method of initialization equivalent? (i.e. using the Service Controller Template and using the other method?).

Ans: Yes these two are equivalent

2) Why it is necessary to bound model nodes to a java bean/structure and for value nodes it is not?

Ans: refer this thread which you posted

if you want more on Adaptive RFc model refere this

http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b017bd92-320d-2b10-81ae-ac921eff5...

hope this will helps you.

Thanks & Regards,

Bhargava.

Answers (0)