@Lane
The reason that this report doesn’t support custom fields at the Transport line level is both simple and complicated.
Simply put, we must use the objkey to bring custom fields into a report. The cursor that gets the data must pass that objkey into the Xml_Record_Writer_SYS.Add_Custom_Fields at the proper granularity to ensure that the results are accurate.
You saw that at some point, the report included the objkey in the cursor that fetches line level data.
--Xml_Record_Writer_SYS.Add_Custom_Fields(xml_, 'TransportTaskLine', rec_line_.objkey, 'TRANSPORT_TASK_REP', language_code_); -- removed since we cant support custom fields here
If I look at the report history notes, I can see that the custom field support was removed because it breaks the serial grouping.
If I look at the current get_line cursor code, I can see that objkey is not included. The cursor fetches data in two unions, one to get the records without serial numbers (“*”) and one to get the records with serial numbers. For this second fetch, the actual serial numbers are omitted and the records are summed and grouped. (the serials numbers are added back at a later step) If the objkeys were included here, it would break that grouping.
With that being said, I think you’d need to customize the report to fetch the objkeys in a separate cursor or add a custom “C_” (not configured) field to the transport task line, then add those to existing cursor. But in either case, you’d still need to ensure that you don’t break the line grouping in the report. You want the quantity that shows on the report to be accurate.
Both of the above customization tasks are complicated and require the use of the IFS Developer Studio to achieve.
And you’re right, not all reports support custom configured (CF$_) fields. It all depends on how the data is being fetched.
p.s. don’t shoot the messenger.