Log in to Download

Release Notes – Axpert 9.6

Want create site? Find Free WordPress Themes and plugins.

Release Date : March 07, 2016

Default Configuration Structures in Installation Kit (Axpert Desktop)

From version 9.6, default configuration structures have been included in the Axpert Installation kit. The following structures will be created as part of the Axpert Dump as “Admin Setup”, during installation.

Configuration  Menu Group

No. Menu Group Menu Name Remarks
1   Configuration
User Roles This is used to create user roles (groups).In Axpert, the roles page is already available as a built in page under Users menu.However in case the scope of a role needs to be extended using different dimensions which are project specific, this setup will not prove useful.Thereby the User Roles is created as a dedicated structure in which different dimensions for that role can be easily defined based on the project
2 User Logins Is used to create user logins.In Axpert, the User Login creation is available in the Users page. But this default page is not helpful in cases where the user login needs to be more specific by including multiple mail ids, mobile numbers and tagging the users to different project specific entities like Company, Branch, and Department etc.To cater to this need, the User Logins is also created as a dedicated structure.
3 ADX Configuration ADX is an application that enables Axpert with any 3rd party application to exchange data. Data can be pushed into Axpert or can be exported from Axpert. ADX does the push and pull of data automatically at set time interval.Detailed description and configuration steps are given as a separate topic after this table.
4 Mobile Configuration A major breakthrough for the applications created using Axpert is that they can now be accessed through mobile also.The usual structures that are applicable for web will not be applicable for interaction through mobile.The usual structures that are applicable for web will not be applicable for interaction through mobile.The purpose is to create smart structures so that the user can login and simply create or update a transaction or get the required information through smart reports.To develop such smart structures, the Mobile Configuration menu is helpful where the TStruct definition can be mapped to bring it as a form in mobileFor the projects which requires mobile app, a request to be placed with Agile product team with the below details.

  • Project name & Customer name
  • Script URL of the project
  • Connection name in “axapps” in the corresponding path of scripts.
5 Email/SMS configuration using Keyword Templates Sending Email/SMS forms the part of an interactive system. It also ensures better customer support.Generally we use AXE  & AXSMS to send email & sms respectively in the background. For which the following two dedicated tables are used in the application, where the data can be pushed to trigger email/sms.AXE will send emails from “axp_mailjobs” table and AXSMS will send emails from “axsms” table.The purpose of these TStructs is to create different templates, which forms as the body content using different keywords as parameters.For example, creating a user in an application is a process. On creating the user, notifying the user that his or her login is created is the process support. The message which is sent to the user is defined as a template.There is a backend procedure available as “pro_emailformat”, which can be used to give a push to both “axp_mailjobs” & “axsms” tables by passing the required template and the keywords with values.
6 Custom Error Messages The purpose of this configuration is to translate DB errors in the form of constraint violations to a user defined message.For example, if there is a unique constraint on one table and if it violates in a concurrent user scenario, the same will result into a big error message with a DB error codes. To make this as user friendly message, this constraint name can be mapped here with the respective custom message.
7 Intelliview Configuration Intelliview is a third-party Business Intelligence tool which is used to display reports in the graphical manner.Detailed description is provided as a separate topic after this table
8 Dashboard Configuration Reporting through graphs using various system specific indices ensures that the user knows the right figures on the indices and it is also eye catching as every color has a specific meaning.Let us create a status chart which shows how many projects are Ongoing, Completed and Yet to be started. It can be a Bar or Column graph with the Status in the X-Axis and Number in the Y-axis.It can also be a Pie Chart with each sector of a pie representing the status.A graph which is created thus is called as a “Widget”.A widget usually gives a summarized figure of a key system index and the detailed reports can be obtained by drilling down from the summary. In our case we can drill down by clicking on the column in the Bar Chart or the colored sector in the Pie Chart to see which actual projects have the specified status.To configure such charts we can use the Dashboard Configuration setup.
9 DSign Configuration The Digital signature allows user to Sign the word or PDF documents digitally. The process of digitally signing a document should be done by an exe which will be run as a windows tray application in the user’s machine.Detailed description is given as a separate topic after this table
10 Transaction Hints Here, a note or hint can be configured for a transaction.A system user will not always be familiar with the transaction field details. A good way to familiarize the user is by providing hints for different fields in every transaction screen.To configure such hints, you can use the Transaction Hints Configuration.The caption of every TStruct needs to be mentioned and the hint to be given for the fields needs to be described.The hints will appear in the transaction screens as an italicized “ i ” in the right hand top corner of the screen. Clicking on this, the user can view the hints.

Data Setup Menu Group

 

No. Menu Group Menu Name Remarks
11   Data Setup List of Values Any collection of objects belonging to a specific group or a family which appear to be an abstract of the actual master data can be considered as List of values.Creating list of such values will reduce the immediate need of creating a dedicated master.To configure such objects, the List of Values can be used.
12 Year Period definition is a basic need of any application.Using period definition as a dedicated structure has many advantages:Different periods can be grouped into specific definitions like financial period, Calendar Period etc.Querying becomes a lot easier as the global parameters like current month, current year etc. can be obtained by just passing a date or group of dates.

Admin Utilities & Reports Menu Group

 

No. Menu Group Menu Name Remarks
13   Admin Utilities Script Runner Is used to execute scripts without using SQL utilities.Using this, the user can run SQL scripts for data corrections. Since this is a TStruct, we can use this TStruct table as a log to see when, who & for what analysis.
14   Admin Reports Email Log This is used to track the emails based on AXP_MAILJOBSTable. It displays the success or failure of the emails that are sent through the system. It picks the data from axp_mailjobs table.
15 SMS Log This is used to track SMS based on AXSMS table. It displays the success or failure of the SMSs that are sent through the system. It picks the data from axsms table.
16 ADX Outbound Log It displays the success or failure of the outbound sequences that are sent through ADX. It picks the data from outbound AxpExchange table.
17 ADX Inbound Log It displays the success or failure of the inbound sequences that are processed through ADX. It picks the data from inbound AxpExchange table.
18 User Access Report The users created in the system are assigned with one or more roles and every role is tagged with one or many responsibilities. Different screens are assigned for each responsibility.The User access report combines all these parameters of users, roles and responsibilities into one report and gives a result set of the screens that are accessible by a specific user, a specific role or a specific responsibility or the combination of all the three.
19 Application Usage Statistics Every web service call serviced by ASB is recorded in a table called axpertlog. There is a dedicated DB Procedure to summarize this log table this reporting and the same needs to be scheduled to run at the end of the day.
20 Time Taken Analysis
21 Application Exceptions

ADX Configuration

ADX (Axpert Data Exchange) is an application that enables the exchange of date between Axpert and any 3rd party application. Data can be pushed into Axpert or can be exported from Axpert. ADX does the push and pull of data automatically at set time interval.

Configuring Inbound transactions 

For every TStruct into which data has to be imported from an external application, add a row to the AxpExchange table and fill the values. Fields in this table that are applicable to inbound transactions are described below.

Name Description
Transid Name of the TStruct into which data is to be imported
IdField The field that uniquely identifies the transaction. This is used only for identifying a transaction in error messages.
InOut ‘i’ for In transaction
FTP FTP URL,username,password
InFolder Name of the folder from which data has to be imported.
SuccFolder Name of the folder to which the file will be transferred if all data in the file is pushed into database.
FailFolder Name of the folder to which the file will be transferred if all data in the file is not pushed into database
OrdNo The order in which the data has to be imported into the TStructs defined here.
FormatFile This is a file that will be used to map the in file to the given TStruct fields. This is described below

Inbound Format File

This file will be used to map the values in the CSV file to the fields in the TStruct.

@primaryfield=<name of the primary field>.

@groupfield=<name of the group field>

@delimiter=,

<Field1>

<Field2>

<Field3>

The value in the primary field will be used to search for the transaction in Axpert. If the transaction is found, the data in Axpert DB will be replaced with the values from the file.

In the inbound file, all lines that have the same value in this field will be considered as a single transaction and posted.

The first comma separated value will be assigned to the field name given in <Field1>. The second comma separated value will be assigned to the field name given in the <Field2> and so on.

Configuring Outbound transactions

For every TStruct from which data has to be exported to an external application, add a row to the AxpExchange table and fill the values. Fields in this table are described below.

Name Description
Transid Name of the TStruct into which data is to be imported
IdField The field that uniquely identifies the transaction. This is used only for identifying a transaction in error messages.
InOut ‘o’ for In transaction
FTP FTP URL,username,password
OutFolder Name of the folder to which the file has to be uploaded.
Cond An expression can be provided in this field. Only if the expression results in ‘t’, the transaction will be exported otherwise it will not be exported. The expression can be defined using the fields in the TStruct.
Ordno The order in which TStructs have to be exported.
FormatFile This is a file that will be used to create the outbound file. This is described below.

Outbound format file

{field1},{field2},{field3}…

The above is a format file content for creating a simple CSV file of the data stored in a TStruct.

The data from the TStruct will be read and created as per the given format file. The field names that are enclosed in curly braces will be replaced with actual values. In case of grid data, the lines will be added.

 

Intelliview Integration (Axpert on Web)

Intelliview is a third-party Business Intelligence tool which is used to display reports in the graphical manner.

How to Integrate Intelliview with an Axpert on Web application

  • The axpages table should have the column named “intview” . From 9.6 onwards, this column will be available by default after installation.
  •  To specify the menu item on which the Intelliview report should be loaded, Go to the axpages table and for the given page a new column called “intview” should have the value as “t”. Then that page will be considered to load the Intelliview report instead of the IView.

For Example: If the menu contains a page with IView as “Summary Report” and its name as “sumrep”, go to the axpages and find the item “sumrep” and set its “intview” column value as “t”.

  • Details related to the Intelliview credentials and parameters to be passed should be given in the AxIntelliviewDet table. The AxIntelliviewDet table should be available for intelliview to work.
  • The table structure is :

Column Details:

repId : It is a combination of (Axpert username + iviewName).

ivName : Axpert based Iview Name

Ax_user : Axpert based username

Username : As in intelliview

Password : As in intelliview

Companyname  : As in intelliview

Reportname : As in intelliview

Filtername : Name of filter like “department”

Filtervalues : Filter values as in cmisnew it is “’agri’, ‘PWD’, ‘Human Resource’”.

Reporttype : its value will be either ‘P’ or ‘L’, P: to open report in pop up window,L: to load in the same frame.

  • The Intelliview application should be hosted in a web server, and that web server URL should be added in the Axpert web applications web.config key “IntelliviewIP”.

<add key=”IntelliviewIP” value=”demo.agile-labs.com” />

Example

Assume your project has an IView named “testIview”, and you need to display the Intelliview Report on click of this menu item. To implement this,

  • Update “intview” column in “axpages” table and give the value for “intview” as “t” for the above IView.
  • Add record in “AxIntelliviewDet” table through the configuration page as below

repId : “admintestIview”

ivName : “testIview”

Ax_user : “admin”

Username : “XYZ”

Password : “123456789”

Companyname  : “XYZ”

Reportname : “Project Status Summary”

Filtername : “department”

Filtervalues : “’agri’, ‘PWD’, ‘Human Resource’”.

Reporttype : “L”

  • Add a key in web.config file as below:

<add key=”IntelliviewIP” value=”demo.xyz.com” />

This key refers to the path where intelliview is hosted.

So now when this project runs in web and user clicks for “testIview” report , the Intelliview report opens in the frame.

DSign Configuration

The Digital signature allows user to Sign the word or PDF documents digitally. The process of digitally signing a document should be done by an exe which will be run as a windows tray application in the user’s machine.

This system is basically required in integration with the web application, mainly the TStruct form and the print documents.

Following are the steps:

  • Create a button for print format. This will use a print form task. User will use this button to print the form and view the order.
  • Create a button “Send for signature”. This will use a print form task. In this task, the digital signature flag will be set to true. The web service in this case will print, copy the file to the given source folder of level 1 user. Populate the DSignTrans table from DSignConfigTable
  • Axpert Digital Signature exe

This exe can be downloaded from the web application, on installing one has to login providing the user name and the password. After login the application will run in the windows tray.

This application will keep watching the table “DSignTrans” for new entries for the logged in user.

If any new documents have been submitted for the current user, it will store the filename in the local machine.

On opening the tray application, it will list all the documents that are pending for digital signature

On click of View- the file from the server will be downloaded and opened for view

Sign & Upload – this will allow the user to sign the document digitally and upload automatically to the same folder back.

After uploading the document, the Status should be updated for the given user and document in the table.

The table structure is as given below :

DsignTrans Table – field wise details

DocDate Date of Creation of Doc
DocumentName Name of the document to be signed.
SourcePath The path in which the doc is to be read for signing.
TargetPath The path to which the doc has to be uploaded after signing.
UserName Name of user to sign
OrderNo If more than one user has to sign the doc, then the order no of this user for signing.
Status 0 – New, 1 – Signed
SignedOn

Date of Signature

Sort option within Search (Axpert Desktop)

In Version 9.6 , a sort option on right click within a Search button has been introduced. This feature enables you to sort the results of a search in either ascending or descending order.

Publishing structures using Service (Axpert Desktop)

In the earlier version 9.5 there were two provisions to upload the structure changes to other project/ other server i.e.

  • Export option in AxpManager.
  • Publish in Axpert application.

In Axpert application using Publish option, the structure changes can be exported from local machine to server machine. The Publish option is useful for those who don’t have the permission to access the server. Here we are using FTP to update the structure changes in server.

In 9.6, a third option to publish structures using HTTP has been introduced. This is useful if the server is configured without FTP. This feature is available under Publish to server. The user will be provided with two options – FTP and HTTP. On choosing the HTTP, the physical path needs to be specified.

Protected Attachment Folder (Axpert)

In version 9.6, a feature to protect the attachment folder in fileserver has been introduced. This protection is based on access permissions according to user credentials.

Earlier if the application user who has access rights to the structure with an option to store attachments in fileserver, then it was possible for the user to delete the attachments from the fileserver.

How to implement

  •  Create a table/transaction structure which should contain the values of DomainServer Username, DomainServer Password and AxpertUserName.
  • In another structure ,create the following fields and assign the values to these fields for storing Attachments in FileServer.
  1. AxpServerPath
  2. AxpImagePath
  • In the same structure, create the following fields

dc(frameno)_image – For Storing Images

dc(frameno)_imagepath – For creating dynamic paths for storing images

  • In the OnFormLoad event, register the values of DomainServer Username and Password (which will be loaded from the table based on the Axpert User) with AxpMapUserName and AxpMapPwd variables.

For eg.

sqlregvar({select ‘Axp_MapUserName’ as varname,MapUserNameas varvalue,’c’ as vartype from tmap1 where axpusername = :username})

sqlregvar({select ‘Axp_MapPwd’ as varname, MapPwd as varvalue,’c’ as vartype from tmap1 where axpusername = :username})

  • The password field values can be encrypted if needed.

Use the below function given to encrypt / decrypt the password

EncryptStr({:Axp_MapPwd}) – For Encryption

DecryptStr({:Axp_MapPwd}) – For Decryption

When the user focuses on the dc<frameno>_image field, the Axpert application will check for the folder access permission with the given credentials (AxpMapUserName and AxpMapPwd values).

If the user has permission, then it will allow adding / loading attachments, else it will show a message as ‘You don’t have access permission for this path’.

Assumptions &Constraints

User has to create users in fileserver with appropriate permissions and this needs to be mapped with Axpert users.

FillGrid Enhancement(Axpert)

A FillGrid is a map that provides a way of picking data from database using an SQL statement  and populating it into a grid frame based on user selection. The default behavior of filling the grid is in the order of selection i.e. the records will be populated into the grid according to how they have been selected.

In this version, an enhancement has been introduced which will enable the records to be filled in the order they appear in the fillgrid.

How to implement

  • List of fillgrids from which data should get filled in default order, should be given as comma separated string in a variable called ‘Axp_FillOrder’ in Scripts task in OnFormLoad action.

Syntax

Axp_FillOrder= {List of fillgrid names as comma separated string}

Example: Axp_FillOrder={ fillgrid1,fillgrid2}

Centralized Licensing (Axpert Licensing)

Currently, Axpert License needs to be activated from each individual machine through “Online” or “Offline” activation methods. This model of licensing is tedious for customers having multiple branch offices or multiple business locations with “n” number of users in each branch / locations.

To overcome these difficulties in license activation at “n” no of locations for the same Customer, a new model of licensing has been introduced in Axpert 9.6 called as “Centralized Licensing”. This new feature allows the customers to activate the license in one location and utilize the same license at other locations/branches .

How to implement

  • The central location will be designated as a licensing instance.
  • Add a numeric field AxLicense to Axprops table and update the record for name = “app” as explained below.
    • AxLicense=1 ( This is the License instance. The central location is designated as a licensing instance )
    • AxLicense=2 ( This is the Child instance. Each branch office is called a child instance).

Here are the SQL Scripts for incorporating the above changes:

  • alter table axprops add axlicense numeric(1)
  •  update axprops set axlicense = 1 where name = ‘app’

OR update axprops set axlicense = 2 where name = ‘app’

  • Add a TStruct named ‘axlic’ in all locations. This TStruct will have the following fields
    • LicName, char (10)
    • LicString, char(1500)
    • Siteno char(100) – This is to enable synchronization of this TStruct from central location to all sites.

Some Scenarios

Case 1 : Axlicense = 0 or field does not exist

  •  AxLicense field does not exist in AxProps or AxLicense is null or 0, Axpert will continue with current licensing process.

Case 2 : Axlicense = 1

  • Once AxLicense is set as 1, it is identified as the central location designated as a licensing instance.
  • All client machines in central location need to be activated separately with current licensing process.
  • The license string in AxLic table will be updated with encoded timestamp during the first time of login per day.
  • Synchronization table will get updated during this process (This needs to be set up for the distribution of packets from the AxLic Table to other locations through ADR)
  • If ADR failed to send packets, the licensing string with encoded timestamp can be saved to a file and can send to location/branches for license updates at concerned branches/branches. This license file can be created through below screen(fig.1), with the option to create license information file for locations/branches available for Axpert Admin users.
Figure 1

Figure 1

Case 3 : Axlicense = 2

  • Once AxLicense is set as 2, it is identified as the locations/branches for licensing.
  • Without Axlic TStruct , locations/branches licensing will not work.
  • License information at locations/branches should be updated on daily basis through ADR or manually.
  • There is a 30days grace period for the license updation at locations/branches.
  • Location/branch license information can be updated instead of activation during first time run.
  • If Location/branch license not updated from central location within 30 days, Locations/branches license will get expired.
  • During 30 days of grace period, Axpert will show the message as shown below(figure 2). Click on that message to update the license manually.
Figure 2

Figure 2

Subscription Modal licensing control at Definition Level (Axpert Licensing)

This feature allows the end user to set the license check in product.

Steps to implement client side license validation

  •  Two predefined variables, Axp_Proceed & Axp_LoginMessage should be defined by the application developer.
    • Axp_Proceed – The application will work based on the value of this variable.
    • Axp_LoginMessage –This will hold the license expired message. If the license is invalid or expired, then the message which is registered in this variable will be shown to the user.

For example:

sqlregvar({SELECT ‘Axp_Proceed’ AS varname, ‘t’ AS varvalue, ‘c’ AS vartype FROM “tablename” ax WHERE ax.uname = :username AND ax.licexpdate>= SYSDATE})

regvar({Axp_loginMessage},{c},{AxpertLic Test..!})

  • In the exe and dll, after default login, Expression set / value defined in the predefined variables will be evaluated. If the value of ‘Axp_proceed’  is true then login process will continue,otherwise application will be terminated after displaying the message available in ‘Axp_loginMessage’ variable.

 

Multiple print documents (Axpert Desktop & Web)

In earlier versions, only a single pdf file could be generated for print at a time. In version 9.6 Axpert Desktop and Web, this feature has been enhanced to generate multiple print documents.

To utilize this option, a check list of the print documents needs to be created for the user to select. Subsequently an action needs to be created with the PDF task referring to the check list.

In Axpert desktop application, by default the selected print documents will be created in ‘Axpert root path/printdocs’ folder. The user can optionally change the path .

In Web application, the selected print documents will be created in ‘Script path/Axpert/sessionid’ folder.

Dynamic Decimal Feature Enhancement (Axpert Desktop & Web)

In version 9.5, the Dynamic Decimal feature was introduced which allowed for the Decimal property of Numeric fields to be changed dynamically based on certain specific conditions. In this version, an enhancement has been introduced using which different decimals can be set for different fields within a single expression.

To implement dynamic decimals, introduce a field named AxpCurrencyDec with character data type. This field value should be decimal, field1, field2, field3…etc. The given fields will be set to the given decimal.

  • The AxpCurrencyDec field should be a fill field based on the selection made in the currency field. So, the developer can introduce a table that will contain the TStruct wise fields for which the decimal needs to be set based on currency selection. The table may have fields such as structname, currency, DecimalString.
  • Or it can be an expression field with value as decimal,field1,field2~decimal,field3,field4 The ~ separated string can be used to set different decimals for different fields.

For Example,

AxpCurrencyDec = 3, rate, amount~2,rate1, amount1 means that the decimal property should be updated to 3 decimals for rate and amount fields and decimal property should be updated to 2 decimals for rate1 and amount1 fields.

Note: Maximum decimal place value should be specified in the TStruct property definition for all those fields that are defined to change the decimals dynamically in AxpCurrencyDec field value .

AxpManager

  • Export & Import options for responsibilities, roles & users have been introduced in this version.

Configuration Page for Admin (Axpert on Web)

From Version 9.6 , a configuration page with all application and project level configurations required for a web application has been introduced in Axpert on Web. This functionality is only available for users with Admin rights. A menu option called “Config App” will redirect the user to the configuration page.

The variables related to the Application level are grouped into one panel and IView or TStruct variables are in another panel. The page will have Save, Edit and Restore Default buttons. The modified values will be highlighted with a different color.

The configuration page will have all the variables that are currently in the Web.config App settings node.

Apart from the old variables, some new features also have been made available. The list is as given below:

Sl No Internal Variable New Variable in Config Page Description
1 Projhead App Title This currently stores the application title. And will be picked from Axpert.An input field is provided to accept the Project Title. If a title is input in config page then the title from Axpert will be overwritten.
2 CopyRightTxt CopyRight Text An input field is provided to accept the copy right text.
3 IntelliviewIP IntelliviewURL An input field is provided to accept the URL. This accepts the URL of the system where the intelliview is hosted.For e.g. demo.agile-labs.com
4 PageRowCount Default Page Size An input field is provided to accept the default row size for iView and list view.
5 IViewWrap IView cell text wrap Value can be true/falseThis will be used to wrap or no-wrap the cell text in iView and list view.A Radio button is provided with On and Off option.
6 BreadCrumb BreadCrumb Value can be true/false
7 AxLanguages App Languages An input field is provided to accept comma separated Language names.
8 LogTimeTaken Logging Value can be true or false.A Radio button is provided with On and Off option.
9 DgSignRefreshTime DgSignRefreshTime This variable will be used to refresh the DigiSign Exe “List of pending documents for signing”.Value should be given in milliseconds.If empty by default the value would be 5000 millisecondsAn input field is provided to accept the time.
10 EnableOldTheme EnableOldTheme There are 2 themes supported by Axpert.Net and by default the new theme will be applied where the controls and font size is large.To revert, set the EnableOldTheme to true.Value can be true/false.(on/off)
11 AxHelpIview Help Iview Value should be the name of the IView in the application which will be loaded on click of the help icon in the application.An input field is provided to accept the same.
12 AxLiveFeeds Live Feeds Live feeds displays the data from a given IView as a marquee under the application header.Value should be in the below format“Iviewname#query”IView name and query should be separated by a hash.If empty then the Live feeds will not be shown.
13 AxLatestnews Latest News Latest news displays the data from a given IView as a marquee under the application header.Value should be in the below format“Ivname#query”IView name and query should be separated by a hash.If empty then the latest news will not be shown.
14 -dpage- (app var) Default Landing Page Value will be the path for the page to be displayed soon after the login.This is used generally for all users.To add role based landing page ,a grid is provided with add and delete option. There are 2 columns in the grid, one for role name and the next one for page.
15 axChangePwdReDir Redirect to Change Password screen on First Time Login Value will be true or false.
6 displayAutoGenVal Display value in Auto Generate fields in Tstruct Value can be true or false.

In the web code folder, there will be a folder by name “Config” and the file will be saved with the project name. After saving the changed values will be changed in the application variable.

When admin logs in the variable can be modified and saved. In the modification mode, the details would be first saved in the application variables and then updated in the file.

The format of the config keys is such that each configuration is stored in a single line.

Config file format

Proj=myappname

Scriptspath=c:\inetpub\wwwroot

Global Variables (Axpert on Web)

The concept of global variables has been introduced in Web version 9.6. Global variables are those which can be accessed through out the application. This can be referred throughout application, and wherever required, its value can be used in the form of an expression.

How to implement global variables

  • Create a TStruct in Axpert desktop with the Name “AxGlo”. This TStruct will be used for storing all global variable names and their respective values. Each field(except the hidden fields) in this TStruct would be treated as a Global variable for entry/selection in the web.
  • This TStruct will be shown in global Variable Frame, from where its value can be modified for the application.
  • In the Web UI, on the top bar in main page an icon to represent global variable has been introduced. On click of this icon the global variable TStruct will open. You can then edit/select the values and click on Submit button, this will refresh the global variables again with the new values.
  • On logging in, if the axglo TStruct exists, then the global variable TStruct will be displayed first. The user can choose the values of the variable and click Submit or use the default values by clicking Cancel.
  • The selected global variables and their values will be displayed in the Main page below the Header bar.
  • To edit the global variables at any point of time, just below the main header in the space provided to show the selected values ,an Edit button is provided to reopen the global variable TStruct.

Note:

  • The TStruct “AxGlo” should have only one DC i.e. Primary DC(Non Grid DC).
  • All the field names should be prefixed with “axglo_”
  • It should have a hidden field called “axglobaluser” with its expression set as “username”.
  • A checkbox field by name “axhideglobalvars” needs to be added, if checked the user will not be redirected to “axglo” TStruct on Login – The default value should be checked.
  • The Fields in the “AxGlo” TStruct should be either “DropDown“ or “PickList” so that the user can view and select the required Global Variable.
  •  The TStruct “AxGlo” should have at least one input field.
  • If one wants to force the user to enter the/choose the global variables then the respective field in the “axglo” TStruct should be marked as allow empty false.

IView Staggered Loading (Axpert on Web)

Staggered loading is a feature introduced for reports with large number of records. For large reports , Axpert retrieves all the data from the database, but displays it in chunks.

If an IView has Db pagination and its page size is set as “0” in Axpert, then by default this iView will be considered for staggered loading. Staggered loading will load only 20 records initially. The rest of the records will be stored in the dataset.

Staggered Loading is provided in the IView in the form of two links – “Show more” and “Show All”.

Show More – will append the next set of 20 records. This can be clicked till all the records are shown in 20 rows batch.

Show All – Displays all the records.

Staggered loading is applicable on filters also.

 

Custom Footer Toolbar in TStruct (Axpert on Web)

From Version 9.6, a facility to add a custom footer toolbar is provided in the TStruct in Axpert on Web . The toolbar can have the following buttons:

  • Save – save and reload the same record
  • Save & Reset – save and open new record
  • Save &Cont – save and open the next record
  • Save & Send – set a field value and save
  • Reset- new record or cancel

How to Define the Custom Footer Toolbar

  • In the TStruct where you require to display the custom footer , create a field called “ax_customtoolbar”; this should be a hidden field.
  • Set the Expression property of this field in the format {name, caption,action,details}
  • The details property is applicable only for Save & Continue and Save & Send.
  • The values for each button is as follows:
Button Name Action Details
Save sa ax_save
Save & Reset sr ax_savereset
Save &Cont sc ax_savecontinue The IView/Tstruct to redirect. The IView name should be preceeded with the letter i .In case of TStruct the Tstruct name should be preceeded with t.
Save & Send ss ax_savesend Fieldname:value
Reset rt ax_reset

For e.g.

  • The expression for save button in the footer toolbar would be { sa,Save,ax_save}.
  • For more than one button each button text should be separated by ~ symbol as shown below :

expression = {sa,Save,ax_save~sc,Save and Continue,ax_savecontinue,ipcort~ss,Save and Send,ax_savesend,fname:value}

How to use the details property for Save & Continue

details = “iprcot” where the first character is “i” then it will redirect to iview whose name is ‘prcot’

details = “trajsm” where the first character is “t” then it will redirect to tstruct whose name is “rajsm”

 

MultiSQLExec Web Service (Axpert on Web)

A new web service for executing the multiple DML (Insert, Update and Delete) statements and select statements have been introduced in Web version 9.6The service will execute multiple scripts one by one from the given input XML data and it will return the execution result with the input XML script node.. To call this service, the client has to send the input XML with SQL node with multiple SQL statements as child nodes.

Functionality of MultiSQLExec

  • The input xml should have SQL node with breakonerror attribute; under sql node, n number of SQL statements (child node) can be possible.
  • Multiple select statements also possible in this service.
  • If the DML statement appears multiple times, the service will execute one by one. If the execution gives any error, based on the breakonerror flag it may/may not allow to proceed further.
    • If the breakonerror flag = true then the service won’t allow to process further and it will revert the all SQL executions when the DML statements returns error.
    • If the breakonerror flag = false then the service will allow to process further when the DML statements return error.
  • For every script execution, the service will return the execution result / error message with input XML script node.
  • The service will return “done” value as result for successful DML statements.

Input XML format:

<sqlresultsetaxpapp=”oracleproject” sessionid=”kphqj045viekph45ocnmjb456″ trace=”true” >

<sqlbreakonerror=”true”>

<s1>update StudentMS set population=1</s1>

<s2>update StudentMS set population2=0</s2>

<s3>select * from StudentMS</s3>

<s4>select * from StudentMS</s4>

<s5>update StudentMS set population3=0</s5>

</sql>

<oracleproject>

<type>db</type>

<structurl/>

<db>Oracle</db>

<driver>dbx</driver>

<version/>

<dbcon>orcl9</dbcon>

<dbuser>oracleproject</dbuser>

<pwd>dc1d71bbb5c4d2a5e936db79ef10c19f</pwd>

<dataurl/>

</oracleproject>

<axprops>

<skin>DarkBlue</skin>

<login>local</login>

<lastlogin>oracleproject</lastlogin>

<lastusername>admin</lastusername>

<licenseurl>111.93.187.30/abtsscripts</licenseurl>

<axhelp>false</axhelp>

</axprops>

</sqlresultset>

Output XML format:

Select statement + DML statement

<sqlresultsetaxpapp=”oracleproject” sessionid=”kphqj045viekph45ocnmjb456″ trace=”true”>

<result>

<s1>done</s1>

<s2>done</s2>

<s3>

   <response>

              <row>

                     <STUDENTMSID>12798000000000</STUDENTMSID>

                     <CANCEL>F</CANCEL>

                     <SOURCEID>0</SOURCEID>

                     <MAPNAME>*</MAPNAME>

                     <USERNAME>admin</USERNAME>

                     <MODIFIEDON>26/03/2015 5:20:53 PM</MODIFIEDON>

                     <CREATEDBY>admin</CREATEDBY>

                     <CREATEDON>26/03/2015 5:20:53 PM</CREATEDON>

                     <WKID>*</WKID>

                     <APP_LEVEL>1</APP_LEVEL>

                     <APP_DESC>1</APP_DESC>

                     <APP_SLEVEL>*</APP_SLEVEL>

                     <CANCELREMARKS>*</CANCELREMARKS>

                     <WFROLES>*</WFROLES>

                     <NAME>agile12</NAME>

                     <AGE>*</AGE>

                     <GENDER>*</GENDER>

                     <DOB>*</DOB>

                     <POPULATION>0</POPULATION>

                     <ADDRESS>*</ADDRESS>

                     <TESTFIELD>*</TESTFIELD>

              </row>

               </response>

</s3>

<s4>

   <response>

              <row>

                     <NAME>agile12</NAME>

              </row>

              <row>

                     <NAME>testNew</NAME>

              </row>

              <row>

                     <NAME>Testing Name1</NAME>

              </row>

              <row>

                     <NAME>Sachin</NAME>

              </row>

          </response>

</s4>

<s5>done</s5>

</result>

</sqlresultset>

 

Select statement + DML statement (error)

 

<sqlresultset axpapp=”oracleproject” sessionid=”5wcowsf10zrycuqn5esgrub5″ trace=”true”>

<result>

<s1>done</s1>

<s2>ORA-00904: “POPULATION2”: invalid identifier</s2>

<s3>ORA-00942: table or view does not exist</s3>

<s4>

<response>

<row>

<NAME>agile12</NAME>

</row>

<row>

<NAME>testNew</NAME>

</row>

<row>

<NAME>Testing Name1</NAME>

</row>

<row>

<NAME>Sachin</NAME>

</row>

</response>

</s4>

<s5>ORA-00904: “POPULATION3”: invalid identifier</s5>

</result>

</sqlresultset>

Select statement + DML statement (error with breakonerror =true)

<sqlresultset axpapp=”oracleproject” sessionid=”5wcowsf10zrycuqn5esgrub5″ trace=”true”>

<result>

<s1>done</s1>

<s2>ORA-00904: “POPULATION2”: invalid identifier</s2>

</result>

</sqlresultset>

 And it will  revert the db changes.

Errors other than the scripts

<sqlresultset axpapp=”oracleproject” sessionid=”kphqj045viekph45ocnmjb456″ trace=”true”>

<response value=”–“/>

</sqlresultset>

 

GetSQLResult Web Service(Axpert on Web)

A generic web service has been introduced which will accept a SQL, Page size and Page no and when executed will return the result in XML/JSON based on the OutputFormat flag.

Input XML sample data

<sqlresultset axpapp=”oracleproject” sessionid=”1z40lmu1waexig550utuyonw” trace=”” >

<sql pagesize=”75″ pageno=”2″ outputformat=”json”>Select * from StudentMS </sql>

<oracleproject>

<type>db</type>

<structurl/>

<db>Oracle</db>

<driver>dbx</driver>

<version/>

<dbcon>orcl9</dbcon>

<dbuser>oracleproject</dbuser>

<pwd>dc1d71bbb5c4d2a5e936db79ef10c19f</pwd>

<dataurl/>

</oracleproject>

<axprops>

<skin>DarkBlue</skin>

<login>local</login>

<lastlogin>oracleproject</lastlogin>

<lastusername>admin</lastusername>

<licenseurl>111.93.187.30/abtsscripts</licenseurl>

<axhelp>false</axhelp>

</axprops>

</sqlresultset>

Live Feeds and Latest News (Axpert on Web)

From Version 9.6, a configuration page with all application and project level configurations required for a web application is available in Axpert on Web. This functionality is only available for users with Admin rights. A menu option called “Config App” will redirect the user to the configuration page.

The variables related to the Application level are grouped into one panel and IView or TStruct variables are in another panel. The page will have Save, Edit and Restore Default buttons. The modified values will be highlighted with a different color.

The configuration page will have all the variables that are currently in the Web.config App settings node.This is where live feeds and latest news needs to be configured.

Live feeds displays data from a given IView as a marquee under the application header. A variable called AxLiveFeeds has been introduced for this purpose. The value of this variable should be in the format: iviewname#query

The table to retrieve the feeds from should contain the columns : msg,date,msg_type. If the table is empty the feed will not be displayed.

Example

{iview1#select msg,date,msg_type from tablename}

Latest news displays the text from a given IView as a marquee under the application header. A variable called AxLatestNews has been introduced for this purpose. The value of this variable should be in the format : iviewname#query

The table to retrieve the news from should contain the columns : msg,date,msg_type. If the table is empty the news will not be displayed.

 Example

{iview1#select msg,date,msg_type from tablename}

In both the above cases, only message and date will be displayed in the marquee text. HTML also can be included in the message, which can contain links to open IViews.

For e.g. in the message column, you can write:

Monitoring of schemes- Education Department </br><a href= ../files/Monitoringofschemes.pdf target=_blank>View Details</a>

File Download from IView(Axpert on Web)

To enable file download from IView, create a field in the corresponding TStruct with the name axpattach_filename. This prefix will work as a flag and will activate the feature when the IView is loaded. The value of this field should have the filename that is to be downloaded. The field can be a hidden field.

The file download in IView works on the basis of concatenating the values of transid, recordid and attachfieldname. These three should be present as hidden columns in the IView along with axpattach_filename flag and should have valid values. The attachfieldname will be the folder in which the downloaded attachment will be saved.

Example

If a file called ‘annual_report.xls’ has to be downloaded. This file can be saved in two different ways:

1)    Transid\Recordid\attachfieldname\filename = test\10178000000000\axp_gridattach_3\ annual_report.xls.

  • Recordid = 10178000000000
  • Transid =  test
  • Attachfieldname = axp_gridattach_3
  • axpattach_filename= annual_report.xls.

2)    In some scenarios the file can be saved without the field id i.e. Attachfieldname., which is based on the requirement. In that case

Transid\Recordid \filename = test\10178000000000\ annual_report.xls

  • Recordid = 10178000000000
  • Transid  =  test
  • Attachfieldname = ‘This field can be left empty.’
  • axpattach_filename= annual_report.xls.

Bug Fixes in Axpert

  • In IViews, Export to Pdf option was not working and the following error message was being shown- “Cannot find or create the font ‘tahoma, Bold’. Some characters may not display or print correctly “. This is fixed.
  • In IView Preview, page no was not being displayed in footer. This is fixed.
  • Save as CSV file wasn’t working. This is fixed.
  • Login and build was taking much too time to open. This is fixed.
  • If variables are used with colon (:) in IF task in action screen, it was not displayed while editing the saved action. This is fixed.
  • GetSubDelimitedString function was not working. This is fixed.
  • IView Multi select parameters were not working. This is fixed.
  • While changing the Arabic language to English language the menu captions were not getting changed. This is fixed.
  • Option to Send / Receive Packets in Axpert .
  • Once data loaded in user log in details report and the preview button is clicked, all tick mark symbol was being displayed as ‘a’. This is fixed.
  • Irrespective of having more than 50 fields in Page Relation, only five fields were visible and when entered or clicked the field value was getting deleted. This is fixed.
  • When a line in the Command field of Action is deleted, the next field properties were also deleted. This is fixed.
  • When a DC in the TStruct is removed, the subsequent DC table name was changing. This is fixed.
  • If more than 10 command lines were present in a single Action some discrepancies were observed in the condition values during run time and build time. This is fixed.
  • An option to Send / Receive Packets in AxpManager has been introduced.
  • Columns which are defined for Subtotals and was hidden was not available on Filter Click in IView.  This is fixed.
  • Image field validation was not working. This is fixed.
  • AxFast Report has been changed to handle dynamic parameters ({}) at run time.
  • Duplicate document ID values for Auto Generated fields were being generated randomly. This is fixed.
  • Conditional based subtotals against grid.
  • Data width checking was being ignored during data validation for check list fields. This is now fixed.
  • In the email attachment, report format was appearing without heading (IView as html).This is now fixed.
  • GETCOSTRATE function was not working in Val method FIFO. This is fixed.
  • MDMAP was updating twice to master transaction when the record gets auto approved .This is fixed.

Bug fix in Axe

  • Unable to send mails through Axe. When Axe is run to send mails,it displays error “Project Name is Empty” .This is fixed.

 

Did you find apk for android? You can find new Free Android Games and apps.

Leave a Reply

Be the First to Comment!

Notify of
avatar