IDM Document Workflow Example
If you generate the report and look at the background task parameters in the Active Background Tasks form, you see a list of comma-separated parameters. Within these parameters, the value of the customer order is listed and labeled StartingOrderNumber=. The process described below parses the background task parameters to extract the actual customer order number and uses that to look up additional values related to the customer order, which are then used during insertion of the document into the Document Management app.
After it gets the order number, the workflow uses the specified IDO (SLCos) to get additional information about the order. This information is passed to Document Management as metadata for filtering:
- Order number
- Customer number
- Related customer PO number (if available)
- Related estimate number (if available)
- All item numbers from the order lines. The item values are stored in a multi-value attribute in the Document Management app.
The workflow determines where to store the document file in Document Management based on the information you provide about the external document type (CS_SalesOrder) and entity type (InforSalesOrder). You can set up a document description that uses values from the KeyText variables to make the description useful, for example 4677103_InforSalesOrder.
This table explains the values that are defined in the OrderVerificationReport workflow, shown when you select the Advanced check box::
Field | Value | Description |
---|---|---|
TaskName | OrderVerificationReport | TaskName appearing in the Background Task Definitions form. |
vKeyText01 | OrderStarting= | Search string start. This start and end logic provides the value between the strings as the actual number. This handles cases, for example customer orders, where expand keys are used.. |
vKeyText02 | OrderEnding= | Search string end. |
vKeyText03 | INSTR(E(eTaskParms1), V(vKeyText01)) + LEN(V(vKey- Text01)) | Find the starting position of OrderStarting= in the TaskParms1 string. For example, if eTaskParms1 is “OrderStarting=B0001, OrderEnding=E0005,….”, the start position is B. |
vKeyText04 | INSTR(E(eTaskParms1), V(vKeyText02)-1) – V(vKeyText03) | Calculate the length of the OrderStarting value. For example, if eTaskParms1 is “OrderStarting=B0001, OrderEnding=E0005,….”, the result is the string length of B0001, which is 5. |
vKeyText05 | SUBSTRING(E(eTaskParms1),V(vKeyText03),V(vKeyText04)) | Find the value of OrderStarting. Using the above example, the value is B0001. |
vKeyText06 | DBFUNCTION("ExpandKyByType", "CoNumType", V(vKeyText05)) | Function expands the order number as needed, for example, "4677103" (vKeyText05) to " 4677103" (vKeyText06). |
vIdoName | SLCos | Name of the IDO that contains data for CoNum. |
vIdoFilter | SUBSTITUTE("CoNum='{0}'", V(vKeyText06)) | The filter looks in the IDO for a record where, for example CoNum=’ 4677103’ if the vKeyText06 field evaluates to “ 4677103’. |
vIdoPropertyList | CustNum,CoNum,CustPo,EstNum, SLCoItems.Item |
List of IDO properties that belong to the IDO listed in vIdoName. The
document will be tagged with attributes that match these IDO property values. Note that SLCoItems.Item is a multi-value attribute used for all of the items in the CO lines. |
vExtDocName | CS_SalesOrder | Document Management document type that is used to store the submitted document. |
vExtMsgEntity | InforSalesOrder | Infor Ming.le EntityType that is used in JSON messages. |
vExtDocDescription | SUBSTITUTE("{0}_{1}", V(vKeyText06), V(vExtMsgEntity)) | Function that is used to create meaningful document descriptions in the form of “ 4677103_InforSalesOrder” if vKeyText06 evaluates to CoNum=” 4677103”. |