How have we at Deft Flux made life easier by implementing elegant solutions to real business requirements? Herewith, we present two examples.
Company A needs to produce an XML file for the Job Order Interface of its Trumpf Inventory Manager Machine. Company A also needs to produce a tab-delimited advanced ship notice (ASN) for upload to a customer’s system. Both of these cases are interesting because they cannot be solved with a Business Activity Query (BAQ) or simple Business Process Management (BPM) Method Directive. Although a BAQ can be exported, the XML is not in the right format for the Trumpf machine. A simple BPM cannot handle file output, let alone tab delimited. How do we proceed?
Considering a few different paths to the objective, the most elegant is a BPM Method Directive. In both cases, the file export is triggered by an update to the business object (Job or Shipment), so we create a Method Directive that executes a Progress Advanced Business Language (ABL) procedure. Using ABL has a few advantages.
- We can include our conditions inside or outside of the ABL as we see fit.
- If all of our conditions and output code are inside, we can call our procedure from multiple business object methods without repeating code. For example, an update to a Job might come from JobEntry.Update, QuickJob.Update, OrderEntry.CreateJobs, or OrderJobWizard.Update.
- ABL contains all of the file output, operating system, and XML functions we need.
- ABL gives us easy interaction with the Epicor database.
- We can fully comment our code.
- We can reference code in external files and even create code libraries.
Creating such a procedure to dump a tab delimited or XML file is our specialty, and a day later we have a robust process that will produce a new file for each transaction. We have integrated two more systems. We have reduced by two the list if items our IT or operations manager needs to worry about.
Do you need to eliminate headaches with elegant systems integration? We at Deft Flux would love to help. Give us a call.