Summary: I've created a new field in the SalesTable and want to add it to the Sales Order Service. I've followed the steps to make it come through, show up in the field selection and the schema. When I populate the XML with data for the field, it comes through as blank.
Steps I've taken:
1. Create the field 'LOCID' in SalesTable, synchronize and compile the table
2. Went to the AxdSalesOrder AOT query and clicked 'Restore'. This brought the new field into the Query.
3. Under Tools -> AIF -> Update Document service, I have updated the service with the 'regenerate data object classes' and 'update AxBC classes' cheboxes checked. This created my methods in the SalesSalesOrder_SalesTable and AxSalesTable classes:
class SalesSalesOrder_SalesTable extends AfStronglyTypedDataContainer { #define.LocId('LocId') ... } public str parmLocId(str _locId = '') { if (!prmisdefault(_locId)) { this.setField(fieldNum(SalesTable, LocId), _locId); } return salesTable.LocId; } public boolean existsLocId() { return this.exists(#LocId); } public str parmLocId(str _value = '') { if (!prmisdefault(_value)) { this.set_Attribute(#LocId, _value); } return this.get_Attribute(#LocId); }
4. Generated incremental CIL
5. Refreshed SalesSalesOrderService in the AIF Services form. No errors were generated.
6. Enabled my field here (Making it required / not required does not seem to make a difference)
7. The input file looks like so, alphabetical:
The transaction is created, but the custom field is empty. I've tried this with other custom fields and I get the same results.
What is strange if I leave the field as required and take it out of the import XML file, the file still comes through. No Exceptions in the Exception log.
Can anyone help point me in the right direction on how I can proceed to debug this? Is there any way to intercept the process and see if/how the value is being passed in as blank to the table?
Any help would be greatly appreciated, I can provide further detail if needed.