Import Real-Time JD Edwards Data via ODBC in ColdFusion to Build Applications
Adobe ColdFusion is a web and mobile application development platform. It uses its own scripting language, ColdFusion Markup Language (CFML), to create data-driven websites as well as generate remote services, such as REST. When ColdFusion is paired with the CData ODBC Driver for JD Edwards, you can link your ColdFusion web and mobile applications to operational JD Edwards data. This allows for your applications to be more robust and complete. This article details how to use the ODBC driver to create a table populated with JD Edwards data from within a ColdFusion markup file.
To follow along with this tutorial, you need to install the CData ODBC Driver for JD Edwards and Adobe ColdFusion.
Configuring the Connection
If you have not already, first specify connection properties in an ODBC DSN (Data Source Name). This is the last step of the driver installation process. You can use the Microsoft ODBC Data Source Administrator to create and configure ODBC DSNs.
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.
Adding a Data Source and Creating a Table
After creating a DSN, follow the steps below to add a new data source, test our connection to it, create a ColdFusion markup file, and, finally, import JD Edwards Data and display it in a table in ColdFusion:
-
From the ColdFusion administrator interface, choose Data & Services.
-
Here, click "Add New Data Source". The data source name can be any name, provided it conforms to the ColdFusion
variable naming conventions. For our ODBC driver, choose "ODBC Socket", then click the "Add" button.
-
From the ODBC DSN Dropdown menu select CData JD Edwards Sys. Under the Advanced Settings section, leave the
Connection String blank. Note that any properties specified in this input field will override the ones specified in the
DSN Configuration.
-
Now, test the connection by pressing the check mark to the left of the CDataJD EdwardsODBC data source you just created.
When the data source reports an "OK" status, it is ready for use.
-
Next, create a new ColdFusion Markup file (.cfm) and place it in the wwwroot directory ("C:\ColdFusion2021\cfusion\wwwroot")
for ColdFusion.
The following code queries the data source:
<cfquery name="JD EdwardsQuery" dataSource="CDataJD EdwardsODBC"> SELECT * FROM AccountsPayable.AccountLedger </cfquery>And a CFTable can be used to quickly output the table in HTML:<cftable query = "JD EdwardsQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>DocumentNumber</b>" align="Left" width=2 text="DocumentNumber"/> <cfcol header="<b>Amount</b>" align="Left" width=15 text="Amount"/> ... </cftable>Full code, including the HTML portion is available below:<html> <head><title>CData Software | JD Edwards AccountsPayable.AccountLedger Table Demo </title></head> <body> <cfoutput>#ucase("JD Edwards AccountsPayable.AccountLedger Table Demo")#</cfoutput> <cfquery name="JD EdwardsQuery" dataSource="CDataJD EdwardsODBC"> SELECT * FROM AccountsPayable.AccountLedger </cfquery> <cftable query = "JD EdwardsQuery" border = "1" colHeaders colSpacing = "2" headerLines = "2" HTMLTable maxRows = "500" startRow = "1"> <cfcol header="<b>DocumentNumber</b>" align="Left" width=2 text="DocumentNumber"/> <cfcol header="<b>Amount</b>" align="Left" width=15 text="Amount"/> ... </cftable> </body> </html> -
Finally, run the code in a browser. It produces a table populated with JD Edwards data!
As a note, the CData ODBC Drivers also support parameterized queries using the cfqueryparam element. For example:
SELECT * FROM Account WHERE name =
Get Started Today
Download a free, 30-day trial of the CData ODBC Driver for JD Edwards and start building JD Edwards-connected applications with Adobe ColdFusion. Reach out to our Support Team if you have any questions.