Navigating to Standard component from AET Table Extension
The AET table extension is a rich feature of EHP1 which enables us to create Custom table and link it to GENIL/BOL using wizard. Creation of AET table extension is already explained by Suchita Phulkar in the below link.
The table extension that gets created, gets linked to the parent component through a component usage which gets generated dynamically.
I would like to demonstrate using an example.
I have created a table extension in the form of tableview, to opportunity (Component BT111H_OPPT) wherein, I save the E-Mail ID of customer and E-Mail Activity description. My requirement is on click of the E-Mail Activity in my custom table view, it should navigate to the standard E-Mail page (BT126H_MAIL).
Ideally, if we follow the traditional method of navigation we would be creating an outbound plug.
For our example, I have created outbound plug ‘DOCFLOW’ from the tableview and created a hyperlink for the field by changing its field-type to hyperlink in the GET_P_XXXX method. I also created an event to trigger the navigation.
Once the coding is done, on click of hyperlink on the Web-UI page, we would encounter an error like the one below.
Define NavigationalLink DOCFLOW for source view #ENH_TAB#CUTABLENAME##HEADER.COMP_NAME/VIEWNAME in component BT111H_OPPT.
The error message is self explanatory stating that there is no Navigation Link created for the component usage of the custom tableview.
If we navigate to the repository of BT111H_OPPT and check for component usage, we would find that the component usage #ENH_TAB#CUTABLENAME##HEADER.COMP_NAME/VIEWNAME for the custom table extension does not exist.
On debugging we find that the component usage name is getting created at runtime through method PROCESS_REGISTRATIONS of class CL_AXT_ASSIGNMENT_BLOCK_BINDER.
At line 40, the method creates a custom component usage for the AET Table extension which is #ENH_TAB#CUTABLENAME##HEADER.COMP_NAME/VIEWNAME.
If we were to debug the WD_USAGE_INITIALIZE of component controller of Opportunity (BT111H_OPPT), we would find the component usage name for AET Table extension being handled separately.
So in-order to Navigate to standard component from custom Table view created through AET table extension, we need to change the properties of the field which we intend to use as hyperlink for navigation.
In WebUI, click on the ‘Show Configurable Areas’; select the Table extension view and navigate to the field which you intend to make as hyperlink.
Select the field-type as NAV_OBJECT – Application Reference. Refer to the image below.
Field Sub-Type is a mandatory field to be selected. Click on F4 to select the Application type you want to navigate to.
For the demonstration, I am navigating to Activity.
Save the changes and generate the view again.
Refresh the browser and try to Navigate again. You would find that the page successfully navigates to the Activity.