E9.2 Orchestration how to see FREQ updates life in grid row

ArnoldWillems

ArnoldWillems

Member
Hello everyone!

Working in JDE tools release: EnterpriseOne 9.2.5.6

I am currently working on a project in JDE Orchestrator that automates the setup of item cross-references P4104 for the EDI processes P47010.
P4104 = Customer & Supplier Xreference - Work With Item Cross Reference
P47010 = Review Inbound Orders - Inbound EDI Order Revisions

The following Orchestration is activated when there's a "Column exit & Changed" event on the EDI line. It initiates a DREQ into the Item Cross-Reference table, using criteria such as [Address Number, Customer/Supplier Item Number, 2nd Item Number, Expired Date, Effective Date]. If no valid match is found, it generates a Cross Ref with the FREQ.

1707914432677.png

Everything is functioning smoothly, but I'm encountering a challenge when attempting to assist users with prepopulating grid rows as a follow-up step.

Suppose we have multiple lines in the EDI order, and the user has just created a Cross Reference for line 1 based on the [Customer/Supplier Item Number] provided by the Customer and the [2nd Item Number] that the user populated themselves. Now, when the user moves to another line of the same EDI order and the [2nd Item Number] is empty, I'd like to trigger another Orchestration. This Orchestration would perform a lookup against the P4104 with available [Address Number, Customer/Supplier Item Number] and then return the [2nd Item Number] to populate the line.

My question is: I can achieve this functionality in the backend with the FREQ, but I want the lines to be populated live on the user's screen, similar to a field change. I've watched a video on the web showing this, but I can't find any explanation of how to do this.

I've already attempted to set the outputs on the Orchestration, but when a user enters a row and triggers a Column Exit or uses a Button Clicked, nothing happens on the screen.

Furthermore, I hope someone has an idea on how to approach this. If you need any more information/screenshots, please don't hesitate to ask.

Thanks in advance!
 
Commenting to follow the thread and try my hand at answering when I free up if someone doesn't answer! Thanks in advance for the excellent write up and screenshots
 
Hi Arnold, could you share the video? please.

But if is I imagine, in your orchestrator you can set DREQ to output and get 2nd Item Number, or you could doing in the AB_Rule_dataCount_isLessT false branch a groovy to get DREQ_ItemCrossReference json output and return 2nd Item and return in your orchestrator, get in the application and set to GC 2nd Item Number column.

Other option, easier, why do you doing a Select-FetchNext in the application to F4104 with this fields and get item number? and if exist continuous, else launch the orchestrator.

For this I want to see the video, because I don't know if imagine that you want or I'm mistaken.

Regards
 
When you say available, where the 2 values available? From the line above or the line you are on as the user just typed them in?

I think you will have to execute the new ORCH from all 3 grid columns exited event (Address Number, Customer/Supplier Item Number and 2nd Item) and call an Orch with a logic extension to ask if the 1st 2 GCs are populated but the 3rd one is still blank. If so proceed to get your 2nd Item, else do nothing

Apologies if I am missing something
 
Hi Arnold, could you share the video? please.

But if is I imagine, in your orchestrator you can set DREQ to output and get 2nd Item Number, or you could doing in the AB_Rule_dataCount_isLessT false branch a groovy to get DREQ_ItemCrossReference json output and return 2nd Item and return in your orchestrator, get in the application and set to GC 2nd Item Number column.

Other option, easier, why do you doing a Select-FetchNext in the application to F4104 with this fields and get item number? and if exist continuous, else launch the orchestrator.

For this I want to see the video, because I don't know if imagine that you want or I'm mistaken.

Regards
Hi Alfredorz,

I've encountered a hurdle in my project regarding populating values in the user screen grid. Retrieving the [2nd Item Number] isn't an issue, and I agree it can be incorporated into the false statement of [AB_RULE_ItemCrossReference_inputValidated]. However, the challenge arises when attempting to display this value back into the user's grid upon button submission.

Although submitting the value via FREQ into the database seems to work, it doesn't reflect on the user's screen after they've initiated the action. Essentially, I'm seeking guidance on how to effectively pass a value into the user's screen grid. Unfortunately, I'm unable to provide a video demonstration due to data confidentiality concerns, but I can provide additional screenshots if needed for context.

Any insights or assistance on resolving this issue would be greatly appreciated. Thank you for your support.

rgds
 
When you say available, where the 2 values available? From the line above or the line you are on as the user just typed them in?

I think you will have to execute the new ORCH from all 3 grid columns exited event (Address Number, Customer/Supplier Item Number and 2nd Item) and call an Orch with a logic extension to ask if the 1st 2 GCs are populated but the 3rd one is still blank. If so proceed to get your 2nd Item, else do nothing

Apologies if I am missing something
Hi JohnDanter,

I've been exploring potential solutions to our grid update challenge and recalled a video demonstration where a button click iterated over all grid lines, seamlessly updating the next status. While iterating over all lines would be ideal, I'm also open to a solution where selecting a specific line and clicking the button updates only the selected one.

Given our limitation to Logic Extensions due to being on Tools Release 9.2.5.6, I'm particularly interested in alternative methods for effectively passing values into the user's screen grid.

Any insights or assistance you can offer in overcoming this obstacle would be greatly appreciated. Thank you for your support and understanding.

rgds
 
I was able to get "live" updates from an orch on 9.2.5.6 (IIRC, logic extensions aren't available at all), and IIRC it was a wee bit tricky

I'm looking at P47010 and think you need to attach a lookup orch to at least 2 events, row entered and row exited.
Next you need to make sure that on your associate orchestrations dialog you select "execute after event" for row entered, and "execute before event" for row exited, just in case.
Make sure you select "Run Synchronously" so you can map output to your destination column.
In my proof of concept, I did a stupid-simple orchestration with 1 input and 1 output that maps to the input.
I mapped the orch to the reference (input) and reference 2 (output) column


Row exit event on populated fields worked great
Row exit event on the last row (empty) CRASHED THE ENVIRONMENT

Looking into that. That's where I'm leaving off for now :)

side note, IIRC, @lfurino was the one who figured out how to use scripting to update a grid's worth of data. But I'm not sure it was done interactively but rather via a form request.
 
I was able to get "live" updates from an orch on 9.2.5.6 (IIRC, logic extensions aren't available at all), and IIRC it was a wee bit tricky

I'm looking at P47010 and think you need to attach a lookup orch to at least 2 events, row entered and row exited.
Next you need to make sure that on your associate orchestrations dialog you select "execute after event" for row entered, and "execute before event" for row exited, just in case.
Make sure you select "Run Synchronously" so you can map output to your destination column.
In my proof of concept, I did a stupid-simple orchestration with 1 input and 1 output that maps to the input.
I mapped the orch to the reference (input) and reference 2 (output) column


Row exit event on populated fields worked great
Row exit event on the last row (empty) CRASHED THE ENVIRONMENT

Looking into that. That's where I'm leaving off for now :)

side note, IIRC, @lfurino was the one who figured out how to use scripting to update a grid's worth of data. But I'm not sure it was done interactively but rather via a form request.


Hi Dave,

Thanks for sharing your insights and feedback. I'm still trying to grasp how you configured the orchestration itself. It could be due to my current lack of experience, but I'm eager to learn and take ownership of this tool. Would it be possible for you to export the orchestration you used for testing and provide me with the XML files? I'd like to examine it and run some tests on my end as well. Hopefully, this will give me some new ideas.

Thanks in advance!
 
You will be disappointed in my orchestration :D

It is as simple as can be. Zero components, just an input var and an output var.

The magic happens on the Form Extension in E1 where I map to specific form/grid events. The magic also potentially causes a fatal bug/error to happen that temporarily bumps everyone out of the environment!! (why I stopped and reported back) So make sure you're playing in a "safe" area when you try this thing out.

Also attached are screehsnots showing how I hooked the orch up to handle the "live" detail. I suspect to make this work more completely I'd have to choose a different event, or handle NULLs in the orch so that it doesn't try to populate null with null. I deleted the offending event, "row exit & changed" so I wouldn't crash the env anymore, but it's same setup. Maybe someone smarter than me will spot what I did wrong :)

1708960012132.png
1708960020942.png
1708960032010.png
1708960041630.png
 

Attachments

  • HC_OR_LiveLineUpdate_R1.zip
    981 bytes · Views: 3
I think I'm having a similar problem with a P31113 FREQ in an ORCH.

Background : My ORCH creates a W Line Type SO/WO, then for each component I add stock for each component on the already attached Parts List.. When I send the data into the P31113 FREQ for each line to issue stock to the WO, it crashes with this error message

"CODE": "1557A",
"TITLE": "Error: Material Committed to another Project",
"ERRORCONTROL": "1.2.7",
"DESC": "CAUSE:\\u000aThe location specified does not have inventory available for issue. The material is allocated to one or more projects.\\u000a\\u000aRESOLUTION:\\u000aPlease select another location with available inventory.",
"MOBILE": "The location specified does not have inventory available for issue. The material is allocated to one or more projects."
},
{
"CODE": "3694",
"TITLE": "Error: Insufficient Quantity On Hand",
"ERRORCONTROL": "1.2.20",
"DESC": "CAUSE . . . . There is insufficient quantity on hand in the item location file (F41021) for this location to pick or replenish the suggested quantity.\\u000aRESOLUTION. . Either wait until the location has enough quantity on hand, transfer material from another location, change the quantity or change the location to pick from and retry.",
"MOBILE": "There is insufficient quantity on hand in the item location file (F41021) for this location to pick or replenish the suggested quantity."
}
and that's even though the stock is there in the LOT/Location that I have sent in. It's almost as if it doesn't "set focus" on the new line, which it does when i was recording the process.
1711732343359.png

1711732384376.png

My question is should i be adding something to that revisions screen to make sure it's on the empty line ?

Thanks
 
Back
Top