Before You Begin

Purpose

This Oracle By Example (OBE) describes how to use Repeating/Optional Forms in an Orchestration Form Request.

Time to Complete

45 minutes.

Background

Previously, an orchestration Form Request required the designer to know the exact sequence of forms that would run at runtime. However, many JD Edwards EnterpriseOne applications repeat forms or skip forms based on user input or selections in a grid.

By selecting the Repeating/Optional Form option, you can build a single form request that supports forms that might open multiple times, or not at all, depending on runtime conditions.

In this OBE, you will use the Repeating/Optional Form option to address the following:

  • Release all lines on a blanket order.
  • Release all lines on a blanket order using an array to control the quantity released for each line.
  • Release specific lines and quantities across multiple blanket orders.
  • Create a sales order that may include kit items and configured items.

What Do You Need?

To perform the steps in this OBE, you will need:

Access to a JD Edwards EnterpriseOne environment with Tools Release 9.2.26.2 or later. JD Edwards EnterpriseOne Trial Edition running on Oracle Cloud Infrastructure is suitable, but you can use any environment with the proper Tools release.

Task 1: Release All Lines on a Blanket Order

For this and the next tasks, you need blanket orders that you can release. In this task, you create two blanket orders and then record a process to release blanket order lines. Because the Order Release form opens once for each selected line, you update the Form Request to use a Repeating/Optional Form so the orchestration can run successfully regardless of how many lines are selected.

A. Create Two Blanket Orders

  1. Sign in to the EnterpriseOne web client.
  2. From the EnterpriseOne Home page, click Navigator, and enter P4310 ZJDE0006 in Fast Path.
  3. On Work With Order Headers, click Add. The Order Detail form appears.
  4. Enter the following values:
    • Supplier: 3090
    • Branch/Plant: 30
  5. Click Ok.
  6. In the grid, add three lines with the following details:
  7. Click OK to save the order and note the Order Number you created.
  8. Create a second blanket order by repeating steps 3–7 with the following changes:
    • Use the same Supplier (3090) and Branch/Plant (30).
    • Add two lines for Item 210 and 220, each with Quantity Ordered 100.
    • Note the Previous Order Number.

B. Record the Release Process Using Process Recorder

  1. Return to the EnterpriseOne Home page.
  2. From the user menu (top right), click Record a Process to open Process Recorder.
    Description of Record_the_Release_Process.png follows
    Record the Release Process
  3. In the Process Recorder window, click Start.
  4. Use Navigator to open P43060 (Work With Order Release program).
  5. Enter the Order Number for the first (three-line) blanket order and click Find.
    Description of Entering_the_Order_Number.png follows
    Enter the Order Number
  6. Select all the rows by checking the top left check box in the grid header.
  7. Click Select (green check icon). For each selected row, the system opens the Order Release form.
  8. For each occurrence of the Order Release form:
    1. Override Release Qty to 1.
    2. Click OK.
    • Note: If you do not override Release Qty, the system releases the full quantity.
  9. After you close the last Order Release form and return to Work With Order Release form, click Form and select Generate Order(s). The system displays the results in Generated Purchase Orders.
  10. In Process Recorder, click Return Values.
  11. On Generated Purchase Orders, click the Order Number column heading in the grid to return the generated purchase order number.
  12. In Process Recorder, click Resume.
  13. Click Close to exit the Generated Purchase Orders form.
  14. Click Close to exit Work With Order Release and return to the Home page.
  15. In Process Recorder, enter Blanket Release in the Name field, click Save, and close Process Recorder.

C. Update a Form Request with Repeating/Optional Form

  1. Open Orchestrator Studio.
  2. On the Orchestrator Studio Home page, click the Form Requests tile.
  3. In the left panel, search for and select the Blanket Release process. If it does not appear, click Refresh.
  4. In the top form segments, locate the Order Release form. The recorded process includes one Order Release occurrence for each line you selected. In this example, three lines were selected, so three Order Release occurrences were recorded.
  5. Delete any additional occurrences of the Order Release form so that only one remains (keep one occurrence and delete the rest):
    Description of Remove_Order_Release.png follows
    Remove Order Release
    1. Select an Order Release step, click Remove, and click OK to confirm. It does not matter which occurrence you delete, but only one occurrence of Order Release should remain.
    2. Repeat until only one Order Release step remains.
    3. Description of Order_Release.png follows
      Order Release
  6. Select the remaining Order Release step. Click the Form Details button next to the Remove button.
  7. Enable Repeating/Optional Form and click Save and Load.
  8. On the Order Release form, rename the input variable for Release Qty to Release_Qty (instead of Quantity_Open).
  9. Click Save to save the form request.

D. Create and Test the Orchestration

  1. From the Manage menu, click Create Orchestration.
  2. Click Save to save the orchestration.
  3. Run the orchestration:
    • Double-click the Start node or select the node and click Run Orchestration.
  4. In the inputs, enter the following values:
    • Order_Number: the order number for the three-record blanket order
    • Release_Qty: 2
    • P43060_Version: leave blank
  5. Click Run and note the Order Number returned in the response.
    Description of Order_Number.png follows
    Order Number

E. Verify the Results

  1. In the EnterpriseOne web client, use Navigator to open P4310.
  2. Enter the purchase order number returned in the response and click Find.
  3. Select the order in the grid and click OK.
  4. On the Order Header form, click OK.
  5. On the Order Detail form, verify the following:
    • The order includes three lines.
    • Each line has a quantity of 2 (or the value you passed in Release_Qty).
    • To confirm the source blanket order, scroll right and review Orig Order and Original Line No.
  6. Repeat the procedure described in sections D and E using the second blanket order and verify that the generated purchase order includes the expected lines and quantities.

Task 2: Release All Lines on a Blanket Order Using an Array to Control the Quantity Released for Each Line

In the previous task, the orchestration used a single input value to control the quantity released for every blanket order line. In this task, you update the form request and orchestration inputs to pass an array of quantities so you can release a different quantity for each line.

A. Update the Form Request to Use a Repeating Form Input Array

  1. Open Orchestrator Studio and navigate to Form Requests.
  2. In the left panel, select the Blanket Release form request created in the previous task.
  3. In the top form segments, select the Order Release form and click Form Detailsmenu icon.
  4. In the Form Details window, enter the following value:
    • Repeating Form Input Array: Quantities
    • This enables you to pass an array named Quantities that contains the variable inputs for this form. In this task, Release_Qty is the only field in the array.
  5. Click Save and Load, and then click Save to save the form request.
  6. Description of Save_the_Form_Request.png follows
    Save the Form Request

B. Update the Orchestration Inputs and Fix the Mapping

  1. Return to the Orchestrator Studio Home page, and then navigate to Orchestrations.
  2. Select the Blanket Release orchestration created in the previous task.
  3. Select the Start node, and then click Inputs and Values:
    Description of Inputs_and_Values.png follows
    Inputs and Values
  4. In Inputs list, click the X at the end of the Release_Qty row to remove the input.
  5. Click the curser on the orchestration page.

    Note: The Blanket Release step displays a Broken Mappings badge because the input Release_Qty, which was previously in use, has been deleted.

    Broken_Mappings.png follows
    Broken Mappings
  6. Select the Blanket Release step, and then click the Transformations icon.
  7. In the Transformations panel, click Add Inputs to Orchestration, and then click Auto Map. This recreates the Release_Qty input as part of the Quantities array.
  8. Click Save to save the orchestration.

C. Test the Orchestration

  1. Select the Start node, and then click Run Orchestration.
  2. Enter a blanket order number for Order_Number.
  3. Next to Quantities, click Array Inputs.
  4. In the Array Inputs popup, enter a quantity for each line of the blanket order.

    Note: After entering a quantity, click outside the input field to add a new entry row.

    • If you enter fewer quantities, the default quantity is applied to the remaining rows.
    • If you enter more quantities, the extra values are ignored.
  5. Click Run.
  6. Using the Order Number returned in the response, open the generated order in P4310 and inspect the order lines and quantities.

Task 3: Release Specific Lines and Quantities Across Multiple Blanket Orders

In this task, you build an orchestration that releases multiple blanket order lines, one line at a time. You configure two consecutive forms in a single form request to run repeatedly based on an input array. The orchestration accepts an array that contains Order Number, Line Number, and Release Quantity, enabling you to release a specific quantity from specific lines across multiple blanket orders before generating purchase orders.

A. Copy the Existing Form Request

  1. Open Orchestrator Studio and navigate to Form Requests.
  2. Select the Blanket Release form request created in the previous tasks.
  3. From the Manage menu, click Save As.
  4. In the Save As window, enter the following values:
    • New Name: Line Blanket Release
    • New Description: Line Blanket Release
  5. Click OK.

B. Configure the Work With Order Release Form to Repeat by Array Input

  1. In the top form segments, select the Work With Order Release form (first option).
  2. Click Form Details menu icon.
  3. Enable Repeating/Optional Form.
  4. In Repeating Form Input Array, enter Blanket Lines.
  5. Click Save and Load.

C. Add a Line Number QBE Filter and Update Grid Selection Behavior

  1. Confirm Work With Order Release is still selected in the top form segments.
  2. In Available Actions, expand Work With Order Release – QBE.
  3. Locate Line Number (ID 37) and click Add Action (+).
  4. In Order of Execution, select the new Line Number row (typically the last row added), and reposition it as the second action in the sequence.
  5. In Order of Execution, remove any Select All Rows actions. Select each Select All Rows action and click Delete (X).
  6. In Available Actions, expand Work With Order Release – Grid.
  7. Locate Select Row and click Add Action (+).
  8. In Order of Execution, update the Select Row action:
    • Clear Select_Row from the Input column.
    • Set the Default Value to 1.
    • Filter by Order Number and Line Number, the grid should return a single row after Find.
  9. Reorder the actions so Select Row runs between Find and Select.
    Update_the_Select_Row_Action.png follows
    Update the Select Row Action

D. Configure the Order Release Form to Use the Same Input Array

  1. In the top form segments, select Order Release (second option).
  2. Click Form Detailsmenu icon
  3. Set Repeating Form Input Array to Blanket Lines (to match the first form).
  4. Click Save and Load.
    • This enables you to pass a single array that includes Order Number, Line Number, and Quantity.
    • At runtime, the first two forms run once, consecutively, for each row in the Blanket Lines array. After the array is processed, the form request continues to generate the purchase order.
  5. Click Save to save the form request.

E. Create and Test the Orchestration

  1. From the Manage menu, click Create Orchestration.
  2. Click Save to save the orchestration.
  3. From Run Orchestration, locate the Blanket Lines input and click Array Inputs.
  4. Add multiple rows to the array using valid combinations from your test blanket orders (Order Number + Line Number + Quantity), and close the window.
  5. Adding_multiple_rows_to_the_array.png follows
    Adding Multiple Rows to the Array
  6. Click Run.
  7. In the response, confirm the generated Order Number contains the expected released line information.

Task 4: Create a Sales Order That May Include Kit and Configured Items

In this task, you record and build an orchestration that creates a sales order containing any combination of regular, kit, and configured items. When you add a kit item, the Kit Selection form opens. When you add a configured item, a configurator form opens. For this task, you accept the default configuration for both kits and configured items.

A. Record the Process to Create a Sales Order

  1. Sign in to the EnterpriseOne web client.
  2. From the user menu (top right), click Record a Process to open Process Recorder.
  3. In the Process Recorder window, click Start.
  4. Use Navigator and enter P42101 in Fast Path.
  5. Click Add (+ icon).
  6. On the Order Header, enter the following values:
    • Sold To: 4244
    • Branch/Plant: 30
  7. In the grid, enter the first line:
    • Item Number: 2400
    • Branch/Plant: 30
  8. On the Order Header, click the Order Summary tab. Switching header tabs removes focus from the grid and prompts the grid values to be processed.
  9. When the Kit Selection window opens, click OK to accept the default kit configuration.
  10. accept_the_default_kit_configuration.png follows
    Accept the Default Kit Configuration
  11. Add a second line in the grid:
    • Item Number: 6000
    • Branch/Plant: M30
    • Note: If you receive an error, confirm that Branch/Plant is M30 (not 30).
  12. Exit the row. The configurator window opens.
  13. configurator_window.png follows
    Configurator Window
  14. Click Validate Configuration.
  15. Click Add to Order.
  16. When you return to the sales order, select the Sales Order Header tab.
  17. In the Process Recorder window, click Return Values, and then select the field that contains the order number to capture it.
  18. In the Process Recorder window, click Resume.
  19. Click Submit and Close to save the order.
  20. On Manage Existing Order, enter the captured order number in the Order Number filter field, and click Find.
  21. In the Process Recorder window, click Return Values.
  22. In the grid, select the following columns by clicking each column heading:
    • Order Number
    • Line Number
    • 2nd Item Number
    • Description 1
  23. In the Process Recorder window, click Resume.
  24. Close Manage Existing Order (X icon) to stop the recording.
  25. In Process Recorder, enter Add Sales Order with Kits and Config Items for the Name, click Save, and close Process Recorder.

B. Update the Form Request to Handle Optional/Repeating Forms

  1. In Orchestrator Studio, navigate to Form Requests.
  2. In the left panel, select Add Sales Order with Kits and Config Items.
  3. In the top form segments, locate the second occurrence of the Enter New Order form (fourth option) and remove it.
    • Select the form, click Remove, and click OK to confirm.
    • This second occurrence was recorded because the Kit Selection window opened after you entered the first line.
    • At runtime, the orchestration adds all lines through the array passed to the first Enter New Order form, and the kit/configurator forms open only as needed.
  4. Configure the Kit Selection form as repeating/optional:
    1. Select Kit Selection in the segment.
    2. Click Form Detailsmenu icon.
    3. Enable Repeating/Optional Form.
    4. Click Save and Load.
  5. Configure the configured item form as repeating/optional:
    1. Select Parent Form – Configured Item Revisions in the segment.
    2. Click Form Detailsmenu icon.
    3. Enable Repeating/Optional Form.
    4. Click Save and Load.

C. Ensure the Variable Created to Store the Order Number Is Used to Fetch Order Details

  1. Select the next form in the form segments (fifth option).
  2. In the grid Action menu icon  column, click the button to view the returned OrderNumber variable.
  3. Note the exact returned variable name (for example, OrderNumber).
  4. Select the sixth form in the segment and locate the Order Number field mapping.
  5. Change the Input value from Order_Number to the returned variable name (for example, OrderNumber).
    • This ensures the form request immediately finds the order that was just created.
  6. Click Save to save the form request changes.

D. Create and Test the Orchestration

  1. From Manage, click Create Orchestration.
  2. Click Save to save the orchestration.
  3. Test the orchestration using Run Orchestration.
  4. Enter the following header inputs:
    • Long_Address_Number_Sold_To: 4244
    • HdrBusinessUnit: 30
  5. Next to the line input array (for example, GridIn_188_20_2), click Array Inputs.
    • Note: It is recommended to rename the variables created by Process Recorder before creating the orchestration.
  6. Test with a regular item only:
    • Add one row with Item_Number 210 and Branch_Plant 30.
  7. Close the Array Inputs window and click Run.
    • Leave OrderNumber and P42101_Version blank.
    • Verify the response displays a single-line sales order (no kit or configurator forms were required).
  8. Test with a kit item:
    1. Click Array Inputs again.
    2. Add a second row with Item_Number 2400 and Branch_Plant 30.
    3. Array_inputs.png follows
      Array Inputs
    4. Close the window and click Run.
    5. Verify the order includes the two input items plus the default kit component lines.
      • For kit item 2400, lines such as 2.01 and 2.02 are the default kit components.
      • Order.png follows
        Order
  9. Test with a configured item:
    1. Add the configured item to the array input (in addition to the prior items).
    2. Adding_the_configured_item.png follows
      Adding the Configured Item
    3. Run the orchestration.
    4. Verify the order includes the prior lines and additional configured item lines (for example: 3, 3.001, 3.002, 3.003, 3.004).
  10. Modify the input array to include any combination of regular, kit, and configured items, and confirm the sales order lines returned in the response.

Conclusion

In this Oracle-by-Example you learned how to use the Repeating/Optional Form option in a Form Request to indicate that a specific form might repeat any number of times, or perhaps not at all. In the case of releasing lines from a blanket purchase order, you could control the quantity of items being released for each line on the order independently. In the case of creating a sales order with items that may or may not be configured or kit items, the form request could iterate over the intervening configured item and kit forms. In this way, the Repeating/Optional Form option gives you the capability to automate EnterpriseOne applications that iterate over forms an undetermined number of times.