Navigation: Build Your Own ERP >

Create New App - Repor Type

 

 

 

A report app is the same as the data entry app. It is also created using the App Gallery. However, its purpose is to retrieve the records and push them to the report template to generate the final report.

In this sample, we will examine how the FS-Basic report app of the GL system is created.

Step-by-step instructions:

1. Open App Gallery

2. Add new app at the end of the grid called TableGroup as shown below. In this sampe, we use the existing report FS-Basic instead of adding a new one.

You can skip instructions #3 - #7 below if you want to directly generate the reports. However in this sample we uses DTS to retrieve first the TB so that the user can view and review the TB before generating the report.

3. Add Select Statements to be shown in the grids. In this report app, we will first show the generated TB and Account Listing to the user before generating the FS.

4. Add data binding relations between the TB and the Account Listing. This will automatically show the detailed entries for each account in the TB

See Add DataRelations for more details in setting up data realations.

5. Click Input Panels tab and add the desired input panel by selecting one from the table lookup. In this case, we selected 100234 since it contains the needed input fields namely: DateStart, DateFr, DateTo and BranchCode. These input fields will be used later in the WhereClause of the DTS Select Statemens. For more details about input panels, click here.

In this sample we opted to use DTS to generate the Trial Balances and Account Listing, so we need to fill up the DTS values. The select statement in the table collections in #3 above retrieves empty record.

6. Click DTS tab and enter DTS Header info. The DtsKey will be shown in the DTS dropdown list where the user can double-click to execute the request to retrieve the data from the Select Statement

7. Enter DTS Details. This is where you enter the Select Statements to retrieve the data from the database. You can define the WhereClause and use the Input Panel fields in constructing the final select statements. The target table must correspond to the TableCollections since this is where the records will be copied.

 

8. Click Reports tab and enter Report Catalog info. The values of the column ReportCatalogDesc will be shown in the Preview dropdown list where the user can select and double-click in generating the final report.

9. Fills up Report Document info. Select the ReportID to be used from the dropdown list. This constains the actual report template file path to be used by the system.

10. Fills up Report Datasource info. This usually contains the Select Statements where the records will be retrieved from the database and be pushed into the report document. The system uses table names in mapping the data between the report datasource and the report document. However, in this sample, the datasources are copied from previously retrieved data using DTS as discussed in instructions #6 and #7 above. See DataSourceType = Table instead of T-SQL in the ReportDataSource grid..

11. Click Save.

 

 

TableGroup - Contains the list of all developed apps. This is the top-level parent table of the module. You can add or modify an existing app.

Fill-up Table Group as follows:

Column Name

Sample Value

Description

GroupId

2113

Primary and unique key column of the table. It is recommended to use 4 digit number

DBLinkKey

 

This column is locked and automtically filled-up. You can goto this cell and click Open button to open current app.

GroupTypeId

Reports

Choose Reports from the dropdown list:

1. Master File - intended for one table master file menu app.
 2. Multiple Master Files - intended for one or more tables master file menu app.
 3. Transactions - intended for transactions data entry menu app
 4. Reports - intended for generating reports menu app
 5. Systems - obsolete. Intended for app not to be altered.
 6. Central Menu - intended for Central Menu app

GroupDesc

FS - Basic

The name of the app. The value will also be shown in the Menu.
Note: It is better to create a new version than updating an existing one. Later, you can delete the old version when a new version becomes stable.

Description

FS - Basic

Descriptive note about the app

Shared

Checked

If shared, the user will automatically able to access the module using the default Central Menu

HelpFile

 

Optional only. Related help file, if any. The system is shipped with default help file

ViewerTemplate

 

The name of embedded viewer template. The viewer template serves as the UI. You can leave this blank and select a template using ViewerTemplateID below as there are more UIs to choose from.

ViewerTemplate
AssemblyName

 

The assembly name of the embedded template.

ViewerTemplateID

18

Select the Viewer Template to be used from the table lookup. We select 18 as this contains only one Input Panel and two data grids. See Viewer Template on how to add new templates for details.

ViewerTemplateDesc

I1G2

Column is locked. Description of the viewer template based on selected ViewerTemplateID above. In this case G1 means one grid. You need a template with one grid only since there is only one Select Statement to be attached to the UI

SystemID

GL

The System where the app is associated. You may link the app to several systems through the Systems tab. Click here for details

RetrieveAllRecords

UnChecked

We will be using DTS to retrieve the records based on Input Panel parameters

TopMostParent
TableName

 

Serves as the table where the filter clause will be used in the WhereClause builder. This is also used as the main table by the Document Numbering when mode is continues

DocModeExp

 

Obsolete as the table collection has its own DocModeExp column now.

DocDefinedLengthExp

 

Obsolete as the table collection has its own DocDefinedLengthExp column now

GroupWhereClause

 

Optional only. Where Clause statement to be applied by replacing the variable @GroupWhereClause in the Select Statement, if any.

PaginationSchema

 

Obsolete. Default Pagination Schema

PaginationInputPanelGuid

 

The Pagination Input Panel to be used, if any, before executing Select Statements. This is usually used as a filter condition in the Select Statement

PaginationInstruction

 

Descriptive instructions to be shown to the user, if any

LookupSelectText

 

Optional only. Lookup table to serve as filter clause for the TopMostTableName. This is only needed if you choose to unchecked RetrieveAllRecords as mentioned above

LookupPrimaryKeys

 

Optional only. Primary keys for the lookup

LookupRetrieveAllRecords

 

Optional only. If checked all records in the LookupSeletecTExt will be retrieved.

LimitedTransactionEntry

 

Obsolete.

Password

 

Enter password to disable editing of the current app module

ConfirmPassword

 

Enter password to enable editing the current app module

ShareToDeveloper

Checked

Check to give intention to share your app to other developers

Status

 

A=Active; I=InActive; L=Locked which will avoid inadvertent changes.

SeqNo

 

Hidden column. Use only for sorting the Select Statement of the TableCollection grid.

GroupIDLink

 

Obsolete.

Createdby, DateCreated, Modifiedby, DateModified

 

These columns are called audit trails. Their values are auto-generated. One who created or modified the app. It is assumed that the current user is the one who created or modified the record.

If you want to view the ViewerTemplateID=18, you can goto Systems -> ADMIN Setup then Transactions -> Viewer Templates. See Viewer Templates for details.

TableCollection - Contains the list of Select Statements to be shown to the user through the Viewer Template. Each resultset of the Select Statement will be linked to grid controls where the user can intereact with the data.

The Viewer Template selected in the TableGroup must contain enough grid controls to accommodate all the Select Statements in this table. In this sample, the template has only two grids because there are only two Select Statements as show below.

Fill-up TableCollection as follows:

Column Name

Sample Value

Description

GroupId

2113

Auto-filled. Value is the same as TableGroup because this is a child key.

OrdinalNo

1

The order number in which the grid tables are created and linked to the viewer template
 

TableGuid

211301

Follow this syntax: GroupID+0#: Ex: 211301.

Serves as the primary key of the this table.

DBLinkKey

T211301

This column is locked and automatically filled-up. You can goto this cell and click Open button to open current app.

DatasetTableName

TrialBalance

The name of the table in the generated dataset

SourceTableName

gl_BookJE

The actual table name in the database. Optional only for Report App

DataMemberBindingName

 

The complete bindining name of the table in a master-detail view. Leave blank when there is no binding relation

WithRelations

Checked

Check if a master-detail relationship exists. We will create a relation between the TB and the Account Listing later

TableDesc

Trial Balances

This serves as the table caption of the grid.

SelectText

(SQL Select)

An SQL Select statement to retrieve the data from the database. In this sample we add WHERE 1=0 so that no records will be retrieved. We will use DTS to retrieve the records later.

CommandText

 

We can leave this blank since we will not save any retrieve records. Unlinke in a Data Entry app where we need to save changes.

SourceColumns

(optional)

The actual database column names to be mapped to DatasetColumns

DatasetColumns

(optional)

The dataset column names to be mapped to SourceColumns

PrimaryKey

JESeqNo

We used the actual primary keys of the database. However, you can combine the primary keys in the select statement into one field so that only one primary key column is defined.

AdditionalKey

AccountCode, RefNo

Additional primary keys. The field name, if mone that one, must be separated by comma.

DateGLColumn

 

The field name to use when document numbering mode is set to Yearly or Monthly. The cell value in this column will serve as the year of the document number. Ex: 201900001

DocModeId

Manual

The document numbering mode to be used. Follwing are the dropdown list:
1. Manual - number is manullay encoded
 2. Continues - number is continues
 3. Yearly - number is continues yearly
4. Monthly - number is continues monthly
 5. Variable - the mode is dependent on a variable

DocModeID2

 

An expression for dynamic number of the document. This is similar to Variable numbering mode

DocDefinedLength

 

The length of the document number padded with 0. Ex: 00001

AcceptChangesAtOnce

 

Check only if you are not going to save any changes made in the grid. This is usually Checked in reports where data are retrieved but need not to be saved

AllowEditingPrimaryKey

 

Check if you allow user to edit primary key.

AllowAddNew

UnCheck

Check if you allow user to add new record in the grid

AllowUpdate

UnCheck

Check if you allow user to edit records in the grid

AllowDelete

 

Check if you allow user to delete records in the grid. For master file, this is usually uncheck to avoid orphant records

AllowOldRowDelete

 

Check if you allow user to delete previously saved records

AllowSorting

Check

Check to allow user to sort data by clicking the column header

AllowFiltering

|Check

Check to allow user to filter data using filter bar

AllowImporting

UnCheck

Check to allow user to import data into the grid using the Import/Export Tool

AllowExporting

Check

Check to allow user to export data into the grid using the Import/Export Tool

AllowDrag

 

Check to allow user to dragging of data to other grid

AllowDrop

 

Check to allow user to dropping of data into other grid

DeleteAfterDragAndDrop

 

Check to delete the dragged record after dropping. This works like row cut/paste

DragAndDropControlName

 

Name/s of the grid participating in the drag and drop

ShowColumnFooter

 

Show grid column footer

ShowEmptyRows

 

Show grid empty row

ShowFilterBar

Check

Show grid filter bar

ShowRecordSelector

Check

Show grid record selector

ShowRowNo

Check

Show the row number on the left side, like in Excel

AlternatingRows

Check

Show grid alternating row style

DirectionAfterEnterEnum

 

Movement direction after the user press ENTER key as follows:
1. MoveDown
 2. MoveLeft
 3. None
 4. MoveRight - default value
 5. MoveUp

MarqueeStyleEnum

 

Cell marque style as follows:
 1. DottedCellBorder - default value
 2. DottedRowBorder
 3. FloatingEditor
 4. HighlightCell
 5. HighlightRow
 6. HighlightRowRaiseCell
 7. NoMarquee
 8. SolidCellBorder

FixedRowCount

 

Fixed row for flexgrid only

FreezeColumnPosition

 

Column to be frozen from the left. At run-time the user can still freeze a column

Zoom

 

Default Zoom In/Out of the grid. At run-time the user can still zoom in/out the grid.

FontCaptionStyle

 

Font to be used by the grid

FontHeaderStyle

 

Font style for the header of the grid

FontDetailStyle

 

Font style for the details of the grid

FontFooterStyle

 

Font style for the footer of the grid

CaptionHeight

 

Height of the grid caption

ColumnCaptionHeight

 

Height of the grid column header

ColumnCaption
 VertAlignment

 

Vertical alignment of the column header

RowHeight

 

Row height of the grid

FooterHeight

 

Height of the grid's footer

ForeColor

 

Forecolor of the grid

BackColor

 

Backcolor of the grid

CaptionForeColor

 

Forecolor for the grid's caption

CaptionBackColor

 

Backcolor for the grid's caption

HeaderForeColor

 

Forecolor for the grid's header

HeaderBackColor

 

Backcolor for the grid's header

DetailForeColor

 

Forecolor for the grid's details

DetailBackColor

 

Backcolor for the grid's details

EvenRowForeColor

 

Forecolor for the grid's even row

EvenRowBackColor

 

Backcolor for the grid's even row

OddRowForeColor

 

Forecolor for the grid's odd row

OddRowBackColor

 

Backcolor for the grid's odd row

FooterForeColor

 

Forecolor for the grid's footer

FooterBackColor

 

Backcolor for the grid's footer

VerticalAllignment

 

Grid's vertical alignment as follows:
 1. Top - default value
 2. Center
 3. Bottom

DataView

 

Data view of the grid as follows:
 1. Normal - default value
 2. Form
 3. GroupBy
 4. Inverted
 5. Hierachical
 6. MutipleLines

AutoIncrement
 ColumnName

 

Obsolete. Use the Column Format table. The system will automatically fill-up the column in sequence.

AutoDecrement
ColumnName

 

Obsolete. Use the Column Format table instead The system will automatically fill-up the column in sequence using negative value

AutoNumbered
ColumnName

 

Obsolete. Use the Column Format instead. This is similar to Auto Increment above but using different method in getting the next number

Status

A

Record status:
A=Active
I=Inactive

Encode the info for the second grid table, Account Listing.

 

Enter master-detail relation schema between the TB and the Account Listing. See Add DataRelations for more details.

 

 

 

 


 


 

 

 

Copyright © 2021 Terasoft Corporation