Skip to end of metadata
Go to start of metadata

You are viewing an old version of this content. View the current version.

Compare with Current View Version History

« Previous Version 36 Next »

Usecase

Backend Services to search data in file queues, Advanced search data based on Start Date and End Date in flex queues, and Solution tables having pagination support and Solution tables

1. Design Process flow

Overview

When the file queue page is accessed, the backend server performs specific steps to ensure that all relevant file queue data is accurately retrieved and displayed on the front end. There are three primary flows, each with a distinct purpose. Once designed, these flows need to be published for the REST provider.

Process Overview

When the file queue page is accessed, the backend server performs the following steps to ensure that all relevant file queue data is accurately retrieved and displayed on the front end. Here are three flows working and each flow has a purpose.

Once the flow has been designed, it must be published for the REST provider.

image-20240621-060942.png

a. Default Flow: Retrieve All File Information For the Last 30 days

image-20240620-115215.png

This process will extract all file information from the last 30 days.

image-20240620-113900.png
Process Steps

Step 1: Receive Request

  • Action: The backend server receives a request from the frontend to access the file queue page.

  • Trigger: Initiates the process of retrieving necessary file queue data.

Step 2: Query the Database

  • Action: The backend server queries the database to retrieve all relevant information.

  • Data Retrieved: File Phase, Error Descriptions, Total Record Count, Unique Record Count, Duplicate Record Count, File Status.

Step 3: Send Data to Frontend

  • Action: The backend sends the retrieved data to the front end.

  • Outcome: The front end displays the data, providing users with a comprehensive view of the file queue status and details.

image-20240620-113900.png

Process flow activity:

  1. Source Activity - The source comprises a database. It is necessary to create DbInfo and DbLayout to be invoked in the source activity

image-20240625-052511.png

You must utilize the EDIT Query option to efficiently retrieve attributes from multiple tables and display relevant information on the user interface. Additionally, you implement conditions to filter the data as needed.

image-20240621-073355.png

Table Name: DB/file_queueFQ/

 SQL Query

SELECT FQ.ID,FQ.PARTNER_NAME,FQ.TRANSACTION_TYPE,FQ.FILE_REF_ID,FQ.PHASE,FQ.OVERALL_STATUS,FQ.ERROR_CODE,FQ.INCOMING_FILE_DATE,FQ.TOTAL_RECORDS,FQ.DUPLICATE_RECORDS,FQ.UNIQUE_RECORDS,FQ.GROUP_ID,FQ.V3_GROUP_ID,FQ.V3_PHASE,FQ.V3_STATUS,FQ.V3_TOTAL_RECORDS,FQ.V3_GOOD_RECORDS,FQ.V3_ERROR_RECORDS,FQ.V3_PASS_PERCENTAGE,FQ.V3_ERROR_MESSAGE,FQ.CORE_PHASE,FQ.CORE_STATUS,FQ.CORE_TOTAL_RECORDS,FQ.CORE_GOOD_RECORDS,FQ.CORE_ERROR_RECORDS,FQ.CORE_PASS_PERCENTAGE,FQ.CORE_ERROR_MESSAGE,FQ.CREATED_BY,FQ.LAST_MODIFIED_BY,FQ.LAST_MODIFIED_DATE,FND.FILE_NAME,FND.CREATED_DATE,ER.ERROR_MESSAGE,FQ.TRANSACTION_NAME FROM file_queue FQ LEFT JOIN file_name_details FND on FND.FILE_QUEUE_ID=FQ.ID LEFT JOIN error_code ER on FQ.ERROR_CODE=ER.ERROR_CODE

 Where Clauses

WHERE FND.FILE_TYPE='INPUT_FILE' and DATE_SUB(NOW(), INTERVAL 30 DAY) < FND.CREATED_DATE ORDER BY FQ.ID DESC

  1. Target Layout - The JSON schema for the target data (database) will be designed to be utilized in the RESTful API for the user interface. JSON is selected for its compatibility with RESTful APIs.

image-20240621-072506.png

  1. Mapping - You must load the database schema and the target schema (JSON) to finalize the mapping process.

image-20240621-072358.png
  1. Context Target Using ContextTarget to store data in the flow which will be carried by the REST provider.

image-20240621-072858.png

b.Search Flow: Search by Filename & Transaction Id

This flow process is for searching specific file information within the system. It enables how the user initiates the search, the interactions between the front end and back end, and the final display of the filtered results to the user.

image-20240620-115506.png

Process Overview

The search process for file information involves several key steps, starting from user initiation to the final display of search results. The following sections detail each step in the process.

Process Steps

Step 1: User Initiates Search

  • Action: The user initiates a search for specific file information.

  • Interface: The search is conducted using a search bar or input field on the file queue page or a dedicated search interface.

image-20240620-120055.png

Step 2: Frontend Sends Request

  • Action: The frontend application captures the user's search query.

  • Request: The search query is encapsulated in a request and sent to the backend server for processing.

  • Data Sent: The request typically includes the search term(s) and any additional filters or parameters specified by the user.

Step 3: Backend Searches File Queue Data

  • Action: Upon receiving the request, the backend server initiates a search operation.

  • Database Query: The backend performs a query on the file queue data, searching for records that match the search query.

  • Search Criteria: The search operation may include matching filenames, dates, statuses, or other relevant metadata associated with the files.

Step 4: Backend Returns Filtered Results

  • Action: The backend processes the query results and filters out the relevant records.

  • Response: The filtered search results are then encapsulated in a response.

  • Data Returned: The response includes all relevant records that match the search criteria, formatted for easy consumption by the front end.

Step 5: Frontend Displays Results

  • Action: The front end receives the response from the backend.

  • Display: The filtered search results are displayed to the user clearly and organized.

  • User Interface: The results can be displayed in a list, table, or any other suitable format, allowing the user to browse and analyze the information easily.

Process flow activity:

  1. Source Activity: The source comprises a database. It is necessary to create DbInfo and DbLayout to be invoked in the source activity

image-20240625-052511.png

You must utilize the EDIT Query option to efficiently retrieve attributes from multiple tables and display relevant information on the user interface. Additionally, you implement conditions to filter the data as needed.

image-20240625-053240.png

Table Name: DB/file_queueFQ/

 SQL Query

SELECT FQ.ID,FQ.PARTNER_NAME,FQ.TRANSACTION_TYPE,FQ.FILE_REF_ID,FQ.PHASE,FQ.OVERALL_STATUS,FQ.ERROR_CODE,FQ.INCOMING_FILE_DATE,FQ.TOTAL_RECORDS,FQ.DUPLICATE_RECORDS,FQ.UNIQUE_RECORDS,FQ.GROUP_ID,FQ.V3_GROUP_ID,FQ.V3_PHASE,FQ.V3_STATUS,FQ.V3_TOTAL_RECORDS,FQ.V3_GOOD_RECORDS,FQ.V3_ERROR_RECORDS,FQ.V3_PASS_PERCENTAGE,FQ.V3_ERROR_MESSAGE,FQ.CORE_PHASE,FQ.CORE_STATUS,FQ.CORE_TOTAL_RECORDS,FQ.CORE_GOOD_RECORDS,FQ.CORE_ERROR_RECORDS,FQ.CORE_PASS_PERCENTAGE,FQ.CORE_ERROR_MESSAGE,FQ.CREATED_BY,FQ.LAST_MODIFIED_BY,FQ.LAST_MODIFIED_DATE,FND.FILE_NAME,FND.CREATED_DATE,ER.ERROR_MESSAGE,FQ.TRANSACTION_NAME FROM file_queue FQ LEFT JOIN file_name_details FND on FND.FILE_QUEUE_ID=FQ.ID LEFT JOIN error_code ER on FQ.ERROR_CODE=ER.ERROR_CODE

 Where Clause

WHERE FND.CREATED_DATE BETWEEN '$$start_date$$' AND DATE_ADD('$$end_date$$', INTERVAL 1 DAY) AND FND.FILE_TYPE='INPUT_FILE' ORDER BY FQ.ID ASC

  1. Target Layout - The JSON schema for the target data (database) will be designed to be utilized in the RESTful API for the user interface. JSON is selected for its compatibility with RESTful APIs.

image-20240625-054235.png
  1. Mapping - You must load the database schema and the target schema (JSON) to finalize the mapping process.

image-20240625-054541.png
  1. Context Target -The target will be ContextTarget to store data in the flow for the REST provider.

image-20240625-055043.png

c. Advanced Process Flow - Filtering Records by (Start Date & End Date)

image-20240621-055057.png

Overview

This Process flow is used for advanced search in which a user can filter records based on their start date and end date using the Advanced Search functionality. This includes the interactions between the frontend and backend systems to accomplish this task.

Process Steps

1. Date Range Selection

  • User Action:

    • The user selects a date range or enters specific dates to filter records by the created date.

  • UI Elements:

    • Date pickers for selecting the start and end dates.

    • A button to submit the filter request.

2. Request Submission

  • Frontend Action:

    • The frontend constructs a request with the selected date range like Start Date & End Date

image-20240621-060333.png

3. Date Filter

  • Backend Action:

    • The backend processes the request by filtering the file queue data based on the provided date range.

    • Implementation:

      • The backend queries the database to retrieve records where the createdDate falls within the startDate and endDate.

4. Response Handling

  • Backend Action:

    • The backend returns the filtered results to the front end.

5. Display Results

  • Frontend Action:

    • The front end processes the response and displays the filtered results to the user.

  • UI Elements:

    • A table view to present the filtered file records.

    • The results section updates dynamically upon receiving the response.

image-20240621-060201.png

Process flow activity:

  1. Source Activity - The source comprises a database. It is necessary to create DbInfo and DbLayout to be invoked in the source activity

image-20240625-091835.png

You must utilize the EDIT Query option to efficiently retrieve attributes from multiple tables and display relevant information on the user interface. Additionally, you implement conditions to filter the data as needed.

image-20240625-062204.png

Table Name: DB/file_queueFQ/

 SQL Query

SELECT FQ.ID,FQ.PARTNER_NAME,FQ.TRANSACTION_TYPE,FQ.FILE_REF_ID,FQ.PHASE,FQ.OVERALL_STATUS,FQ.ERROR_CODE,FQ.INCOMING_FILE_DATE,FQ.TOTAL_RECORDS,FQ.DUPLICATE_RECORDS,FQ.UNIQUE_RECORDS,FQ.GROUP_ID,FQ.V3_GROUP_ID,FQ.V3_PHASE,FQ.V3_STATUS,FQ.V3_TOTAL_RECORDS,FQ.V3_GOOD_RECORDS,FQ.V3_ERROR_RECORDS,FQ.V3_PASS_PERCENTAGE,FQ.V3_ERROR_MESSAGE,FQ.CORE_PHASE,FQ.CORE_STATUS,FQ.CORE_TOTAL_RECORDS,FQ.CORE_GOOD_RECORDS,FQ.CORE_ERROR_RECORDS,FQ.CORE_PASS_PERCENTAGE,FQ.CORE_ERROR_MESSAGE,FQ.CREATED_BY,FQ.LAST_MODIFIED_BY,FQ.LAST_MODIFIED_DATE,FND.FILE_NAME,FND.CREATED_DATE,ER.ERROR_MESSAGE,FQ.TRANSACTION_NAME FROM file_queue FQ LEFT JOIN file_name_details FND on FND.FILE_QUEUE_ID=FQ.ID LEFT JOIN error_code ER on FQ.ERROR_CODE=ER.ERROR_CODE

 Where Clause

WHERE ( DATE_SUB(NOW(), INTERVAL 30 DAY) < FND.CREATED_DATE ) AND ( FND.FILE_TYPE='INPUT_FILE' ) AND ( FQ.PARTNER_NAME like '%$$searchQuery$$%' OR FQ.TRANSACTION_TYPE like '%$$searchQuery$$%' OR FQ.PHASE like '%$$searchQuery$$%' OR FND.FILE_NAME like '%$$searchQuery$$%' OR FQ.OVERALL_STATUS like '%$$searchQuery$$%' OR FQ.V3_PHASE like '%$$searchQuery$$%' OR FQ.V3_STATUS like '%$$searchQuery$$%' OR FQ.V3_ERROR_MESSAGE like '%$$searchQuery$$%' OR FQ.CORE_PHASE like '%$$searchQuery$$%' OR FQ.CORE_STATUS like '%$$searchQuery$$%' OR FQ.CORE_ERROR_MESSAGE like '%$$searchQuery$$%' OR FQ.CREATED_BY like '%$$searchQuery$$%' OR FQ.TRANSACTION_NAME like '%$$searchQuery$$%' ) ORDER BY FQ.ID DESC

  1. Target Layout - The JSON schema for the source data (database) will be designed to be utilized in the RESTful API for the user interface. JSON is selected for its compatibility with RESTful APIs.

image-20240625-062937.png
  1. Mapping - You must load the database schema and the target schema (JSON) to finalize the mapping process.

image-20240625-063310.png
  1. Context Target -The target will be ContextTarget to store data in the flow for the REST provider.

image-20240625-063605.png

2. Create REST Provider End-point

Overview

A REST (Representational State Transfer) Provider is a service that offers resources and functionalities over HTTP(S) using standard REST principles. It enables clients to interact with the service through predefined APIs, facilitating the integration and communication between different systems.

In this particular use case, the process flow is shared by developing a REST provider that will eventually be integrated with the user interface.image-20240621-061858.png

Follow the steps below to create a REST Provider:

  1. Click Configure > WEB SERVICES > REST Provider.

  2. Click Create REST Provider

  3. In Create REST Provider window, type the name and description of the new Web Service Provider service in the Name and Description fields respectively.

image-20240621-062337.png
  1. Type API Version, for example, your API version can be 1

  2. Type the resource end path URL in the Resource End Path field. The URL can be static or dynamic. Static URL example:  /get/FileQueueDetails 

  3. Select the process flow name to trigger with the web service from the Process Flow Name field.

    1. Set parameterName attribute of the context source should be restRequest

      1. searchQuery - To enable the Advanced Search option

      2. start_date - Advanced search criteria

      3. end_date - Advanced search criteria

      4. start - Pagination control in the user interface

The above variables need to be bound in the user interface to process requests from the user.

Select the process flow name to trigger with the web service from the Process Flow Name field.

image-20240621-064010.png
  1. Click Add Method and select GET as the method type.

image-20240621-063007.png
  1. Select the Response Schema (For example, we are opting for the schema that has been utilized in the process flow as the target schema)

image-20240621-064545.png
  1. Save it.

3. Publish the Provider (REST URL) at UI

Once the above steps have been completed, it is necessary to link the REST provider URL with the user interface (UI) to present the data on the UI

  • No labels