Table of Contents

Textmodule Selection with Multiselect

Module TXSMOD Textmodule Selection with Multiselect

Description

This module holds the logic for the access to the TXM database table. The functions are used by small module where a separate instance is used for every field which shall be loaded with text from text module. (e.g. TXBBUT and TXSBUT)

TXSMOD facilitates the multiple selection of text modules assigned to a particular text field. If only single text modules are required, use module TXMMOD instead of TXBBUT or TXSBUT (see below).

The main features include:

(*) TXSBUT and TXBBUT support the deactivation of the block resolution of {}references. If a hyphen '-' is the first character entered in TXMBASGRP (indicating the block in which references are to be resolved), the field reference is not resolved immediately. This means that changes made to the contents of the field will not amend block content straight away. This will only be done when the block is either displayed or saved.

Implementation

The logic is split between one central module (TXSMOD) comprising the core functionality and smaller, type-specific modules brought into the transaction in a separate instance for each field textblock loaded.

To use the functionality, the following steps need to be taken:

Note: All available module groups can be maintained in DBITXM and the codetable TXMTXT identifying the text module groups can be maintained in SYSTBL.


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
UIL Language Text 2 1 Edit Yes Public UILTXT
TARFLDNAM Target Field Text 80 1 Edit Yes Public
ISSMODPTH Issuing Module Instance Text 80 1 Edit Yes Public
TARFLDTYP Target Field Type Numeric 1 0 Edit Yes Public
CLS Close Control 10 1 Button Yes Public
USE Take Control 10 1 Button Yes Public
SEL Select Control 10 1 Button Yes Public
TXMGRP Group Text 8 1 Edit Yes Public
TXMSEA Seach specific module(s) Text 8 1 Edit Yes Public
TXMBASGRP Basemodule for fieldreferences Text 80 1 Edit Yes Public
OLDUIL Old UIL to Detect Changes Text 2 1 Edit Yes Public
REMCNT Remaining Available Number of Lines Numeric 4 0 Edit Yes Public
INSPOS Insert Position Numeric 9 0 Edit Yes Public
INSLEN Replace Lenght Numeric 4 0 Edit Yes Public
TXSGRDVISCNT Number of Visible Gridlines Numeric 4 0 Edit Yes Public
TXMDISBLKFILFLG Disable Blockfill for Targetfield Text 1 1 Edit Yes Public

Datafield Description and Properties

Datafield TARFLDTYP Target Field Type

Description

Holds the numeric coded datatype of the argument. (tdDatatypeBlock or tdDatatypeStream)


Datafield TXMBASGRP Basemodule for fieldreferences

Description

Optional field which might be filled with the module which shall be the base for resolving field references. The default base is the group of the passed target field.


Datafield TXMDISBLKFILFLG Disable Blockfill for Targetfield

Description

A nonempty value disables the automatic resolution of embedded references (e.g. {LIDGRP\REC\OWNREF}). This field is filled with the flag character used at the first position of TXMBASGRP within the calling TXSBUT/TXBBUT instance. Currently supported is “-” and “*” to disable the automatic resolution. Field references flagged with “*” are only resolved when a explicite call to GetTxmBlockFill is executed Field references flagged with “-” are not resolved by TXSMOD


Panels

Panel Type Description
TXSPAN FramePanel Textmodule Selection

FramePanel TXSPAN

Properties
Property Value
Width 594
Height 514
Popup position-X 44
Popup position-Y 8
Visible No
Read only No
Show toolbar No
Instanciated Yes
Popup panel Yes
Global No

Rules

Rule Name Additional
function GetTxmFitToSize text static
function TxsGetTxmTxt text static
sub FinalProcessSelection static
sub TxsCheckFld static
sub TxsCleanupLocalData static
sub TxsHandleBlockFill static
sub TxsHandleFieldEvent static
sub TxsHandleSea static
sub TxsIniCheckGrp global
sub TxsSetupArgs static

Rules Description and Comments

function GetTxmFitToSize( in ArgTxt text, in ArgPth text, inout ArgCnt numeric ) : text static

reduce passed text to maximum line length and maximum number of lines
as configured in the originating text handling module instance
ArgTxt holds the text to be handled
ArgPth holds the full module path of the originating instance of TXBBUT or TXSBUT
ArgCnt is a InOut argument where the available number of lines might be passed.
if no old text exists pass -1.
On return the remaining number of lines available or the negativ number
of cut of lines is returned


function TxsGetTxmTxt( in ArgKey text, in ArgUil text, in ArgGrp text, in ArgBasPth text ) : text static

Get text module at any passed language.
If passed language is empty and more than one text module is matching
the criteria, nothing will be returned.


sub FinalProcessSelection( inout ArgStm stream ) static

ArgStm holds the stream of all selected text modules


Modules

Module class Instance Comment
TXSGRD TXSGRD
TXM TXM