I have come across a strange issue. Clarity 12.1.3 on SQL server. I am using a GEL script to read existing rate matrix values into a query, parse the output into a XOG file and write it back as a new matrix. All straightforward stuff and my script is completing fine. However I have noticed that one of the column values - Project Class - in the new matrix is always null even though my query shows values for it and it's in the write file. Any reasons for this?
The query is
This gives results like
The XOG write is
But the output doesn't show Project_Class in the <matrixRow> segment:
I am checking on this functionality for you.
The standard XOG read gets the projectClass value as expected.
I don't see a problem with the standard XOG functionality.
That's what I thought - I'd based my write file on the output of a read in the first place just to make sure I got it correct!
This might be worth pursuing through a support ticket as one of the things I'd likely want to collect/investigate would be a Clarity SQL Trace of the XOG user performing the requests (both the write and the subsequent read), which may reveal the clues as to why the attribute and values are missing or excluded in this occurrence.
It would be best also if you could have your process/GEL generate the XOG write file to disk (with <gel:serialize> or similar) so that this can be a repeatable exercise whilst the testing is conducted. Make sure to use the same XOG user outside of the GEL/process for the setting up of the Clarity SQL Trace and performing the standalone tests for consistency (and if your previous XOG read used as the basis of the definition of the write files was performed as another XOG user, it might be worth repeating the same tests with that user also).
SQL trace on the write file gives this for the row insert part of the write - I've used the first resource in my sql dataset above.
You can see from the stored procedure parameters below that SetObject stops at Value 5 Resource Class (Labour in data) then becomes setNull
I'll do some more examining of the data the script generates over the next couple of days before raising a ticket.
It was a good old fashioned user error <hangs head in shame>
My query had another level of sql wrapped around it and at that level I had forgot pull back project class from the lower level, so nothing to put in the XOG write. Put that back in and everything's fine.