4.4 Build Menu Structures

This section describes the design and building of menu structures for traditional application systems. If you are designing an action bar driven system you should still read this section (from a different perspective), because action bars are often initially invoked from menus.

Once the entire application system has been broken down into a series of processes and functions it is possible to consider how its online components will be fitted together into a menu structure (assuming that you intend to use LANSA to build your menus).

Using the example application system described in the previous section, we can visualize it as a series of independently accessible menus as follows:

 

     CUSWRK                CUSREP                    ORDWRK

       |                     |                         |

    -------               -------               -------|-------

   |       |             |       |             |       |       |

 CUS001  CUS002        CUS003  CUS004        ORD001  ORD002  ORD003

 

 

     PROWRK                PROREP                    TABWRK

       |                     |                         |

       |                  -------                   -------

       |                 |       |                 |       |

    PRO0001            PRO002  PRO003            TBL001  TBL002

 

 

However, taking it one step further, by using the "process attachment" capability of LANSA (described in Other Processes on the Process Menu in the LANSA for i User Guide), we can quickly create a generalized "menu" (actually a new process called SYSMNU) for end users of this system. This could be visualized like this:

                           SYSMNU

                             |

        -----------------------------------------------

       |          |          |           |             |

     CUSWRK       |        CUSREP        |           ORDWRK

       |          |          |           |             |

    -------       |       -------        |      -------|-------

   |       |      |      |       |       |     |       |       |

 CUS001  CUS002   |    CUS003  CUS004    |   ORD001  ORD002  ORD003

                  |                      |

                  |                      |

                PROWRK                 PROREP

                  |                      |

                  |                   -------

                  |                  |       |

               PRO0001             PRO002  PRO003         

 

 

One step further still, and a "tailored menu" can be created, say, for the accounting department. This "tailored menu" is actually another process called ACCMNU, and it can be visualized as follows:

                           ACCMNU

                             |

        -----------------------------------------------

       |          |          |           |             |

     CUSWRK    CUS0003     PRO001        |           ORDWRK

       |                                 |             |

    -------                            PROREP       -------

   |       |                             |         |       |

 CUS001  CUS002                       -------    ORD001  ORD002

                                     |       |

                                   PRO002  PRO003

 

The MAIN POINT of the above exercise is that the grouping of functions into processes at design time need not have anything at all to do with their final organization within the complete application system.