2023efront Report User Guide v21 0
2023efront Report User Guide v21 0
V21.0
eFront Report User Guide - V21.0 June 21, 2023
Table of Contents
1. Overview ............................................................................................................. 9
1.1. Concepts .................................................................................................. 10
1.2. eFront - Reporting solutions and eFront Report ...................................... 11
1.3. eFront Report objects .............................................................................. 12
1.4. What is eFront Script? ............................................................................. 13
1.5. Accessing eFront Report ......................................................................... 14
2. Managing eFront Report objects .................................................................... 15
2.1. Create an object ....................................................................................... 16
2.2. Define access rights to an object ............................................................. 17
2.3. Delete an object ....................................................................................... 18
2.4. Duplicate an object .................................................................................. 19
2.5. Execute an object .................................................................................... 20
2.6. Export objects .......................................................................................... 21
2.7. Import objects .......................................................................................... 22
2.8. Customize table join options .................................................................... 25
2.9. Move objects to a different directory ........................................................ 26
2.9.1. Method 1 - drag and drop .............................................................. 26
2.9.2. Method 2 - cut and paste ............................................................... 26
2.9.3. Notes ............................................................................................. 26
3. Building programs and views to get data tables ........................................... 27
3.1. Useful procedures .................................................................................... 28
3.2. Create eFront Script programs ................................................................ 29
3.3. Create views (SQL queries) ..................................................................... 30
3.4. Update program access paths ................................................................. 32
3.5. Update region access paths .................................................................... 33
4. Creating EXCEL and WORD reports ............................................................... 35
4.1. Useful procedures .................................................................................... 36
4.2. Reference information .............................................................................. 37
4.3. Examples ................................................................................................. 38
4.4. Creating and managing EXCEL and WORD reports ............................... 39
4.4.1. Useful procedures .......................................................................... 39
4.4.2. Manage the EXCEL report language ............................................. 39
4.4.3. Create a document ........................................................................ 40
4.4.4. Manage the source data tables ..................................................... 40
Page 2 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 3 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 4 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 5 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 6 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 7 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 8 of 169
eFront Report User Guide - V21.0 June 21, 2023
1. Overview
Page 9 of 169
eFront Report User Guide - V21.0 June 21, 2023
1.1. Concepts
Page 10 of 169
eFront Report User Guide - V21.0 June 21, 2023
eFront Report offers the Banking, Insurance and Private Equity sectors the opportunity
to improve the production process of reports aimed at stakeholders (investors,
regulators, customers, etc.), particularly by:
eFront Report achieves report production efficiency and quality through the following
work principles:
• Reduce time spent on data extraction from external databases or eFront databases:
apply asynchronous batch processing (i.e. at night).
• Optimize and reduce time spent on data processing.
• Guarantee data freshness.
• Guarantee data security: define data visibility based on user access rights and data
regions.
• Reduce time spent on exchanges between client and server: create and edit WORD
and EXCEL reports using the eFront Report server-based editing tools instead of
client-based applications.
• Increase the quality of WORD and EXCEL reports: access optimized VBA and
EXCEL libraries using the eFront Report server-based report editing tools.
• Reduce the complexity of report authoring: use the drag & drop based user
interface. No need to dig into data extraction programs, SQL queries, data processing,
programming formulas or complex spreadsheet operations.
• Achieve maximum ability to customize data extraction, data processing and report
generation: use eFront Script, the eFront Report programming language.
Page 11 of 169
eFront Report User Guide - V21.0 June 21, 2023
Object Description
Program Set of eFront Script instructions, which creates and processes data tables.
View Virtual or logical table resulting of a pre-compiled SQL query; data query is executes from
the database in real time
Document Logical object, which integrates data tables and EXCEL / WORD templates. When
executing a document, the system generates EXCEL / WORD files based on the EXCEL /
WORD templates linked to the document, and instantiated to the data taken from the data
tables linked to the document
Report Organized and formatted collection of data fed by the data tables, prepared for viewing or
printing.
Stylesheet List of styles which can be applied to the different elements in a report
Query Builder An interactive eFront Invest database query tool. It provides a drag-and-drop functionality
for creating queries from eFront Invest database objects, such as contacts, companies
and funds.
Table Set of columns and rows that hosts application data. The number of columns is fixed, the
number of rows depends on the data volume.
Page 12 of 169
eFront Report User Guide - V21.0 June 21, 2023
eFront Script is the eFront programming language used to write data process
programs. Data process programs have two main objectives:
• Extract data from databases (ex.: eFront Invest Classic, eFront Invest, external
databases), and build eFront Report data tables or eFront Analytics data cubes.
• Process data tables to calculate statistics, and produce tabular reports, listings, charts,
dashboards, WORD and EXCEL documents.
The DATA step section of an eFront Script program assumes a default file structure,
and automates the process of identifying files to the operating system, opening the input
file, reading the next record, opening the output file, writing the next record, and closing
the files. Most of the time the DATA step works within an implicit program loop that runs
for each record.
All other tasks are accomplished by procedures that operate on the table as a whole.
Typical tasks include printing or performing statistical analysis, and may just require the
user or programmer to identify the data set. Procedures are not restricted to only one
behavior and thus allow extensive customization, which is controlled by statements and
options defined within the procedures.
eFront Script offers macro programming extensions, which can be used to generate
eFront Script code. Macro code in an eFront Script program undergoes pre-
processing.
At runtime, procedure steps are compiled, interpreted and run in the sequence they
appear in the eFront Script program. An eFront Script program requires the eFront
Report environment to run.
Page 13 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 14 of 169
eFront Report User Guide - V21.0 June 21, 2023
Useful Procedures
Create an object
Delete an object
Duplicate an object
Execute an object
Export objects
Import objects
Page 15 of 169
eFront Report User Guide - V21.0 June 21, 2023
Object Description
Program Set of eFront Script instructions, which creates and processes data tables.
View Virtual or logical table resulting of a pre-compiled SQL query; data query is executes
from the database in real time
Document Logical object, which integrates data tables and EXCEL / WORD templates. When
executing a document, the system generates EXCEL / WORD files based on the
EXCEL / WORD templates linked to the document, and instantiated to the data
taken from the data tables linked to the document
Report Organized and formatted collection of data fed by the data tables, prepared for
viewing or printing.
Stylesheet List of styles which can be applied to the different elements in a report
Query Builder An interactive eFront Invest database query tool. It provides a drag-and-drop
functionality for creating queries from eFront Invest database objects, such as
contacts, companies and funds.
Table Set of columns and rows that hosts application data. The number of columns is
fixed, the number of rows depends on the data volume.
Page 16 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 17 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 18 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 19 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 20 of 169
eFront Report User Guide - V21.0 June 21, 2023
You can export objects to transfer them into another eFront Report database. Objects
are transferrable as .ZIP files that are produced when exporting objects.
Page 21 of 169
eFront Report User Guide - V21.0 June 21, 2023
You can import objects from another eFront Report database. Objects are transferable
as .ZIP files that are produced when exporting objects from an eFront Report database.
When recompiling views during the import, the options related to the tables' join are by
default the options defined in eFront Admin. However, you can customize the table join
options.
When recompiling views during the import, the options related to the tables' join are by
default the options defined in eFront Admin (feature: DisableAnsiJoins). This feature is
enabled for SQL servers. But you can customize the table join options from within the
eFront Report environment.
1. Double-click a view.
2. Click View Properties.
3. Under Force join mode, select an option.
Default: apply default settings defined in eFront Admin.
ANSI: apply SQL data base table join.
4. Click Save & Close.
1. Open the directory where you want to store the imported eFront Report object.
2. Right-click anywhere within the reports table.
The contextual menu displays.
3. Click Import here.
The file upload manager displays.
4. Select the files to upload and click Open.
If objects have the same name as imported objects, the imported objects
replace automatically the already existing objects.
5. If you import a program, update program access paths.
To allow eFront Report objects to easily access included programs, include
program access paths in the database system options.
a. From the main application menu, click Administration >Guide.
Page 22 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 23 of 169
eFront Report User Guide - V21.0 June 21, 2023
It is possible to instantiate the magic variables with a path specified in the eFront
ReportAdministration section:
a. From the main application menu, click Administration >Guide.
b. From the Guide's themes, select eFront Report.
c. Click Explorer.
d. In the Administration section, click System options.
e. Click the Magnifier icon at the right of the Search paths field.
The eFront Report directories' tree displays.
f. Select a directory that corresponds to the first of the 4 standard regions.
g. Click OK.
h. Repeat step 3 to 5 for each of the standard regions.
From now on, when you include a program that uses a magic variable, eFront
Report automatically instantiates the variable with the path being defined in the
system option.
Page 24 of 169
eFront Report User Guide - V21.0 June 21, 2023
When recompiling views during the import, the options related to the tables' join are by
default the options defined in eFront Admin (feature: DisableAnsiJoins). This feature is
enabled for SQL servers. You can customize the table join options from within the eFront
Report environment.
1. Double-click a view.
2. Click View Properties.
3. Under Force join mode, select an option.
Default: apply default settings defined in eFront Admin.
ANSI: apply SQL data base table join.
4. Click Save & Close.
Page 25 of 169
eFront Report User Guide - V21.0 June 21, 2023
2.9.3. Notes
You can also copy and paste objects between directories in the same environment.
Page 26 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 27 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 28 of 169
eFront Report User Guide - V21.0 June 21, 2023
NOTE
Note that you can disable automatic indentation by right-clicking in
the program editor and selecting Disable auto-indent. Indentation is
enabled by default.
9. Click Save.
10. Click Compile.
IMPORTANT
Skip this step if you have unselected the FrontCube
programcheckbox in Properties.
Page 29 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 30 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 31 of 169
eFront Report User Guide - V21.0 June 21, 2023
To allow eFront Report objects to easily access included programs, include program
access paths in the database system options.
Page 32 of 169
eFront Report User Guide - V21.0 June 21, 2023
To manage data access and visibility, directories are assigned to regions. eFront
Report handles a collection of standard regions:
• SYSTEM: refers to a region, also called region 0, that is visible to all accounts
installed on the same server. Only users with the profil Remote Admin can modify
data of this region (Write access). All other users have Read only access.
• SHARED: refers to the shared region, a folder that contains standard programs and
standard tables shared by all users.
• PRIVATE: refers to the private region, a folder that contains data owned by the current
user.
• PUBLIC: refers to the public region, a folder that contains data shared by all users.
• INFO: refers to the Information region.
• ROOT: refers to the region where the eFront Script program is located.
\\{SYSTEM}
\\{SHARED}
\\{PRIVATE}
\\{PUBLIC}
\\{ROOT}
\\{INFO}
It is possible to instantiate the magic variables with a path specified in the eFront
ReportAdministration section:
Page 33 of 169
eFront Report User Guide - V21.0 June 21, 2023
5. Click the Magnifier icon at the right of the Search paths field.
The eFront Report directories' tree displays.
6. Select a directory that corresponds to the first of the 4 standard regions.
7. Click OK.
8. Repeat step 3 to 5 for each of the standard regions.
From now on, when you include a program that uses a magic variable, eFront
Report automatically instantiates the variable with the path being defined in the
system option.
Page 34 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 35 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 36 of 169
eFront Report User Guide - V21.0 June 21, 2023
• EXCEL macros
• WORD Mergefield switches and keywords
• Functions - Operators - Values
Page 37 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.3. Examples
Page 38 of 169
eFront Report User Guide - V21.0 June 21, 2023
• If you select English, when you drag&drop macros in the EXCEL designer (EF_T,
EF_G and EF_S), ';' is replaced by ',' in the cells. But be aware, that the separator
used by EXCEL in number formatting is the one defined in the regional WINDOWS
settings.
• Date formatting in standard reports depends on the selected language.
Page 39 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 40 of 169
eFront Report User Guide - V21.0 June 21, 2023
• You have linked at least one data table to the document to be processed.
Page 41 of 169
eFront Report User Guide - V21.0 June 21, 2023
Column Description
Encloses the expression within parenthesis
Name Identifies the column to be filtered. Tick the Display Name box at the bottom of
the Filters' section to display column names, and untick the Display Name box to
display column labels.
Order Defines the sort option (Ascending or Descending), that applies to the column
being selected.
Operator Defines the operator to be included in the data filter expression. Possible
operators are:
<>
<
>
>=
<=
IS NULL
IS NOT NULL
LIKE
NOT LIKE
IN
NOT IN
MOD
BETWEEN(,)
NOT BETWEEN(,)
Page 42 of 169
eFront Report User Guide - V21.0 June 21, 2023
Log. operator Identifies the logical operator to be used when combining several filters
Column Description
Group by Identifies the column for which to calculate statistics
Name Identifies the column
Renamed as Defines a new column name
Total Selects a function [N, Total(), Average(), MAX(), MIN(), IRR(), Multiple()] that can
be applied to column values. When you use the IRR() function, you have to
select a DATE type column from the Parameter drop-down list. For details about
how to use these functions, refer to the eFront Script Reference Guide.
Parameter The Parameter drop-down list presents all the table columns whose type =
DATE. You have to select a column from the Parameter drop-down list, when
applying the IRR() function to a column.
Label Defines the column title to display in a report
Format Identifies the format to be applied to resulting values. For details about formats,
refer to the eFront Script Reference Guide.
6. Click OK.
7. Click Save.
The application generates automatically the corresponding eFront Script source
code.
8. (Optional) To view the automatically generated source code, under Pages, click
Source.
The source code displays.
Page 43 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 44 of 169
eFront Report User Guide - V21.0 June 21, 2023
5. Click Save.
6. (Optional) To view the automatically generated source code, open the Source tab.
• You have linked at least one EXCEL template to the eFront Report document.
Page 45 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 46 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 47 of 169
eFront Report User Guide - V21.0 June 21, 2023
• You have linked at least one WORD template to the eFront Report document.
Page 48 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 49 of 169
eFront Report User Guide - V21.0 June 21, 2023
You can specify the folder where you want the reports to be saved to.
Page 50 of 169
eFront Report User Guide - V21.0 June 21, 2023
- ALLOWOTHER -
Looks at the
PDF_ACCESSRIGHT_OTHER
parameter.
Page 51 of 169
eFront Report User Guide - V21.0 June 21, 2023
- ALLOWNOTATION - Allow
the user to add notes to the
document.
See Include eFront Script programs in a report for more info on how to
include the program.
4. Click Save.
5. Click Compile, then Execute.
6. Select the template to execute.
7. Click Apply.
eFront Report generates the report.
In the following, we show you how to define the input parameters. Working with input
parameters includes two main steps:
Page 52 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 53 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 54 of 169
eFront Report User Guide - V21.0 June 21, 2023
When generating an .XLS file from an eFront Report document, you activate a merge
process, i.e.: source data taken from the eFront Report data warehouse are merged
into the .XLS file. You control the merge process through the use of EXCEL macros. To
allow EXCEL macros to execute correctly, you must:
• Define the region where values display using the EF_T() or EF_TC() macro.
• Place the EXCEL macros above or at the left of the region of values.
• Macros are executed from left to right, and from top to bottom.
• There is no processing on the client, all processing is done on the server.
Here is an overview of available EXCEL macros (demos are available in the document
FrontReport - EXCEL macros - Tutorials):
Page 55 of 169
eFront Report User Guide - V21.0 June 21, 2023
Page 56 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.1.1. EF_G()
Description
Extracts an unique source data value. You can specify extract criteria.
Syntax
=EF_G("table_name";"column";"criteria_column_1;criteria_column_n" ;
"value_of_column_1;value_of_column_n";"data_type")
Arguments
Argument Description
table_name name of source data table
column identifies the column from which to extract the unique value
criteria_column_1;criteria_column_n list of columns that are used as selection criteria
value_of_column_1;value_of_column_n list of values that are assigned to the criteria (filter);
When designing a filter for a column, you can use the dedicated
characters '@' and '$'. '@' allows you to build a filter that
references a specific value, ex.: '@D4'. If the specific value
pointed at is part of an adjustable region, it moves if the region
extends. To avoid this behavior, and reference an absolute value,
you need to use '@' together with '$', exemple: '@$D4;@C$5'.
Using dedicated characters is particular useful in case you need
to build pivot tables.
data_type allows you to force a data type. Possible values:
Example: =EF_G("table_name";"column";..."DATE")
Comment
• If the language used in EXCEL, and the language used in the eFront application are
different, you need to define the EXCEL report language from within your database!
• If you use EF_G() with criteria and values, EF_G() returns the first value being
retrieved.
• To make sure that the first value of the column to be extracted is a significant
value, sort the data column (see: Process source data tables) before applying the
EF_G()macro.
Page 57 of 169
eFront Report User Guide - V21.0 June 21, 2023
• You can also specify the line number from which to extract the unique data source
value: =EF_G("table_name";"column" ;;;line_number)
Example
=EF_G("T_PARTICIPATIONS";"CREATION_DATE")
=EF_G("T_CHIFFRES_CLES";"REPORTING_DATE";;;3)
=EF_G("T_CONTACT";"REVENUE";"FIRST_NAME;LAST_NAME";"Marc;Doe")
=EF_G("COMMITMENT";"COMMITMENT";"FUND_ID;VINTAGE_YEAR";"@$C5;@D$4
D");
It produces in lines all funds, in columns all vintage years and puts for each fund the
commitment in the correct vintage year column.
4.5.1.2. EF_HTMLTOTEXT()
Description
Strips HTML tags from HTML-rich text, and renders the text without the tags.
Syntax
=EF_HTMLTOTEXT("column_name")
Arguments
Argument Description
column_name Identifies the column where HTML rich text has be be stripped off HTML tags.
Comment
• If you strip the HTML tags out of your text, carriage returns, which are referred to by
the tag <p></p> get stripped out as well. To avoid this behavior, you need to make
sure that the word wrapping is applied to the EXCEL sheet cell.
Page 58 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.1.3. EF_IMG()
Description
Inserts an image in the EXCEL spreadsheet, in the worksheet, but no in the header/
footer.
Syntax
=EF_IMG("column_name";region;X;Y;W;H)
Arguments
Argument Description
column_name file name or column name. If file name, the name must include at least a ":" or a"\".
region Working area; reference to a cell or a region of cells, example: A1 or A1:B5
Example:
=EF_IMG("image";A1:B5;50;50;80;60)
Explanation: the image starts in cell A1, 50% from the upper left corner to the right and to
the bottom. The region being covered by the image is 80% of width, and 60% of height of
A1:B5
Percentages don't need to have a '%' sign after it, if they have, it doesn't work.
4.5.1.4. EF_IMPORT()
Description
Imports a data region from an EXCEL workbook sheet into the report to generate. You
must attach the EXCEL workbook to import sheets from to the FrontReport document,
from with you generate the report:
Page 59 of 169
eFront Report User Guide - V21.0 June 21, 2023
Syntax
=EF_IMPORT("&file";"sheet";"import_region";"host_region")
Arguments
Argument Description
file Name of the EXCEL workbook that includes the sheet from which to import the data region.
The workbook must be attached to the FrontReport document from which you generate the
report. The name of the workbook to import must be prefixed by '&', such as this: "&jfg.XLS"
sheet Name of the sheet that hosts the data region to import
import_region Reference to the cell or region of cells to import, example: A1 or A1:B5
host_region Reference to the cell or region of cells that hosts the data to import, example: A1 or A1:B5;
must cover the same number of cells/lines as import_region
Comment
Examples
• =EF_IMPORT("&jfg.XLS";"Feuil1";"B2:G10";"E3:K11")
4.5.1.5. EF_LANG()
Description
Allows you to develop multilingual reports. According to the language being chosen,
EF_LANG() picks the appropriate language token.
Page 60 of 169
eFront Report User Guide - V21.0 June 21, 2023
Syntax
=EF_LANG("English_name{F}French_name")
OR
=EF_LANG("&name")
OR
=EF_LANG(cell_address)
Arguments
Argument Description
&name Name of column whose data are to be converted. Converts all values that are of following
type: "English_name{F}French_name"
cell_address References the cell (ex.: A1) whose data are to be converted. The cell might contain the
name of the column whose data are to be converted (&Name) or data of the following type:
"English_name{F}French_name"
Comment
4.5.1.6. EF_MACRO()
Description
Allows to retrieve macro variable content. Macro variables are defined using %LET and
%PARAM statements.
Syntax
=EF_MACRO("macro_name")
Page 61 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
macro_name Name of the macro whose values are to be retrieved.
Example
%PARAM REF_DATE LABEL="Date";
=EF_MACRO("REF_DATE")
4.5.1.7. EF_SORT_CELLS()
Description
Allows you to sort a region of cells in the EXCEL spreadsheet.
Syntax
=EF_SORT_CELLS(region;"nb_sort_column_1;nb_sort_column_n")
Arguments
Argument Description
region Working area to be sorted; reference to region of cells, example:
A1:B5
Page 62 of 169
eFront Report User Guide - V21.0 June 21, 2023
Mandator.
Example:
EF_SORT_CELLS( B5:G9,"1;3-")
You could also use any of the remaining columns as sort columns:
Comment
• You can use EF_SORT_CELLS() to sort cell regions, but you can also add a
particular parameter to EF_T() and EF_TC() macros.
Example
Define a spreadsheet region, and sort the first column of the region in ascending order,
and the third column of the region in descending order.
Formula
EF_SORT_CELLS( B5:G9,"1;3-")
Page 63 of 169
eFront Report User Guide - V21.0 June 21, 2023
Result
4.5.1.8. EF_T()
Description
Specifies a region in the EXCEL spreadsheet, where source data are displayed
according to a selection of criteria. When executing the EXCEL spreadsheet, eFront
Report writes the source data into the region being specified by EF_T(). If the number
of values exceeds the spreadsheet space being allotted, new lines are added, and the
exceeding values are written to the new lines. It is possible to nest EF_T() macros.
Syntax
=EF_T("table_name";region;"insert";"column_1;column_n";
"value_of_column_1;value_of_column_n";"nb_lines_to_display";"nb_sort_column_1;nb_
sort_column_n";"alias")
Arguments
Argument Description
table_name Name of source data table, i.e. the table that is linked to the report
region Working area; reference to a cell or a region of cells, example: A1
or A1:B5
Page 64 of 169
eFront Report User Guide - V21.0 June 21, 2023
insert insert refers to the insertion mode used to extend the region
(insert table lines)
'R': each line of the table is created by inserting a new line in the
worksheet
'C': each line of the table is created by shifting cells to the bottom
(to put side by side two EF_T() tables, you need to use the 'C'
insertion mode for table 2.)
Example:
When designing a filter for a column, you can use the dedicated
characters '@' and '$'. '@' allows you to build a filter that
references a specific value, ex.: '@D4'. If the specific value
pointed at is part of an adjustable region, it moves if the region
extends. To avoid this behavior, and reference an absolute value,
you need to use '@' together with '$', exemple: '@$D4;@C$5'.
Using dedicated characters is particular useful in case you need
to build pivot tables.
nb_lines_to_display Integer, that refers to the number of lines to display.
Page 65 of 169
eFront Report User Guide - V21.0 June 21, 2023
Example:
EF_T("TABLE";B5:G5;"R";;;;"1 ;3-" )
You could also use any of the remaining columns as sort columns:
Comment
• If the language used in EXCEL, and the language used in the eFront application are
different, you need to define the EXCEL report language from within your database!
• Before using the display options R+ and R-, sort the source data table by the data field
you want to apply the options to. On the sorted data table, R+ reproduces data in the
same order as in the source table, whereas R- applies the opposite sort.
• A 7th parameter is also available that allows you to sort the region being referred to in
EF_T().
Page 66 of 169
eFront Report User Guide - V21.0 June 21, 2023
Example 1
=EF_T("QV_REPORT37_NOTES";A18:G24;"R";"COMPANY_ID;NOTE_TYPE";"&comp
any_id;KEYEVENT")
Example 2
=EF_T("QV_REPORT37_NOTES";A18:G24;"R";"COMPANY_ID;NOTE_TYPE";"&comp
any_id;KEYEVENT";"2")
Example 3
=EF_T("FV_T_FUND_POSITIONS_BY_INVESTMENT";C5:G5;"R";"FUND_STATUS;VI
NTAGE_YEAR";"@A1;>@B1")
Example 5
Use aliases to refer to specific EF_T() macros.
Page 67 of 169
eFront Report User Guide - V21.0 June 21, 2023
If you want to output the tree representing these data (EFT2 is linked to EFT1 with
relationship EFT2.PARENT=EFT1.CODE):
You can use the following template. Note in cells B4 and C4 the use of the alias A,
defined in the first EF_T (cell B2). Alias parameter is the 8th of the EF_T() macro. If you
do not use alias, cells B4 and C4 are populated by the second EF_T (table EFT2).
Example 5
Define a spreadsheet region, and create new lines for new values
Formula
Page 68 of 169
eFront Report User Guide - V21.0 June 21, 2023
Result
4.5.1.9. EF_TC()
Description
Specifies a region in the EXCEL spreadsheet, where source data display according to a
selection of criteria. When executing the EXCEL spreadsheet, eFront Report writes the
source data into the region being specified by EF_TC(). If the number of values exceeds
the spreadsheet space being allotted, new columns are added, and the exceeding
values are written to the new columns.
Syntax
=EF_TC("table_name";region;"insert";"column_1;column_n";
"value_of_column_1;value_of_column_n";"nb_lines_to_display";"nb_sort_column_1;nb_
sort_column_n")
Arguments
Argument Description
table_name name of source data table
region Working area; reference to a cell or a region of cells, example: A1
or A1:B5
Page 69 of 169
eFront Report User Guide - V21.0 June 21, 2023
insert insert refers to the insertion mode used to extend the region
(insert table columns)
When designing a filter for a column, you can use the dedicated
characters '@' and '$'. '@' allows you to build a filter that
references a specific value, ex.: '@D4'. If the specific value
pointed at is part of an adjustable region, it moves if the region
extends. To avoid this behavior, and reference an absolute value,
you need to use '@' together with '$', exemple: '@$D4;@C$5'.
Using dedicated characters is particular useful in case you need
to build pivot tables.
nb_lines_to_display Integer, that refers to the number of lines to display.
Page 70 of 169
eFront Report User Guide - V21.0 June 21, 2023
Example:
EF_TC("TABLE";B5:G5;"R";;;;"1 ;3-" )
You could also use any of the remaining columns as sort columns:
Comment
• If the language used in EXCEL, and the language used in the eFront application are
different, you need to define the EXCEL report language from within your database!
• Before using the display options R+ and R-, sort the source data table by the data field
you want to apply the options to. On the sorted data table, R+ reproduces data in the
same order as in the source table, whereas R- applies the opposite sort.
• A 7th parameter is also available that allows you to sort the region being referred to in
EF_TC().
• To nest areas, use EF_TC() in an EF_T(), and EF_T() in EF_S().
• Demos are available in the document FrontReport - EXCEL macros - Tutorials.
Example 1
EF_TC("TABLE";B5:G5;"R";;;;"1 ;3-" )
Page 71 of 169
eFront Report User Guide - V21.0 June 21, 2023
Example 2
Define a spreadsheet region, and create new columns for new values
Formula
Result
4.5.1.10. EF_CHART_LEGEND()
Description
Defines the location where the legend is displayed.
Syntax
=EF_CHART_LEGEND("chart";"xpos";"ypos";"width";"height")
Arguments
Argument Description
chart The name of the chart.
xpos The X position of the legend inside the chart.
ypos The Y position of the legend inside the chart.
width The width of the legend inside the chart.
height The height of the legend inside the chart.
Page 72 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.1.11. EF_CHART_PLOTAREA()
Description
Defines the location where the graph is displayed.
Syntax
=EF_CHART_PLOTAREA("chart";"xpos";"ypos";"width";"height")
Arguments
Argument Description
chart The name of the chart.
xpos The X position of the graph inside the chart.
ypos The Y position of the graph inside the chart.
width The width of the graph inside the chart.
height The height of the graph inside the chart.
4.5.2.1. EF_AUTOFIT.HEIGHT()
Description
Resizes the cell height
Syntax
=EF_AUTOFIT.HEIGHT(region)
Page 73 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
region reference to a cell or a region of cells, example: A1 or A1:B5
factor optional;
The coefficient to multiply the height of the cell or a region of cells. Should be used only if some
columns are truncated after resizing without specifying the factor.
Examples
=EF_AUTOFIT.HEIGHT(A1:A2)
4.5.2.2. EF_AUTOFIT.WIDTH()
Description
Automatically adjusts the cell width to its content.
Syntax
=EF_AUTOFIT.WIDTH(region, factor)
Arguments
Argument Description
region reference to a cell or a region of cells, example: A1 or A1:B5
factor optional;
The coefficient to multiply the width of the cell or a region of cells. Should be used only if some
columns are truncated after resizing without specifying the factor.
Examples
=EF_AUTOFIT.WIDTH(A1:A2)
Comment
If you apply the EF_AUTOFIT.WIDTH() macro to a description field, it can occur that the
amount of characters in the field stretches the column width beyond limits. In this case
you will get an error message, which might be similar to the following:
"Specified argument was out of the range of valid values... Width must be between 0.0
and 255.0"
Page 74 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.2.3. EF_MERGE_CELLS()
Description
This macro is very useful to merge automatically cells of a region in the EXCEL
spreadsheet.
Syntax
=EF_MERGE_CELLS(cell_region;"merge_type")
Arguments
Argument Description
cell_region Reference to a region of cells to merge, example: A1:B5
merge_type Optional; defines the type of merger.
4.5.2.4. EF_SETSHADING.IF()
Description
Defines the cell's background color, background pattern, and text color according to a
condition. Up from eFront Report version 6.2, you can use the EXCEL formatting instead
of EF_SETSHADING.IF().
Syntax
=EF_SETSHADING.IF(region_1;"expression";"bckg_color,text_color,
bckg_pattern";region_2;"indentation")
Arguments
Argument Description
Page 75 of 169
eFront Report User Guide - V21.0 June 21, 2023
region_1 References a cell or a region of cells (example: A1 or A1:B5) whose values are to be
compared to the expression that is part of EF_SETSHADING.IF().
If you reference a cell that references a table column, region_1 must be composed of at least
2 cells in adjacent lines.
expression The expression evaluates to a value that is compared to the region_1 values. The %
operator can also be used to apply formatting to a cell that contains a specific string.
bckg_color HTML color keyword or hexadecimal code (#xxxxxx)
text_color HTML color keyword or hexadecimal code (#xxxxxx)
bckg_pattern Possible values:
AUTOMATIC
CHECKER
CRISSCROSS
DOWN
GRAY16
GRAY25
GRAY50
GRAY75
GRAY8
GRID
HORIZONTAL
LIGHTDOWN
LIGHTHORIZONTAL
LIGHTUP
LIGHTVERICAL
SEMIGRAY
SOLID
UP
VERTICAL
region_2 Cell or region of cells, that undergoes change in color if values in region_1 compare
successfully to the expression.
Page 76 of 169
eFront Report User Guide - V21.0 June 21, 2023
indentation
Only available from V9.0 on.
Comment
• If region_1 and region_2 cover the same dimension, each cell value of region_1 is
compared with the result of the expression in order to know if the corresponding cell in
region_2 has to be changed.
• region_1 and region_2 can be identical.
• EF_SETSHADING.IF() must always be used together with a region defined by EF_T()
or EF_TC().
• The EF_T() /EF_TC() macro must precede the EF_SETSHADING.IF() macro (be
placed above or at the left).
• Make sure to place the EF_SETSHADING.IF() macro at a location where it is read
after the cells to compare with the <expression> are populated. Most often you may
need to place the macro at the right of the cells to be evaluated. Recall that EXCEL
spreadsheet macros are being evaluated from left to right and from top to down (Z
order).
Example
=EF_SETSHADING.IF(A3:A9;"<=2";"BLUE";B3:B9)
From V9.0 on
=EF_SETSHADING.IF(A3:A9;"<=2";"BLUE";B3:B9;"1")
=EF_SETSHADING.IF(D3:R12;"%test";"#A00000";D3:R12)
4.5.2.5. EF_V()
Description
Formats source data.
Syntax
=EF_V("column_name";"format";"data_type")
Page 77 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
format Any of the below:
Example: =EF_V("XXX";;"DATE")
Comment
• When defining data formats, you need to use 'M' for months and 'm' for minutes.
• The arguments format and data_type are mutually exclusive.
• When defining a numeric picture, use "#" and "0". "#": if there is a number it displays,
if there is not, nothing displays. "0": if there is a number it displays, if there is not, a "0"
displays.
• If EF_V() references a column or a spreadsheet cell that contains the format picture,
EF_V()must always be used together with a region defined by EF_T() or EF_TC(). The
cell that contains the format picture must be placed above or at the left of the display
region.
• To find more details about customized EXCEL formats for dates or numbers, type a
date/number in a cell, right click the cell, select personalized formats, and select
one, or build a new one.
• A demo is available in the document FrontReport - EXCEL macros - Tutorials.
• The format "[$-309]j mmmm aaaa" allows you to express a date in written letters. You
could combine text with an eFront Script date, and define the format so that the date is
written out in letters. Here is an example: Cell A2 containts an eFront Script date. Cell
A1 references the date in A2, and produces a written date in A1: ="SUBSCRIPTION
AS OF " & TEXTE(A2;"[$-309]j mmmm aaaa". The result would be: "SUBSCRIPTION
AS OF 3 March 2008". Please note that you need to use capital 'M's to refer to
months.
Page 78 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.3.1. EF_SETSHEETNAME()
Description
Manages the automatic translation of sheet names according to the language being
chosen.
Syntax
=EF_SETSHEETNAME("English_name{F}French_name")
Arguments
Argument Description
English_name sheet name in English
French_name sheet name in French
Comment
• According to the language being chosen, FrontReport picks the appropriate language
token.
• To translate column content, use EF_LANG().
4.5.3.2. EF_S()
Description
Splits a workbook into multiple sheets, and creates one sheet per value of the column
being chosen.
Syntax
=EF_S("table_name";"column_1;column_n")
Page 79 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
table_name Name of the source data table
column_1;column_n List of columns, for the values of which sheets are to be created
Comment
• If the language used in EXCEL, and the language used in the eFront application are
different, you need to define the EXCEL report language from within your database!
• To nest areas, use EF_TC() in an EF_T(), and EF_T() in EF_S().
• If you use EF_S() together with EF_T() or EF_TC(), you must filter the data being
displayed in the data region according to the sheet being selected.
• A demo is available in the document FrontReport - EXCEL macros - Tutorials.
4.5.4.1. EF_HBREAK()
Description
Inserts a horizontal page break into the EXCEL sheet.
Syntax
=EF_HBREAK(cell_address)
Page 80 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
cell_address References the cell (ex. : A1), below of which, the page break will be inserted
4.5.4.2. EF_VBREAK()
Description
Inserts a vertical page break into the EXCEL sheet.
Syntax
=EF_VBREAK(cell_address)
Arguments
Argument Description
cell_address References the cell (ex. : A1), at the right of which, the page break will be inserted
4.5.4.3. EF_SETCENTERFOOTER()
Description
Inserts a footer at the bottom center of each report page.
Syntax
=EF_SETCENTERFOOTER(cell_address)
Arguments
Argument Description
cell_address References the cell (ex. : A1), that contains data to display at the bottom center of each
report page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Page 81 of 169
eFront Report User Guide - V21.0 June 21, 2023
Comment
• A demo that shows how to insert a header is available in the document FrontReport -
EXCEL macros - Tutorials.
4.5.4.4. EF_SETCENTERHEADER()
Description
Inserts a header at the top center of each report page.
Syntax
=EF_SETCENTERHEADER(cell_address)
Arguments
Argument Description
cell_address References the cell (ex. : A1), that contains data to display at the top center of each report
page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Comment
• A demo that shows how to insert a header is available in the document FrontReport -
EXCEL macros - Tutorials.
4.5.4.5. EF_SETLEFTFOOTER()
Description
Inserts a footer at the bottom left of each report page.
Syntax
=EF_SETLEFTFOOTER(cell_address)
Page 82 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
cell_address References the cell (ex. : A1), that contains data to display at the left bottom of each report
page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Comment
• A demo that shows how to insert a header is available in the document FrontReport -
EXCEL macros - Tutorials.
4.5.4.6. EF_SETLEFTHEADER()
Description
Inserts a header at the top left of each report page.
Syntax
=EF_SETLEFTHEADER(cell_address)
Arguments
Argument Description
cell_address References the cell (ex. : A1), that contains data to display at the left top of each report page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Comment
Page 83 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.5.4.7. EF_SETRIGHTFOOTER()
Description
Inserts a footer at the bottom right of each report page.
Syntax
=EF_SETRIGHTFOOTER(cell_address)
Arguments
Argument Description
cell_address References the cell (ex. : A1), that contains data to display at the bottom right of each report
page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Comment
• A demo that shows how to insert a header is available in the document FrontReport -
EXCEL macros - Tutorials.
4.5.4.8. EF_SETRIGHTHEADER()
Description
Inserts a header at the top right of each report page.
Syntax
=EF_SETRIGHTHEADER(cell_address)
Arguments
Argument Description
Page 84 of 169
eFront Report User Guide - V21.0 June 21, 2023
cell_address References the cell (ex. : A1), that contains data to display at the top right of each report
page.
If the header content is dynamic, i.e. EXCEL has to calculate the cell content, you must
place the header content cell above the macro that contains the macro definition.
If the header content is static, like a simple text string for example, you can place the header
content cell below the macro cell.
Comment
• A demo that shows how to insert a header is available in the document FrontReport -
EXCEL macros - Tutorials.
4.5.4.9. EF_FITTOPAGES()
Description
Scales the data to fit a specific number of pages.
Syntax
=EF_FITTOPAGES("wide";"tall")
Arguments
Argument Description
wide Defines how many pages in width the output will be.
mandatory.
tall Defines how many pages in height the output will be.
optional.
4.5.4.10. EF_FIRSTPAGENUMBER()
Description
Determines the number that is used to start page numbering.
Syntax
=EF_FIRSTPAGENUMBER("value")
Page 85 of 169
eFront Report User Guide - V21.0 June 21, 2023
Arguments
Argument Description
value Can be:
• an integer
• a reference to a cell
• a eFront Script variable
4.5.5.1. EF_PDFWATERMARK
Description
Adds a watermark to a report that is generated as PDF.
Syntax
=EF_PDFWATERMARK(text,font,opacity,angle)
Options
Option Description
text Text to be displayed as the watermark. Can be a reference to a cell or static text.
font Font used to display the watermark.
opacity Transparency of the watermark, a value from 0.0 (opaque) through 1.0 (clear).
angle Rotation angle of the watermark in degrees.
Example
=EF_PDFWATERMARK(V2,”Arial”,”0.3”,”45”)
Page 86 of 169
eFront Report User Guide - V21.0 June 21, 2023
When generating a .DOC file from an eFront Report document, you activate a merge
process, i.e. source data taken from the eFront Report data warehouse are merged
into the .DOC file. You control the merge process through the merge fields, and their
customization. Mergefields show in your .DOC file when you drag and drop table data
into the document. You can control mergefields using conditional MERGEFIELDs.
4.6.1. Columns
4.6.1.1. Description
?
Page 87 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.1.2. Syntax
{MERGEFIELD "Columns: }
4.6.1.3. Switches
Switch Description
4.6.2. CHART
4.6.2.1. Description
Inserts one single EXCEL chart into a WORD document. To display MERGEFIELD
codes, press ALT + F9.
If you want to insert several charts into a WORD document, use the eFront Script
step EXPORTCHART to extract all the charts from the EXCEL file into as many .JPEG
files as there were charts, and then use the WORD keyword IMG to insert all the charts
into the WORD document.
4.6.2.2. Syntax
{MERGEFIELDCHART \N "Excel_file_name.XLSX"\S"Sheet1"\C"Chart 1" }
4.6.2.3. Switches
Switch Description
\N "Excel_file_name.XLSX" Identifies the EXCEL file, which contains the chart
\S"Sheet1" Identifies the EXCEL sheet, which contains the chart
\C"Chart 1" Identifies the chart to be inserted
4.6.2.4. Comment
• At report execution time, the chart is extracted from the EXCEL file, converted into a
JPEG file, and then included in the WORD document.
Page 88 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.3. Get
4.6.3.1. Description
Extracts the first value of a data table column, and inserts it in the WORD document. To
display MERGEFIELD codes, press ALT + F9.
4.6.3.2. Syntax
{MERGEFIELD "Get:table_name/column_label"\Ncolumn_name}
4.6.3.3. Switches
Switch Description
\Ncolumn_name Identifies the column name, if a column label has been defined. Column labels can be
bilingual labels, such as "First closing date{F}Date of first closing"
\$ HTML Identifies the column content as being HTML code
4.6.3.4. Comment
• To make sure that the first value of the column to be extracted is a significant value,
sort the data column (see: Process source data tables) before applying the Get:
macro.
4.6.4. HYPERLINK
4.6.4.1. Description
Identify a column value as link to include the WORD document. To display
MERGEFIELD codes, press ALT + F9.
4.6.4.2. Syntax
{HYPERLINK {MERGEFIELD "column_label" \Ncolumn_name}}
4.6.4.3. Comment
• By default, WORD converts hyperlinks in the data source fields to plain text in the
WORD document!
Page 89 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.4.4. Example
Step-by-step procedure Result and explanation
1. Select Field from the Insert menu.
2. Select Hyperlink from the Field names list.
3. Click OK.
The text "Error! Hyperlink reference not valid" appears in the document.
4.Click ALT + F9 to show merge field codes
5. Drag and drop the data source hyperlink field into the .DOC hyperlink field {HYPERLINK
"{MERGEFIELD "Web" \N
WEB}"}
6.Click ALT + F9 to hide merge field codes
4.6.5. IMG
4.6.5.1. Description
Identify an image to include in the WORD document. To display MERGEFIELD codes,
press ALT + F9.
4.6.5.2. Syntax
{MERGEFIELDIMG \Ncolumn_name} |
{MERGEFIELDIMG \N "path_to_image_file"}
4.6.5.3. Switches
Switches Description
\W: "width" Possible units for width and height are cm or mm. Postfix the number. Example:
\H: "height
{MERGEFIELDIMG \Ncolumn_name\W "12,5cm"}
4.6.6. Loop
4.6.6.1. Description
Defines the information to be repeated for each table entry. To display MERGEFIELD
codes, press ALT + F9.
Page 90 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.6.2. Syntax
{MERGEFIELD Loop:table_name}
<info_to_repeat>
{MERGEFIELD "\Loop"}
4.6.6.3. Comment
• Each element that you want to be repeated must be placed within the loop tags. The
<info_to_repeat> can be a text string, a data column, etc.
• To avoid carriage returns between lines, place the ending tag "\Loop" in the same line
as the data to display. But don't place the beginning tag Loop in the same line as the
data to display, as this generates an error.
• The loop repeats as long as different values for the "Company" column can be found.
eFront Report replaces the column reference by its value when executing the report.
4.6.7.1. Description
Use mergefield switches to process source data that be included in the WORD template.
To display MERGEFIELD codes, press ALT + F9.
4.6.7.2. Syntax
{MERGEFIELDcolumn_name}
4.6.7.3. Switches
Switch Description
\@ Formats source data as date.
The picture switch is case-sensitive. Additionally, you must use quotation marks around
the picture string.
According to your regional settings, be careful to choose "d" and "y" or "j" and "a"!
Page 91 of 169
eFront Report User Guide - V21.0 June 21, 2023
HTML-NODIV: Replace all the <div> tags by <span> before displaying the HTML
\# Identifies a numeric picture. By default, WORD does not retain the numeric pictures
specified in eFront Report data tables. Therefore you must redo the formatting, using
WORD numeric pictures.
%: division by 100
Up from eFront Invest V6.5, you need to replace 'm' by capital 'M' when referring to a
month!
\e Indicates that the value of the column specified by using the \N switch, must not be
displayed, but referred to in a calculation or a comparison
Example:
{MERGEFIELD\NSECURITY_TYPE_CODE\e \s ""ACTION"=#BFC7EO;
"OPTION"=#BFC7EO; "BSA"=#BFC7EO"}
Page 92 of 169
eFront Report User Guide - V21.0 June 21, 2023
\L Selects the part of multi-lingual content that corresponds to the language the client
machine is set to (content localization).
Examples:
The language on your client is set to English. The content of the data table to process is
in French and English, such as: "Label{F}Libellé". When applying the \L switch, only the
English content is merged into the WORD document.
{MERGEFIELD "column_name"\L}
{MERGEFIELDSUBST_NOM\L}
{MERGEFIELD "Libellé"\NTACHE_NOM\L}
{MERGEFIELD "Get:T_STRUCTURE/Capital"\L}
\Ncolumn_name Identifies the column name, if a column label has been defined.
{MERGEFIELD "column_label"\Ncolumn_name}
\s Defines the background color of a column and/or the color of the text.
Example:
{MERGEFIELD\NSECURITY_TYPE_CODE\e \s ""ACTION"=#BFC7EO;
"OPTION"=#BFC7EO; "BSA"=#BFC7EO"}
\w Applies a condition to source data.
Example:
4.6.7.4. Comment
• You can combine switches.
4.6.7.5. Example
• {MERGEFIELD "Get:T_STRUCTURE/Capital" \N CAPITAL \# "### ### ### ##0"}
#: represents a number
Page 93 of 169
eFront Report User Guide - V21.0 June 21, 2023
%: division by 100
Goal
Process conditions from with the MERGEFIELD statement: Test the value of a column.
• MERGEFIELD switches
Initial table
COMPANY INDEX
Company A 1
Company B 1
Company C 1
Company D 2
Company E 2
Company F 2
Page 94 of 169
eFront Report User Guide - V21.0 June 21, 2023
Result
Page 95 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.8.1. Description
You can define conditional MERGEFIELDs, and use IF controls. To display
MERGEFIELD codes, press ALT + F9.
4.6.8.4. Comment
• <OP>: any operator, such as "=", "<>", etc.
• The quotation marks are used to denote the parameters of the conditional statements,
and are not included in the printed result of the merge. If you want to include quotation
marks in your result, you must include a backslash (\) before each quotation mark that
you want to include.
• The comma has also a spacial use inside the {IF} field. Therefore, use the backslash
before a comma as well as before the quotation mark.
• In addition, the backslash has a special use inside the {IF} field. Therefore, use a
backslash before a backslash. In other words, use two backslashes if you want one to
appear in the merged document.
• It is possible to nest {IF} fields. The {IF} field does not directly support Boolean AND
and OR operations in a mail merge. However, the logical AND and OR operators are
actually just abbreviations of nested IF statements; therefore, you can construct the
equivalent of Boolean AND and OR operations using the following syntax:
• OR: Position the second test inside the second set of quotation marks: {IF field = "A"
"result" "{IF field = "B" "TrueResult" "FalseResult"}"}
Page 96 of 169
eFront Report User Guide - V21.0 June 21, 2023
• AND: Position the second test inside the first set of quotation marks:{IF field <> "A"
"{IF field <> "B" "TrueResult" "FalseResult"}" "FalseResult"}
4.6.8.5. Example
1. For example, if you want to print Now is the time..., in your document when the
true condition is met, you must place a backslash before each quotation mark. The
conditional statement should look similar to the following: {IF {MERGEFIELD name}
= "John Doe " "\"Now is the time...\"" "<false condition>"}
2. For example to have the result "John said, "The file is in F:\My Documents"", the
{IF} field would have a format similar to this: {IF {MERGEFIELD name} = "John Doe"
"John said, \"The file is in F:\\My Documents\"" "false condition"}
3. Example of nested {IF} fields
4. {MERGEFIELD "Get:FOF/Term(Years)"\N TERM_YEARS} {IF {MERGEFIELD
"Get:FOF/Number of years"\N TERM_ADD} <> """{IF {MERGEFIELD "Get:FOF/
Number of years"\N TERM_ADD}<>0 "+{MERGEFIELD "Get:FOF/Number of
years"\N TERM_ADD}"""}" years
4.6.9. Table
4.6.9.1. Description
Establishes a link between source data tables in the WORD document. To display
MERGEFIELD codes, press ALT + F9.
4.6.9.2. Syntax
{MERGEFIELD Table: table_to_connect\w "ID_table_1=&ID_table_to_connect"}
4.6.9.3. Switches
Switch Description
\w <condition> Identifies a condition to apply.
4.6.9.4. Comment
Page 97 of 169
eFront Report User Guide - V21.0 June 21, 2023
4.6.9.5. Example
Step-by-step procedure Result and explanation
1. Drag and drop the table Always drop the table into a table cell!
2. Display WORD field codes: Click ALT + F9.
Page 98 of 169
eFront Report User Guide - V21.0 June 21, 2023
• Numbers
• Character strings
• Dates
• Functions - files and folders
• Random/lag/parent...
And:
• Operators
And:
• Special values
• Specifying values or value ranges
Page 99 of 169
eFront Report User Guide - V21.0 June 21, 2023
N0(NB_SHARES,0.001)
returns 2.
If NB_SHARES=0.00001,
then:
N0(NB_SHARES,0.001)
returns 0.
PI Returns the value for PI (prime
counting function).
POW(<number-1>, <number-2>) Returns the value of <number-1>
power <number-2>
RANDOM(integer) Returns a random number from the PROC PRINT;
range between 0 and <integer>
PUT RANDOM(10);
RUN;
ROUND(<value>, Rounds the <value> to the nearest Refer to example:
<remaining_digitals>) integer.
ROUND()_CINT()
<remaining_digitals>=0: rounds the
value to the nearest integer, no
digitals
--> "LOWER"
--> "UPPER"
--> "NEAREST"
RND() Returns a random number between 0
and 1.
SIN(<number>) Returns the sine of <number>
SINH(<number>) Returns the hyperbolic sine of
<number>
Result:
Oliver
Michel
Result : 'RobertandMary';
Oliver
Michel
CSTR<expression> Converts an <expression> into
a character string
FIND(<string-1>, <string-2>) Returns the position of A='ROBERT';
<string-2> in <string-1>,
positive integer. B=FIND(A,'B');
Result: 'robert'
LEFT(<string>,<length>) Returns the characters on A='Robert';
the left of a <string>, with
the returned string's length = B=Left(A,2);
<length>
Result: 'Ro'
LEN(<string>) Returns the length of the A='Robert';
<string>
B=LEN(A);
Result: 6
Result: 6
LOWCASE(<string>) Converts all letters in a A='ROBERT';
<string> to lowcase
B=LOWCASE(A);
Result: 'robert'
LTRIM(<string>) Removes all trailing blanks A=LTRIM(' Robert');
on the left, and returns the
trimmed argument as a result. Result: "Robert"
Blanks within the string are
replaced by a single blank.
MID(<string>, <position>, <length>) Returns a substring of a A='Robert';
<string>. The substring is
identified by its start position B=MID(A,2,4);
and length.
Result:'ober'
REPLACE(<string>, Replaces in a <string>, A='movement';
<string_to_replace>, <new_string>) the <string_to_replace> by a
<new_string> B=REPLACE(A,"e","i");
Result:'mivimint'
RIGHT(<string>, <length>) Returns the characters on A='Robert';
the right of a <string>, with
the returned string's length = B=RIGHT(A,4);
<length>
Result: 'bert'
RTRIM(<string>) Removes all trailing blanks A=RTRIM('Robert ');
on the right, and returns the
trimmed argument as a result. Result: "Robert"
Blanks within the <string> are
replaced by a single blank
SPLIT(<string>, <separator>) Creates a collection of PROC PRINT;
items. Comma is the default
separator. PUT SPLIT("a,b,c,d");
RUN;
STRIP(<string>) Returns a character string with
all leading and trailing blanks
removed
SUBSTR(<variable>, <position>, Returns TRUE | FALSE. A='Robert';
<length>) =<string> SUBSTR compares <string> to
the substring of the variable B=(SUBSTR(A,1,2)='Ro');
identified by its start position
and length. Result : True
Result: 'ROBERT'
UPCASE(<string>) Converts all letters in a string A='robert';
to uppercase
B=UPCASE(A);
Result: 'ROBERT'
GETURLWEBSITE () Returns the URL of the current %LET MYVAR =
website GETURLWEBSITE();
PROC PRINT;
PUT %MYVAR;
RUN;
<date>: date
value
*defines a
period of 6
months
if <date-1> <
<date-2>, the
result is
positive
if <date-1> >
<date-2>, the
result is
negative
DATESERIAL(<year>, <month>, <day>) Returns the PROC PRINT;
date
corresponding PUT FORMAT(DATESERIAL(2006,5,13),"d/M/
to <year>, yyyy");
<month> and
RUN;
<day>
Note that you need to use an upper-case m
(M) for the month. If a lower-case m is used,
the program will return '0' for the month as the
lower-case m represents minutes.
Result: 13/5/2006
DAY(<date>) Returns the Refer to example:
day of the
date value. DMY() - MDY() - FORMAT()
<format>:
date picture,
example:
"d/M/yyyy"
"dd/MM/yyyy"
or "M/d/yyyy"
MDY(<date>) Returns the Refer to example:
month, the
day, and the DMY() - MDY() - FORMAT()
year from a
date value.
If used
together with
the CLASS
statement in a
PROC
MEANS step,
<date> is set
to the last day
of the month.
MONTHBEGDATE(<date>) Returns the PROC PRINT;
first day of the
month being PUT FORMAT(MONTHBEGDATE(Today()),
specified in "d/M/yyyy");
the date
RUN;
value.
Note that you need to use an upper-case m
(M) for the month. If a lower-case m is used,
the program will return '0' for the month as the
lower-case m represents minutes.
If used RUN;
together with
Result: 3
the CLASS
statement in a Refer to example:
PROC
MEANS step, DATEDIFF() - QuarterBegDate() - DateADD()
<date> is set
to the last day
of the quarter.
QUARTERBEGDATE(<date>) Returns the PROC PRINT;
first day of the
quarter being PUT FORMAT(QUARTERBEGDATE(TODAY()),
specified in "d/M/yyyy");
the date
RUN;
value.
Note that you need to use upper-case m (M) for
the month. If lower-case m is used, the program
will return '0' for the month as the lower-case m
represents minutes.
Refer to example:
If used RUN;
together with
Result: 2
the CLASS
statement in a Refer to example:
PROC
MEANS step, PROC MEANS - SUM - SEMESTER()
<date> is set
to the last day
of the
semester.
SEMESTERBEGDATE(<date>) Returns the PROC PRINT;
first day of the
quarter being PUT
specified in FORMAT(SEMESTERBEGDATE(TODAY()),"dd/
the date MM/yyyy");
value.
RUN;
Refer to example:
DATEDIFF() - SEMESTERENDDATE()_1
Refer to example:
WEEKDAY()
RUN;
RUN;
DIRECTORIES() supports
the following magic
variables:
--> {SHARED}
--> {PUBLIC}
--> {PRIVATE}
--> {INFO}
--> {SHARED}
--> {PUBLIC}
--> {PRIVATE}
--> {INFO}
FILE(<n>) Returns the complete path FOR I=1 TO FILES("\\FRONTVENTURE
to the file at position (Private)\Company\Files")
<n>. FILE() sends the
file at position <n> FICHIER = FILE(I);
into a temporary folder,
OUTPUT;
and makes it accessible.
<n>: integer, comprised NEXT;
between 1 and FILES().
RUN;
Refer to example:
FILENAME() - FILE()
RUN;
Returns: 1
LINKFILES(<object_id>) Returns the number of Refer to examples:
files that are attached to
the object identified by the LINKFILES() - LINKFILE() - FILENAME()
<object_id>
LINKFILES() - LINKFILE() - FILENAME() -
%PARAM
LOGO = LINKFILE(I);
OUTPUT;
NEXT;
LINKFILE(<n>) Returns the complete path use this function to retrieve and use
that leads to file <n> images
of the files attached to
an object. <n>: integer, Refer to example:
comprised between 1 and
LINKFILES() - LINKFILE() - FILENAME()
LINKFILES(). LINKFILE()
copies the file into a
temporary folder, and
makes it accessible.
RUN;
Result:
Not available for eFront Cube
programs All pages from Document2.pdf are
appended to Document.pdf.
CURRLITERAL(<value>, Converts a <value> into string. PUT CURRLITERAL (12.2,
<language>, <currency>, <language>: FRENCH | ENGLISH 'FRENCH', 'euro', 'cent');
'centime')
<currency>: EURO, FRANC, Result: douze euros et vingt cents
LIVRE, DOLLAR
PROC PRINT;
Only applies to eFront Cube
programs PUT GETCURRENTUSERID();
RUN;
Returns:
D7CD41F68C6F456399A66ED3D
0BA906B
GETCURRENTUSERINFO(" Returns the user specified Example:
<fieldname>") <fieldname> value
PROC PRINT;
PUT
GETCURRENTUSERINFO("FIRS
TNAME1");
RUN;
Returns: Olivier
GETCURRENTUSERPROFI Returns the user's current profile Example:
LE() ID
%LET MyProfileName =
GETCURRENTUSERPROFILE();
Only applies to eFront Cube
programs TRACE "My current profile ID is: "
& %MyProfileName;
GETCURRENTUSERPROFI Not authored yet Not authored yet
LESLIST()
Only applies to eFront Cube
programs
GETUSERPROFILESLIST Returns the list of unique Example:
("<user_id>") identifiers of all the user's profile
(separated by ";") %LET MyProfiles =
GETUSERPFOILESLIST(GetUserI
D());
TRACE %MyProfiles;
PROC PRINT;
PUT GETDBSERVER();
RUN;
Returns: MSSQL
PROC PRINT;
PUT GETINFOREGIONID();
RUN;
GETPROFILEINFO("<user_i For the user identified by Example:
d>"," <field_name>") <user_id> returns the value of
<field_name> PROC PRINT;
PUT
GETPROFILEINFO(GETUSERID()
,"USERLIBPROFILE");
RUN;
GETPRIVATEEGIONID() Returns the ID of the PRIVATE PROC PRINT;
region.
PUT GETPRIVATEREGIONID();
RUN;
GETPUBLICREGIONID() Returns the ID of the PUBLIC PROC PRINT;
region.
PUT GETUBLICEREGIONID();
RUN;
GETSHAREDREGIONID() Returns the ID of the SHARED PROC PRINT;
region
PUT GETSHAREDREGIONID();
RUN;
PROC EFRONTMENUS
- GETUSERPROFILE -
GETUSERID
GETUSERINFO("<user_id>", For the user identified by Example:
" <field_name>") <user_id> returns the value of
<field_name> PROC PRINT;
RUN;
GETUSERID()_GETUSERINFO()
GETUSERPROFILESLIST Returns the list of unique Example:
("<user_id>") identifiers of all the user's profile
(separated by ";") %LET MyProfiles =
GetUserProfilesList(GetUserID());
TRACE %MyProfiles;
GETUSERPROFILE Returns the unique identification Examples:
("<user_id>") number of the user's current profile
%LET MyProfileName =
GETUSERPROFILE(GETUSERID(
Only applies to eFront Cube ))
programs
PROC EFRONTMENUS
- GETUSERPROFILE -
GETUSERID
GUID() Returns a unique identification INVESTOR_ID = GUID();
number (Global Unique Identifier),
used in the eFront database
LAG(<column>) Selects the value of the preceding
line.
COLUMN IRR_LABEL;
IRR_LABEL = LOCALIZE(IRR);
...
Result:
PUT
PROFILE("PCKAJXPORTAL.SKIN
","METRO");
RUN;
Result:
REGISTRY("ACCOUNT","AUDITI
NG","ENABLED_COLS");
Returns: 1
REGISTRY("USER","AJXPORTAL
","CONTENT");
%LET LANGUAGE =
SETLANGUAGE(%LANGUAGE);
PROC PRINT;
PUT %LANGUAGE;
RUN;
おはよございます
Hello World
Result:
4.7.6. Operators
Operators with higher precedence are evaluated before operators with relatively lower
precedence. Operators in the same cell have equal precedence. When operators of
equal precedence appear in the same expression, a rule must govern which is evaluated
first. All binary operators except for the assignment operators are evaluated from left to
right; assignment operators are evaluated right to left.
4.7.6.1. Comment
• LIKE can be used together with the placeholder "%" in case you build a character
string with which to compare column values.
• Here is an example for using the operator BETWEEN:
Example :
0<-100
0-<100
If a value at the high end of one range also appears at the low end of another range,
and you do not use the < non-inclusion notation, then PROC FORMAT assigns the
value to the first range. For example, in the following ranges, the value AJ is part of the
first range:
'AA'-'AJ'=1 'AJ'-'AZ'=2
In this example, to include the value AJ in the second range, use the non-inclusive
notation on the first range:
'AA'-<'AJ'=1 'AJ'-'AZ'=2
If you overlap values in ranges, then PROC FORMAT returns an error message unless,
for the VALUE statement, the MULTILABEL option is specified. For example, the
following ranges will cause an error:
'AA'-'AK'=1 'AJ'-'AZ=2
• DATEADD() - FORMAT()
• DATEDIFF() - FORMAT()
• DATEDIFF() - SEMESTERENDDATE() - 1
• DATEDIFF() - SEMESTERENDDATE() - 2
• DATEDIFF() - QuarterBegDate() - DateADD()
• DMY() - MDY() - FORMAT()
• FILENAME() - FILE()
• GETTEMPPATH()
• GETUSERID()_GETUSERINFO()
• LINKFILES() - LINKFILE() - FILENAME()
• LINKFILES() - LINKFILE() - FILENAME() - %PARAM
• LINKFILES() - LINKFILE() - PROC MEMORY - Macro controls
• LOOKUP()_LOOKUPCODE()
• ROUND()
• WEEKDAY()
• YMD()
• YMD() - FORMAT()
4.8.1.1. Goal
Add a specified period to a given date.
• Functions - date
4.8.1.3. Program
//Create the alias that points the existing table location
DATA TEST.ADDED_DATES;
X_DATE = TODAY();
OUTPUT;
RUN;
RUN;
4.8.2.1. Goal
Return the difference between two dates.
4.8.2.3. Program
//Create the alias that points the existing table location
DATA TEST.DATES_DIFF;
/* if you don't specify the type of the column, eFront Script interprets the column type as
of being 'String', and not of 'Date'. DATEDIFF() then re-interprets the strings 'X_DATE_1
and X_DATE_2 to convert them into dates. According to the local settings, the strings
might be interpreted differently. For example '01/06/2007' can be interpreted as 'June, 1,
2007' or as 'January, 6, 2007'*/
/*Note that you need to use an upper-case m (M) for the month. If a lower-case m is
used, the program will return '0' for the month.*/
X_DATE_1 = FORMAT(TODAY(),"d/M/yyyy");
X_DATE_DIFF_DAY = DATEDIFF("DAY",X_DATE_1,X_DATE_2);
X_DATE_DIFF_MONTH = DATEDIFF("MONTH",X_DATE_1,X_DATE_2);
X_DATE_DIFF_YEAR = DATEDIFF("YEAR",X_DATE_1,X_DATE_2);
OUTPUT;
RUN;
RUN;
4.8.3.1. Goal
Count the number of semesters between two dates.
4.8.3.3. Program
//Create the alias to the folder to work in
DATA TEST.DATES_DIFF;
/* if you don't specify the type of the column, eFront Script interprets the column type as
of being 'String', and not of 'Date'. DATEDIFF() then re-interprets the strings 'X_DATE_1
and X_DATE_2 to convert them into dates. According to the local settings, the strings
might be interpreted differently. For example '01/06/2007' can be interpreted as 'June, 1,
2007' or as 'January, 6, 2007'*/
//Note that you need to use an upper-case m (M) for the month. If a lower-case m is
used, the program will return '0' for the month.
X_DATE_2 = FORMAT(SEMESTERENDDATE(TODAY()),"dd/MM/yyyy");
X_DATE_NB_SEMESTER = DATEDIFF("SEMESTER",X_DATE_1,X_DATE_2);
OUTPUT;
RUN;
RUN;
4.8.4.1. Goal
Test a series of instructions using DATEDIFF().
4.8.4.3. Program
//Test and write some examples.
PROC PRINT;
PUT CRLF();
PUT "Number of semesters between 31/12/2004 and the closing date of the current
semester:"
DATEDIFF("SEMESTER","31/12/2004",SEMESTERENDDATE(TODAY()));
PUT CRLF();
PUT "Number of semesters between 31/12/2004 and the closing date of the current
semester + 1:"
DATEDIFF("SEMESTER","31/12/2004",DATEADD("DAY",1,SEMESTERENDDATE(TOD
AY())));
RUN;
4.8.5.1. Goal
Create a table of quaterly positions.
4.8.5.3. Program
//Declare macro variables
%Include "FV_For_Pages";
/*
Run;
Data Work.Min_Date;
Set Work.Min_Date;
Run;
*/
Data Work.Quarters;
Year = Year(%Min_Date);
Quarter = Quarter(%Min_Date);
Quarter_Begin_Date = QuarterBegDate(%Min_Date);
Output;
Loop;
Run;
4.8.5.4. Comments
The entire set of columns coming together with the quarterly positions is very useful
when filtering the tables in reports/documents.
4.8.6.1. Goal
Display a date.
• Functions - date
4.8.6.3. Program
//Create the alias that points the existing table location
DATA TEST.WRITING_DATES;
X_DATE_DAY = DAY(TODAY());
X_DATE_MONTH = MONTH(TODAY());
X_DATE_YEAR = YEAR(TODAY());
X_DATE_DMY = FORMAT(DMY(X_DATE_DAY,X_DATE_MONTH,X_DATE_YEAR),
"d/M/yyyy");
X_DATE_MDY = FORMAT(MDY(X_DATE_MONTH,X_DATE_DAY,X_DATE_YEAR),
"M/d/yyyy");
OUTPUT;
RUN;
RUN;
4.8.7.1. Goal
Insert images that have been uploaded to the application's database into an EXCEL
report.
4.8.7.3. Program
//Build the table that receives the uploaded image file
DATA WORK.report;
COLUMN I TYPE=INTEGER;
LOGO = FILE(I);
END;
NEXT;
// If the picture we are looking for doesn't exist then take the file empty.jpg
IF LEN(LOGO) = 0 THEN
LOGO = FILE(I);
END;
NEXT;
END;
OUTPUT;
RUN;
RUN;
4.8.7.4. Comment
• The function FILES() only counts the files of the folder being identified, underlying
folders are not taken into account.
• Use the EF_IMG() macro to insert the image into the EXCEL report, ex:
EF_IMG("LOGO";C5:C6;"27";;;100")
4.8.8. GETTEMPPATH()
4.8.8.1. Goal
Create a CSV file on the server (from an eFront Report table, and display a link in HTML
output to download this file.
4.8.8.3. Program
//Build a temporary table
DATA WORK.TMP;
COLUMN NB TYPE=FLOAT;
NB = 1.3456;
NAME = "xdrdgj";
OUTPUT;
RUN;
RUN;
//Export the temporary data table and create an CSV file on the server
RUN;
4.8.8.4. Comment
• Through the use of PROC EXPORT, the application generates a .CVS file from the
temporary data table. Semicolons are used as separators. The export file doesn't
integrate the column header from the source data table.
4.8.9. GETUSERID()_GETUSERINFO()
4.8.9.1. Goal
Retrieve information about the current user of the application.
4.8.9.3. Program
// USERNUMBER => Unique number that is assigned to the current user
PROC PRINT;
RUN;
4.8.9.5. Comment
• In EXCEL, use =EF_MACRO("USER") to print the user.
4.8.10. LOOKUP()_LOOKUPCODE()
4.8.10.1. Goal
Get the code and the label of options being part of the options list which is associated
with an additional field
• Functions - special
4.8.10.3. Prerequisite
The LOOKUP() and LOOKUPCODE() functions apply specifically to the list of options
being available for additional fields. Therefore you can only use this function if additional
fields have been defined, and if a list of options has been defined for the additional field
you refer to, such as shown below:
4.8.10.4. Program
//Define the micro variables that held the reference to a particular option being
associated to the additional field
PROC PRINT;
PUT %InstrLabel1;
PUT %InstrCode2;
PUT %InstrLabel1;
PUT %InstrCode2;
RUN;
4.8.10.5. Result
Equity1
Quasi equity2
4.8.11.1. Goal
Sort a table using an exclusive condition.
4.8.11.3. Program
//Display the result
BY DESCENDING XCURVALUATION;
RUN;
4.8.12. ROUND()_CINT()
4.8.12.1. Goal
Two methods of round numbers
4.8.12.3. Program
//Create the alias that points the existing table location
DATA TEST.ROUNDED_VALUE;
COLUMN UseRound;
COLUMN UseInteger;
Myvalue = 235.21573;
UseRound = ROUND(MyValue,2);
UseInteger = CINT(MyValue);
OUTPUT;
Myvalue = 1.4;
UseRound = ROUND(MyValue,0);
UseInteger = CINT(MyValue);
OUTPUT;
Myvalue = 1.6;
UseRound = ROUND(MyValue,0);
UseInteger = CINT(MyValue);
OUTPUT;
Myvalue = 1.6;
UseRound = ROUND(MyValue-0.5,0);
UseInteger = CINT(MyValue);
OUTPUT;
RUN;
RUN;
4.8.13. WEEKDAY()
4.8.13.1. Goal
Calculate the number of business days prior to a certain date (STARTDATE) to trigger
an alert?
4.8.13.3. Comment
• WEEKDAY function in eFront Script returns Monday 1, whereas EXCEL returns
Sunday 1!
• We use the ceiling function to help work out the remainder (in Excel we can use the
MOD function which does not exist in Front Script).
4.8.13.4. Program
LIBNAME USER ".";
//Code to create the same result as the MOD function in Excel (to get the remainder
when dividing by 5 since there are 5 business days in a week)
%LET MODDAYSTOADD=%DAYSTOADD-(5*CEILING(%DAYSTOADD/5));
TRACE %MODDAYSTOADD;
//Calculate the correction to move past the weekend if necessary as a result of the
remainder days (derived above)
%LET CORRECTION=2;
// Derive the new date from the original, plus the number of weeks plus the correction
%LET NEWDATE=CDATE(%MODDAYSTOADD+
%STARTDATE+(7*CEILING(%DAYSTOADD/5))+%CORRECTION);
TRACE %NEWDATE;
// This might be useful since you can easily use positive or negative "DAYSTOADD" and
therefore move backwards and forwards at will.
4.8.14. YMD()
4.8.14.1. Goal
Convert an integer into a date and vice versa
4.8.14.3. Program
//Create the alias that points the existing table location
DATA TEST.T_test_date;
CYEAR = "2007";
OUTPUT;
RUN;
DATA TEST.T_test_date;
SET TEST.T_test_date;
REAL_DATE = YMD(CYEAR,12,31);
OUTPUT;
RUN;
RUN;
4.8.15.1. Goal
Apply different formats to a date.
4.8.15.3. Program
//Create the alias that points the existing table location
DATA TEST.DATE_FORMATS;
OUTPUT;
RUN;
RUN;
Find in the detailed description of a collection of data entry forms, and input parameter
informats:
• Parameter Informats
• The Filters Form
• The Group By Form
Column Description
Group by Identifies the column for which to calculate statistics
Name Identifies the column
Renamed as Defines a new column name
Total Selects a function [N, Total(), Average(), MAX(), MIN(), IRR(), Multiple()] that can be
applied to column values. When you use the IRR() function, you have to select a DATE
type column from the Parameter drop-down list. For details about how to use these
functions, refer to the eFront Script Reference Guide.
Parameter The Parameter drop-down list presents all the table columns whose type = DATE. You
have to select a column from the Parameter drop-down list, when applying the IRR()
function to a column.
Label Defines the column title to display in a report
Format Identifies the format to be applied to resulting values. For details about formats, refer to
the eFront Script Reference Guide.
• The Listing Form
• The Parameters Form
• The Report Settings Form
• The SQL Query Form
Always use Capital letters! If you don't, you may experience issues when moving to
eFront Invest.
INFORMAT="??CHOICE(2006,
2007, 2008, 2009, 2010)"
INFORMAT= "?? Displays a scrolling list, and %PARAM CHOICE LABEL="Test
CHOICE(<id_1>=<value_1>, returns the <id> corresponding to Choice" INFORMAT="??
<id_n>=<value_n>)" the value being chosen. CHOICE(VAL1=Valeur
1,VAL2=Valeur 2)";
%PARAM XCHOICE
LABEL = "Fruit"
INFORMAT = "??
XCHOICE(1=Apple,2=Orange,3=P
ear,4=Strawberry,5=Raspberry)"
DEFAULT="1,3";
INFORMAT= "?? Returns the position of the values
CHECK(<selection_1>, being chosen.
<selection_n>, All)"
INFORMAT= "?? Displays a scrolling list of all the INFORMAT="??
PICKID(<data_table>; <col_name> values, and returns PICKID(VCFUND;FUND)";
<col_name>)" the ID of the value being chosen.
Displays all the funds, and returns
the ID of the fund being chosen.
INFORMAT= "?? Displays a scrolling list of all the INFORMAT="??
PICKID(<data_table>; <col_name> values, and returns PICKID(VCFUND;FUND;FSTATUS
<col_name>;<expression>)" the ID of the value being chosen. =0)";
Informats can only be used together with application owned data tables (principal
tables). The most current application owned tables are:
Name Identifies the column to be filtered. Tick the Display Name box at the bottom of the Filters'
section to display column names, and untick the Display Name box to display column labels.
Order Defines the sort option (Ascending or Descending), that applies to the column being
selected.
Operator Defines the operator to be included in the data filter expression. Possible operators are:
<>
<
>
>=
<=
IS NULL
IS NOT NULL
LIKE
NOT LIKE
IN
NOT IN
MOD
BETWEEN(,)
NOT BETWEEN(,)
Criteria Defines the parameter needed to use the operator
Encloses the expression within parenthesis
Log. operator Identifies the logical operator to be used when combining several filters
Column Description
Group by Identifies the column for which to calculate statistics
Name Identifies the column
Renamed as Defines a new column name
Total Selects a function [N, Total(), Average(), MAX(), MIN(), IRR(), Multiple()] that can be applied
to column values. When you use the IRR() function, you have to select a DATE type column
from the Parameter drop-down list. For details about how to use these functions, refer to the
eFront Script Reference Guide.
Parameter The Parameter drop-down list presents all the table columns whose type = DATE. You have
to select a column from the Parameter drop-down list, when applying the IRR() function to a
column.
Label Defines the column title to display in a report
Format Identifies the format to be applied to resulting values. For details about formats, refer to the
eFront Script Reference Guide.
You can populate the desktop of your application with so-called widgets. The available
widgets are as follows:
Provided an administrator user has added and configured the FrontReports widget, you
are able to launch reports from your homepage by clicking the report name hyperlink.
The icon in front of the report name indicates the type of given report.
For information about configuring the FrontReports widget, see the document eFront
Invest - First Steps (General Usage) - V21.0 Solstice.
When executing a document, eFront Report generates by default all the reports
attached to it. You can schedule the report generation, so that it executes automatically
at the desired schedule. Report generation can be programmed as recurrent event. You
have two methods of scheduling report execution:
• Use eFront CMD and the WINDOWS scheduler to schedule the task (more flexible).
• Use the Automatic Execution feature linked to the report.
In the following, we show you how to use the Automatic Execution feature:
For details about how to use eFront CMD, please refer to the document: Framework
- Interfacing with eFront Applications, which is available in our Documentation
Catalogue.
Example: 700
Timeout Value : Integer (refers to seconds)
'Timeout' refers to the maximum period after which the system stops the
execution of one single report
Example: 3600
Show button to open standard
editions page
Save 2007 documents using If selected, documents created with Office 2007 templates (XLSX or
2003 format DOCX) are saved for download in Office 2003 format (XLS or DOC)
Use Excel IRR calculation If selected, uses the Excel calculation for IRRs.
When the period is less than a year, the system will compute an IRR
based on the annual prorata.
Force Pivot Currency If defined, pivot currency will always be used to get FX rates.
Search for reports using When exporting/importing the desktop, reports within widgets are identified
names when search by ID fails by names and not by IQID.