The audience for this post would be a person familiar with our software and how it gathers data from the host software system. In this case, the host software system is SAP B1 with the ProductionOne add-on. The technique will be the same for other systems, the names of the tables and the fields will be different.
In this post, I'd like to discuss a situation where we have multiple machines that can produce a product, but some of the machines can handle material of a certain range of widths and other similar machines can handle material based on a different range.
You may have multiple lathes, but have set the feeding conveyer to handle small sizes for one machine and large sizes for another. Although both machines can process the material, your preference would be to have the small material schedule on the machine with the appropriate converyer feeding it.
I'm going to set up an example where there are multiple factors that determine which machine is used.
The machines are called "Fin Presses" and we have 10 of them.
The limiting characteristics or "Attributes" are: 1) The maximum number of fins per row or "FinRow", 2) The particular fin die being used or "FinID", 3) The diameter of the holes associated with the fin or "FinHole", and 4) the pattern of fins being produced or "FinPattern".
The attributes are stored as User Defined Fields or "UDF"s in the host Enterprise Resource Planning system or "ERP".
Now, the process of gathering the data and pulling it into PlanetTogether's Advanced Planning and Scheduling software or "APS". This is also refered to as mapping. Then setting up the attribute table defining the ranges associated with the machine characteristics. Then assigning an attribute table to a machine or group of machines, also called Resources.
Step 1: Determine which fields to map and which SQL View to map them into. In our example, we will map the customer defined fields called U_Fin_Row, U_Fin_ID, U_Fin_Hole, and U_Fin_Pattern from the WOR1 table in the SAP/ProductionOne database to the APS_Operation view in the PlanetTogether import database called "ProductionOneAPS_Import". This is done by first selecting the fields in the APS_OperationHelper view, which will then pass the values on to the APS_Operation view:
Step 2: Update the APS_Operation view to select the new UDF fields:
Step 3: Now the attributes of the resource have to be mapped to PlanetTogether. We gather information from the APS_Operation view, which receives information from the SAP/ProductionOne tables: @NBS_RESOURCE, OWOR, WOR1, and OITM. The information is first sent to the APS_AttributeHelper view and then through to the APS_Attribute view:
Step 4: The APS_Attributes view creates an entry for each of the 4 attributes of the Fin Press resource:
Step 5: Now, in the PlanetTogether data mappings wizard, we must make sure that the "Operation Attributes" checkbox is checked on the "Job Objects to Import" page:
Step 6: On the "Operation Attributes" mapping page, we need to select from the APS_Attributes view and map the corresponding data items:
Step 7: Then, on the Data tab, click the Setup Tables button and click the "Create new (Insert)" icon on the Setup Tables pop-up window. The icon looks like a single sheet of paper:
Step 8: Create a table for each machine (or group) and add attribute names and values. The names must correspond to the names used when creating the APS_Attributes view in step 4 above. For the Die Letter (FinDie attribute), we have substituted a number corresponding to the alphabet, A = 1, B = 2, C = 3, etc.:
Step 9: Select the "Resources using this table" tab, and select the resources associated with each of the attribute setup tables. Save and Close the tables when you are done:
That should allow the scheduling of jobs to take into consideration the attributes of each of the fin press resources.