I am trying to make an automatized process where an operation is deleted in a part method. This operation will never have material and is always the first.
Can I do this without checking out the revision, doing the change in the engineering service and then checking it in again ? I am considering this as a BPM or API call.
I think this is one of those cases where explaining the real business goal could be pretty helpful.
What is triggering this deletion? What does the operation represent?
If you are changing something in the part master, I don’t think its possible to make changes without following all the checkout and approval steps. But you can change the BOM on quotes and jobs much more simply.
We do mainly custom pieces that requires programming CNC machines.
We do this step as the first operation of a part, as we include time spent programming in the method.
When the operation is completed, we delete the operation in the part master, as to not program it anew when we start a new job.
My task is to automate this process, so that the programmer doesn’t have to go in the enginering workbench, delete the operation and then check in the revision.
And what is the point of having the operation there in the first place?
To track if it has been programmed or not?
To capture the cost of programming once off?
If you want to do this the way you are thinking, you will want to turn on tracing, and do all the steps to checkout, remove the operation, and check-in & approve. Then you will want to make an Epicor Function, which calls all the same BO’s in your trace in the same order. Call this Epicor function from wherever your automation is being triggered, either via REST API, or running it directly from a BPM.
The main purpose of the operation is to track the time and cost spent on it (opeartors punch time on it), plan ahead the programming time, and follow the job process since the programming is used in the very next operation of the job.
It also serve as a limit to accept modification from the client, which are accepted as long as the programming operatoin hasn’t been started.
We did but to automate this we need to create a new part and edit its revision int the engineering WB, which returns to my orignial question, albeit in reverse as we would be adding an operation rather than delete it :-D.
We use a generic partnum for our engineering operations. You can re-use the part (and MoM), rather than creating a new one every time… Maybe tag the job with the final part number, so you can report on profitability by partnum.(you should be able to get it by order, though…).
That might also make analyzing the jobs cleaner, since you won’t have all the programming time wrapped into the first job, making it look less efficient.
IDK if this is useful, but we have automated creation of new revision of method and unapproval of prior rev by running Powershell with DMT. The DMT imports can also do record deletes as well as updates. It works seamlessly without any user interaction other than pushing create new rev button.
We use BAQ export to take current part method out with change needed in the method, then we bring the new method back in with new revision and unapprove the old rev.
You could use same method to BAQ export your method out removing the operation and bring it back in and approve it.
So if we have a PROGRAM part, insert it as material for the first operation of PART1, it would work for the first job, but when creating a second job for PART1, for which we do not want programming, how do we determine if the programming has already been done ?
Check in stock if we have have a PROGRAMMING part with PART1 tag ? is this eaisly done ?
You could handle this from the job with a checkbox on the part master that the programming has been started. Post processing on get details check for the checkbox being false and add the operation.
You could also have a date time stamp on the part when the programming was done.
You could start with creating the method either in the job or in the quote that you used to give a price to the customer.
You don’t need an engineered method to have a method of manufacturing for a job.
After the job is done,
Create the part
review the results and import the method of manufacturing into the engineering workbench from the job by using Get Details.
Delete the first operation.
I am working with a job shop right now where we aren’t creating a part in the part master until we get a second purchase order.
Like you we are a very custom engineer to order company. We approach it a slightly different way, we BOM the part to include the programming operation.
We then use a BPM to evaluate whether if there are any jobs prior to the current job at the revision specifie, if there is then programmatically remove the op from the job upon creation.