Table of Contents

Menu handling module

Module SYSMNU Menu handling module

Description


Properties

Property YES/NO
Single page frame No
Show toolbar No
Show menu No
Show statusbar No
Show hint No
Fit panel size No

Datafields

Name Description Data Type Len Dec. View lines View type Inst. Visible Codetable
MNUTXTSTM Menu Level and Text Stream Stream 1 0 Source Yes Public
MNUACTNAMSTM Menu Action Name Stream Stream 1 0 Source Yes Public
MNUACTTYPSTM Menu Action Type Stream Stream 1 0 Source Yes Public
MNUSHWSTM Menu Show Stream Stream 1 0 Source Yes Public
MNUSHWIDXSTM Menu Shown Menuindex Stream Stream 1 0 Source Yes Public
MNUDYNFLG Flag if dynamic check is necessary Text 1 1 Edit Yes Public
MNUSELIDX Menu Currently Active Entry Index Numeric 3 0 Edit Yes Public
MNUSHWOFF Menu Show Offset Numeric 3 0 Edit Yes Public
MNUSHWOVW Menu Show Overflow Numeric 3 0 Edit Yes Public
MNUCURIDX Menu Currently Selected Target Entry Numeric 3 0 Edit Yes Public
MNUCURTRN Menu Currently Selected Target Transaction Text 8 1 Edit Yes Public
MNUCURSPTINR Menu Currently Selected Target SPT Text 8 1 Edit Yes Public
MNUCUROBJSTM ObjectId for MenuItems Stream 40 1 Source Yes Public
BUTDEFSTM Defined Buttons Stream 1 1 Source Yes Public
BUTCUROBJSTM ObjectId for Buttons Stream 40 1 Source Yes Public
MNUCURTOP Top of current Menu Item Numeric 4 0 Edit Yes Public
MNUCURHEIGHT Height of current Menu Item in pixel Numeric 4 0 Edit Yes Public
BUTTOPOFF Vertical Offset of Top Button Row Numeric 4 0 Edit Yes Public
BUTMNUMAX Height of Menu area in pixel Numeric 4 0 Edit Yes Public
PANHEATXT Multi Color Header Text Control 16 1 Button Yes Public
UPRLOG Upper Logo bitmap Control 10 1 Button Yes Public
LOWLOG Lower Logo bitmap Control 10 1 Button Yes Public
ETYLAB ETY Label Text 17 1 Edit Yes Public
SYSLAB System-Id Text 12 1 Edit Yes Public
UIDLAB Active user Text 12 1 Edit Yes Public
ENVLAB Used Environment Text 32 1 Edit Yes Public
SELREF Contract Text 22 1 80 Edit Yes Public
BUTLCH Launch Transaction Icon Control 16 1 Button Yes Public
BUTINF Launch Transaction Info transactions Icon Control 16 1 Button Yes Public
BUTLT01 Button Left Top Control 16 1 Button Yes Public
BUTLT02 Button Left Top Control 16 1 Button Yes Public
BUTLT03 Button Left Top Control 16 1 Button Yes Public
BUTLT04 Button Left Top Control 16 1 Button Yes Public
BUTLT05 Button Left Top Control 16 1 Button Yes Public
BUTLT06 Button Left Top Control 16 1 Button Yes Public
BUTLT07 Button Left Top Control 16 1 Button Yes Public
BUTLT08 Button Left Top Control 16 1 Button Yes Public
BUTLT09 Button Left Top Control 16 1 Button Yes Public
BUTLT10 Button Left Top Control 16 1 Button Yes Public
BUTLT11 Button Left Top Control 16 1 Button Yes Public
BUTLT12 Button Left Top Control 16 1 Button Yes Public
BUTLT13 Button Left Top Control 16 1 Button Yes Public
BUTLT14 Button Left Top Control 16 1 Button Yes Public
BUTLT15 Button Left Top Control 16 1 Button Yes Public
BUTLT16 Button Left Top Control 16 1 Button Yes Public
BUTLT17 Button Left Top Control 16 1 Button Yes Public
BUTLT18 Button Left Top Control 16 1 Button Yes Public
BUTLT19 Button Left Top Control 16 1 Button Yes Public
BUTLT20 Button Left Top Control 16 1 Button Yes Public
BUTLT21 Button Left Top Control 16 1 Button Yes Public
BUTLT22 Button Left Top Control 16 1 Button Yes Public
BUTLT23 Button Left Top Control 16 1 Button Yes Public
BUTLT24 Button Left Top Control 16 1 Button Yes Public
BUTLT25 Button Left Top Control 16 1 Button Yes Public
BUTLT26 Button Left Top Control 16 1 Button Yes Public
BUTLT27 Button Left Top Control 16 1 Button Yes Public
BUTLT28 Button Left Top Control 16 1 Button Yes Public
BUTLT29 Button Left Top Control 16 1 Button Yes Public
BUTLT30 Button Left Top Control 16 1 Button Yes Public
BUTLT31 Button Left Top Control 16 1 Button Yes Public
BUTLT32 Button Left Top Control 16 1 Button Yes Public
BUTLT33 Button Left Top Control 16 1 Button Yes Public
BUTLT34 Button Left Top Control 16 1 Button Yes Public
BUTLT35 Button Left Top Control 16 1 Button Yes Public
BUTLT36 Button Left Top Control 16 1 Button Yes Public
BUTLT37 Button Left Top Control 16 1 Button Yes Public
BUTLT38 Button Left Top Control 16 1 Button Yes Public
BUTLT39 Button Left Top Control 16 1 Button Yes Public
BUTLT40 Button Left Top Control 16 1 Button Yes Public
BUTLT41 Button Left Top Control 16 1 Button Yes Public
BUTLT42 Button Left Top Control 16 1 Button Yes Public
BUTLT43 Button Left Top Control 16 1 Button Yes Public
BUTLT44 Button Left Top Control 16 1 Button Yes Public
BUTLT45 Button Left Top Control 16 1 Button Yes Public
BUTLT46 Button Left Top Control 16 1 Button Yes Public
BUTLT47 Button Left Top Control 16 1 Button Yes Public
BUTLT48 Button Left Top Control 16 1 Button Yes Public
BUTLT49 Button Left Top Control 16 1 Button Yes Public
BUTLT50 Button Left Top Control 16 1 Button Yes Public
BUTLTSU Button Left Top Scroll Upper Control 16 1 Button Yes Public
BUTLTSL Button Left Top Scroll Lower Control 16 1 Button Yes Public
PENHEA Pending Header Text 20 1 Edit Yes Public
PENDTASTM Pending Dat Stream Stream 20 1 Source Yes Public
BUTPEN01 Pending Item 1 Control 20 1 Button Yes Public
BUTPEN02 Pending Item 2 Control 20 1 Button Yes Public
BUTPEN03 Pending Item 3 Control 20 1 Button Yes Public
BUTPEN04 Pending Item 4 Control 20 1 Button Yes Public
BUTPEN05 Pending Item 5 Control 20 1 Button Yes Public
BUTPEN06 Pending Item 6 Control 20 1 Button Yes Public
BUTPEN07 Pending Item 7 Control 20 1 Button Yes Public
BUTPEN08 Pending Item 8 Control 20 1 Button Yes Public
BUTPEN09 Pending Item 9 Control 20 1 Button Yes Public
BUTPEN10 Pending Item 10 Control 20 1 Button Yes Public
BUTPEN11 Pending Item 11 Control 20 1 Button Yes Public
BUTPEN12 Pending Item 12 Control 20 1 Button Yes Public
BUTNTFNTF Notify Notify Control 20 1 Button Yes Public
BUTNTFQUE Notify Queue Control 20 1 Button Yes Public
BUTNTFADM Notify Administration Control 20 1 Button Yes Public
GUIDEL GUI handle deleted SPTs Control 16 1 Button Yes Public
LCHSEL Pattern of transactions to be available if restricted Text 6 1 Edit Yes Public Embedded
GUIDOC GUI Documentation Control 16 1 Button Yes Public
GUIETY Change Entity Control 16 1 Button Yes Public
PANINFTXT Info Session Text Control 16 1 Button Yes Public
ENVVER Version Info Control 40 1 Button Yes Public
BUTINFCHECK Restrictions for launch TRN via BUTINF Text 1 1 Edit Yes Public

Datafield Description and Properties

Datafield MNUTXTSTM Menu Level and Text Stream

Description

Stream with textuale description of the different menu entries. Each line is linked to the same line in MNUSHWSTM (holding the display status) and MNUACTTYPSTM, MNUACTNAMSTM (holding the typ and optionally action). Each line holds the text to be shown if this line should be shown in the menu.


Datafield MNUACTNAMSTM Menu Action Name Stream

Description

Type and action for the menu entry as linewise list linked to MNUACTTYPSTM, MNUTXTSTM and MNUSHWSTM. Possible contents are up to 8 character with the name of the action. <trn> transaction to be executed <fct> function to be called <menu> menu entry to be used <job> job to be executed


Datafield MNUACTTYPSTM Menu Action Type Stream

Description

Type of the menu entry as linewise list linked to MNUACTNAMSTM, MNUTXTSTM and MNUSHWSTM. Possible contents are a 1 character code to determine the type of action: T transaction to be executed (default: visible) O optional transaction (default: not visible) F function to be called M menu entry to be used J job to be executed


Datafield MNUSHWSTM Menu Show Stream

Description

Linewise show or don't show status for the individual menu entries of MNUTXTSTM. Empty Don't show N Never show (due to rights) S Show (for Transaction/Function entries) X Show (for Menu nodes with expanded subentries) C Show (for menu nodes with collapsed subentries)

When selecting menu entries to expand or collaps subtrees entries might switch between empty, C and X.


Datafield MNUSHWIDXSTM Menu Shown Menuindex Stream

Description

Linking of the used buttons with the menu entries in MNUACTSTM.

BUTLTxx is linked to line xx in this stream. The content of this line is the line index in MNUACTSTM of the associated menu entry.


Datafield MNUDYNFLG Flag if dynamic check is necessary

Description

If a MnuChkDynTrn rule is available this flag is automatically set.


Datafield MNUSELIDX Menu Currently Active Entry Index

Description

This field should hold the index of the currently executing transaction. The field might be set directly before executing the LnkChainTransaction / LnkCallTransaction. When drawing the Menu the line identified by MNUSELIDX will be marked as currently active.


Datafield MNUCURIDX Menu Currently Selected Target Entry

Description

Field to hold the internaly selected target for the duration of the transaction internal processing. Clicking on the menu entry places the selected index into MNUCURIDX and the selected target in MNUCURTRN.


Datafield MNUCURTRN Menu Currently Selected Target Transaction

Description

Field to hold the internaly selected target for the duration of the transaction internal processing. Clicking on the menu entry places the selected index into MNUCURIDX and the selected target in MNUCURTRN.


Datafield MNUCURSPTINR Menu Currently Selected Target SPT

Description

When picking up of a SPT is selected, this field holds the SPTINR of the target. MNUCURTRN will be loaded with the target transaction.


Datafield MNUCUROBJSTM ObjectId for MenuItems

Description

Stream holding the object id of all currently drawn dynamic menu objects to be able to destroy them when redrawing the menu. The stream gets invalid after a chain as TradeDesign cleans up all panel objects and thus all dynamically created menu objects are destroyed.


Datafield BUTDEFSTM Defined Buttons

Description

List of all defined icon buttons. Each line holds delimited by tabs Location character 2-digit index [& “S”ame ] full field path of controlfield name of the iconfile Hint


Datafield BUTCUROBJSTM ObjectId for Buttons

Description

Stream holding the object id of all currently drawn icon buttons to be able to destroy them when redrawing the buttons. The stream gets invalid after a chain as TradeDesign cleans up all panel objects and thus all dynamically created icon button are destroyed.


Datafield MNUCURTOP Top of current Menu Item

Description

Pixel position below current lowest shown menu entry.


Datafield MNUCURHEIGHT Height of current Menu Item in pixel

Description

This value holds the height of the current menu entry in pixel in case no additional text line is used.


Datafield SELREF Contract

Description

direct selection of a contract


Datafield LCHSEL Pattern of transactions to be available if restricted

Description

With this field the tracsactions to be selected may be restricted. The content defines the restriction of codes and is used as selection Sql for ATPGET with “COD like '<LCHSEL>%'

Is used to support the selectiion of info transactions in event BUTINF.

Codetable
Code Text
INF Info transactions

Datafield BUTINFCHECK Restrictions for launch TRN via BUTINF

Description

If not empty then launched BUTINF


Datafield MNUSHWOFF Menu Show Offset

Description

This field holds the offset of the first shown menu entry. If this value is greater than zero, the leading scroll up button will be shown and the menu is shifted down by that size.


Datafield MNUSHWOVW Menu Show Overflow

Description

holds the number of menu entries which could not be shown as the previous entry was already reached or exceeded the lower limit of the available menu space.


Panels

Panel Type Description
LAUNCHPAN FramePanel Launch transaction
PANBANNER FramePanel Banner
PANBOT FramePanel Bottom Area
PANHEA FramePanel Header (Transaction name)
PANLEFT FramePanel Left Button Area
PANTOP FramePanel Top Area

FramePanel LAUNCHPAN

Properties
Property Value
Width 160
Height 34
Popup position-X 0
Popup position-Y 0
Visible No
Read only No
Show toolbar No
Instanciated Yes
Popup panel Yes
Global No

FramePanel PANBANNER

Properties
Property Value
Width 200
Height 614
Popup position-X 0
Popup position-Y 0
Visible Yes
Read only No
Show toolbar No
Instanciated No
Popup panel No
Global No

FramePanel PANBOT

Properties
Property Value
Width 788
Height 62
Popup position-X 0
Popup position-Y 0
Visible Yes
Read only No
Show toolbar No
Instanciated No
Popup panel No
Global No

FramePanel PANHEA

Properties
Property Value
Width 788
Height 24
Popup position-X 0
Popup position-Y 0
Visible Yes
Read only No
Show toolbar No
Instanciated No
Popup panel No
Global No

FramePanel PANLEFT

Properties
Property Value
Width 220
Height 614
Popup position-X 0
Popup position-Y 0
Visible Yes
Read only No
Show toolbar No
Instanciated No
Popup panel No
Global No

FramePanel PANTOP

Properties
Property Value
Width 1207
Height 33
Popup position-X 0
Popup position-Y 0
Visible Yes
Read only No
Show toolbar No
Instanciated No
Popup panel No
Global No

Rules

Rule Name Additional
function BitButLit text static
function ChkMnuTrnSelIdx numeric static
function GetBusSecForSelTrn text static
function GetMnuTrnIdx numeric static
function GetSelMnuForObj numeric static
function GetSelTrnForObj text static
function GetTrigger numeric method
function MnuAssignControl text static
function MnuGetObjTypForTrn text static
sub ButAddButton static
sub ButDraw static
sub callInfoDNG static
sub FillButton method
sub GetKeyFromComboGridLine static
sub LaunchSelectedTrn method
sub LnkLeaveActionSYSMNU method
sub LoadSelInr static
sub MnuCalcShw method
sub MnuDefLoadMnu static
sub MnuDraw static
sub MnuInitiateSelection method
sub MnuLnkClearSelection static
sub MnuLnkExecSelection static
sub MnuLnkGetSelection static
sub MnuLnkReturnSelection static
sub MnuLnkSetSelection static
sub MnuNtfNtfSet method
sub MnuSelRefSet static
sub MnuSelTrnSet static
sub PenDraw static
sub PenLoad static
sub ShowLogos method

Rules Description and Comments

function BitButLit( in ArgTxt text ) : text static

Function to embed a literal into a bit button description
either single or double quotes are used
in case the passed text includes both types of quotes the
text cannot be used properly


function GetMnuTrnIdx( in ArgAct text, in ArgTyp text ) : numeric static

Function to return the index of the first fitting trn entry
ArgAct name of transaction, menu etc.
ArgTyp list of types to be searched
In case no fitting entry is found a zero is returned


function GetSelMnuForObj( in ArgCCI CCI, in ArgTrn text ) : numeric static

central function to determine the menu to be opened to handle the passed object type

ArgCCI holds the reference to the object to show / handle
ArgTrn holds the transaction where the menu shall be shown

Corresponding function: GetSelTrnForObj


function GetSelTrnForObj( in ArgCCI CCI ) : text static

central function to determine the transaction to be used to handle the passed object type
ArgCCI holds the reference to the object to show / handle
typically the passed object is a contract and the resulting transaction
is the xxTSEL transaction used to show the available transaction for that type of contract

Corresponding function: GetSelMnuForObj


function MnuAssignControl( in argArea text, in argIdx numeric, in argField field, in argCaption text, in argHint text, in argImg text, inout ArgHeight numeric ) : text static

create framefield and set attributes for button
argArea Area for Button / pass field ID as extension to the LT area code
“LB” Left Bottom
“T” Top
argIdx relative index (position, 1-x) or level (menu level, 0,1,2) of control in area (for “LB” lowest button ('exit') has argIdx 1)


function MnuGetObjTypForTrn( in ArgTrn text ) : text static

function to return the LNKOBJ of a target transaction as defined in ATP
ArgTrn holds the transaction
The function returns an empty value if not matching entry is found


sub ButAddButton( in ArgBut field, in ArgLoc text, in ArgIco text, in ArgCapt text, in ArgHint text ) static

ArgBut BitButton to be used
ArgLoc Location where the button shall be placed
Possible values are MnuButLeftBottom, MnuButLeftMenuTop, MnuButLeftMenuSub, MnuButTopGlobal,
MnuButTopTransaction, MnuButTopSelectedLine, MnuButTopExtension,
MnuButSameAsPrevious
ArgIco optional Icon to be used in case the default name built based on the passed BitButton can not be used
The default name is “but_” + <ArgBut> + ”.png“
ArgCapt holds a optional caption text, an & character might mark the following character as shortcut
ArgHint holds a optional hint text

Corresponding function: ButDraw


sub ButDraw static

rule to (re-)draw to collect and draw the currently active icon buttons
The buttons are collected by calling all RegisterButton rules.

corresponding routine ButAddButton


sub FillButton( in argPosition text, in argIdx numeric, in argField field, in argCaption text, in argImg text ) method

set attributes for button


sub MnuCalcShw( in ArgIdx numeric ) method

function to calculate the visibility flag to reflect a collaps or expand of the menu tree

Argidx holds the index of the selected menu entry (either positive or negative)
In case the passed index is zero the current open transaction list is (re-)checked
based on the current context

The purpose is to adjust the expand state of the menu tree to either
expand the specified entry (in case of a positive index) or to
toogle the collapsed / expand status of the specified menu entry (in case of a negative index)

This function does not show the updated menu. A call to MnuDraw will do that


sub MnuDefLoadMnu( in ArgPrf text ) static

Central rule to load a menu for the passed profile
ArgPrf holds the profile to be loaded

Corresponding functions: MnuDefInit, MnuDefLoadMnu, MnuDefCompleted


sub MnuDraw static

rule to (re-)draw the menu according to the currently loaded set of
menus and the profile.


sub MnuInitiateSelection( in ArgTrn text, in ArgIdx numeric, in ArgInr text ) method

SYSMNU internal rule to initiate the handling of a selection
ArgTrn holds the target transaction
ArgIdx holds the menu index associated to the target. This index might be a menu entry
or a different transaction
ArgInr holds an optional SPTINR to identify the SPT to be picked in the target transaction


sub MnuLnkClearSelection static

Function to be called to clear a selected target TRN in case the navigation is not executed


sub MnuLnkExecSelection( in ArgTrn text ) static

Execute the chain to the passed target
ArgTrn holds ”.“ to return to first, a TRN or an empty value
if an empty value is passed, nothing is done and the routine returns


sub MnuLnkGetSelection( inout ArgTrn text ) static

Function to be called to retrieve the selected target TRN
in case no target TRN is selected the value ”.“ is returned


sub MnuLnkReturnSelection( in ArgTrn text ) static

Function to be called to return to the calling transaction and execute the currently set selection there
ArgTrn selection


sub MnuLnkSetSelection( in ArgTrn text ) static

Function to be called to set the selected target TRN


function ChkMnuTrnSelIdx( in ArgAct text, in ArgTyp text ) : numeric static

Function to check and return the index of the actual menu entry if the same
ArgAct name of transaction, menu etc.
ArgTyp list of types to be checked
In case the check is unsuccessful a zero is returned


function GetBusSecForSelTrn( in ArgTrn text ) : text static

function to determine the business sector of transaction to be opened
ArgTrn holds the transaction to be started


Modules

Module class Instance Comment
TMPREC TMPREC
ATPGET ATPGET
ATP ATP
ATPSHW ATPSHW This instance of ATPSHW is supplied centraly in SYSMNU to enable access whereever a transaction is selected, which is part of the SYSMNU functions.
USRSHW USRSHW
CCI CCI
CCISHW CCISHW
CCIGET CCIGET
ORDSHW ORDSHW
MEMMOD MEMMOD
ORDSUB ORDSUB
SYA SYA
SPT SPT
PTYSHW PTYSHW
PTASHW PTASHW