on 07-10-2006 3:33 PM
Hi all,
I am developing an application which uses ABAP function modules. I have a very strange problem with 2 tables in that app (the other tables work perfect):
the tables remain empty after pushing the button that causes the action to call the function module.
The functions which are called to fill this table are tested and they return the correct result (a table with content). I know as well that the application gets access to these functions. This is because I have placed an HTTP-breakpoint in them and I see that the function is completed, as well as that the exporting table is filled with the result. Does anyone know the reason why my table could remain empty? I really don't have a clue since I bound it the the exporting values and all my other tables work (and I think I constructed them in a similar way).
Thanks in advance,
Tom
Hi Tom,
1.Are you execute the BAPI indidualy and get the results?
2.Check the Size of the Output Result.
Is these things are Ok then,
You can Delete the table and re create it.
This will work. I also got the same problem. I recover it like that
Kind Regards,
Mukesh.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
the invalidate is done after the execute
where do i need to put the code with the response and will it work in my case with an array?
@mukesh, what exactly do you mean? when i place my http-breakpoint i see that the function returns a result, but it doesn't appear in the table. and how do i check the size?
thanks,
tom
Hi,
If it's the model output/response node that is being invalidated after calling execute on your model object, there will be no data in the model nodes.
So you should place your invalidate call just before calling executing. But make sure that you are not invalidating your model input/request node. Otherwise your BAPI call will fail.
Regards,
Satyajit.
Hi Tom,
After execution you check the size of the output node like.
IPrivate<ViewName>.I<BapiOutput>Node node=wdContext.node<BapiOutput>();
int size=node.size();
You can get the size of the BAPI return value.
check the size is greater then 0 means the Bapi return result to your applicaion
Kind Regards
Mukesh
hi,
I've been changing the code a bit and now I can see that the other tables actually don't work either. There's only 1 table that's able to change it's content. The other tables always show the same data as when they get their content for the first time from the ABAP function module. Could the problem be in my invalidate. I always write the following:
//execution:
wdContext.currentBapi_<name>_InputElement().modelObject().execute();
//invalidate:
wdContext.nodeOutput().invalidate();
thanks,
Tom
Hi Tom,
R u sure about function is returning something? you can check with this following code.
response = wdContext.current<your node>ResponseElement();
if(response != null){
// if Result is an Array get the size of the array
Array[] ab = response.modelObject().getResultAsArray();
}
By this way, you can find the length of the array.
Regards,
Sridhar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi,
first of all thanks for the quick replies.
second:
the datasource property isn't blank and the context seems to be ok. Invalidate is also called.
I've made a screenshot:
http://server58.dedicatedusa.com/~mathias/tom/screen.JPG
with which I hope you can have a better look involving the context.
thanks,
Tom
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi
Check if the dataSource property of the Table is blank.
If it is blank then bind it to the correct node.
Regards,
Ajay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tom,
Are you calling inValidate() anywhere?
What's your context structure? Can you debug and see if the context node which is bound to your table is geting populated or not?
Regards,
Satyajit.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Tom,
is ur table binded properly to ur context elements??
Theja
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
94 | |
11 | |
11 | |
10 | |
9 | |
8 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.