Skip to Content

There are some enhances available with navigation profiles.

From Sap Help:

  • You can use the “general” navigation profile to insert additional functions or transactions into the application toolbar or context menu of an ALV grid control or ALV tree control.
  • You can create, change, save, and manage user-specific and non user-specific navigation profiles.
    In navigation profiles, you can define which functions, transactions, class calls, or menus are displayed in the application toolbar or context menu.
  • You can also transport or import navigation profiles.

You can use the navigation profile in the following transactions, for example:

Shop Floor Control (PP – SFC)

– COOIS – Order Information System

– COHV – Mass Processing

– CO01, CO02, CO03 – Production Order (in the Order Network Overview)

– CO24 – Missing Parts Information System

– CO27 – Picking List

Production Planning Process Industries (PP-PI-POR)

– COOISPI – Order Information System PI

– COHVPI – Mass Processing PI

Material Requirements Planning (PP-MRP)

– MDVP – Collective Availability Check for Planned Orders

– MD09 – Determine Pegged Requirements

KANBAN (PP-KAB)

– PKMC – Display Control Cycle Maintenance

Other

– PDS_MAINT – Change Production Data Structure (Plug-In)

In this example, we wil enhance CO27 transaction to include a menu button and use ALV data to call a smartform print.

In CO27 transaction, click in Navigation Profile button and select “Change Navigation Profile”.

/wp-content/uploads/2013/04/1_208530.jpg

To insert a new menu button, select “Application Toolbar” row and click in add button. We will use a “Class Call”.

/wp-content/uploads/2013/04/2_208531.jpg

We need to fill button information as Text, Icon and Quick Info.

The implementing Class is what we need to create to manipulate ALV data.

This popup already show what interface we should use: IF_NAVIGATION_PROFILE.

So, we need to create a Custom Class first.

/wp-content/uploads/2013/04/3_208556.jpg

In SE24 transaction, we need to create a normal class. Here we created ZCL_CO27 class.

/wp-content/uploads/2013/04/4_208557.jpg

In ZCL_CO27 class, insert IF_NAVIGATION_PROFILE in interface tab.

/wp-content/uploads/2013/04/5_208558.jpg

This interface will make USER_COMMAND method available to code.

/wp-content/uploads/2013/04/6_208559.jpg

Inside IF_NAVIGATION_PROFILE~USER_COMMAND method, you can have your code to handle ALV Data from CO27, as the following example.

/wp-content/uploads/2013/04/7_208560.jpg

Now, that we have ZCL_CO27 class created and activated, let’s link it as Implementing Class in our navigation profile as follow.

/wp-content/uploads/2013/04/8_208561.jpg

Navigation Profile now display Print Button. We can save this profile as default, user-specific, etc.

/wp-content/uploads/2013/04/9_208562.jpg

As we run CO27 and load our recently created navigation profile, print button will be available and will handle ALV table from CO27 result with selection screen options.

/wp-content/uploads/2013/04/10_208563.jpg

That’s it.

To report this post you need to login first.

3 Comments

You must be Logged on to comment or reply to a post.

  1. faizur rahman

    Nice explanation !!!

    I have a similar requirement where I need to add print button to the ALV of transaction COOIS. However I don’t have  authorization to create or change class calls.

    Is there any other alternative?

    Thanks,

    Faiz

    (0) 
    1. Guilherme Frisoni Post author

      Hi Faizur,

      to handle the button click you need to create a class or maybe a function module, otherwise your button will be usefull.

      You can also assign to a specific transaction, but this will be kind a link and you won’t be able to handle data from COOIS.

      (0) 

Leave a Reply