cancel
Showing results for 
Search instead for 
Did you mean: 

Multiple ALV Usage in One WD Component

Former Member
0 Kudos

Hi All,

One custom WD component requires multiple sets of ALV output to display different types of business data embedded within different views of the custom developed WD component. Each use of the ALV is distinct in that it displays data from different context nodes, includes different self-defined application specific functions and different interactive UI elements.

For example one custom developed WD component contains four separate views. Each view contains one embedded ALV table for the purpose of displaying either the material master, equipment master, material BOM and material inventory data.

I see that there are two design possibilities for the inclusion of the SALV_WD_TABLE component which are:

1. Define four separate usages of the SALV_WD_TABLE component within the one WD component controller. Subsequently on each view include the component usage for one of the four SALV_WD_TABLE components that were declared in the component controller. Therefore each view would instantiate its own unique usage of the SALV_WD_TABLE component. The WDDOINIT() method of each view would be sufficient for setting the respective ALV model, function and column settings for its unique usage of the ALV. Could use external context mapping to transfer the application data to the context mapping. This approach would require multiple instances of the ALV component to be in memory at one-time per each execution of the application.

2. Define only one usage of the SALV_WD_TABLE component within the WD component controller. Then on each view include the same one SALV_WD_TABLE component that was declared in the component controller. Therefore each view would share the same one common usage of the ALV component. Rather than using WDDOINIT() method, the event handler methods of each view would be used to set the respective ALV model, function and column settings for its unique usage of the ALV. Would use SET_METHOD() to transfer the application data to the context mapping each time the handler method was executed. This approach would require that the ALV settings (model, function, column and context mapping) would need to be re-defined every time the user navigated from one view to another.

The WD application use model would require much navigation between the various views and therefore the content and settings of a single shared ALV table would change based on the business data being displayed.

Which of the two approaches outlined above is preferred from a runtime performance perspective? Is there an alternative approach that would be better than either I have identified above?

Thanks in advance,

Andy.

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Vijay,

Thanks for taking the time to consider my question and provide your response. Indeed I agree that working with the first option (multiple ALV declarations) is easier from both a development and runtime navigation perspective.

Much thanks,

Andy.

Former Member
0 Kudos

Hi Andy,

The first one is the best one always. We are using the same concept in our project. The second one is very difficult task for you as well as for the WebDynpro controller to transfer the data for each navigation.

If you have any other issues , Please let me know so that i will try to resolve issues.

Thanks and Best Regards,

Vijay