E9.2 Is it possible to export the relationship between orchestrations and service requests?

roselane

Member
Hi, In JDE I can find the tables (F95248*) for Orchestrations and Service requests etc., but unfortunately, the relationship between them is stored in a blob so it's not easily exportable. Has anyone found a method to show a list of orchestrations and which service requests / data requests etc. they are calling? Myself and a couple of colleagues have been looking, but we haven't found anything yet and I'm hoping someone could point me in the right direction. Many thanks. Rose
 
Hello, do you think using the right naming convention for orchestrator UDOs could overcome this issue?
 
I was interested in accessing the F9524810 blob column to read the XML to pick out the names of the Orchestration steps. This could be very handy not just for documenbting the Orchestration dependencies (might be a feature in a more recent TR) but it would also be a building block to a form extension on P98220W to allow automatic population of a UDO OMW Project along with acquisition of tokens, something I find extremely tedious and time consuming.

But... I can't tell how to decode the BLOB string returned in the DR. If I view the BLOB with a smarter tool than me :) such as SQL developer I can see the nice XML data. When I view the DR JSON, that BLOB data has a strange encoding. Doesn't look like it is a simple 8bit/16bit character issue either.

Anyone know how to read and decode BLOB from a JDE table into a regular string in an Orchestration?
 
I was interested in accessing the F9524810 blob column to read the XML to pick out the names of the Orchestration steps. This could be very handy not just for documenbting the Orchestration dependencies (might be a feature in a more recent TR) but it would also be a building block to a form extension on P98220W to allow automatic population of a UDO OMW Project along with acquisition of tokens, something I find extremely tedious and time consuming.

But... I can't tell how to decode the BLOB string returned in the DR. If I view the BLOB with a smarter tool than me :) such as SQL developer I can see the nice XML data. When I view the DR JSON, that BLOB data has a strange encoding. Doesn't look like it is a simple 8bit/16bit character issue either.

Anyone know how to read and decode BLOB from a JDE table into a regular string in an Orchestration?
If you are asking about F9524810, the BLOB is not unicode text, just ASCII (in my testing). Cast lpValue to a (char*)

Craig
 
This is what the Data Request returns from F9524810:
{
"ServiceRequest1": {
"fs_DATABROWSE_F9524810": {
"title": "Data Browser - F9524810 [Orchestrations]",
"data": {
"gridData": {
"id": 55,
"fullGridId": "55",
"columns": {
"F9524810_WOBNM": "Object Name",
"F9524810_WOOBNMS": "Web Object Description Short",
"F9524810_WOOBNML": "Web Object Description Long",
"F9524810_OMRBLOB": "Repository BLOB"
},
"rowset": [
{
"F9524810_WOOBNML": "List items in an orchestration",
"F9524810_OMRBLOB": "PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiPz4KPE9yY2hlc3RyYXRpb24+CiAgPG9td09iamVjdE5hbWU+T1JDXzIxMTAyNzAwMDFDVVNUPC9vbXdPYmplY3ROYW1lPgogIDxzdHVkaW9WZXJzaW9uPjkuMi40LjQ8L3N0dWRpb1ZlcnNpb24+CiAgPG5hbWU+RlBBX09yY2hfT3JjaGVzdHJhdGlvbkNhdGFsb2c8L25hbWU+CiAgPHNob3J0RGVzYz5MaXN0IGl0ZW1zIGluIGFuIG9yY2hlc3RyYXRpb248L3Nob3J0RGVzYz4KICA8dmVyc2lvbj52MzwvdmVyc2lvbj4KICA8cHJvZHVjdENvZGU+NTU8L3Byb2R1Y3RDb2RlPgogIDxsb2NhbGU+ZW48L2xvY2FsZT4KICA8dXBkYXRlVGltZT4xNjM1NzE1MDkxOTM1PC91cGRhdGVUaW1lPgogIDxkZXNjcmlwdGlvbj48L2Rlc2NyaXB0aW9uPgogIDxpbnB1dEZvcm1hdD5HZW5lcmljPC9pbnB1dEZvcm1hdD4KICA8am9iUXVldWU+SkRFX19ERUZBVUxUPC9qb2JRdWV1ZT4KICA8c2NoZWR1bGVVRE9OYW1lPjwvc2NoZWR1bGVVRE9OYW1lPgogIDxpbnB1dFR5cGVzPgogICAgPGlucHV0VHlwZXMgdHlwZT0iU3RyaW5nIiByZXF1aXJlZD0iZmFsc2UiIHVzZUJsYW5rRGVmYXVsdD0iZmFsc2UiPgogICAgICA8bmFtZT5XZWJPYmplY3ROYW1lPC9uYW1lPgogICAgICA8ZGlzcGxheU5hbWU+V2ViT2JqZWN0TmFtZTwvZGlzcGxheU5hbWU+CiAgICA8L2lucHV0VHlwZXM+CiAgPC9pbnB1dFR5cGVzPgogIDx2YXJpYWJsZVR5cGVzLz4KICA8b3JjaGVzdHJhdGlvblN0ZXBzPgogICAgPG9yY2hlc3RyYXRpb25TdGVwcyB0eXBlPSJTZXJ2aWNlUmVxdWVzdCIgc3ViVHlwZT0iREFUQV9SRVFVRVNUIj4KICAgICAgPG5hbWU+RlBBX0RSX0Y5NTI0ODEwX1JlcG9zaXRvcnk8L25hbWU+CiAgICAgIDxvbXdPYmplY3ROYW1lPlNSRV8yMTExMDEwMDAxQ1VTVDwvb213T2JqZWN0TmFtZT4KICAgICAgPHRyYW5zZm9ybWF0aW9ucz4KICAgICAgICA8dHJhbnNmb3JtYXRpb25zIGlucHV0PSIiIG91dHB1dD0iJHtPYmplY3QgTmFtZSAxfSIgZGVmYXVsdFZhbHVlPSJPUkNfMjExMDI3MDAwMUNVU1QiLz4KICAgICAgPC90cmFuc2Zvcm1hdGlvbnM+CiAgICAgIDxvdXRwdXRNYXBwaW5ncy8+CiAgICAgIDxjb250aW51ZU9uRXJyb3I+ZmFsc2U8L2NvbnRpbnVlT25FcnJvcj4KICAgICAgPGFkZGl0aW9uYWxFcnJvclRleHQ+PC9hZGRpdGlvbmFsRXJyb3JUZXh0PgogICAgICA8ZXhjZXB0aW9uUHJvY2Vzcz48L2V4Y2VwdGlvblByb2Nlc3M+CiAgICAgIDxleGNlcHRpb25Qcm9jZXNzTmFtZT48L2V4Y2VwdGlvblByb2Nlc3NOYW1lPgogICAgICA8ZXhjZXB0aW9uUHJvY2Vzc1R5cGU+Tk9ORTwvZXhjZXB0aW9uUHJvY2Vzc1R5cGU+CiAgICAgIDxleGNJbnB1dHMvPgogICAgICA8aW5jbHVkZVJhd091dHB1dD5mYWxzZTwvaW5jbHVkZVJhd091dHB1dD4KICAgICAgPGZpcmVBbmRGb3JnZXQ+ZmFsc2U8L2ZpcmVBbmRGb3JnZXQ+CiAgICA8L29yY2hlc3RyYXRpb25TdGVwcz4KICA8L29yY2hlc3RyYXRpb25TdGVwcz4KPC9PcmNoZXN0cmF0aW9uPgo=",
"F9524810_WOOBNMS": "FPA_Orch_OrchestrationCatalog",
"F9524810_WOBNM": "ORC_2110270001CUST"
}
],
"summary": {
"records": 1,
"moreRecords": false
}
}
},
"errors": [],
"warnings": []
},
"stackId": 14,
"stateId": 1,
"rid": "58bee8fd1ebfbf67",
"currentApp": "DATABROWSE_F9524810",
"timeStamp": "2021-11-01:10.18.21",
"sysErrors": []
}
}

But examining the record with SQLDeveloper or similar shows this in the OMRBLOB" column:

1635715287540.png

So I am wondering how to get from one to the other... in a Groovy Custom Request
 
Looks like Base64 encoding. I would think you could call a decode in Groovy, but I haven't done much work there to know for sure.

Craig
 
I took a different tack and used a database connector to read the blob... this works as expected and returned a plain text XML string.

Next: parse the XML string. Annoyingly, the AIS server doesn't seem to have the XMLParser nor XMLSlurper java libraries installed...
 
I took a different tack and used a database connector to read the blob... this works as expected and returned a plain text XML string.

Next: parse the XML string. Annoyingly, the AIS server doesn't seem to have the XMLParser nor XMLSlurper java libraries installed...
Scratch that... XMLSlurper is there... I just phrased the import incorrectly..
 
I'm really annoyed with trying to find all objs within an orchestration one by one and adding to individual OMW projs. I wonder where ya'll got with this stuff?

Given an orchestration name and a OMW project name, I want an orchestration that adds that orchestration and all components (and iterate over sub-orchestrations) to a OMW project. I'm close to trying to just figure it out on my own but didn't want to duplicate effort too much.
 
I'm trying to think about if recursion is possible within an orchestration, as we need to loop thru all of the sub-orchestrations. If this isn't possible then I'm debating about writing a "cross reference facility" that will populate a simple parent-child workfile that we could recursively query to get all components for a given parent orch.
 
Yes, the answer is yes, you can recurse. There are ways to do it safely. Exciting stuff
 
Update: I am using my orchestration to parse orchestrations regularly, saves some time, and proves out a few things. If we get the green light, I'll present on this and a couple others at Blueprint.
 
Back
Top