on 08-29-2009 6:03 AM
Hi Experts,
I have created WD screen which fetches data from R/3 using RFC. The code is like as below.
public com.sap.tc.webdynpro.clientserver.uielib.standard.api.WDTextViewSemanticColor getMyOpenTripsColor(IPrivateList_trips_appView.IMyOpenTripsElement element)
{
//@@begin getMyOpenTripsColor(IPrivateList_trips_appView.IMyOpenTripsElement)
for(int x=0; x<wdContext.nodeMyOpenTrips().size(); x++){
if(wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel().equalsIgnoreCase("Change Travel Request")){
wdComponentAPI.getMessageManager().reportSuccess("i "+ wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel()+ " trpno "+ wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getTripNumber() );
return WDTextViewSemanticColor.CRITICAL;
}
if(wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel().equalsIgnoreCase("***Request Cancellation***")){
wdComponentAPI.getMessageManager().reportSuccess("j");
return WDTextViewSemanticColor.MARKED1;
}
}
return null;
My problem is that there are 47 records in the table (wdContext.nodeMyOpenTrips().size() is 47). When I am executing the following code, only first record is being displayed. The wdComponentAPI.getMessageManager.reportSuccess statements return following records. There are many trip nos in addition to 1427. Why only first record is getting displayed?
hi1 47
i Change Travel Request trpno 1427
hi1 47
i Change Travel Request trpno 1427
hi1 47
i Change Travel Request trpno 1427
hi1 47
i Change Travel Request trpno 1427
..many more rows (19 rows)
Please help.
Regards,
Gary
Looks like you have a context structure
MyOpenTrips (node)
+ color (TextViewSemanticColor, calculated=true)
+ recommendedActionsTravel (string)
To implement the calculated attribute get-method you don't have to loop over the node. Just write
String value = element.getRecommendedActionsTravel();
if ( "Change Travel Request".equalsIgnoreCase(value) )
return WDTextViewSemanticColor.CRITICAL;
if ( "***Request Cancellation***".equalsIgnoreCase(value) )
return WDTextViewSemanticColor.MARKED1;
return null;
Armin
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Experts,
I have modified code like as below. However the issue still persists.
Regards,
Gaurav
public com.sap.tc.webdynpro.clientserver.uielib.standard.api.WDTextViewSemanticColor getMyOpenTripsColor(IPrivateList_trips_appView.IMyOpenTripsElement element)
{
//@@begin getMyOpenTripsColor(IPrivateList_trips_appView.IMyOpenTripsElement)
Collection openTrips = new ArrayList();
for(int x=0; x<wdContext.nodeMyOpenTrips().size(); x++){
IPrivateList_trips_appView.IAllMyTripsElement i = wdContext.createAllMyTripsElement();
if(wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel().equalsIgnoreCase("Change Travel Request")){
wdComponentAPI.getMessageManager().reportSuccess("i "+ wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel()+ " trpno "+ wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getTripNumber() );
openTrips.add(i);
return WDTextViewSemanticColor.CRITICAL;
}
if(wdContext.nodeMyOpenTrips().getMyOpenTripsElementAt(x).getRecommendedActionsTravel().equalsIgnoreCase("***Request Cancellation***")){
wdComponentAPI.getMessageManager().reportSuccess("j");
openTrips.add(i);
return WDTextViewSemanticColor.MARKED1;
}
}
return null;
wdComponentAPI.getMessageManager().reportSuccess returns:
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
i Change Travel Request trpno 1427
When I am removing "return null; " the code does not get compiled. I am getting following message "This method must return a result of type WDTextViewSemanticColor"
Regards,
Gary
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
96 | |
11 | |
11 | |
10 | |
9 | |
7 | |
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.