cancel
Showing results for 
Search instead for 
Did you mean: 

Structure of Data when importing a model

Former Member
0 Kudos

Hi All,

when I create a model in my WD project, WD generates a bunch of folder and atrributes that I do not understand...

Creating an adaptive RFC model calling one single function (zjs_read_master_data) that has one input parameter and one output parameter, WD generates

zjs_read_master_data_Input

->Output

zjs_read_master_data_Output

and a buch of other stuff...

can somebody explain or provide information explaining what the heck that stuff is for and how it is structured??

Thanks, JJJ

Accepted Solutions (0)

Answers (2)

Answers (2)

vmadhuvarshi_
Contributor
0 Kudos

Johannes,

zjs_read_master_data_Input is the executable model class that represents the input side of the function module's interface. Executable model classes can be identified with the icon having small speed lines on left of it.

You always start an RFC call with an executable object's execute() method. Under this object, you'll always find an instance of 'output' class - in your case, zjs_read_master_data_Output, this represents the output side of function module.

So, after you execute the function module and have called the context node's .invalidate(), method the returned data is available in mapped context node through this output node.

Apart from input and output objects, you also have some classes that do not have _input or _output suffixed to them. These classes represent the structures being used in the function module. All the scalar parameters of ABAP function module are represented as Simple Types in the Model Dictionary.

For further information about creating and using models, please follow [this link|http://help.sap.com/saphelp_nw04s/helpdata/en/d5/1558bfa6aa80499113983e738b1b21/content.htm].

Hope this helps.

Vishwas.

Former Member
0 Kudos

Alright, that means that

after calling zjs_read_master_data_Input's execute method, the "resonse data" is available in zjs_read_master_data_Output

or in the Output node under zjs_read_master_data_Input ?

Thanks, Johannes

former_member197348
Active Contributor
0 Kudos

Hi Johannes,

zjs_read_master_data_Input

-> Output

-> your node ( for response data)

Your data is available under Output node of zjs_read_master_data_Input only.

Regards,

Siva

Former Member
0 Kudos

Great thanks,

but what is the node zjs_read_master_data_Output for then? I do understand it technically, but from a user perspective: I guess it will be never used...

Thanks, Johannes

former_member197348
Active Contributor
0 Kudos

Hi Johannes,

zjs_read_master_data_Output is for structural reference. Only zjs_read_master_data_Input contains all input and output data.

Regards,

Siva.

Former Member
0 Kudos

hi

RFC model class contains three different types.

INPUT

OUTPUT

STRUCTURE

All RFC model classes have an RFC part type associated with them.This describes the function played by the class in the RFC interface.

we can only see structure parameters in the class hierarchy.

we can see the scalar parameters(whose value represented as a single value) when you double click on model class.

The Input model class should always be regarded as the Controlling class.

This is the only model class to possess an execute() method.

Therefore it is known as an executable model.

An instance of the Output model class will be created when the execute() method on the corresponding Input class is called.

Classes representing the structures used to type the non scalar RFM Parameters.

All structures used to type IMPORTING, EXPORTING, CHANGING or TABLES parameters will be represented by the classes of RFC type Structure.

Any parameter occurs under Input class is an importing Parameter.

Any Parameter ocuurs under both Input and Outputclass is bidirectional.(because changing and Tables parameters in RFM are bidirectional).

If you observe in Input class you can find Output structure ,this is the instance of OUTPUT class.

Every time when the execute() method is called OUTPUT class instance is created.

Its not possible to generate any Output without having Input class instance.

so RFM require inputparameters ,which are supplied to instance of input class,then

execute() method is called and then

RFC Output class instance will be created.

Regards

sowmya.