4.21 Other Processes on the Process Menu

A process is essentially a menu of functions.

A process named PROC01 with 3 functions named FUNC01 to FUNC03 could be visualized like this:

              __________

             |          |

             |  PROC01  |

             |          |

             |  Select  |

             |  FUNC01  |

             |  FUNC02  |

             |  FUNC03  |

             |__________|

                  |

      ____________|____________

 ____|_____   ____|_____   ____|_____

|          | |          | |          |

|  FUNC01  | |  FUNC02  | |  FUNC03  |

|__________| |__________| |__________|

 

If another process named PROC02 existed and had 2 associated functions called FUNC04 and FUNC05, then it could be visualized like this:

              __________

             |          |

             |  PROC02  |

             |          |

             |  Select  |

             |  FUNC04  |

             |  FUNC05  |

             |__________|

                  |

           _______|____

      ____|_____   ____|_____

     |          | |          |

     |  FUNC04  | |  FUNC05  |

     |__________| |__________|

 

Both PROC01 and PROC02 can be independently invoked from within LANSA. However, it is possible to "attach" PROC02 to PROC01 using the facilities described in the following sections.

If PROC02 was "attached" to PROC01, then PROC01 would now be visualized like this:

                     __________

                    |          |

                    |  PROC01  |

                    |          |

                    |  Select  |

                    |  FUNC01  |

                    |  FUNC02  |

                    |  FUNC03  |

                    |  PROC02  |

                    |__________|

                         |

      ___________________|__________________

 ____|_____   ____|_____   ____|_____   ____|_____

|          | |          | |          | |  PROC02  |

|  FUNC01  | |  FUNC02  | |  FUNC03  | |          |

|__________| |__________| |__________| |  Select  |

                                       |  FUNC04  |

                                       |  FUNC05  |

                                       |__________|

                                            |

                                       _____|______

                                  ____|_____   ____|_____

                                 |          | |          |

                                 |  FUNC04  | |  FUNC05  |

                                 |__________| |__________|

 

It is also possible to "attach" FUNC04 and FUNC05 directly to PROC01 (even though they are part of process PROC02). If this was done PROC01 could be visualized like this:

                           __________

                          |          | 

                          |  PROC01  |

                          |          |

                          |  Select  |

                          |  FUNC01  |

                          |  FUNC02  |

                          |  FUNC03  |

                          |  FUNC04  |

                          |  FUNC05  |

                          |__________|

                               |

      _________________________|_________________________

 ____|_____   ____|_____   ____|_____   ____|_____   ____|_____

|          | |          | |          | |          | |          |

|  FUNC01  | |  FUNC02  | |  FUNC03  | |  FUNC04  | |  FUNC05  |

|          | |          | |          | | (PROC02) | | (PROC02) |

|__________| |__________| |__________| |__________| |__________|

 

In fact, process PROC02 may have a process(s) "attached" to it. For instance, if process PROC03 was attached to process PROC02 and process PROC02 was itself attached to process PROC01, then process PROC01 could be visualized like this:

                     __________

                    |          |

                    |  PROC01  |

                    |          |

                    |  Select  |

                    |  FUNC01  |

                    |  FUNC02  |

                    |  FUNC03  |

                    |  PROC02  |

                    |__________|

                         |

      ___________________|__________________

 ____|_____   ____|_____   ____|_____   ____|_____

|          | |          | |          | |          |

|  FUNC01  | |  FUNC02  | |  FUNC03  | |  PROC02  |

|__________| |__________| |__________| |          |

                                       |  Select  |

                                       |  FUNC04  |

                                       |  FUNC05  |

                                       |  PROC03  |

                                       |__________|

                                            |

                                 ___________|____________

                           _____|____   ____|_____   ____|_____

                          |          | |          | |          |

                          |  PROC03  | |  FUNC04  | |  FUNC05  |

                          |          | |__________| |__________|

                          |  Select  |                          

                          |  FUNC06  |

                          |  FUNC07  |

                          |__________|

                                |

                          ______|_____

                     ____|_____   ____|_____

                    |          | |          |

                    |  FUNC06  | |  FUNC07  |

                    |__________| |__________|

                                                  

 

It can be seen from these examples that by "attaching" a process to another process a "hierarchy" of process menus can be created.

Some other points to note about this facility are: