cancel
Showing results for 
Search instead for 
Did you mean: 

No output!

Former Member
0 Kudos

HI,

in my webdynpro I´m searching for customers and I want to give a table with results back. Í have created a binding, but I don´t get any results.

I hope somebody can help me.

Thanks Uli

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hello,

I am experiencing this problem as well. I have copied the manager.reportSuccess("Success"); into my custom controller and get a 'Success' when I execute my WD project. But my table does not return any visible data. In my dev_rd trace log it seems to work ok too.

Regards,

Linda Lee

Former Member
0 Kudos

Thanks for all your answers.

Achim I tried your code, but there also no result,

I get the success message.

Robin I have looked, id I did the same mistake but in the method where I call my bapi I have :

wdContext.nodeOutput().invalidate();

Linda when I find any answer I let you know.

Has someone any idea?

Thanks

Uli

achim_hauck2
Active Contributor
0 Kudos

i've just hacked it in my developer studio. this code works (though it's not perfect code, put it all in the wdDoInit, but for this purpose it works):


public void wdDoInit() //of the controller
 {
  //@@begin wdDoInit()
  Bapi_Customer_Getlist_Input input = new Bapi_Customer_Getlist_Input();
  wdContext.nodeBAPI_CUSTOMER_GETLIST().bind(input);
  Bapicustomer_Idrange range = new Bapicustomer_Idrange();
  range.setLow ("0000000000");
  range.setHigh("9999999999");
  range.setOption("BT");
  range.setSign("I");
  input.addIdrange(range);
  try {
   wdContext.currentBAPI_CUSTOMER_GETLISTElement().modelObject().execute();
  }
  catch (Exception ex) {
   ex.printStackTrace();
  }
  wdContext.nodeOutput().invalidate();
  //@@end
 }

Controller Context-Model Node BAPI_CUSTOMER_GETLIST is bound to Bapi_Customer_Getlist_Input and the view maps to Output / Addressdata.

kr, achim

Former Member
0 Kudos

Thanks Achim,

I´ve put your code into my init method of the controller.

But now I get an exception:

Error stacktrace:

java.lang.NullPointerException

at isogmbh.com.sap.customersearch.CustomerSearchComp.callBapiCustomerGetlist(CustomerSearchComp.java:205)

etc.

What can I do now?

Thanks

Uli

achim_hauck2
Active Contributor
0 Kudos

huh, that's what i call a "diificult question", because you should give us mor einformation like:

- do you get error messages? which one?

- are you able to establish a physical connection to sap?

- do you use bapis? which one?

- etc...

kr, achim

Former Member
0 Kudos

HI,

okay sorry, I will give more information.

I don´t get an error message and I have a connection to sap.

I´m using the bapi customer_getlist.

Do need more to know?

Thanks

Uli

achim_hauck2
Active Contributor
0 Kudos

ok,

to be sure, that data <b>is</b> transfered from sap to your web dynpro application, please make sure (if you haven't done it yet):

- your input parameters for the bapi are correct (test it in SE37)

- data <b>is</b> transfered from sap to webdynpro (ST11, dev_rd trace, eventually you have to increase the trace level in SMGW)

- invalidate the context after the bapi execution

kr, achim

Former Member
0 Kudos

HI,

thanks,

how can I look if the data is really transferred?

The Bapi and the input is okay, I ´ve tested it in se37.

What du you mean with invalidate the Context after the Bapiexecution???

This is a part of my coding:

try {

wdContext.nodeBapi_Customer_Getlist_Input().

currentBapi_Customer_Getlist_InputElement().

modelObject().execute();

}

catch (Exception ex) {

msgMgr.reportException(ex.getLocalizedMessage(), false);

}

wdContext.nodeOutput().invalidate();

bapiInput.removeIdrange(Input);

msgMgr.reportSuccess("Success");

Thanks for your help

Uli

achim_hauck2
Active Contributor
0 Kudos

you can increase in SMGW the trace level of the gateway (Goto / Trace / Gateway / Increase Level). then after executing the webdynpro bapi-call, there should be in the dev_rd trace your request and the answer (search for data, that should be delievered).

if this happens, we know data is delievered to webdynpro and you have to examine your webdynpro-code.

(perhaps, there's a more comfortable way analyzing / debugging the bapi call during webdynpro-runtime with webdynpro-tools, but the described way works, too).

with "invalidate the context" i meant the line you've already got in your code: <i>wdContext.nodeOutput().invalidate();</i>

if your ui elements use the Output-node & the view uses context mapping to the controller context & the controller context is bound to the bapi-model, everything should be fine on webdynpro-side...

kr, achim

ps: you should put the "Success"-message inside the try-block.

Message was edited by: Achim Hauck

Former Member
0 Kudos

sorry, but I don´t understand anything,

how do I get to SMGW?

How can I debugg the bapi call?

Thank you

Uli

achim_hauck2
Active Contributor
0 Kudos

SMGW and ST11 are transaction-codes in your SAP backend. with these, you can trace in the backend what's happening during the call and if the backend delievers data to your webdynpro.

there is also an Editor at webdynpro side you can use for showing the model-data during runtime (http://<host>:<port>/webdynpro/dispatcher/sap.com/tcwdtools/Editor), but I'm not familiar with it. So, I propose the ST11 way...

kr, achim

Former Member
0 Kudos

Hallo,

I´ve got the same problem as Ulrike.

As I debugged the application, I could see that the R/3-system received the data and read a SQL-Statement from the database.

But I could not find out by the SQL-Trace in transaction st05, what the system delivers to the WD application.

I´d appreciate any hints...

thank you in advance

kind regards

Robin

achim_hauck2
Active Contributor
0 Kudos

as i posted above:

i was able to see the data (coming in & going out) in the gateway-trace (dev_rd) after inreasing the trace-level.

kr, achim

Former Member
0 Kudos

HI,

what must be in the trace-file, when my data was transferred to and from the sap System???

Thanks

kr,

Ulrike

achim_hauck2
Active Contributor
0 Kudos

oops, sorry, double-post...

Message was edited by: Achim Hauck

achim_hauck2
Active Contributor
0 Kudos

for example the bapi-name you're calling, the data you entered for input and the data you'll receive

i've just tested it again (with trace level <b>2</b>):

since i don't have any customer data in my system, i've used BAPI_USER_GET_DETAIL. in dev_rd i can see:

the input (bapi-name and input-data):


<snip>
...
70000006097f860  000640  07413130 315a4731 01190130 00284241  .A101ZG1...0.<b>(BA</b> 
70000006097f870  000656  50495f55 5345525f 4745545f 44455441  <b>PI_USER_GET_DETA</b> 
70000006097f880  000672  494c3d3d 3d3d3d3d 3d3d3d3d 46542020  <b>IL</b>==========FT   
70000006097f890  000688  20202020 20200130 01140003 39393701        .0....997. 
70000006097f8a0  000704  14011500 01440115 00090007 41313031  .....D......<b>HAUC</b> 
70000006097f8b0  000720  5a473100 09050100 01010501 05020000  <b>K</b>............... 
...
</snip>

and the output-data (for example ADDRESS-structure):


<snip>
...
700000060955760  000592  da08a705 14051200 00051202 01000741  ...............<b>A</b> 
700000060955770  000608  44445245 53530201 020307b9 30303030  <b>DDRESS</b>......0000 
700000060955780  000624  30323233 33333030 30303032 32313132  0223330000022112 
700000060955790  000640  48657272 20202020 20202020 20202020  <b>Herr</b>             
7000000609557a0  000656  20202020 20202020 20202020 20204163                <b>Ac</b> 
7000000609557b0  000672  68696d20 20202020 20202020 20202020  <b>him</b>              
7000000609557c0  000688  20202020 20202020 20202020 20202020                   
7000000609557d0  000704  20202020 20204861 75636b20 20202020        <b>Hauck</b>      
...
</snip>

ok, it's not comfortable to read, but it's just to check, if the data is transmitted at all.

kr, achim

Former Member
0 Kudos

Hi,

this is what I get in my Trace file:

I'm in GwReceive

NiIRead: read 28, 2 packs, MESG_IO, handle 14, data complete

GwReadSapWpRq: request: request from sap wp 0

-IN- tid 17 uid 3055 mode 0

-IN- appc_ca_blk 6 len 80 rq_id 23872

-IN- wait_f_answ 0 cmd 0

Adresse Offset Appc-Data to Gateway

-


04AEDBE0 000000 06090200 0bef0000 00000000 00000000 |................|

04AEDBF0 000016 00ffffff ff000000 00000000 00000100 |................|

04AEDC00 000032 00000000 00000000 36333136 37383539 |........63167859|

04AEDC10 000048 00006d60 00000000 00000000 00000000 |..m`............|

04AEDC20 000064 00000000 00000000 00000000 00090000 |................|

-


ThGetCommIdx: found index 9 via appc_hdr

found entry 9 (tid/uid/mode/conv_id/a_r: 17/3055/0/63167859/0)

GwIHdlRqFromSapWp: call after timeout or async receive

GwListRemove: elem 9 not in comm_wait_list

REL APPC ca_blk 6

GwReadReqIndex (process_id: -1)

GwReadReqIndex: no filled request-index-block

GwCheckPollValue()

GwCheckPollValue: reset poll value to 20000 msec

Should be more there?

kr,

Ulrike

achim_hauck2
Active Contributor
0 Kudos

i made a mistake in my last post: trace level should be at least <b>3</b>. You can check this by searching the line:

  • SWITCH TRC-LEVEL from 2 TO 3

(increasing the trace level: transaction SMGW, Menu Goto / Gateway / Trace / Increase level)

kr, achim

Former Member
0 Kudos

Okay I have switched the trace level.

Now I get this :

I'm in GwReceive

NiBufSelect: Preprocessing...

NiISelect: timeout 502 ms

NiBufSelect: Postprocessing...

NiBufSelect: returning 1 clients

NiSelNext: returning hdl 6, r--, 011D10E0, rest 0 entries (011ED538)

NiIRead: read 28, 2 packs, MESG_IO, handle 6, data complete

GwReadSapWpRq: request: request from sap wp 2

-IN- tid 15 uid 3063 mode 0

-IN- appc_ca_blk 6 len 80 rq_id 23872

-IN- wait_f_answ 0 cmd 0

Adresse Offset Appc-Data to Gateway

-


04AEDBE0 000000 06090200 0bf70000 00000000 00000000 |................|

04AEDBF0 000016 00ffffff ff000000 00000000 00000100 |................|

04AEDC00 000032 00000000 00000000 36343830 33393638 |........64803968|

04AEDC10 000048 00006d60 00000000 00000000 00000000 |..m`............|

04AEDC20 000064 00000000 00000000 00000000 00090000 |................|

-


ThGetCommIdx: found index 9 via appc_hdr

found entry 9 (tid/uid/mode/conv_id/a_r: 15/3063/0/64803968/0)

GwIHdlRqFromSapWp: call after timeout or async receive

GwListRemove: elem 9 not in comm_wait_list

REL APPC ca_blk 6

GwReadReqIndex (process_id: -1)

GwReadReqIndex: no filled request-index-block

GwCheckPollValue()

GwCheckPollValue: reset poll value to 20000 msec

Thanks

Uli

achim_hauck2
Active Contributor
0 Kudos

if this is really the whole output with trace level 3, this SAP-system didn't receive any connection request at all. silly question, but are you sure, you're connecting to the correct SAP system?

are the jco-destinations in SLD of your webdynpro-serving WAS maintained correct?

in transaction SMGW there should also be a connection listed that is established during bapi-call.

kr, achim

Former Member
0 Kudos

Thanks for your help,

I´m connecting to the coorect sap system.

I have created and tested my JCO Destinations, and they are tested with success.

Before I start my Webdynpro there are 2 connections on my smgw and after I have started ist there are 3.

kr,

Uli

Former Member
0 Kudos

What can I do now?

Any ideas?

Thanks

Uli

achim_hauck2
Active Contributor
0 Kudos

hmmm....

that's sounds strange. but let's assume the bapi-call works and data is transmitted to your webdynpro application (though the trace tells another story...).

try to evaluate, if there's an error during bapi-call.

what output do you get with:


try {
  wdContext.nodeBapi_Customer_Getlist_Input().currentBapi_Customer_Getlist_InputElement().modelObject().execute();
  <b>msgMgr.reportSuccess("Success");  </b>
}
catch (Exception ex) {
  <b>msgMgr.reportWarning("Warning in catch: "+ex.getMessage());</b>
  msgMgr.reportException(ex.getLocalizedMessage(), false);
}
wdContext.nodeOutput().invalidate();

kr, achim

Former Member
0 Kudos

Maybe this helps you as well:

I just forgot a method call. Instead of

wdContext.nodeOutput().invalidate();

i wrote

wdContext.invalidate();

The result is that data is delivered correctly by the system, but simply isn´t synchronized with the model and therefore not shown in the table...

kind regards

robin