Table layout for documents
Table layout for documents
Using table lookups, multiple datasets can be passed to the word processor. Here, the data is output in the form of a table. The structure and formatting of the table in the document is described by an XML schema, which is stored in the complex search.
The structure and formatting of the table in the document is described in the form of an XML schema, which is stored in the table search in the associated complex search of the document template.
The following knowledge is required. Without this editing is not possible!
Editing an XML file
Management of complex searches
Document template management
Generation of documents in the application
Layout table framework:
Number of columns
Width of the columns
Column heading
Format template of the column heading
Layout of the table frame
Show/hide the title bar
Content table:
Sorting of individual positions
Content of a cell (multiple fields per cell possible)
Format template per field
Separator between the individual fields of a cell
Output format per field (e.g. Decimal places)
Internationalization per field (e.g., to embed values in a text)
Quote specific features:
Different configurations depending on attribute ‘Position type’, ‘Structure’ and ‘Alternative’
Table headers (also output multiple fields possible)
The XML structure can be used both for the simple export of any data (e.g., requests for an activity) and for the special case Items (Quote items for quote or contract items for contract or similar). In the simple export variant (referred to below as the ‘default case’), a variety of the attributes can be done without, since they are used exclusively in the special case of ‘items’.
The XML structure consists of two areas.
The Layout section describes the basic structure of the table, that is, the number of columns, the width of the columns, the column header, the format template of the column heading, the layout of the table frame. This is located in the lower part of the XML structure.
The Content area describes the values and forms in which the table is filled.
In the following example structure, the configurable elements are highlighted in color. Changes can be made here. The rest of the range is given and should not be changed.
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig ComputerGroup="STANDARD" DocumentType="LETTER">
<Source Alternative="" Classification="" ItemNoDisplayed="" ItemTypeKey="" SortField="Projectno.Opportunity"/>
<Contents>
<Content ItemType="NONE" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="Matchcode.Opportunity" Style="Bezeichnung" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Projectvalue.Opportunity" Style="GPreis" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="CurrencyKey.Opportunity" Style="GPreis" PrePosition="b" OutputLookup="desc"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout Language="S_SPRACH-DE" Border="false" Header="true" Style="">
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="9" ColumnHeader="Anfrage / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="3" ColumnHeader="Anfragewert" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>
Create a table layout
In the XML structure, not all available attributes need to be specified. As a rule, a default value is provided. If the desired value of the attribute corresponds to the default value, the entire attribute from the XML structure can be omitted. Because of this, in the following examples only those attributes are listed that are actually necessary. The description of the individual attributes can be found in the chapter Description of the XML structure.
Objective:
Issue all requests for an activity in a single letter.
Procedure:
1 | Extend the complex search by a table search in which all requests for an activity are selected. The search must include all fields that should later be printed in the document. |
---|---|
2 | Expand the mapping of the template by one more bookmark.
|
3 | Insert an open bookmark in the document template where the table is to be output. |
4 | A new XML-file is created based on example above. |
5 | In the ‘Layout Table’ area, all columns to be output must first be listed.
XML
The column numbers must be continuous and begin with number 1. |
6 | If desired, the layout of the table framework can be configured in the 'Layout' area.
XML
|
7 | In the 'ItemConfig' area, specify the type of document. Here is a single letter.
XML
|
8 | Specify a sort field in the 'Source' area.
CODE
|
9 | Completely empty the attributes from the 'Content' area. These are used only for the special case Items. <Content> |
10 | Within 'ContentTable' create a separate element 'ContentColumn' for each column (from the area 'LayoutTable'). This element describes the content of the cell.
XML
The column number must match the column number from LayoutTable. |
11 | Within 'ContentColumn' create a 'CellItem' element for each field (which should be output in this cell).
XML
|
12 | Define the field name within 'CellItem'. The variety of attributes is described in attribute list ‘FieldName’.
CODE
The specified field names must be included in the table search. Make sure the spelling is correct (potential source of error!). It is recommended to copy & paste the field name from the application via CTRL+<mouse>. |
13 | Fill in the remaining fields and complete the XML structure. |
14 | Copy the XML structure to the table definition of the complex search. |
For example, the XML structure might look like a request for an activity:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig DocumentType="LETTER">
<Source SortField="Projectno.Opportunity"/>
<Contents>
<Content>
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="Projectno.Opportunity" Style="Bezeichnung"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Matchcode.Opportunity" Style="Bezeichnung"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="OpName.Opportunity" Style="Beschreibung" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="ProjectmanagerKey.Opportunity" Style="Bezeichnung"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="Projectvalue.Opportunity" Style="GPreis" OutputFormat="###,###.##"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="CurrencyKey.Opportunity" Style="GPreis" PrePosition="b"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout>
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="3" ColumnHeader="AnfrageNr" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="9" ColumnHeader="Anfrage / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="3" ColumnWidth="2" ColumnHeader="Leiter" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="4" ColumnWidth="3" ColumnHeader="Anfragewert" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>
Output in the document
![](../../../__attachments/68882726/Ausgabe-im-Dokument.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Special case “Items”
Explanation
The special case Itemsdescribes the advanced configuration options that are available when using quote or contract items. These essentially include the following special features in the items.
Item Type (Normal, Text, Subtotal)
Layout item (only available for item category text and subtotal!)
Alternative item (for all item categories)
This results in the following possible combinations that must be covered within the XML structure.
Item Type | alternative | Layout | Content in the XML-Structure |
---|---|---|---|
Normal | No | No | <Content ItemType="S_POSTYP-N" Alternative="false" Classification="false"> |
Normal | Yes | No | <Content ItemType="S_POSTYP-N" Alternative="true" Classification="false"> |
Subtotal | No | Yes | <Content ItemType="S_POSTYP-Z" Alternative="false" Classification="true"> |
Subtotal | Yes | Yes | <Content ItemType="S_POSTYP-Z" Alternative="true" Classification="true"> |
Subtotal | No | No | <Content ItemType="S_POSTYP-Z" Alternative="false" Classification="false"> |
Subtotal | Yes | No | <Content ItemType="S_POSTYP-Z" Alternative="true" Classification="false"> |
Text | No | Yes | <Content ItemType="S_POSTYP-T" Alternative="false" Classification="true"> |
Text | Yes | Yes | <Content ItemType="S_POSTYP-T" Alternative="true" Classification="true"> |
Text | No | No | <Content ItemType="S_POSTYP-T" Alternative="false" Classification="false"> |
Text | Yes | No | <Content ItemType="S_POSTYP-T" Alternative="true" Classification="false"> |
If no XML structure is stored for the complex search for a quote template, an XML structure predefined by CURSOR-CRM is used.
Objective:
Output all quote items in a quote in a quote document.
Procedure:
The process is almost identical to the default case. In the following, only the differences are named
If additional fields are to be output in the quote, the following steps regarding the complex search are necessary.
Copy the complex search ‘Standard_Quote’.
Extension of the table search ‘Angpos’ (= alias) with additional fields.
Possibly Extension of table search-dependent detail search ‘ProdDesc’ (= alias) with additional fields.
The document template is assigned to the copied complex search.
In the section ItemConfig the type of the document is recorded, quote here.
<ItemConfig DocumentType="QUOTE">In the Source area, the fields for Item Type, Alternative, Outline and, if necessary, sort field must be specified.
<Source Alternative="Alternative.QuoteItem" Classification="ClassificationL.QuoteItem" ItemNoDisplayed="ItemnoDisplayed.QuoteItem" ItemTypeKey="ItemtypeKey.QuoteItem" SortField="Itemno.QuoteItem"/>A Content area is created for each of the above combination variants, for example:
<Content ItemType="S_POSTYP-N" Alternative="false" Classification="false">
…..
</Content>
This is how the XML structure for the output of quote items for a quote could look like:
<?xml version="1.0" encoding="ISO-8859-1"?>
<!DOCTYPE MainItemConfig PUBLIC "MainItemConfig" "MainItemConfig.dtd">
<MainItemConfig>
<ItemConfig ComputerGroup="STANDARD" DocumentType="QUOTE">
<Source Alternative="Alternative.QuoteItem" Classification="ClassificationL.QuoteItem" ItemNoDisplayed="ItemnoDisplayed.QuoteItem" ItemTypeKey="ItemtypeKey.QuoteItem" SortField="Itemno.QuoteItem"/>
<Contents>
<Content ItemType="S_POSTYP-N" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Pos" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNr" PrePosition="n" />
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="ItemText.QuoteItem" Style="Bezeichnung" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="3">
<FieldName Name="Description.ProdDesc" Style="Beschreibung" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="4">
<FieldName Name="Discount.QuoteItem" Style="Rabatte" PrePosition="cr" RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement" I18nKey="Discount.Text"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="Quantity.QuoteItem" Style="Menge" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="UnitpriceFC.QuoteItem" Style="EPreis" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreis" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-N" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="PosA" PrePosition="n"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="ProductKey.QuoteItem" Style="ProduktNrA" PrePosition="n" />
</CellItem>
<CellItem CellOrder="3">
<FieldName Name="ItemText.QuoteItem" Style="BezeichnungA" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="4">
<FieldName Name="Description.ProdDesc" Style="BeschreibungA" PrePosition="cr"/>
</CellItem>
<CellItem CellOrder="5">
<FieldName Name="Discount.QuoteItem" Style="RabatteA" PrePosition="cr" RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement" I18nKey="Discount.Text"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="Quantity.QuoteItem" Style="MengeA" PrePosition="n" OutputFormat="###,###.##"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="4">
<CellItem CellOrder="1">
<FieldName Name="UnitpriceFC.QuoteItem" Style="EPreisA" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="3">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosTextZ" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="SubtotalDescription.SpecialField" Style="PosTextZ" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreisZ" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-Z" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosTextAZ" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="SubtotalDescription.SpecialField" Style="PosTextAZ" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="5">
<CellItem CellOrder="1">
<FieldName Name="TotalpriceFC.QuoteItem" Style="GPreisAZ" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="false" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="true" Classification="true">
<ContentTable>
<ContentColumn ColumnNo="1">
<CellItem CellOrder="1">
<FieldName Name="ItemnoDisplayed.QuoteItem" Style="Gliederung 1" PrePosition="cr"/>
</CellItem>
</ContentColumn>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="Gliederung 1" PrePosition="tab"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="false" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Description.ProdDesc" Style="PosText" PrePosition="n"/>
</CellItem>
<CellItem CellOrder="2">
<FieldName Name="Itemtext.QuoteItem" Style="PosText" PrePosition="cr"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
<Content ItemType="S_POSTYP-T" Alternative="true" Classification="false">
<ContentTable>
<ContentColumn ColumnNo="2">
<CellItem CellOrder="1">
<FieldName Name="Itemtext.QuoteItem" Style="PosText" PrePosition="n"/>
</CellItem>
</ContentColumn>
</ContentTable>
</Content>
</Contents>
<Layouts>
<Layout Language="S_SPRACH-DE">
<LayoutTable>
<LayoutColumn ColumnNo="1" ColumnWidth="1" ColumnHeader="Pos" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="2" ColumnWidth="9" ColumnHeader="ProduktNr / Bezeichnung" Style="TabellenKopf"/>
<LayoutColumn ColumnNo="3" ColumnWidth="1.7" ColumnHeader="Menge" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="4" ColumnWidth="2.7" ColumnHeader="Einzelpreis" Style="TabellenKopf1"/>
<LayoutColumn ColumnNo="5" ColumnWidth="2.7" ColumnHeader="Gesamtpreis" Style="TabellenKopf1"/>
</LayoutTable>
</Layout>
</Layouts>
</ItemConfig>
</MainItemConfig>
Output in the document
![](../../../__attachments/68882726/599px-Ausgabe-im-Dokument-Spezialfall.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Adding a table layout
Output all quote items in one quote.
The associated complex search is defined in the document template.
![](../../../__attachments/68882726/800px-Standard_Quote-Tabellenlayout-VerwaltungKomplexeSuche.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
The complex search is opened in the administration console. To open the table definition, switch to the line with the desired table search and open it by double-clicking. The prepared table layout can now be inserted by copy & paste. After closing the dialog, the complex search must be saved for the changes to take effect.
For the output of the data of the table search, a valid table definition is required. For this purpose, a default layout for a table definition is stored in the standard.
The content of the “Table Definition” cell is initially hidden in the mask “Administration Search Container” and is opened in an editor by double-clicking on this cell.
If no table definition has been stored, the default layout opens, which has to be adapted. If a table definition has already been stored, the defined table definition opens.
Description of the XML structure
The attributes described below can be used in the XML structure. An attribute does not have to be specified if a default value exists for this. Because of this, not all attributes are listed in the example above.
Layout area
Attribute list layout
Generally applicable attributes:
Language = "S_SPRACH-DE" (Default value– not changeable)
(No input required.)
Header
Show or hide the top titlebar (contains the column title) of a table
true
The titlebar of the table is shown (Default value)
false
The titlebar of the table is not shown
Border
Easily activate and deactivate the table framework display.
(see Easy activation and deactivation of frames)
true
The table structure (outer border and inner separators) is drawn.
false
Table framework (outer frame and inner separators) is not drawn. (default value)
(No input required.)
TableStyle
The attribute TableStyle(for the element layout) in the XML table description can now be used to control whether the table structure should be displayed with the specified format template.
(see formatting table framework via format template)
(No input required.)
Attribute list LayoutColumn
Generally applicable attributes:
ColumnNo
Number of the column.
IMPORTANT
Here a continuous numbering beginning with 1 is necessary.
(Input required)
ColumnWidth
Width of the column in the unit “cm”, e.g. “2” or “1.7”
(Input required)
ColumnHeader
Column title, e.g. 'Total price'
(Input required)
Style
With this format template, the field value is formatted. Default value is the "Standard" format template.
(No input required.)
The specified format template should be defined in the document template (or in the central styles .doc). If this is not the case, the basic format template “Standard” is used.
Area Contents
Attribute list ItemConfig
Generally applicable attributes:
Computer Group = ‘STANDARD’ (Default value – not changeable) | No input required |
Document Type = ‘QUOTE’ for offers or ‘LETTER’ for single letters f | Input required |
Attribute list Source
Generally applicable attributes:
Sort field = [Field name, e.g.: ‘Itemno.QuoteItem'] | The search result quantity is sorted according to this field. No input required. Special case “Items” (in the default case, the following attributes can be omitted) |
Item Type Key = [Field name, e.g.: ‘ItemTypeKey.QuoteItem'] | Contains the item type, e.g. N, T, S Input required |
Alternative = [Field name, e.g.: ‘Alternative.QuoteItem'] | Contains the information if this is an alternative item. Input required. |
Classification = [Field name, e.g.: 'ClassificationL.QuoteItem'] | Contains the information if this is a layout item. Input required. |
Item No Displayed = [Field name, e.g.: ‘ItemnoDisplayed.QuoteItem'] | Contains the item number displayed in the application, is used for the output of subtotals, for e.g.: 'Subtotal for items 1-3' Input required. |
Attribute list Content
Item type - Content of the item type | In the default case, the field can be omitted.
|
Alternative | In the default case, the field can be omitted.
|
Classification | In the default case, the field can be omitted.
|
Attribute list ContentColumn
Generally applicable attributes:
Column No = [Number of the column where the field content is output] | The specified column number must be defined in the layout area. Input required |
Attribute list CellItem
Generally applicable attributes:
Cell Order = [Sort number] | The fields in this sequence are output in the cell. The lists of the used sort number must not be continuous as these are used exclusively for sorting the cell content. Input required. |
Attribute list FieldName
Generally applicable attributes:
Name = [Field name, e.g. 'ProductKey.QuoteItem'] |
This field must be included in the table lookup or in a table lookup-dependent detailed search. Make sure the spelling is correct (potential source of error!). It is recommended to copy & paste the field name from the application via CTRL+<mouse>. |
OutputFormat | Save format, e.g. decimal places or date format.
|
Style = [Name of the format template] | With this format template, the field value is formatted. ‘Standard’ is the default format template No input required. The specified format template should be defined in the document template (or in the central styles .doc). If this is not the case, the basic format template “Standard” is used. |
PrePosition | Characters that are added before a field value. Serves as a separator for multiple field contents within a cell.
|
OutputLookup | Save format of the lookup field
CODE
Result:
CODE
Result: For normal fields (no lookup fields), the OutputLookup attribute is not taken into account. |
RessourceBundle | Name of the property file for internationalization e.g. de.cursor.jevi.client.common.resource.i18n.DocumentManagement No input required. |
I18nKey | Key to be used from the property file for internationalization No input required. |
Internationalization
<FieldName Name="Discount.QuoteItem" Style="Rabatte" PrePosition="cr"
RessourceBundle="de.cursor.jevi.client.common.resource.i18n.DocumentManagement"
I18nKey="Discount.Text"/>
The property file de.cursor.jevi.client.common.resource.i18n.DocumentManagement_en.properties contains the following line:
Discount.Text = We grant a {0}% discount for this item.
Result:
We grant a 15% discount for this item.
Output format
The output format of numeric and date fields can be manipulated using the OutputFormat attribute in the XML table description.
Numeric format descriptions
<FieldName Name="Quantity.QuoteItem" Style="Menge" PrePosition="n" OutputFormat="###,###.##"/>
Result
The field for quantity of quote items appears in the document as follows: 12000.34
OutputFormat="#.###" 23.123
Symbol | Location | Localized? | Meaning |
0 | Number | Yes | Digit |
# | Number | Yes | Digit, zero shows as absent |
. | Number | Yes | Decimal separator or monetary decimal separator |
- | Number | Yes | Minus sign |
, | Number | Yes | Grouping separator |
E | Number | Yes | Separates mantissa and exponent in scientific notation. Need not be quoted in prefix or suffix. |
; | Subpattern boundary | Yes | Separates positive and negative subpatterns |
% | Prefix or suffix | Yes | Multiply by 100 and show as percentage |
\u2030 | Prefix or suffix | Yes | Multiply by 1000 and show as per mille |
(\u00A4) | Prefix or suffix | No | Currency sign, replaced by currency symbol. If doubled, replaced by international currency symbol. If present in a pattern, the monetary decimal separator is used instead of the decimal separator. |
' | Prefix or suffix | No | Used to quote special characters in a prefix or suffix, for example, "'#'#" formats 123 to "#123". To create a single quote itself, use two in a row: "# o"clock". |
Example: Format descriptions of date fields
<FieldName Name="Quotedate.Quote" Style="GPreis" PrePosition="n" OutputFormat="dd.MM.yyyy" />
Result:
The quote date appears in the document as follows: 06.03.2008
OutputFormat="dd.MM.yyyy 'at' HH:mm" 06.03.2008 at 13.15
Output format=”EEEEE’, dd.MM.yy” Wednesday, 06.03.08
OutputFormat=" " 06.02.08 13:12
Letter | Date or Time Component | Presentation | Examples |
G | Era designator | Text | AD |
y | Year | Year | 1996; 96 |
M | Month in year | Month | July; Jul; 07 |
w | Week in year | Number | 27 |
W | Week in month | Number | 2 |
D | Day in year | Number | 189 |
d | Day in month | Number | 10 |
F | Day of week in month | Number | 2 |
E | Day in week | Text | Tuesday; Tue |
a | Am/pm marker | Text | PM |
H | Hour in day (0-23) | Number | 0 |
k | Hour in day (1-24) | Number | 24 |
K | Hour in am/pm (0-11) | Number | 0 |
h | Hour in am/pm (1-12) | Number | 12 |
m | Minute in hour | Number | 30 |
s | Second in minute | Number | 55 |
S | Millisecond | Number | 978 |
z | Time zone | General time zone Pacific Standard Time; PST; GMT-08:00 | |
Z | Time zone | RFC 822 time zone -0800 |
Date and Time Pattern | Result |
"yyyy.MM.dd G 'at' HH:mm:ss z" | 2001.07.04 AD at 12:08:56 PDT |
"EEE, MMM d, "yy" | Wed, Jul 4, '01 |
"h:mm a" | 12:08 PM |
"hh 'o"clock'a,zzzz" | 12 o'clock PM, Pacific Daylight Time |
"K:mm a, z" | 0:08 PM, PDT |
"yyyyy.MMMMM.dd GGG hh:mm aaa" | 02001.July.04 AD 12:08 PM |
"EEE, d MMM yyyy HH:mm:ss Z" | Wed, 4 Jul 2001 12:08:56 -0700 |
"yyMMddHHmmssZ" | 010704120856-0700 |
"yyyy-MM-dd'T'HH:mm:ss.SSSZ" | 2001-07-04T12:08:56.235-0700 |
Borders and format templates for tables
There are two alternatives for drawing frames in generated table frameworks.
Easy activation and deactivation of frames
The attribute Border (for the element Layout) in the XML table description can now be used to control whether the table framework (outer border and inner dividing lines) should be drawn or not. The default value is false - so no table framework is drawn as before.
Attribute name: Border for the element Layout possible values:
True Table framework (outer border and inner separators) is drawn.
FalseTable framework (outer frame and inner separators) is not drawn. (Default)
Example
<Layout Language="S_SPRACH-DE" Border="true">
Result: The table structure (outer border and inner separators) is drawn.
![](../../../__attachments/68882726/Tabelle-mit-Rahmen.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Layout Language="S_SPRACH-DE">
Result:
The table framework (outer borders and inner separators) is not drawn.
![](../../../__attachments/68882726/Tabelle-ohne-Rahmen.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
Applying a format template
The attribute TableStyle(for the element layout) in the XML table description can now be used to control whether the table structure should be displayed with the specified format template.
<Layout Language="S_SPRACH-DE" TableStyle="MeineFormatvorlage">
Result:
The table is formatted using MyFormat Template.
![](../../../__attachments/69045939/Tabelle-Formatvorlage.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
The format template type of the specified format template must be Table.
How do I create a spreadsheet format template?
Word 2010 - Insert - Table - Table format template - New table format template
![](../../../__attachments/69045939/788px-Word-Neue-Vorlage.jpg?inst-v=01ce9f95-f40d-424e-a7da-0f3a4bad5824)
The format template must be present in the document template. If this is not the case, no formatting of the table is performed.
The special styles defined in the format templates are not applied to headers, first column, last row, and last column.
The character formatting stored in the format template can also affect the cell contents. It is recommended to create a character-neutral spreadsheet style to avoid affecting the formatting defined for the cells.
Both attributes (Border and TableStyle) are always only used alternatively - either Border or TableStyle. If both attributes (Border and TableStyle) are used simultaneously in the XML file, the attribute TableStyle is preferred.