Using Quick Report on Connect as Data Source (New Concept)

Story

  • IFS is transitioning to a cloud-based architecture, replacing direct SQL access with REST APIs.
  • This shift requires changes in how data is read and updated.
  • REST APIs provide improved security and are future‑ready, though they are less flexible than direct SQL.
  • This transition positions the platform for modern, scalable, cloud‑native solutions.

Quick Reports Overview

  • A Quick Report in IFS Cloud is a tool for creating ad‑hoc or custom reports based on system data.
  • Unlike pre‑built reports, Quick Reports allow users to define custom queries and outputs tailored to specific business needs.
  • In IFS Cloud, the architecture differs significantly from earlier versions (Apps 7/8/9/10):
    • Direct access to database tables is no longer permitted.
    • All data access must go through a Projection.
  • When a Quick Report is created, IFS Cloud automatically generates a dedicated projection for that report.

Creating a New Quick Report in IFS Cloud

Step 1 — Open Quick Reports

  • Navigate to Quick Reports.
  • Click New Quick Report to start creating a report.

Step 2 — Define the Report Name and Description

  • Enter a clear and descriptive report name (for example, Test Connect).
  • Add a short description to explain the report’s purpose.
  • Select SQL SELECT as the report type.

Step 3 — Write the SQL Query

  • Enter your SQL SELECT statement in the query editor.
SELECT part_no,
       description,
       contract
FROM ifsapp.inventory_part
  • Best practices:
    • Include only the columns you actually need.
    • Use WHERE clauses to limit the data set when appropriate.
  • Test the query to ensure it executes successfully.


Automatically Generated Projection

When a new Quick Report is created, IFS Cloud automatically generates a projection for it.

To view the projection:

  1. Open the Quick Report details.
  2. Select the report you created (for example, Test Connect).
  3. Locate the generated projection name.


Connecting the Quick Report to a Flow

Use the Quick Report Projection as a Data Source

  1. Create a new Flow app at build.novacura.com.
  2. Open the app in the Designer.
  3. Configure the flow as shown in the example below.


HTTP Request Configuration

  1. Set the Execution Context (Connector) to IFS Cloud.
  2. Select the HTTP Method: GET.
  3. Enter the Quick Report Projection URL, for example:/main/ifsapplications/projection/v1/QuickReports.svc/QuickReport_252006()
  4. Add the request header:
  • Content-Type: application/json
  1. Specify the Target Variable (for example: test).

Response Handling

  1. Set Expected Response Body to JSON.
  2. Define the Expected JSON Response Type as shown below.
{
    "@odata.context": text,
    "@odata.type": text,
    value: {
        C1_PART_NO: text,
        C2_DESCRIPTION: text,
        C3_CONTRACT: text
    }*
}


Assignment Step

Configure the assignment step to map the response data to variables used later in the flow.


User Step

  • Add a Data Grid component to display the retrieved data to end users.


Additional Information

Adding a New Column

To add a new column, two updates are required:

  1. Update the Quick Report in IFS
  • Add the new column to the Quick Report so it becomes part of the output.

Before adding a new column

select  part_no, 
        description,
        contract
from ifsapp.inventory_part

After adding a new column (Part_Status)

select  part_no,
        description, 
        contract , 
        Part_Status
from ifsapp.inventory_part 
  1. Update the HTTP Request and Response Handling
  • Include the new column in the expected JSON response configuration to ensure it is returned correctly.

Before adding a new column

{
    "@odata.context": text,
    "@odata.type": text,
    value: {
        C1_PART_NO: text,
        C2_DESCRIPTION: text,
        C3_CONTRACT: text
    }*
}

After adding a new column (Part_Status)

{
    "@odata.context": text,
    "@odata.type": text,
    value: {
        C1_PART_NO: text,
        C2_DESCRIPTION: text,
        C3_CONTRACT: text,
        C4_PART_STATUS: text

    }*
}

Extra Example: Using Parameters in a Quick Report

To retrieve specific data from IFS using parameters:

  1. Create a new Quick Report and name it, for example, Test Connect 2.
  2. Use the following SQL query:
SELECT part_no,
       description,
       contract
FROM ifsapp.inventory_part
WHERE part_no = &part_no
  AND contract = &contract
  1. Save and test the Quick Report.


Update the HTTP Request URL in the Flow

Before

/main/ifsapplications/projection/v1/QuickReports.svc/QuickReport_252006()

After

/main/ifsapplications/projection/v1/QuickReports.svc/QuickReport_799430(part_no='33369',contract='SFD')

Note:

  • The values part_no='33369' and contract='SFD' can be replaced with flow variables, for example:
(part_no={PartNo}, contract={Contract})

Thanks :slight_smile:

4 Likes