
Infogix's Frequently Asked Questions page is a central hub where its customers can always go to with their most common questions. These are the 473 most popular questions Infogix receives.
This article will automatically redirect to the online Data3Sixty Analyze documentation on supported browsers.
If you were not redirected, please access the documentation via the link below:
https://doc.infogixsaas.com/analyze/Default.htm
View ArticleThis article will automatically redirect to the online Data3Sixty DQ+ documentation on supported browsers.
If you were not redirected, please access the documentation via the link below:
https://doc.infogixsaas.com/dqplus/Default.htm
View ArticleThis article will automatically redirect to the online Data3Sixty Govern documentation on supported browsers.
If you were not redirected, please access the documentation via the link below:
https://doc.infogixsaas.com/govern/Default.htm
View ArticleBy default WildFly uses a periodic log handler and will create a log for every calendar day. This is different than WebSphere or Jboss, and may not be the desired format for many customers. Luckily WildFly has highly customizable logging.
Open the WildFly Admin Console (http://<host>:9990/console by default).
Navigate to the Logging menu at Configuration>Subsystems>Logging>View
Click over to the HANDLER tab at the top of the Logging page. Here you can choose to make a log handler based on many criteria. This example will use a Size Handler, which is similar to the way WebSphere or Jboss handles logging.
Click the Add button and give your Handler a value for name, Path, and relative to. Path can be used to customize the actual name of the log files, and relative path should be "jboss.server.log.dir". For this example we used the following:Name: SizePath: server.logrelative to: jboss.server.log.dir
Save the handler and edit the attributes to suit your needs before saving those as well. Some common attributes you may want to change are the following:Max backup index: 1 - This controls how many log files are created before rolling off. It is recommended to set this to something greater than the default of 1.Rotate size: 2m - This controls the size of each log file before it rolls over to the next. You can leave this at 2m, or customize it to fit your needs.
Once your new log handler is customized to your liking we will need to enable it in the ROOT LOGGER tab. Click edit and replace the FILE handler in the Handlers: attribute with the new handler and save.After saving these changes to the root logger this change will go into effect immediately.
View ArticleThese are the minimum configuration requirements for Infogix Assure 9.2, Infogix ER 9.2, Infogix Insight 9.2, or Infogix Perceive 9.2.
Server Specification
Server Operating System
Red Hat Enterprise Linux ES Release 7
SUSE Linux Enterprise Server 12
IBM AIX 7.2
Windows Server 2016
Application Server
WildFly 10.1 (JDK 8 or 10; however, Infogix Perceive 9.2 is not supported on Java 10)
WebSphere 8.5.5 or 9.0 (JRE 1.8 required)
Database
Oracle 11g R2 or 12c
SQL Server 2016 or 2017
Oracle or SQL Server Client for bulk loading
Directory Server (optional)
IBM Tivoli Directory Server 6.3
Microsoft ADAM 1.0
Oracle Sun ONE Directory Server 5.2
Active Directory (Windows Server 2012 or 2014)
Novell eDirectory 8.8 (SP5)
Open DS 2.3
Client Specification
Web Browser
Microsoft EDGE 41.x
Google Chrome 61.x
JavaScript and cookies enabled
Adobe Flash Player 27.0.0.130 or above
Adobe Reader X or above, selected as the primary PDF reader
Screen resolution, 1280 x 1024 pixels, minimum
Infogix ER Client
Java SE 8 or 10
Command Line Specifications
All operating systems below require JRE 8 or 10 to run Infogix scripts.
Client Utilities
IBM AIX 7.2
Red Hat Linux ES Release 6 or 7
SUSE Linux Enterprise Server 12
Windows Server 2016 or Windows 10
IBM z/OS (Infogix Assure)
View Article1. Click the link that you were provided from Data3Sixty Analyze support. It should look similar to
https://enduser-license.x-formation.com/ GR87Z-R6L28-XPH7C-WKOP7
2. You will see a screen like the one displayed below.
a) Enter the hostname of the machine Data3Sixty Analyze is installed on in the Hostname field. You can find your machine's hostname by typing hostname at the command line, for example:
c:\users\username>hostnamemachine01
b) Select the "Activate" button.
3. On the next screen, select "Download" to save a copy of your license file. This file will be name lae_3.1_License.lic:
4. There are two ways to apply the license:
Method 1:
a) Stop Data3Sixty Analyze
b) Copy the license file to the following directory:
%localappdata%\Data3SixtyAnalyze\site\conf
c) Start Data3Sixty Analyze
Method 2:
a) Select the 'i' in the top right corner of the Data3Sixty Analyze Dashboard
b) Select 'Licensing'
c) Apply the license.
View Articlecommunity
A new release of Govern will be applied to DEV/UATenvironments onFriday, December 6, 2019at5:00 p.m. EST. This release will be applied to Production the following week. A separate notification will be sent regarding Production
Whats New?
This release of Data3Sixty Govern contains UI enhancements to improve the user experience, along with several API enhancements and improvements.
Asset Icons
In preparation for future enhancements the ability to add a custom icon to an asset type was implemented. The custom icon is displayed on the asset detail page as well as the search results page. If no custom icon is defined, the default will display.
Request Certification
If you are using the Request Certification workflow note the wording on the confirmation dialog has been updated
For more about this release view the release notes. And don't forget to check out the to get your questions answered or to give us feedback. We love to hear from you.
Infogix, 1240 East Diehl Road, Suite 400, Naperville, IL, 60563, USA, +1.630.505.1800
View ArticleYou can use the Transform node to rename files using the following Python code. The generic way to handle renaming a file in Python is:
import os os.rename(r'file path\OLD file name.filetype',r'file path\NEW file name.filetype')
EXAMPLES:
For Windows:
import os os.rename(r'C:\Users\Bob\Desktop\Test\test_file.txt', r'C:\Users\Bob\Desktop\Test\new_test_file.txt')
For Linux:
import os os.rename(r'/home/Bob/Test/test_file.txt', r'/home/Bob/Test/new_test_file.txt')
The "r" in front of the file name is not really necessary with Linux since it uses forward slashes for the path separators rather than the backslash with Windows. However, it is best practice to include it to make the code more portable.
You could also try the following as it may work on both Linux and Windows:
import shutilshutil.move(old,new)
FULL CODE FOR THE TRANSFORM NODE:
#Configure Fields:out1 += in1out1.OldFile=strout1.NewFile=strout1.Status=strimport shutilimport os
#Process records:out1 += in1OldFile=in1.FileName#supply your own expression here to build the new filenameNewFile=os.path.join(os.path.dirname(OldFile),"QQQ.xlsx")out1.Status="Success"try: shutil.move(OldFile,NewFile)except: out1.Status="Failure"out1.OldFile=OldFileout1.NewFile=NewFile
View ArticleIn this article, we will go over using the "Networked Character/Byte Stream I/O" Data Access Method in Assure. This example uses Fixed Layouts, but the instructions are the same for any layout that has a Data Access Method.
1) Click on your layout (existing or new). In the bottom pane, you'll see the "Data Access Method" field. Click on the drop down and select "Networked Character/Byte Stream I/O".
2) In the bottom right-hand corner, click the "More" button and select "Edit Advanced Path/URL".
3) In the window that pops up, enter in the path to your file.
4) Hit "OK" and then hit "More" and click on "Edit Network Credentials".5) In the window that pops up, enter in the username & password of a user; make sure it has access to the file location you're grabbing from!
6) If you want to, test the layout.You have now successfully created a layout that utilizes the Networked Character/Byte Stream I/O Data Access Method.
View ArticleThere are a number of log files that you may be asked by our Support team to retrieve and send to us from your Data3Sixty Analyze system. The most common ones needed are Webapp and Server log files. They are located as below along with a host of others, including access logs, audit logs,postgresql and nodeContainer logs.
For more information on what details each of the logs provides, please see this article: What information do each of the Data3Sixty Analyze log files give
LOG FILE LOCATION FOR COMMON LOGS:
For theDesktop version, the log files are located as follows -
If you installed the application as "Local User" it's:
C:\Users\<username>\AppData\Local\Data3SixtyAnalyze\site\logs
If you installed the application as "All Users" it's:
C:\ProgramData\Data3SixtyAnalyze\site\logs
For theServer version, the log file location onWindowsis:
<dataDirectory>\<username>\Data3SixtyAnalyze\site-7731\logs
NOTE: If your log files cannot be found in the above locations, find your site.prop file (it should be under (<InstallDirectory>\Data3SixtyAnalyze\conf) and navigate to the path given by the "ls.brain.logDir" property.
INSTALLATION LOG FILE LOCATION:
If you are experiencing issues while installing, or immediately post installation, you may be asked to provide the installation logs. These are located at:
<InstallationDirectory>\Data3SixtyAnalyze\.install4j
In this folder, the main files to look at are the "install.log" and "response.varfile", however you should feel free to send the entire folder to Support.
NODE LOG LOCATION:
If you have a node or nodes that are failing the node logs may be able to provide more information on the root cause. The individual node logs are located here:
<dataDirectory>/data-7731/executions/username/dataflowname/runname/*****.log
In this folder, you should see .brd files and log text files. The log files are usually empty unless there is a failing node - in this case it should have some content. The .brd files should have some content all the time.
View Articlecommunity
An update will be applied to the PROD environment on Monday, October 14, 2019 at 9:00 PM CDT.
Please note that this product release is will be available to Infogix Saas customers.
Whats New?
This month weve made several enhancements to Data3Sixty DQ+ including updates to migration settings between environments, new Help format, and user interface improvements.
Dashboard Styles Users can now define a system-wide dashboard style, including font, border and header colors and styles, which can be reused across all dashboards in all environments, saving users time and adding consistency.
JSON Parsing Users can now parse and transform JSON data in an analysis without needing to use script. This adds an easy to use node that will save users time when creating an analysis.
Wrap Column Header Users can choose to wrap column header values to be fully displayed in height to fit the content. This allows for the full header value to be displayed by wrapping longer values within the column header.
Don't forget to check out the to get your questions answered or to give us feedback. We love to hear from you.
View ArticleFor those who used the Execute BRX node in LAE, or for new users wishing to explore it, Stony Smith and Ernest Jones from our Professional Services team, have developed a Data3Sixty Analyze version of the node.
BACKGROUND:
The node executes a sub-graph multiple times with parameters that are driven by data. Execute the specified data flow, once per record in the input file, using the values of each field in the record as properties available for the data flow being run.
The input records to the node provide the run parameter values.
There are three versions of the node (attached):
1) A node to run within another dataflow ( called Execute Dataflow.brg - this is in .brg format, you can import it into Analyze by selecting Import > Legacy Data Flow and browsing to the Execute Dataflow.brg file). The BRG can be imported into Data3Sixty Analyze and uses the Analyze REST API version 3.
2) A python script to run from a command line (called ExecuteDataFlow.py). Before running the script, you should first execute the following command - it adds the python command to your path.
For Windows, it's
<installDir>/bin/laeEnv.bat
For Linux...
source <installDir>/.profile.lavastorm
Then, the command to get a list of the parameters is:
python ExecuteDataFlow.py -h
To run the data flow, you'll need to do something like this:
python ExecuteDataFlow.py --dataFlow ExecuteDataflow_SampleFlow2 -p "Schema=blue"
3) Asingle Python node version that does it all, called ExecuteDataflow_Python.lna
TheExecute Dataflow.brg (number 1) and the Python node (number 3), are essentially the same thing.
Also attached is a sample ExecuteDataflow node called Test Execute Dataflow.brg, this is just to demonstrate that it works, and the screenshot below shows the configuration for the node.
NOTE: Per Mario's comment below, there are a couple of things to bare in mind:
- The dataflow that the node runs must be in the Public Documents folder.
- The name of the dataflow that the node runs, which is configured in theDataflowNameproperty, cannot have spaces in it.
View ArticleThis section contains the installation files and patches for Data3Sixty Analyze.
If you do not see additional articles in this section nor within the list on the left-hand side of this article, please sign in and the download articles will become visible.
View ArticleI can't get my trend reports to work, what am I doing wrong? There are a couple of steps you need to take in order to get your trend reporting to work. These steps are:
Load the definitions for the job you are trying to trend using the defloader utility in the Insight GUI.
Extract history for the job you are trying to trend using the "extract history" utility located in either ACR/Summary or ACR/Detail. Make sure to use the alternate extract history option, EXTWV.
Load the extracted history into Insight using the historyloader utility which is installed with the client utilities for Infogix Insight.
Set up your trend report and run it.
If you are still unable to get your trend report to work after taking these steps, please contact Infogix Customer Support. 2. I cannot add the control group I created to my control view. In order to add control groups to a control view, the control group needs to have the proper users added to it. For example, if you are currently logged in as the admin user you will need to add the admin user to that control group in order to see the results in your control view. 3. My User, Free Form or Control reports are not being autoloaded into Insight. There are a couple of settings that commonly cause this problem, please check the following:
Check your report loading setting for the job in question. Report loading is not turned on by default at the job level. To check this setting, go into the report options for the job in question and verify that the options are all set to "generate and autoload to database". Auto-loading of reports to the database option can also be set in the user options file or as a JCL parm.
Make sure your JCL has the proper DD statements defined for autoloading. You will need to add DD statements for UNIWXML, UNICRXML, and UNIFRXML for the different reports that can be loaded into Insight. A more detailed explanation is available in the API installation guide for the mainframe.
Check the autoload status in the administration section of the GUI - there might be errors in the actual XML file being sent to Insight.
Check the ACR job output for any warning messages that refer to XML report loading. For example, if your Insight database is Oracle, an error beginning with ORA- indicates a database connection error and a #UWV107W indicates the report exceeds the maximum size limit.
If I have different environments sending information to Insight but these environments use similar job names, how do I differentiate between them from within Insight? There is a setting called the "platform-ID" which is used to differentiate between the different environments in which you are running your ACR jobs. The platform-ID is a unique identifier that you can assign to your controls. The platform-ID variable is set in the Insight API configuration for the machine that is sending results to Insight. Please contact Infogix Customer Support if you require assistance configuring this setting. 5. None of my Assure results are visible in Infogix Insight. You must set up the URL of your Assure instance in the Information sources tab that is found within the Insight GUI. For the platform-id enter the server name that the Assure instance can be found on. For the URL, enter the URL Assure can be found at, eg: http://servername:9080/infogixassure/. 6. When I click on Control View I do not see any gauges for my newly created view. If there are multiple control views assigned to a particular user, you must select the specific control view you want to look at by clicking on the folder icon located at the top of your screen above the filter settings. Also, make sure to check that the user name you are logged in as has been assigned to the control view by going into the view builder, selecting your view, and checking for your user name under the permissions tab for that view. 7. Insight consists of a web application, a database repository, and the platform-specific ACR APIs. Where are the Insight client utilities located and what are they used for? The utilities are located on the installation CD and can be loaded on the server with the web application or on a separate machine. Two of the more commonly used utilities are the history loader and XML report loader. The history loader is used to load a history extract file that enables the trending feature for ACR jobs. The XML report loader loads User, Control, or Free Form report in XML format. This utility can be used in the recovery process to recover reports that were not autoloaded to the database. You can find more information on all the utilities in the help directory where the client is installed. For example, C:\Infogix\Insight5.3client\help. 8. What are the steps in the Insight recovery process? If your ACR job runs and encounters a communication error with the Insight database, then these steps can be taken to recover the ACR job information and reports:
You must use the user options file to be able to recover the ACR reports. There is an option that allows the ACR reports to be written to a file in case of database communication failure.
The ACR job/step name and start/end time among other information will be written to the recovery file.
The recovery file can be loaded by running the RUNRVY on MVS, UNIX, or Windows.
The ACR reports can be loaded by running the XML report loader utility.
9. What are the different roles within Insight? Roles within Insight can be divided into two types: administrative and user. Each role is assigned specific functions and the level of authority varies between roles. For example, the superuser has access to all the functions within Insight whereas the Insight Auditor can view Audit trail information. For more information on roles, please refer to the Role Matrix in the Insight help system. 10. How can I load my XML reports manually? There are .bat scripts called xmlreportloader.bat and reportloader.bat that can be used to manually load your reports. These .bat files are installed along with the client utilities portion of the Insight installation. Invoking any of these .bat files will give you a list of arguments on how they should be executed. If you require further assistance in using these .bat files, please contact Infogix support
View ArticleProbable Cause: The extraction rules attempted to assign a null value to an identity field and the Prevent Null ID Field Assignment option was enabled.
Resolution: If the ID field value is potentially null, set up an extraction rule to supply an alternate value for a null value. Otherwise, clear the Prevent Null ID Field Assignment option on the Control Point Capture Source tab. The system will discard any instances with a null value in the identity field.
View ArticleCommunity
ATTENTION: In order to continue receiving product update notices, please Sign In and select Follow on the Data3Sixty Analyze announcements page here.
Infogix are excited to announce the availability of Data3Sixty Analyze 3.5.1 which includes several new features to explore.
Product downloads are available within our Data3Sixty Analyze Download section.
Whats New?
This month weve made several enhancements to Data3Sixty Anakyze including improvements in the detection of semantic types and greater flexibility when querying databases.
Node Enhancements
Reorder Fields Node Node
The Reorder Fields node enables youselect the fields, and set the order in which fields appear in the output data set.
Typically the Reorder Fields node is used before a publishing node (e.g. the Output Delimited node).Note: Data3Sixty Analyze does not guarantee field order of intermediate data when it is processed by subsequent nodes.
You can search the input fields to highlight those that contain the specified characters.The Next Match up-/down-arrows allow you to step through the matches in the field list.
You can search the input fields to highlight those that contain the specified charactersThe Move Up / Move Down arrows, and the Move to Top/ Move to Bottom buttons allow you to change the positioning of the selected field.Multiple fields can be selected using <Shift>+click and <Ctrl>+click combinations.
You can exclude selected field(s) from the output data using the Remove Fields button.
When one or more fields have been removed, the Add Fields button is enabled.The Add Fields pop-up panel is displayed when the button is clicked.
You can reset the field order to that of the input data using the Reset button.
The Add Fields panel provides a two-pane layout with the fields that are available to be added on the left.
The move field controls can be used to add fields to and exclude fields from the output, and to reorder the selected fields.You can search for fields in the Available Fields and Selected Fields panes.You can also select all fields or deselect all fields using the Select All and Select None buttons.
The FieldsNotExistsBehavior property controls whether the node the node generates an error/warning if the input data does not contain fields specified in the Field Order property.
You can choose to generate an error (default), log the warning or ignore the condition.Setting the property to Ignore (or Log) can be useful when your input data can contain optional fields and you want to specify the order of the fields when they are present but not generate an error when they are absent.
JDBC Nodes
The JDBC Execute, JDBC Query and JDBC Store nodes now allow you to specify key=value pairs on separate lines.
You can still specify the options on a single line as an ampersand delimited list.
Salesforce Nodes
The Data3Sixty Get for Salesforce, Data3Sixty Metadata for Salesforce and Data3Sixty Update for Salesforce node now use v.46.0 of the Salesforce REST API.
The Data3Sixty Update for Salesforce node offers the following enhancements:
The node provides the option to continue processing input records when a Salesforce update transaction has failed.Records for the failed transactions are output on the new errors pin'.The ErrorBehavior property enables you to specify the action taken when a transaction fails (default is to error).
If no value is provided for the IdField property, the property defaults to Id.
If no fields are specified in the DataFields property, the fields will be taken from the headers.
Encrypt Fields and Decrypt Fields Nodes
The Encrypt Fields node now supports the use of the AES 256 encryption algorithm.The new Encryption Type property sets the algorithm to be used by the node.For backwards compatibility reasons, the default algorithm is Triple DES encryption.
The Decrypt Fields node now supports the decryption of fields that have been encrypted using Encrypt Fields node and the AES 256 algorithm.
BRD File Node
The BRD File node provides two additional properties:
PassThroughFields -This property specifies the fields that are to be passed through to the output.It provides a choice of All/Used/Unused/None. The default is None.
AlwaysEmitPassThroughFields -Controls whether the input fields will be passed through to the output even when a BRD file contains no records. The default is False.
Fixed Format File Node
The Fixed Format File node now supports the optional StartLine property.The property enables you to skip lines at the start of a file.
Application Enhancements
Connection Points
Connection Points can be used to:
Include multiple data sets in a bundle to reduced visual clutter on the canvas
Tags are used to identify the data in the bundle
Pass the first enabled data set into a nodes input pin
You can specify the order in which the input data sets are evaluated
A Connection Point can be added to the canvas using the right-click context menu.
Multiple connections can then be made to the Connection Point. When source data is available, hover text indicates the number of records available in each input data set.
You can add a name tag to the Connection Point.
Adding a name tag can help with identifying data sets.
The tags for the individual data sets will include the name tag configured for the Connection Point and the name of the data set as determined by the output pin of the upstream node. When using Connection Points, Infogixrecommends changing the names of output pins to have descriptive names.Additionally, a number of default output pin names have been renamed to help you to identify the source node, for example, the Sort node output pin has been renamed from "out1" to "Sorted Data".
A connection filter dialog is displayed when a connection is made from the Connection Point to a downstream node that can accept multiple data sets (e.g. a Cat or Composite node).
You can choose to propagate:
All the data sets
Specified data sets (using their tag)
The first enabled data set
When the cursor is hovered over a data set tag the corresponding connection is highlighted to assist with its identification.
When a connection is made to a downstream node that can accept a single data set (e.g. a Transform node) you can choose to propagate:
A single data set (using its tag)
The first enabled data set a index indicates the order in which the data sets are evaluated.
You can modify the settings for a connection filter by clicking the button on the connection.
Connection Points can be chained together, enabling you to include other data sets into a bundle at a later point in the data flow.
Navigation Improvements
You can now right-click on a nodes input pin or an output of a Composite node to display the Go to Linked Item menu option.
When the menu option is clicked, the UI navigation changes to display the source of the data.The displayed layer of the canvas also changes if the source is on another layer i.e. within a Composite.The navigated-to data source will be the connected node or, an intervening Connection Point that has multiple input data sets.
Database Drivers
The application now includes the JDBC driver for the IBM DB2 database.
Properties Panel Python Script Editor
The Python script editor has been changed to better conform to the Python style guide.The script editor in the node properties panel now auto-indents text using four Spaces characters.The editor also converts Tab characters to four Space characters.
Run Properties
The Current* data flow properties are deprecated in this release, i.e.
CurrentTime
CurrentDateTime
CurrentDate
Instead, the RunTime, RunDate and RunTimeZoneOffest properties should be used for new projects.The corresponding system property references can be used in property values and scripts.See the Run Property Substitution topic in the Help for further details, or online here.
Resolved Issues
The following issues have been resolved in this release:
LAE-9544, LAE-9858, LAE-10236, LAE-10518, LAE-10520LAE-10791, LAE-21607, LAE-21612, LAE-21688, LAE-21830LAE-21833, LAE-21839, LAE-21857, LAE-21869, LAE-21897LAE-21905, LAE-21916, LAE-21919, LAE-21923, LAE-21931LAE-21936, LAE-21939, LAE-21941, LAE-21955, LAE-21956LAE-22000, LAE-22015, LAE-22022, LAE-22035, LAE-22082LAE-22120, LAE-22179,LAE-22200
See the release notes for details of the resolved issues.
For more about this release view the release notes. And don't forget to check out the to get your questions answered or to give us feedback. We love to hear from you.
View ArticleData3Sixty Analyze enhancements in this Feature release include:
Node Enhancements
Reorder Fields Node
The new Reorder Fields node enables you to select the fields, and set the order in which fields appear in the output data set.
JDBC Nodes
The JDBC Execute, JDBC Query and JDBC Store nodes now allow you to specify key=value pairs on separate lines.
Salesforce Nodes
The Data3Sixty Get for Salesforce, Data3Sixty Metadata for Salesforce and Data3Sixty Update for Salesforce node now use v.46.0 of the Salesforce REST API.The Data3Sixty Update for Salesforce node now provides the option to continue processing input records when a Salesforce update transaction has failed.
Encrypt Fields and Decrypt Fields Nodes
The Encrypt Fields node now supports the use of the AES 256 encryption algorithm.
Fixed Format File Node
The Fixed Format File node now supports the optional StartLine property thatenables you to skip lines at the start of a file.
BRD File Node
The BRD File node now provides the ability to pass though fields.
Application Enhancements
Connection Points
Connection Points can be used to include multiple tagged data sets in a bundle to reduced visual clutter on the canvas, and to specify the runtime-conditional processing of data sets.
Database Drivers
The application now includes the JDBC driver for the IBM DB2 database.
Navigation Improvements
You can now right-click on a nodes input pin or an output of a Composite node to display the Go to Linked Item menu option.
Python Script Editor
The Python script editor now uses four space characters for indentation.
Run Properties
TheCurrentTime,CurrentDateTime and CurrentDate data flow properties are deprecated in this release. The RunTime, RunDate and RunTimeZoneOffest properties are provided for for new projects.
Resolved Issues
The following issues have been resolved in this release:
LAE-9544, LAE-9858, LAE-10236, LAE-10518, LAE-10520LAE-10791, LAE-21607, LAE-21612, LAE-21688, LAE-21830LAE-21833, LAE-21839, LAE-21857, LAE-21869, LAE-21897LAE-21905, LAE-21916, LAE-21919, LAE-21923, LAE-21931LAE-21936, LAE-21939, LAE-21941, LAE-21955, LAE-21956LAE-22000, LAE-22015, LAE-22022, LAE-22035, LAE-22082LAE-22120, LAE-22179,LAE-22200
See the release notes (PDF) for details of the resolved issues.
View ArticleLearn how to create and utilize a Graph level parameter.
View ArticleFor the AS400 key, we need some information from the customer's side.
Perform the following command for ACR/Summary: DSPPFM SUMMARY/UNICF and for ACR/Detail: DSPPFM DETAIL/UNICF.
This will display the contents of the control file.
From here, press F10 then F11 and the screen will now show the contents of the control file in HEX.
Take a screenshot of this page and send it over to Support to generate the AS400 license.
Determine the current expiration date :
The expiration date will be on the last two lines in positions 9 through 11.
Ask the customer to send this number (01527 in the above example) or we can find it from the above HEX readout
View Article1) Name of the Communications Server Simple Mail Transfer Protocol(CSSMTP) : SMTP
2) Class assigned to the Communications Server Simple Mail Transfer.Protocol (CSSMTP): The "Class" refers to the class option in the job's JCL. When the email notifications are sent by the mainframe, the mainframe uses a queue as an input. these queues are called classes. We need to specify which queue to output to with our job card. it depends on the mainframe setup rather than the ACR setup.
View ArticleThis section contains the installation files and patches for ACR.
If you do not see additional articles in this section nor within the list on the left-hand side of this article, please sign in and the download articles will become visible.
View ArticleThis article was developed my members of our Professional Services team.
OVERVIEW:
All of the steps outlined in the attached LAE Enterprise Installation Guide (pg 35) must be followed. If using Oracle 11g there is no further action required, but for newer versions of Oracle (12c, 18c) we will need to explicitly set the Oracle dialect.
STEPS:
Start up Jetty at least once so that the root.war gets expanded to:
<LAE Home>/jetty/work/jetty-0.0.0.0-8080-root.war-_-any-
If a directory like this is already present, then theres no need to start Jetty again.
2. Shutdown Jetty and Lavastorm if you did start them up. Go into that expanded directory mentioned above and find a file named lae-servlet.xml in the WEB-INF directory.
Add this property to hibernateProperties:
<prop key="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</prop>It will look like this:
3. Now you can startup Jetty and LAE, it should work this time as long as all the other steps in the documentation were followed.
4. Lastly to be safe you will want to replace the root.war file that is in the installation. It is possible that it could be expanded again at some point in the future and replace what you just modified in the work directory, in which case you would have to edit the lae-servlet.xml if it ever got overridden.
To avoid this from being an issue, navigate to the directory and run the following:cd <LAE Home>/jetty/work/jetty-0.0.0.0-8080-root.war-_-any
jar cvf <directory to save new war>/root.war .
Backup the original root.war and move your new one into the jetty/webapps directory should it be expanded on any future restartmv <LAE Home>/jetty/webapps/root.war <LAE Home>/jetty/webapps/root.war.originalcp <directory to save new war>/root.war <LAE Home>/jetty/webapps/root.war
Note: Step 4 is being precautionary but highly recommended. Youll know if this worked after step 4. Youre just adding a line to explicitly tell the Oracle to use 10g dialect, which is what Oracle 11g uses and what we had tested on originally.
View ArticleFor MVS
1. Apply the keys in the UNICF50 member where the product is installed.
2. Check if the control file update was successful by going into the held queue and checking the UNIFAX report.
3. If the control file update was successful, you will see UPDATE COMPLETE at the bottom of this UNIFAX report. Please contact Infogix Customer Support if you do not see this.
For Windows
1. Apply the key in the Control File field where the product is installed.
2. Check if this control file update was successful by checking the UNIFAX50 report.
3. If the control file update was successful, you will see UPDATE COMPLETE at the bottom of this UNIFAX report. Please contact Infogix Customer Support if you do not see this.
OR
For Unix
To apply the password in UNIX:
1. Create a file called update.txt in your $BASE/license/run directory.
2. Paste in the keys provided by the support team, and save.
Example:
0 0 1 1 2 2 3 3 4 4 5 5 6
1...5....0....5....0....5....0....5....0....5....0....5....0
UDRS3 CE 1063 16366 17365 USUM3 CE 8263 16366 17365 UXPP3 CE 8363 16366 17365 PW 1066 PPPPPPCCCC 864710
3. Next, run the command unicf50 update.txt.
4. An output file will be created with a UNIFAX report in it. If the control file update was successful, you will see UPDATE COMPLETE at the bottom of this UNIFAX report.
Please contact Infogix Customer Support if you do not see this.
For AS/400
Updating the Control File fora New Expiration Date:
1. Update your library list. For example, for ACR/Detail-400, your library list should look like:
QGPL
QTEMP
DETAILPC
DETAIL
2. From a command line, process the following command: CALL CSEC <ENTER>
3. At the next screen, enter the following information:
New Expiration Date: 19365(example)[Provided by support]
Security Code: 36428(example)[Provided by support]
4.Hit <enter> after typing in this information and then F3 to exit. You are done. Your control file has been updated and you can log into the product.
View ArticleWe understand some customers have been using LAE's Brainscript for many years and may find the transition to Python difficult at first, but we feel it is best to move away from a proprietary script, with one of the main benefits being that users can get far better online community help for Python than Brainscript.
With that in mind, please see the below cheat sheet on how to configure certain actions in Python.
Action
ConfigureFields
ProcessRecords
Output all input fields
out1 += in1
Create a new field in a data set
out1.Name = str
out1.Name = "Monday"
Filtering on row values
out1 += in1
if in1['Billing Total'] > 100.00 and in1.Status == 'Active':
out1 += in1
Narrow down to list of fields on output from input
out1 += in1.field1
out1 += in1.field2
out1 += in1.field3
out1 += in1
Excluding fields
out1 += in1
out1 -= in1.Billing_Ref
out1 -= in1.Company_Code
out1 += in1.Billing_Total out1 += in1.Customer_ID
Renaming a field
out1 += in1
out1 -= in1.Customer_ID
out1.Customer_Ref = in1.Customer_ID
First or last execution of data
If node.firstExec:
Do x
Create and populate a new output field with record count
out1 += in1
out1.RecordCount = long
out1 += in1
out1.RecordCount = node.execCount
Convert the data type to Integer
out1 += in1
out1 -= in1.Account_Number
out1.Account_Number = int
out1 += in1
#cast each value of Account_Number to an integer
out1.Account_Number = int(in1.Account_Number)
Get a property value
out1 += in1
out1.tmpdir = str
node.properties
out1.tmpDir= node.properties.getString('','ls.brain.outputtempdir')
#userName= node.properties.getString('','graph.userName')
#dataflowName= node.properties.getString('','graph.graphname')
#out1.tmpdir= tmpDir + "/" + userName + "/" + dataflowName
Get Count or rows
out1 += in1
out1.gc = int
out1.gc=group.count()
Output all fields and the running sum of a field
out1 += in1
out1.SumTotal = float
out1 += in1
if node.firstExec:
sumTotal = 0 sumTotal += in1.total out1.SumTotal = sumTotal
Logging an error and failing the node upon encountering an error condition
out1 += in1
out1 += in1
#AccountNumber is a required field, error if not present
if in1.AccountNumber is None:
msg = 'Account Number missing on record: '
record = str(node.execCount)
node.logger.error(msg + record)
raise node.fail()
Replace function
out1 += in1
# Replace "a" with "b"
out1.Name1 = str(in1.Name.replace('a', 'b'))
Formatting a string to date
out1 += in1
out1 -= in1.Transaction_Date
out1.Transaction_Date = datetime.date
out1 += in1
out1.Transaction_Date = datetime.datetime.strptime(in1.Transaction_Date, '%Y-%m-%d').date()
How to handle NULL values in a field
if in1.type is None:
out1.MyColumn2 = None
else:
out1.MyColumn2 = in1.type.replace("primary","PR***")
Formatting string date field to a date data type where the field has NULLS and blanks in it
out1 += in1
out1 -= in1.dueDate
out1.dueDate = datetime.date
out1 += in1
if in1.dueDate is None or in1.dueDate == "":
out1.dueDate = None
else:
out1.dueDate = datetime.datetime.strptime(in1.dueDate, '%Y-%m-%d').date()
To make string uppercase
out1.Name = str
out1.Name = in1.Name.upper()
Add timestamp to record
out1.ts = datetime.datetime
out1.ts = datetime.datetime.now()
Convert a string timestamp to a timestamp data type
out1 += in1
out1.timestamp = datetime.datetime
out1.timestamp = datetime.datetime.strptime(in1.DateTime, '%d/%m/%Y %H:%M:%S')
Add x hours to a timestamp
In1.mydatetime + datetime.timedelta(hours=12)
Minus x hours to a timestamp
In1.mydatetime - datetime.timedelta(hours=12)
Calculate duration between 2 datetimes (remove nanoseconds)
start = datetime.datetime.now().replace(microsecond=0)
out1.end = datetime.datetime
out1.duration = str
out1.end = datetime.datetime.now().replace(microsecond=0)
out1.duration = str(out1.end-start)
#Alternate method to get duration in days
duration = fields.fieldX - fields.fieldY
out1.duration = duration.days
Get Month and Year from input date field
Combine multiple string fields together
out1.Test = in1.Country + " " + in1.CountryCode
Split node
out1 += in1
out2 += in1
if inputs[0]['Original Field Name'] is not Null or inputs[0]['New Field']:
outputs[0] += inputs[0]
if inputs[0]['REQUIRED'] is not Null:
outputs[1] += inputs[0]
Output only records that contain a specific column and value
out1 += in1
f_I_ADDR_IND=False
if hasattr(in1, 'I_ADDR_IND'):
f_I_ADDR_IND=True
if f_I_ADDR_IND:
v_I_ADDR_IND = in1.I_ADDR_IND
else:
v_I_ADDR_IND = None
if v_I_ADDR_IND == "D" or v_I_ADDR_IND == None:
out1 += in1
else:
pass
Dont output
out1 += in1
out1 = none
Flag Duplicates in an Aggregate
GroupBy:
fields["PASSFRST"],\
fields["VALCARR"],\
fields["DEPDATE"],\
fields["ORIGIN"],\
fields["DESTINAT"],\
fields["TRANTYPE"],\
fields["EXCHANGE"]
out1 += in1
out1.DUPLICATE = bool
if node.firstInGroup:
out1.DUPLICATE=False
else:
out1.DUPLICATE=True
Regular Expressions
re.match() - only find matches if they occur at the start of the string being searched.
re.search() - doesnt restrict to beginning of the string
re.findall()
Regex to find values in brackets and replace
import re
replaced = in1.FieldValue
out1 += in1
m = re.findall('\[\'.*?\]',in1.FieldValue)
str1 = '-'.join(m).replace("\'","\\\'")
replaced = re.sub('\[\'.*?\]', str1, in1.FieldValue)
out1.FieldValue = replaced
Use a Regular Expression
SpeedFound += in1
SpeedNotFound += in1
SpeedFound.Speed = str
import re
s=None
p1 = re.compile('\s\d+(Mbps|Mb|MB|Kb|KB)')
if inputs[0]['OFFER'] is not Null:
s = p1.search(inputs[0]['OFFER'])
if s:
SpeedFound.Speed = s.group()
SpeedFound += in1
else:
SpeedNotFound += in1
Sum Field in Aggregate
out1+="MySum"
out1 += in1
if node.firstExec:
ms = 0
ms=ms+float(in1['myinteger'])
out1.MySum=ms
Show directory parameters
out1.directoryToDelete = str
user=node.properties.getString('u','graph.userName')
df=node.properties.getString('df','graph.graphName').replace(" ","+")
dir="{{%ls.brain.node.tempdir%}}"+"/"+user+"/"+ df
out1.directoryToDelete = dir
Ordered Output
Use OrderedDict objects for the input fields and newly created fields:
from collections import OrderedDict
inFlds = OrderedDict()
inFlds['0'] = in1.id
inFlds['1'] = in1.rand
inFlds['2'] = in1.color
newFlds = OrderedDict()
newFlds['Debug'] = str
newFlds['Username'] = str
newFlds['Event Dttm'] = str
newFlds['Source IP'] = str
newFlds['Resource'] = str
newFlds['Request'] = str
for fld in inFlds:
out1 += inFlds[fld]
for fldName in newFlds:
out1[fldName] = newFlds[fldName]
Get into the habit of defining all newly created string fields as 'unicode' data type rather than 'str' data type unless you really need to limit the values to ASCII characters
Loop through input fields
FieldStr = node.properties.getString('Columns to Concatenate','rtp_Columns_to_Concatenate', None)
if FieldStr is None:
node.logger.error('The \'Columns to Concatenate\' property must be configured.')
raise node.fail()
else:
FieldList = FieldStr.split(",")
NumFields = len(FieldList)
i = 1
while i < NumFields:
thisField = FieldList[i].strip().strip("'")
if inputs[0][thisField] is not Null:
## Append the value to the concatenated string
_concatStr = _concatStr + _delimiter + unicode(inputs[0][thisField])
else:
if _missingValueAction == 'Error':
node.logger.error('Missing Value in field \'' + thisField + '\' at record ' + str(node.execCount))
raise node.fail()
if _missingValueAction == 'Insert Blank':
## Insert a delimiter
_concatStr = _concatStr + _delimiter
if _missingValueAction == 'Skip':
## Do nothing
pass
i +=1
Arithmetic
v_result = eval(in1.fieldA + 1)
FilePath name from filename and directory
Replace Null function for string
def replaceNull(x):
if x is Null:
return ""
else:
return x
out1.color = str(in1.color) + replaceNull(in1.junk)
Replace Special Characters
Exclude Fields Using Pattern
out1 -= patterns.regex('^Xsd', in1)
*XSd is the String you want to exlude. This will exclude fields starting with Xsd
Copy an object
import copy
out1.obj_1 = unicode
out1.obj_2 = unicode
#### ProcessRecords
## Create a compound list object
list_1 = ['Ann',1,['Hi','There!']]
## Assign another variable to have
## the structure and values of the
## first but use a separate object
list_2 = copy.deepcopy(list_1)
## Now update some elements using the
## name of the second variable
list_2[2][0] = 'Bye'
list_2[2][1] = 'Bye!'
## Output string representations of
## both variables
out1.obj_1 = unicode(list_1)
Try Statement
Try:
X=1
Except:
X=1
Else:
X=0
Finally:
X=9
Check if Field exist on input
rc = inputs[0].find('OwnerRelationshipUID')
# -1 means not found. If found it will be the index
if rc < 0:
ou1.OwnerRelationshipUID = unicode
Replace unknown character
str.decode("utf-8").replace(u"\u2022", "*")
#Use Wikipedia to get list of characters when/if it fails for a specific unknown character https://en.wikipedia.org/wiki/List_of_Unicode_characters
Encode in a different character set. For example Eagle financial data
import sys
reload(sys)
sys.setdefaultencoding('ISO-8859-1')
int, long, double, unicode, string, date, time, datetime and boolean
Output Types
Python
Dataverse
bool
boolean
int
int
long
long
float
double
datetime.date
date
datetime.time
time
datetime.datetime
datetime
str
string
unicode
unicode
All the date time stuff you could want
import datetimenow = datetime.datetime.now()printprint "Current date and time using str method of datetime object:"print str(now)printprint "Current date and time using instance attributes:"print "Current year: %d" % now.yearprint "Current month: %d" % now.monthprint "Current day: %d" % now.dayprint "Current hour: %d" % now.hourprint "Current minute: %d" % now.minuteprint "Current second: %d" % now.secondprint "Current microsecond: %d" % now.microsecondprintprint "Current date and time using strftime:"print now.strftime("%Y-%m-%d %H:%M")printprint "Current date and time using isoformat:"print now.isoformat()
Results:
Current date and time using str method of datetime object:2014-09-26 16:34:40.278298Current date and time using instance attributes:Current year: 2014Current month: 9Current day: 26Current hour: 16Current minute: 34Current second: 40Current microsecond: 278298Current date and time using strftime:2014-09-26 16:34Current date and time using isoformat:2014-09-26T16:34:40.278298
Directly from the time module documentation,here are more options to use withstrftime:
Directive
Meaning
Notes
%a
Locale's abbreviated weekday name.
%A
Locale's full weekday name.
%b
Locale's abbreviated month name.
%B
Locale's full month name.
%c
Locale's appropriate date and time representation.
%d
Day of the month as a decimal number [01,31].
%H
Hour (24-hour clock) as a decimal number [00,23].
%I
Hour (12-hour clock) as a decimal number [01,12].
%j
Day of the year as a decimal number [001,366].
%m
Month as a decimal number [01,12].
%M
Minute as a decimal number [00,59].
%p
Locale's equivalent of either AM or PM.
(1)
%S
Second as a decimal number [00,61].
(2)
%U
Week number of the year (Sunday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Sunday are considered to be in week 0.
(3)
%w
Weekday as a decimal number [0(Sunday),6].
%W
Week number of the year (Monday as the first day of the week) as a decimal number [00,53]. All days in a new year preceding the first Monday are considered to be in week 0.
(3)
%x
Locale's appropriate date representation.
%X
Locale's appropriate time representation.
%y
Year without century as a decimal number [00,99].
%Y
Year with century as a decimal number.
%Z
Time zone name (no characters if no time zone exists).
%%
A literal "%" character.
Create Date
import datetimea = '2010-01-31'datee = datetime.datetime.strptime(a, "%Y-%m-%d")datee.monthOut[9]: 1datee.yearOut[10]: 2010datee.dayOut[11]: 31
Default emit
matches += rightInput.difference(leftInput)i.e.outputs[0] += inputs[0]outputs[0] += inputs[1].difference(inputs[0])
View ArticleThere are two types of OutOfMemory (OOM) error that can be displayed to Data3Sixty Analyze users -
1. The Tomcat web application server can run out of memory. You will see an OOM error in the User Interface (UI) when you are trying to make a change to the data flow (Section A).
2. Thenode can run out of memory. You will see an OOM error when it is running and then fails (see section B below).
SECTION A -STEPS TO RESOLVE TOMCAT OOM ERRORS:
If you hit the out of memory error in the UI, you can follow these instructions to increase the JavaMaxHeap size. Details on how to do that can be found in the help section: Getting Started > System Administration > Performance Tuning > Java Heap Space, and the steps for Windows and Linux are outlined here also.
NOTE: We request that you open a Support ticket if you encounter this issue - we'd like to know if the problem is due to a large number of users or if it's a bug that needs to be fixed. Also, there may be ways to tweak the dataflow so that it uses memory space more efficiently, which our Support staff can help you with. In some user cases, theJavaMaxHeap may already be high enough, and a different resolution is required.
STEPS FOR WINDOWS:
1. Open the command prompt as Administrator and cd to the Data3Sixty Analyze installation directory by entering
cd "\program Files\Data3SixtyAnalyze\tomcat\bin"
2. For this step, you may need to look up the exact Tomcat Service. To do that, from the Start menu type the word "Services" and a list of the Windows services will come up. Scroll down to the Data3Sixty Analyze services, there should be 3 of them, per the screenshot:
Xml
Hover over the third Data3Sixty Analyze service and the exact details that should be entered into the command will be displayed to you. The command should look something like this if you're using version 3.4.1 on port 8081:
tomcat9w.exe //ES//Data3SixtyAnalyze-7731-TomcatServer3.4.1-8081
So in the command prompt, step 2 should look something like this:
Press Enter and the Properties dialog will appear.
3. In the Properties dialog, select the Java tab and near the end adjust the Maximum memory pool parameter and click Apply.The new value depends on the amount of memory on your computer and the OS.
4.Restart the Data3Sixty Analyze Services
STEPS FOR LINUX:
1. Navigate to this directory <Data3SixtyAnalyze installation directory>/tomcat/bin and locate
setenv.sh
2. The Xmx value is the one that needs to be edited.
For further reading, here is a link to some documentation that explains Xml well:
3. Restart the Data3Sixty Analyze Services
SECTION B -STEPS TO RESOLVE NODE OOM ERRORS:
ERROR MESSAGE:
Unexpected error occurred during processAll while running the node: java.lang.OutOfMemoryError: GC overhead limit exceeded.
This can occur in a Sort node if you're using a lot of unique key values. However, it can affect any nodes which have very narrow records (very few columns with smaller values in them) andthe system is unable to allocate memory.
It can also occur in the Excel nodes if the spreadsheet being read or written to is large enough.
STEPS:
In the Define tab for the node, create a property called JvmMaxHeapSize, the type should be String, and set it to some big number e.g. `4g`.
To make this change globally, you couldset it as a data flow level parameter. We recommend you test it first on a sample data flow. The value should remain at 4g at data flow level. Setting the parameter at dataflow level will work on all Java based nodes, the superseded nodes will not be affected.DB Query is C++ based, but JDBC Query is Java based.
View ArticleWhen you browse through the internet and visit different sites, your browser saves several contents and data in temporary storage. This temporary storage is called "cache". To get rid of the fluff you should clear the cache from time to time.
You can follow the below link to delete the cache on Windows from different browsers.
https://clear-my-cache.com/en/windows.html
View ArticleHow the User Report is written in relation to the User Report XML. It depends on if you're autoloading or writing to a dataset.
If you're writing XML to a file: ACR builds the XML in its work/buffer space as the report is being written to the normal report DD. Once the buffer reaches 2000 it writes one line of XML to the XML dataset and starts over (the LRECL of the UNIWXML is 2000).
If you're autoloading XML to the Insight database: ACR builds the XML in its work/buffer space as the report is being written to the normal report DD. It checks the user options file to ensure the number of bytes hasn't been exceeded.
For example, if you had the limit set to 10,000 bytes it would continue building the work/buffer space until that number was reached but then not autoload and instead write to the recovery file (optional).
View Articlehere
ATTENTION: In order to continue receiving product update notices, please Sign In and select Follow on the Data3Sixty Govern announcements page.
Anupdate will be applied to the Production environment at 5 pm EST today on Thursday, November 21, 2019.
Whats New?
The following issues have been corrected and will be applied with this update:
Fixed an issuethat caused the certification workflow to be triggered multiple times after just one click of the Request Certification button.
The UID value of the action is now returned by the Actions v2.0 API GET /api/v2/actions endpoint, allowing you to link an asset on which an action was raised to the corresponding workflow items.
For more information about this release, see the 'What's new' section in the product help.
Infogix, 1240 East Diehl Road, Suite 400, Naperville, IL, 60563, USA, +1.630.505.1800
View ArticleThis article describes how to update the Oracle driver for VisibilityAPI on the z/OS platform
By default, VisibilityAPI is packaged with both "ojdbc6.jar" and "ojdbc14.jar" drivers. Utilizing an Oracle driver not supplied by Infogix will result with the following ERROR due to limitations with the driver ( api.log excerpt ) :
ERROR - main com.infogix.insight.insightapi.writer.db.DatabaseWriterService getDbConnectionjava.sql.SQLRecoverableException: IO Error: Undefined Error at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:673) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:711) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:385) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:30) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:558) at java.sql.DriverManager.getConnection(DriverManager.java:675) at java.sql.DriverManager.getConnection(DriverManager.java:258) at com.infogix.insight.insightapi.writer.db.DatabaseWriterService.getDbConnection(DatabaseWriterService.java:167) at com.infogix.insight.insightapi.writer.WriterFactory.createWriter(WriterFactory.java:81) at com.infogix.insight.insightapi.InsightAPIService.publishMessage(InsightAPIService.java:719) at com.infogix.insight.insightapi.InsightAPIService.createStartRecord(InsightAPIService.java:108) at com.infogix.insight.insightapi.ACRRecordParser.parse(ACRRecordParser.java:336) at com.infogix.insight.insightapi.ACRRecordParser.main(ACRRecordParser.java:538)Caused by: oracle.net.ns.NetException: Undefined Error at oracle.net.ns.NSProtocolStream.negotiateConnection(NSProtocolStream.java:272) at oracle.net.ns.NSProtocol.connect(NSProtocol.java:263) at oracle.jdbc.driver.T4CConnection.connect(T4CConnection.java:1360) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:486) ... 12 more
If the need arises, these may be replaced with newer versions, though certain steps must be taken to ensure :
1 ) New driver is compatible with VisibilityAPI on z/OS
2 ) New driver has been reflected in all necessary locations of the VisibilityAPI installation
In this exercise, we will update an "ojdbc7" driver to allow compatibility with VisibilityAPI. The "ojdbc7.jar" driver may be downloaded from Oracle's website. It is encouraged to verify that you are downloading the latest version of the necessary driver.
Once the "ojdbc7.jar" has been downloaded, the following patch will be necessary to ensure compatibility with the z/OS platform ( and therefore VisibilityAPI ) :
https://support.oracle.com/knowledge/Middleware/2219003_1.html#FIX
Failure to update the driver with this patch will result in the following ( api.log excerpt ) :
ERROR - main com.infogix.insight.insightapi.writer.db.DatabaseWriterService getDbConnectionjava.sql.SQLException: ORA-28040: No matching authentication protocolat oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:305) at oracle.jdbc.driver.T4CTTIoer.processError(T4CTTIoer.java:272) at oracle.jdbc.driver.T4CTTIoauthenticate.receiveOsesskey(T4CTTIoauthenticate.java:243) at oracle.jdbc.driver.T4CConnection.logon(T4CConnection.java:304) at oracle.jdbc.driver.PhysicalConnection.<init>(PhysicalConnection.java:348) at oracle.jdbc.driver.T4CConnection.<init>(T4CConnection.java:151) at oracle.jdbc.driver.T4CDriverExtension.getConnection(T4CDriverExtension.java:32) at oracle.jdbc.driver.OracleDriver.connect(OracleDriver.java:563) at java.sql.DriverManager.getConnection(DriverManager.java:419) at java.sql.DriverManager.getConnection(DriverManager.java:467) at com.infogix.insight.insightapi.writer.db.DatabaseWriterService.getDbConnection(DatabaseWriterService.java:167) at com.infogix.insight.insightapi.writer.WriterFactory.createWriter(WriterFactory.java:81) at com.infogix.insight.insightapi.InsightAPIService.publishMessage(InsightAPIService.java:719) at com.infogix.insight.insightapi.InsightAPIService.createEndRecord(InsightAPIService.java:263) at com.infogix.insight.insightapi.ACRRecordParser.parse(ACRRecordParser.java:369) at com.infogix.insight.insightapi.ACRRecordParser.main(ACRRecordParser.java:538)
Please note : To download the above patch you must be registered on Oracle's website. This patch will be applied directly to the downloaded driver.
Attached to this article is an already updated "ojdbc7.jar" for reference. The attached driver was downloaded and patched on 11/2019, so it should be noted that newer versions of this driver may be available since the publication of this article.
Now that we have a compatible / updated version of the needed driver, we will place on the mainframe ( via binary transfer ) and ensure the following files have been updated to point accordingly :
1 ) ENVFILE / PROCLIB ( ENVSHELL )
This file will be located on the ISPF-side of the z/OS environment. Within, you will want to ensure to update the "CLASSPATH=" value to reflect the location of your new driver. In addition, updates to your Java LIBPATH / PATH may be necessary depending on what driver version is being utilized.
2 ) "recover.sh"
This file will be located on the USS-side of the z/OS environment ( <install_home/bin directory ). Within, you will want to ensure again that the "CLASSPATH=" value is reflecting the location of your new driver. In addition, updates to the Java being utilized may be performed.
Once all the above has been thoroughly updated, review the JCL for your job to reflect any necessary value changes ( JVMLDM70, new PROC, etc.. ).
View ArticleThis article will go over how data elements are stored in Infogix Data3Sixty DQ+ installations.
Data elements are stored in three main areas:
ApplicationDB: Postgres (on-prem and Infogix Cloud)
Definition configurations (Analysis, Data Store, etc.)
Data View creation & loading
Workflow management
Application management information
Audit trails, Exceptions, Process Status
Attachments, Comments, Annotations links
Execution History (enterprise deployments only)
Compute Cluster: Hadoop(on-prem and Infogix Cloud)
Compute job submissions
Data Prep, Validation, and Analysis job execution inputs and outputs
Process/job logs
Process Status Monitoring
ComputeDB: Vertica (on-prem) or RedShift (Infogix Cloud)
Contains data stored within DQ+ Data Views
Processes queries made by DQ+ Dashboards
DynamoDB (Infogix Cloud only)
Execution History
View ArticleIn this article, we'll explore some ways to optimize SQL queries that controls run due to how queries are run starting in Assure 9.0 & higher.
Changing the execution profile
There are also a couple of ways we can manipulate when Assure does control data statistics updates. The first way is by changing the various execution profile *_UPDATE_STATISTICS properties to false.
Assure supports execution profiles for capturing and scanning control points - "small", "medium", "large" and "extralarge". There is also a "default" setting, which is configurable (it is the backward compatible "extralarge" in the package provided). Basically, the out of box properties are for "small" to work well with tens-to-hundreds, "medium" to work well with hundreds-to-thousands, "large" to work with thousands-to-tens-of-thousands and "extralarge" to work with many-tens-of-thousands-or-more. The out of box defaults for Assure are to behave like it did before execution profiles (everything is "extralarge").
For medium through extralarge, the out of box configuration is for control data database statistics to be performed. This means you can set those to false. In override.properties you would add:medium_UPDATE_STATISTICS=falsemedium_SCAN_UPDATE_STATISTICS=falselarge_UPDATE_STATISTICS=falselarge_SCAN_UPDATE_STATISTICS=falseextralarge_UPDATE_STATISTICS=falseextralarge_SCAN_UPDATE_STATISTICS=false
Setting UPDATE_STATS_MIN_UNITS to a higher value
The other way is the UPDATE_STATS_MIN_UNITS property, whose value is a number. By default, this property is simply 1, so all multi-capture or scan control points will update stats, subject to what the above execution profile has set to true. If you choose to set this to a higher value in override.properties, then only control points that have processed (captured or scanned) that many records will do the stats.
Note: Assure will first check if the execution profile does stats, and if it does, then it will check if the value set to UPDATE_STATS_MIN_UNITS has been met.
Reverting to the 8.4 & older query
Beginning with release 9.0, the control data statistics update statement that control points might issue changed. In the older 8.4 release, the following was used:
ANALYZE TABLE {0} ESTIMATE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS SAMPLE 20000 ROWS
In release 9.0 & newer the newer statement is:
'{'call DBMS_STATS.GATHER_TABLE_STATS(''@DATABASE_SCHEMA@'',''{0}'')'}'
We have found that, despite the newer query looking better than the old one to most DBAs, the newer one is more comprehensive and can run slower than the old query.
With that in mind, one of the things you could do is override the configuration and put it back the way it was in the older release. To do so, you would put the following in override.properties in the same config folder where IA.properties is for your installation configuration, and then run update-config.
ORACLE_UPDATE_TABLE_STATS_SQL=ANALYZE TABLE {0} ESTIMATE STATISTICS FOR TABLE FOR ALL INDEXES FOR ALL INDEXED COLUMNS SAMPLE 20000 ROWS
To recap: some DBA's prefer to say "don't let Assure do it; we do stats overnight, just leave it". So, they might set the UPDATE_STATS_MIN_UNITS to a large value (say a billion) so that Assure doesn't do it at all. We can also have a control point specific minimum units configuration override for situations where you have turned it off but then find that the performance of, say, a recon control point that runs after a multi-capture that captures a lot of new data, has gotten really bad unless the recon cp runs the next day (after the system-wide stats maintenance occurs). If all else fails, you can change the query back to the old 8.4 version.
View ArticleSeveral Infogix products utilize Adobe Flex SDK as an underlying framework for Adobe Flash. Adobe plans to discontinue support for Adobe Flex and Flash at the end of 2020 ( Adobe Flash Update ).
Infogix has plans to phase out both Adobe Flash and Flex within their products in order to support these new policies.
The following products are impacted by this announcement:
Infogix Assure
Infogix ER
Infogix Insight
Infogix Perceive
The following Infogix products are not impacted by this announcement:
Infogix ACR
Data3Sixty DQ+
Data3Sixty Govern
Data3Sixty Analyze
IVM
LAE
Action Required:
It is recommended that customers plan to upgrade to the updated Infogix product versions listed below. Failure to do so may result in your Infogix product versions to be inaccessible with browsers.
Infogix Assure 9.2 (available now)
Infogix ER 9.2 (available now)
Infogix Insight 9.3 (available early 2020, plus a patch mid-2020 to remove Flash)
Infogix Perceive 9.3 (available early 2020)
View ArticleThis section contains the installation files and patches for Assure, Insight, Perceive and ER.
If you do not see additional articles in this section nor within the list on the left-hand side of this article, please sign in and the download articles will become visible.
View Articlehere
ATTENTION: In order to continue receiving product update notices, please Sign In and select Follow on the Data3Sixty Govern announcements page.
Anupdate will be applied to the DEV/UAT environment at 5 pm EST today on Wednesday, November 20, 2019.This update will be applied to Production shortly thereafter. A separate announcement will be posted regarding the update to Production
Whats New?
The following issues have been corrected and will be applied with this update:
Fixed an issuethat caused the certification workflow to be triggered multiple times after just one click of the Request Certification button.
The UID value of the action is now returned by the Actions v2.0 API GET /api/v2/actions endpoint, allowing you to link an asset on which an action was raised to the corresponding workflow items.
For more information about this release, see the 'What's new' section in the product help.
Infogix, 1240 East Diehl Road, Suite 400, Naperville, IL, 60563, USA, +1.630.505.1800
View ArticleProbable Cause: The expression contains incorrect values or types for the stated functions.
Resolution: Ensure that the expression contains valid values for the argument types.
View ArticleProbable Cause: The user attempts to test a control point that uses an API channel. Or, the user attempts to test an extraction that uses an API channel.
Resolution: Use the API to supply the data to the API channel.
View ArticleProbable Cause: The user specifies Record I/O for the data access method; however, the platform does not support this method.
Resolution: Use the Record I/O data access method, with native z/OS record handling, only for a z/OS client with remote capture.
View ArticleProbable Cause: The number of header rows specified for the layout does not match the number of header rows in the source file.
Resolution: Ensure that the number of header rows for the layout matches the number of header rows in the source file.
View ArticleIf you are using a database which requires a driver that is not shipped with Data3Sixty Analyze, you will need to install third party drivers. Analyze is capable of working with MANY database drivers. The Getting Started section in Analyze contains robust documentation on how to setup and configure your database.There are links to it below if you need them.
Note: please ensure that your driver is compatible with Java 8.
We recommend installing drivers in a sub-directoryunder the Site folder, e.g. <site directory>/lib/java/db/<driverName>.The `db` folder needs to be created under the site directory as it is not created during the install.
After placing the driver there, you will need to set 'DbDriverClasspath' on the node to the folder where you placed the driver.. for more info see the JDBC nodes, under the 'Advanced database connection' section, which can be found HERE.
On Windows, the easiest way of getting to the site folder is, within Windows Explorer, type %localappdata% into the address bar and hit 'Return' then navigate to Data3SixtyAnalyze/siteand then drill into the lib/java folder where you can create the 'db' folder and the required sub-folder for the specific database driver.
Directories under the Analyze installation folder (such as C:\Program Files\Data3SixtyAnalyze\lib\java\db ) should not be used as they will not survive an upgrade.For more on that see our documentation... Acquiring Data From A Database
View ArticleThis section contains the installation files and patches for Data3Sixty DQ+.
If you do not see additional articles in this section nor within the list on the left-hand side of this article, please sign in and the download articles will become visible.
View Articlehere
ATTENTION: In order to continue receiving product update notices, please Sign In and select Follow on the Data3Sixty Govern announcements page.
Anupdate will be applied to the DEV/UAT environment at 1 pm EST today on Thursday, November 14, 2019and same release will applied to Production this evening at 5 pmEST.
Whats New?
The following issues have been corrected and will be applied with this update:
Fixed an issue where saving an asset with a relationship field could cause other relationships of the same type to be removed if they shared the same related asset. For example, if there was a relationship A to B and A to C, saving on asset C would remove the A to B relationship.
For more information about this release, see the 'What's new' section in the product help.
Infogix, 1240 East Diehl Road, Suite 400, Naperville, IL, 60563, USA, +1.630.505.1800
View ArticleData3Sixty Govern (Govern) provides the Bulk Loader functionality when users want to add large volumes of data into their Govern environment. Data is added to a generated template, then uploaded into Govern.Bulk loading can make adding a lot of data easy and quick. To ensure the bulk loading process is smooth, below are some helpful tips to know:
Getting the Bulk Loader Template
Always download the latest template to ensure the template incorporates the most recent configuration.
Download the template from the environment that is intended for bulk loading. Do not cross environments. For example, do not download the template from Dev environment and use the template to load into Prod environment.
Populating the Bulk Loader Template
Required fields have a bold header on the template. Required fields must be completed.
Use Paste Values to avoid copying formatting when copying data from another source (excel, word, pdf, etc.) to the template.
List fields will appear as a dropdown in the template, choose values from the drop down to avoid errors.
The dropdown options only appear for the first 5 rows. Therefore, drag the dropdown options to all the rows that require this information to be completed.
When using the bulk loader to make mass updates to assets review any blank fields. If a field on the template is blank, then the bulk loader will update that field with blank information. Therefore, it is critical that no blanks exist in the template when doing mass updates unless that is the intended purpose.
For relationships, Asset IDs can be found on the wiki page of the asset or, if many asset IDs are required then,
Download the assets from the asset grid
Once downloaded, the information is located in the Asset ID column
It is the responsibility of the user to ensure only valid values are entered into fields. The bulk loader does not perform data validation. Entering an invalid value will result in the data not getting added or updated after the bulk load.
View Articlecommunity
An update will be applied to the PROD environment on Saturday, November 16, 2019 at 9:00 PM CST.
Please note that this product release is will be available to Infogix Saas customers.
Whats New?
This release of Data3Sixty DQ+ contains dashlet title bar configurations, data signature fields for profiling, and API Console enhancements. Make sure you check out your UAT environment to see the changes prior to Production.
Field Computation in Dashlet Title
Users can now edit the font and style of a dashlet title or add a placeholder to a dashlet title to reference a data view field computation, and use that to dynamically update a filter dashlet title. This provides more flexibility and data accuracy in the data displayed within a dashlet .
Structure Signature and Data Signature
Two new metrics have been added to data profiling: Structure Signature and Data Signature.
These unique identifiers can be used to compare fields across data stores to determine if fields are similar. This will help users identify like data across multiple data sources.
API Console (Tech Preview)
A new API Console allows for API calls to be made into DQ+ to conduct queries and obtain access to metadata and data stored within the solution.
Users are now able to export/import definitions, bulk load users, query data, and execute stages among several other queries all through the API.
The API Console will provide flexibility to interact with other API based systems while providing a public framework to easily communicate across systems.
For more about this release view the release notes. And don't forget to check out the to get your questions answered or to give us feedback. We love to hear from you.
View ArticleThis article will cover basic commands used to traverse OMVS in order to install Assure Client and Visibility API, as well as set up communication between Assure & ACR. OMVS is the UNIX side of Mainframe (as opposed to the z/OS side, which is what ACR runs on). It is commonly referred to as "OMVS" or "USS" (Unix Systems Services).
To access the UNIX side of Mainframe, simply enter in the command "OMVS" at the ready prompt. You can also run the OMVS command from the ISPF Command Shell (commonly option 6 from the main ISPF menu).
Method 1: Ready prompt
Method 2: ISPF Command Shell
Once there, you should see this screen:
On this screen, you will use UNIX commands to navigate. Here is a list of some common ones that can be used:ls -- Used to list all directories and files in your current location. Use "ls -l" to list extra information about a file or directory like its size and permissions.
cd -- Used to traverse through directories. Example: "cd directoryname" will go to a directory called "directoryname". To go back a directory, type "..".
mkdir -- Used to create a directory. Example: "mkdir directoryname" will create a directory called "directoryname".
oedit -- Used to edit files on the UNIX side of the Mainframe. Example: "oedit filename.properties" will edit a file named "filename" with an extension of ".properties".
unzip -- Used to unzip compressed files with the ".zip" extension. Example: "unzip file.zip" will unzip the compressed file "file.zip".
tar -- Used to unzip compressed folders with the ".tar" extension. Example: "tar file.tar" will unzip the compressed file "file.tar".
View ArticleFrom time to time when trying to create a new data flow on Data3Sixty Analyze Server version you may encounter the following error...
Here
NOTE:this is a known issue that will be resolved in a future release.
CAUSES:
This could occur due to a number of factors:
1. You don't have the correct license - i.e. one that includes permissions. Permissions didn't exist before version 3.2.4 so please check that your license is post version 3.2.4. You can check by clicking the "i" button in the Data3Sixty Analyze directory -> Licensing. Under the "Features" section it should say "Permissions" If that feature is not present you should reach out to our sales team and speak to them about having it added.
2. You have not been assigned access Permissions to the folder. Once you've verified that you have the Permissions feature, you'll need to have anadmin check the permissions on the folder that is having the problem - they need to make sure that you has some level of access.
3.Is there a folder on your default Library Paths that you don't have access to? This can occur when:i) You no longer have access to a folder listed in your default library pathsii) You have access to a folder listed in your default library paths, however the library path entry is set to "Search Subfolders" and there is one or more sub folders that you do not have access to.
RESOLUTION:
To resolve 3(i) you should go to your Library Path settings and remove the folder from the list.To resolve 3(ii) you should go to your Libary Path settings and either remove the folder from the list, or change it to not search subfolders.Alternatively, if you think you should have access to the folders, then you can request that your administrator user gives you access to these folders.
For more information on permissions, see Here.For more information on search paths, see
View ArticleThis article isfor users who have installed or upgraded Analyze "side-by-side" on the same box with the LAE (old version) software.
PROBLEM BACKGROUND:
Post upgrade, you may see an error like this when trying to run a node:
General Errors:Unable to connect to the Data3Sixty Analyze Server. Contact your system provider to ensure that the Data3Sixty Analyze Server isrunning at the expected location on localhost:7731.
ROOT CAUSE:
The old Linux environment variables may be still pointing to LAE.
If you have LAE (our old software) installed, you'll need to ensure that your Linux environment has NO references to any LAE folders.This applies both to doing the initial install, and any time you wish to start Data3Sixty Analyze - any environment references to the old software will cause Analyze to not start properly.
Note: using both systems on the same user account may cause you difficulty with system limits such as max number of open files, or max number of tasks.
RESOLUTION:
To resolve this, you'llneed to clean out the LAE environment variables and restart Analyze.This ensures that there are no links to LAE.
Cleaning the variables can be done in one of three ways:1) don't load LAE/ .profile.lavastorm for the current login session2) manually remove all references to LAE from any environment variable3) use the attachedsource clearEnv.sh script - RECOMMENDED
View ArticleThis articles covers how to start and stop Data3Sixty Analyze on both Desktop and Server editions.
Data3SixtyAnalyze Desktop
Starting Data3SixtyAnalyze
In Windows, open the Start menu. Select All Programs->Data3SixtyAnalyze->Start Data3SixtyAnalyze as shown below.
Building Your First Dataflow
You can also use the Start Data3SixtyAnalyze desktop icon if the installer created one.
When you click this icon, two things happen:
The Data3Sixty Analyze server starts in the background if it is not already running.
Your default web browser opens and connects to the Data3Sixty Analyze server. Occasionally, the browser will get ahead of Data3Sixty Analyze and give an error when connecting. Simply wait a few minutes and try again.
Now that Data3Sixty Analyze is started and you are connected to it, you can start .
Stopping Data3Sixty Analyze
To shut down Data3Sixty Analyze, perform the following two actions:
Close the web browser window that connects to the Data3Sixty Analyze server. Be sure to save your work first!
If you are working on a dataflow, click on the Save button to save it. The Save button is the picture of the diskette below.
Click on the Back button to return to the Directory. The Back button is the blue left arrow above.
Close the browser tab for Data3Sixty Analyze.
Click the Stop Data3SixtyAnalyze icon. You can find it next to the Start Data3SixtyAnalyze icon in your Start menu.
If you attempt to use Data3Sixty Analyze after the server is shutdown, it will not be able to find the server, and you will receive an error. Simply close any browser windows and start the Data3Sixty Analyze server using the directions above.
Data3SixtyAnalyze Server (Windows)
Data3Sixty Analyze is started and stopped via Windows services. The name of the service includes the port number and version number of Data3Sixty Analyze. By default, the port is 7731.
Starting Data3SixtyAnalyze
Open the Windows Services dialog
StartData3SixtyAnalyze-<port>-PostgresServer-<version> service
Start Data3SixtyAnalyze-<port>-TomcatServer-<version> service
Start Data3SixtyAnalyze-<port>-Server-<version> service
Stopping Data3Sixty Analyze
Stopping the services is in the reverse order as starting:
Open the Windows Services dialog
Stop the Data3SixtyAnalyze-<port>-Server-<version> service
Stop the Data3SixtyAnalyze-<port>-TomcatServer-<version> service
Stop the Data3SixtyAnalyze-<port>-PostgresServer-<version> service
Data3SixtyAnalyze Server (Linux)
Starting Data3SixtyAnalyze
Navigate to the installation folder and run the following built-in script:
./launchData3SixtyAnalyze.sh
Stopping Data3Sixty Analyze
Navigate to the installation folder and run the following built-in script:
./stopData3SixtyAnalyze.sh
View ArticleAvro Schema and Transformation BuilderThe Avro Schema and Transformation Builder allows you to view and build schema andtransformations of Avro content, for example in Kafka data stores.This feature allows you to build out Avro schemas and transformations faster and easier.
JSON Schema and Transformation BuilderThe JSON Schema and Transformation Builder has been enhanced in this release. It now operatesin an input or output mode, depending on the context. When using the JSON Schema andTransformation Builder in a Kafka Data Store:l If This channel will be used to write to Kafka is selected, in the transformation dialog, the fieldstab includes only the "key" and "value" fields. Both fields are of type string.l If This channel will be used to write to Kafka is not selected, when you save any changes in thetransformation dialog, the output structure is used to create the data store field definitions.
Semantic TypesThe following semantic types have been added to data store and data view fields:
D3S.MACADDRESS - MAC Address
D3S.LANGUAGE.ISO-639-2 - Language code - ISO 639.
D3S.LANGUAGE.TEXT_EN - Language name, for example English, French
Profile Data StoreThe following new fields have been added to the fields that are created in the profile data store.
structureSignature (string) - A SHA-1 hash that reflects the structure of the data stream.
dataSignature (string) - A SHA-1 hash that reflects the contents of the data stream.
When a data store that has an associated profile data store is saved, these fields are added to theprofile data store if they don't already exist.
DashletsYou can now edit the font and style of a dashlet title, and you can add a placeholder to a dashlettitle to reference a data view field computation, and use that to dynamically update a filterdashlet title. For example, if you have different departments, listed in a "department" field in yourdata view, you can use those values in a Filter dashlet, and configure a Chart dashlet to use the"department" value in the title. If you select, for example, "HR", the dashlet title will be displayedas "HR department spend".
This feature gives you more control over dashboard configuration, by allowing a more dynamicdashlet title that helps users understand the visualization through a context-specific title.
Disable Merge CasesWithin a case store, there are use cases in which being able to Merge Cases does not makebusiness sense. To restrict this action, it is now possible to disable or hide the Merge Casefunction.
Sort lists in search fieldsIn previous versions of Data3Sixty DQ+, when viewing multiple values within a code set the valueswere displayed out of alphabetical order, which could make searching through longer listsdifficult. When code sets are displayed in case management and data entry screens, they are nowsorted in alphabetical order.
Docker RPM updatesBecause of Docker RPM upgrades in this release, Data3Sixty DQ+ requires container-se-linux tobe installed from the RedHat Extras Channel.
Default AWS instance updateFor SaaS customers, the default AWS instance family for dedicated clusters has been changedfrom r4 to r5.
View ArticleLearn how to aggregate your data based on a user specified field or fields and from the grouped data, output calculations/operations. These operations are:
Count of the records per group
Sum of the records per group based on a user specified field
Average of the records per group based on a user specified field
Min or Max which Outputs the smallest or largest number in the group
First or Last which Outputs the First or last record in the group
Sample or Population StDev Outputs a Standard deviation of all of the values for the specified field within the group.
Sample or Population Variance Outputs an Average of the squared differences from the mean
View ArticleLearn how to quickly and easily convert the data types of your input fields.
View Article