Feed JD Edwards Data into FineReport
The CData JDBC Driver for JD Edwards fully implements the JDBC standard and can provide JD Edwards data connectivity to a wide variety of BI, reporting, and ETL tools and custom applications. In this article, we explain how to set JD Edwards data as JDBC data source in FineReport and view JD Edwards data as a table in the Report Designer.
Set Up a JDBC Data Source of JD Edwards Data
Follow the instruction below to set JD Edwards data as a FineReport database connection.
- Copy the cdata.jdbc.jdedwards.jar file from the lib folder in the CData JDBC Driver for JD Edwards installation directory to the lib folder of the FineReport installation directory. You will need to copy the cdata.jdbc.jdedwards.lic file as well.
- From the Server tab, select Define Data Connection, click to add a new connection, and click JDBC.
Next we will set up the data connection definition in the window.
- Database: Others
- JDBC Driver: cdata.jdbc.jdedwards.JDEdwardsDriver
-
URL: A standard JDBC connection string using semicolon-separated connection properties.
The driver connects to JD Edwards through your Application Interface Services (AIS) Server. Set the following connection properties:
- URL: The base HTTPS URL of your AIS Server (e.g., https://jde-ais.example.com:8300).
- User: Your JD Edwards username.
- Password: Your JD Edwards password.
- Environment (optional): The JD Edwards environment to use (e.g., PD920 for production or DV920 for development). If not specified, the AIS Server's default environment is used.
- Role (optional): The JD Edwards role for the session. If not specified, the AIS Server's default role is used.
- DeviceName (optional): An identifier for the connecting device or application, used for auditing and logging on the AIS Server.
- Jasserver (optional): The specific Java Application Server (JAS) instance to route requests through, useful in clustered environments.
Choosing Which Data Is Exposed
JD Edwards organizes tables and business views by System Code, and the driver exposes each System Code as its own schema. Use these properties to control which schemas are available:
- DataModel: One or more ERP modules (comma-separated) whose System Codes are exposed as schemas, or All to expose every System Code in the connected instance. Defaults to FinancialManagement.
- SystemCodes: A comma-separated list of additional System Codes to expose alongside those from DataModel (e.g., 42,43).
When you connect, the driver sends your credentials to the AIS Server to obtain a session token and caches it. The driver requests a new token automatically before the session expires.
Built-in Connection String Designer
For assistance in constructing the JDBC URL, use the connection string designer built into the JD Edwards JDBC Driver. Either double-click the JAR file or execute the jar file from the command-line.
java -jar cdata.jdbc.jdedwards.jarFill in the connection properties and copy the connection string to the clipboard.
When you configure the JDBC URL, you may also want to set the Max Rows connection property. This will limit the number of rows returned, which is especially helpful for improving performance when designing reports and visualizations.
A typical JDBC URL is below:
jdbc:jdedwards:URL=https://your-jde-environment-app.example.com;User=admin;Password=myPassword; - Click Connection pool attributes and set Test before getting connections to No.
Click Test connection to ensure you have configured the connection properly. With the connection to JD Edwards set up, you can use it as FineReport data source.
Select JD Edwards Data in the Report Designer.
- Click to add a new template data set and select DB query to open the database query window.
- Choose the JDBC connection that you created from the dropdown list.
- The JD Edwards entities will appear as tables on the left pane.
- Write a SELECT statement for the JD Edwards data tables and columns that you want to load.
- Click preview and data is shown as table.
With these simple steps, JD Edwards can be used as a JDBC data source in FineReport.