I'm trying to use the 'make to order' call from the REST API and I get an error

Here is the call: /api/v1/Erp.BO.JobEntrySvc/JobProds

And I get this error message:

{
  "HttpStatus": 400,
  "ReasonPhrase": "REST API Exception",
  "ErrorMessage": "You are not licensed to maintain this table.",
  "ErrorType": "Ice.Common.BusinessObjectException",
  "ErrorDetails": [
    {
      "Message": "You are not licensed to maintain this table.",
      "Type": "Error",
      "Table": "JobPart",
      "Program": "Epicor.RESTApi.dll",
      "Method": "ThrowUpdateExtRESTApiException",
      "ColumnNumber": 17,
      "LineNumber": 184
    }
  ]
}

My Epicor Account has admin rights so I donā€™t think thatā€™s the problem. Is there any workaround to link the job to a sales order line without using this API call ?

Thanks

/api/v1/Erp.BO.JobEntrySvc/JobProds: You are working with JobEntrySvc instead of JobEntry I guess. JobEntrySvc is used for maintenance jobs and I suspect that you donā€™t have this module.

This is actually correct for for pulling production job information.

@Stevensi1018 - Do you have the Advanced Production license?

I donā€™t know what that is. How can I look into it ?

If you open your Epicor Administration Console you can go under your application server ā€“ licensing and then open the license. You will see if the module is enabled and/or licensed.

Thanks, I donā€™t have the license. How can I replicate the ā€˜Make to Orderā€™ via the REST API then ? Is there another API call (Update?) that I can use ?

I am taking a guess here but you might be out of luck since without that license you cannot ā€œdirectly maintain the tableā€. I am not sure what exactly that will restrict but I assume you can manually create this demand link using Job Entry? My next test would be using a BPM to do this - if that works it will open up using a UBAQ from Rest to do this for you. Just curious - why are you using Rest to create these links?

Thanks but unfortunately weā€™re creating everything related to the project structure from an external application so I canā€™t really use BPM. I tried to use the GetNewJobProd Method but itā€™s not working. Also trying ā€˜Updateā€™ but it doesn,t seems to work too.

The BPM would just be a test to see the impact of not having this license. Does the GetNewJobProd return the same error? Even though external you can still offload some of the Rest work by passing through parameters to allow a server side object (UBAQ / BPM) to finish the processing (i.e. create the demand link).

Nope, it doesnā€™t return an error but I donā€™t see the ā€˜Make to Orderā€™ in epicor. Iā€™ll try other REST solutions and Iā€™ll try a BPM if it doesnā€™t work to test this. Thanks a lot !

If GetNew is working sounds like you might be ok and just need to call update - at a minimum after populating the data. There might be a couple other methods between GetNew and update but you would need to trace for those.

1 Like

Got it working with /Update on JobEntrySvc with these parameters:

{
  "ds": {
    "JobProd": [
      {
        "Company": "QS",
          "JobNum": "192037-1",
          "OrderNum": 184,
          "OrderLine": 1,
          "OrderRelNum": 1,
          "MakeToType": "ORDER",
          "ProdQty": "1",
          "PartNum": "Phase 1",
          "TargetAssemblySeq": 0,
          "RowMod": "A"
      }
        ]
  }
}

Thanks again for the help !

1 Like