IXP - Extraction Resulst - Update of VaLues

HI,

I have IXP with a Generative Extraction processing the back of UK Driving Licence.

A sample licence is:

[image]

The extraction works OK. The dates are in the extracted text are in USA format of MM/dd/yyyy.

[image]

To present the values in Action Center for approval, the values in Extraction Results need to be amended to dd/MM/yyyy.

Using a For Each loop to progress through the “Rows”.

An assign statement with the “To” part set as:

[image]

The loop works for the first value.
At each subsequent value which needs to be updated, an “Out of Bounds” exception is thrown.

[image]

image

A Try Catch enables the loop to continue.

The Extraction Result does get updated, or shows as updated in Debug, but when passing the item to “Create an Item for Action Center”, the Activity fails.

[image]
[image]

Line 65 shows the updated value.

Does anybody know how to achieve the update in Extraction Results so that an Exception is not thrown?

NOTE: this is IXP using Generative so it is an “Observable Collective” structure.

Thanks, Dave

Hi @DavidMartin

Instead of using indexes, loop using For Each over the fields in the current row and update them by name, or first check the Count before assigning. Another option is to update a local copy of the row object and then assign it back to the collection after the loop. That way, you avoid the index mismatch and the exception won’t be thrown.

Hi @Monali_Vekariya

Thanks for the reply.

As I said in my post I am already using a “For Each” loop.

Every entry is being looped through correctly, as I can put the values out in Log Messages.

It is just the update which is throwing the exception.

currentTableOfVehicleCodes.VehicleCodeStartDate.Value - is the same in both cases.

It works OK for the first entry in the loop.

The structure in Debug shows the correct updated value for subsequent entries but throws the exception.

Hopefully somebody else has updated similar structures created by IXP Generative so that they can be presented in Action Center. If anybody has some similar code that works that they could share here, that would be great.

Hi,

In my environment, the issue can be also reproduced as the following. It seems internal method fails for this class. This may be a bug.

I’ll check if there is workaround etc.

Regards,

Hello @Yoichi ,

Thanks for the reply and confirming that you can replicate the issue.

Hopefully somebody in UiPath will have a solution / work around.

Regards, Dave

Hi,

In my environment, the following older type du workflow works without error when updating extracted value, as workaround.

Regards,

Hi @Yoichi

Thanks for the reply.

Your example is not using IXP Generative Extraction.

In IXP Generative Extraction there is no Taxonomy, no Digitise document, no extraction scope.

The Results Table is different.

I have tried but “.values(0)” does not work. A message that it is not “Multi-valued”.

Yes, I can explicitly reference each occurrence to read it, but it is the assign of a value which is giving the “index out of bounds” error. The same is true when executing a For Each loop.

Regards, Dave

Regards, Dave

The above sample uses IXP Generative Extraction.
To around the problem, what it’s doing is mapping the IXP Generative Extraction to the Extraction Table. Then we can edit it and create validation task.

I have tried but “.values(0)” does not work. A message that it is not “Multi-valued”.

This part may vary depending on the taxonomy definition in IXP, so please adjust it appropriately.

Regards,

Hi @Yoichi

Perhaps I am confused, but the IXP Generative Extraction for Unstructured Documents uses a different approach no taxonomy, no digitise document, etc, so I do not believe it is same as using a “Generative Extraction” in the Document Understanding framework.

The code in Studio is different.

The Update issue may not exist when using the Document Understanding framework.

Regards, Dave

Hi,

Result from IXP Genrative extraction also has taxonomy, DOM etc, internally.

For example

exRes.Properties.Taxonomy returns taxonomy instance.
exres.DocumentMetadata.DocumentObjectModel returns DOM instance.

They are compatible with each class used in DU.

note: exRes is IDocumentData<GptIxp68> type (in my environment)

So, we can also use IXP from older style DU workflow. In addition, we can also use multiple extractors in Data Extraction Scope activity, for example invoice DocPath ML extractor + IXP Generative extractor.
(However it’s a little bit complicated)

Regards,

Hi @Yoichi ,

Thanks for helping to clarify and identifying that the IXP Unstructured processing is generating the taxonomy, dom, etc, for internal use.

That aside, it still leaves the issue of being able to update the Extracted Results.

Regards, Dave