Archive

Archive for the ‘Application’ Category

Understand the Syteline APS output table and data

April 8th, 2014 No comments

 Order Types

The ORDTYPE field in the ORDER table distinguishes different types of orders. The value in this field affects the database data you need to retrieve for various APS functions.

10 reserved by the Scheduler to identify planned manufacturing orders

50 supply delivery (reserved for internal use)

100 released, scheduled work order

200 customer order

210 EDI order

220 Web order

230 MPS order

240 firmed work order

245 component demand for firmed scheduled job (used in Infor APS)

250 released work order (not scheduled)

255 component demand for released scheduled job (used in Infor APS)

260 production order

270 transfer order

300 forecast order

310 replenishment/safety stock order

Retrieving the Projected Completion Date for Order X

After an order has been planned, you can retrieve the projected completion date.

SELECT CALCDATE

FROM ORDPLAN000

WHERE ORDERID = ‘X’

Retrieving Planned Work Orders

SELECT a.ORDERID, a.MATERIALID, d.QUANTITY, a.STARTDATE, a.ENDDATE

FROM MATLPLAN000 a, INVPLAN000 b, ORDER000 c, JOBPLAN000 d

WHERE a.MATLTAG = b.MATLTAG

AND a.ORDERID = c.ORDERID

AND a.MATLTAG = d.MATLTAG

AND d.SEQNO = 1

AND b.SCHTYPE = 6

AND ((a.PMATLTAG <> 0)

OR (c.ORDTYPE <> 100 AND c.ORDTYPE <> 240 AND c.ORDTYPE <> 250))

The final condition in the where clause results in the exclusion of planned manufacture for the end items of work orders.

Retrieving Planned Purchase Orders

SELECT a.ORDERID, a.MATERIALID, b.DEMAND, b.SCHDATE,

(c.FLEADTIME + b.DEMAND * c.VLEADTIME) AS LEADTIME

FROM MATLPLAN000 a, INVPLAN000 b, MATL000 c

WHERE a.MATLTAG = b.MATLTAG

AND a.MATERIALID = c.MATERIALID

AND b.SCHTYPE IN (7,8)

Retrieving Late Orders for Order Type X

SELECT a.ORDERID, a.DUEDATE, b.CALCDATE

FROM ORDER000 a, ORDPLAN000 b

WHERE a.ORDERID = b.ORDERID

AND b.CALCDATE > a.DUEDATE

AND a.ORDTYPE = X

Retrieving Out-of-Range Orders

(Out-of-range orders have a promise date later than the planning horizon.)

SELECT a.ORDERID, a.DUEDATE

FROM ORDER000 a, ALTPLAN b

WHERE b.ALTNO = 0

AND a.ORDTYPE <> 10

AND DATEDIFF(hh, GETDATE(),a.DUEDATE) > b.PLANHORIZ

Retrieving Inventory Exceptions

Inventory exceptions are unused supply orders and minimum-inventory violations. To identify inventory exceptions, you must retrieve the beginning inventory level, all inventory events, past-due exceptions, expedited exceptions, and supply tolerance exceptions for a given part.

Retrieve beginning inventory for part X

SELECT STARTLEV

FROM MSLPLAN000

WHERE MATERIALID = ‘X’

Retrieve all events affecting the inventory level of part X

SELECT b.SCHDATE, b.SUPPLY, b.DEMAND,

dbo.DecodeSCHTYPE(b.SCHTYPE) as SCHTYPE,

dbo.DecodeSCHFLAGS(b.SCHFLAGS) as SCHFLAGS

FROM MATLPLAN000 a, INVPLAN000 b

WHERE a.MATLTAG = b.MATLTAG

AND a.MATERIALID = ‘X’

ORDER BY b.SCHDATE

Retrieve past-due exceptions

SELECT b.ORDERID, b.DELVDATE, b.AMOUNT, (a.FLEADTIME + a.VLEADTIME * b.AMOUNT) AS

LEADTIME

FROM MATL000 a, MATLDELV b

WHERE a.MATERIALID = b.MATERIALID

AND b.DELVDATE < GETDATE()

AND a.MATERIALID = ‘x’

UNION ALL

SELECT b.ORDERID, b.DUEDATE AS DELVDATE, b.ORDSIZE AS AMOUNT, (a.FLEADTIME +

a.VLEADTIME * b.ORDSIZE) AS LEADTIME

FROM MATL000 a, ORDER000 b

WHERE a.MATERIALID = b.MATERIALID

AND (b.FLAGS & 1) <> 0

AND b.DUEDATE < GETDATE()

AND a.MATERIALID = ‘x’

Retrieve expedited exceptions

SELECT c.ORDERID, b.SCHDATE, b.DEMAND – b.SUPPLY AS AMOUNT, (a.FLEADTIME +

a.VLEADTIME * b.DEMAND) AS LEADTIME

FROM MATL000 a, INVPLAN000 b, MATLPLAN000 c

WHERE a.MATERIALID = c.MATERIALID

AND b.MATLTAG = c.MATLTAG

AND (b.SCHTYPE = 12 OR (b.SCHFLAGS & 16) <> 0)

AND a.MATERIALID = ‘x’

Retrieve supply tolerance exceptions

SELECT b.ORDERID, c.SCHDATE, c.DEMAND, (a.FLEADTIME + a.VLEADTIME * c.DEMAND) AS

LEADTIME, e.SCHDATE AS DELVDATE

FROM MATL000 a

INNER JOIN MATLPLAN000 b ON a.MATERIALID = b.MATERIALID

INNER JOIN INVPLAN000 c ON b.MATLTAG = c.MATLTAG AND c.SCHTYPE = 3

INNER JOIN MATLPLAN000 d ON c.SUPMATLTAG = d.MATLTAG

INNER JOIN INVPLAN000 e on d.MATLTAG = e.MATLTAG AND e.SCHTYPE = 5

WHERE c.SCHDATE < e.SCHDATE

AND a.MATERIALID = ‘x’

Query 1

select m.matltag, m.orderid, i.schdate, i.supply, i.demand,

m2.orderid as suporder, dbo.DecodeSCHTYPE(i.schtype) as schtype,

dbo.DecodeSCHFLAGS(i.schflags) as schflags, m.pmatltag,

m.startdate, m.enddate, m.passcd, m.passiters,

dbo.DecodeMPNFLAGS(m.flags) as flags

from matlplan000 m

inner join invplan000 i on m.matltag = i.matltag

left join matlplan000 m2 on i.supmatltag = m2.matltag

where m.materialid = ‘<item id>’

order by m.matltag, i.schtype

Query 2

select *

from MSLPLAN000

where materialid = ‘<item id>’

Query 3

select *

from MATL000

where materialid = ‘<item id>’

Categories: Application, Implementation Tags:

Schema fields relating to item master cost fields

April 3rd, 2014 No comments

ITEM MAINTENANCE WINDOW – GENERAL TAB

 

Cost Type: item.cost

Cost Method: item.cost-method

(Standard) Unit Cost: item.unit-cost

Current Unit Cost: item.cur-u-cost

Notes:

  • The Cost Type can be either Actual or Standard with the stored value being "A" or "S".

  • The Cost Method and the associated field values can be (L)IFO, (F)IFO, (A)verage, (S)pecific, (C)Standard.

  • The label and usage of the Unit Cost field varies depending on the item’s Cost Type and Method. If the item is standard-costed, the label "Standard Unit Cost". Otherwise, it is just "Unit Cost". Usage of the field is the following:

  1. Standard cost if the item’s Cost Type is Standard

  2. Average cost if the item is Actual/Average

  3. Cost at the top of the stack (next issue cost) if Actual/FIFO

  4. Cost at the bottom of the stack if Actual/LIFO

  5. Last receipt cost if Actual/Specific

  6. This field is primarily informational if Actual with LIFO, FIFO or Specific as the actual cost data used when for the item is stored in the LIFO/FIFO stacks or the item’s locations (or lots) if the item is Specific.

  • The Current Unit Cost is used as follows:

    1. For purchased items: Holds the Purchased Current Unit Cost fields from the Cost Maintenance screen. That can be manually entered and may be updated by PO receiving (depending on how the Update Current Cost PO parameter is set).

    2. For manufactured items: Holds the Manufactured Current Unit Cost from the Cost Maintenance screen. That is the unit cost for the item as calculated based on it’s current routing and BOM. Updated when you run the BOM Cost Rollup or do maintenance to the item’s current routing/BOM.

ITEM MASTER COST MAINTENANCE WINDOW – COST DETAIL TAB

Assembly column:

Setup: item.asm-setup

Run: item.asm-run

Material: item.asm-matl

Tool: item.asm-tool

Fixture: item.asm-fixture

Other: item.asm-other

Fixed: item.asm-fixed

Variable: item.asm-var

Outside: item.asm-outside

Accumulated column:

Setup: item.comp-setup

Run: item.comp-run

Material: item.comp-matl

Tool: item.comp-tool

Fixture: item.comp-fixture

Other: item.comp-other

Fixed: item.comp-fixed

Variable: item.comp-var

Outside: item.comp-outside

Unit Costs area:

Current Unit Cost: item.cur-u-cost (same as on I/M general screen)

(Standard) Unit Cost: item.unit-cost (same as on I/M general screen)

Cost Totals area:

Subtotal: Calculated as the sum of the assembly column

Material Subtotal: item.sub-matl

Assembly Total: Calculated as Subtotal plus Material Subtotal

Accumulated Total: Calculated as the total of the Accumulated column

Notes:

  • The ASSEMBLY column is the cost of the item’s current operations and of purchased materials in its current BOM.

  • The ACCUMULATED columns is the ASSEMBLY values plus the cost of any manufactured items which exists in the item’s current BOM.

  • The BOM Cost Rollup rolls costs from the bottom of your indented BOMs up and populates these columns.

  • They are updated on-the-fly when you make manual changes to the item’s current routing and BOM. Those updates just reflect the changes you are making. If lower level items’ costs change, you must run the BOM Cost Rollup to have those changes rolled up into parent items.

  • The ECN posting process does not change these costs on-the-fly. Those changes are not reflected until the BOM Cost Rollup is run.

  • For purchased items, the cost being rolled from that item up into its parent items is also put into the Material row of both columns of this screen when you run the BOM Cost Rollup. That will be the item’s Purchased Current Unit Cost if it is an actual-costed item or if it is standard-costed and you answer No to the "Use Std Cost for Purchased Items" option. It will be the item’s standard cost if you answer Yes to that option.

ITEM MASTER COST MAINTENANCE WINDOW – COST MAINTENANCE TAB

Unit Cost area:

Material Cost: item.matl-cost

Material: item.unit-mat-cost

Freight: item.unit-freight-cost

Duty: item.unit-duty-cost

Brokerage: item.unit-brokerage-cost

Labor Cost: item.lbr-cost

Fix Ovhd Cost: item.fovhd-cost

Var Ovhd Cost: item.vovhd-cost

Outside Cost: item.out-cost

Total Unit Cost: item.unit-cost (same as on I/M General screen)

Manufactured Current Unit Cost area:

Cur Material Cost: item.cur-matl-cost

Cur Labor Cost: item.cur-lbr-cost

Cur Fix Ovhd Cost: item.cur-fovhd-cost

Cur Var Ovhd Cost: item.cur-vovhd-cost

Cur Outside Cost: item.cur-out-cost

Cur Unit Cost: Calculated as sum of the above fields

Purchased Current Unit Cost area:

Material: cur-mat-cost

Freight: cur-freight-cost

Duty: cur-duty-cost

Brokerage: cur-brokerage-cost

Cur Unit Cost: Calculated as sum of the above fields

Notes:

  • The unit-*-cost fields under Material Cost will only be filled if the item is purchased with Cost Type of Standard.

  • The item’s Current Unit Cost on the general screen (item.cur-u-cost) will hold either the sum of the Purchased Current Unit Cost fields if the item has a Source of Purchased or Transferred, or the Manufactured Current Unit Cost fields if the Source is Manufactured.

  • The Purchased Current Unit Cost is updated when you process a PO receipt if the "Update Current Cost" PO parameter is set to Last or Average.

  • The Manufactured Current Unit Cost is populated by the BOM Cost Rollup utility and is updated on-the-fly when you make manual changes to the item’s current routing or BOM.

  • For Standard-costed items, the Unit Cost can only be manually changed if the item has zero on hand and has no transactions in the material transaction table. Otherwise, it can only be changed by running the Roll Current Cost to Std Cost utility.

  • For Actual-costed items, the Unit Cost can only be updated if it has a Cost Method of Average since that is where the item’s average cost is stored. If the item is LIFO, FIFO or Specific costed, the item’s cost data is stored in other tables and this field can not be updated since it is informational only.

ITEM MASTER COST MAINTENANCE WINDOW – COMPARE TAB

Current column:

The "item.comp-" fields listed above as being on the Cost Detail tab are displayed in the Current column of this screen. The Total is calculated by the program.

Standard column:

Setup: frzcost.comp-setup

Run: frzcost.comp-run

Material: frzcost.comp-matl

Tool: frzcost.comp-tool

Fixture: frzcost.comp-fixture

Other: frzcost.comp-other

Fixed: frzcost.comp-fixed

Variable: frzcost.comp-var

Outside: frzcost.comp-outside

Total: Calculated by the program

Unit Costs area:

Current Unit Cost: item.cur-u-cost (same as on I/M general screen)

(Standard) Unit Cost: item.unit-cost (same as on I/M general screen)

Effective Dates:

Current: job.rollup-date

Standard: frzcost.freeze-date

Notes:

  • An frzcost record is created when you run the Roll Current Cost to Std Cost utility for an item.

  • The rollup-date is from the item’s current job and is the last time the BOM Cost Rollup processed the item. When you first add a current operation for an item, the system creates a behind-the-scenes job record to which to link the item’s current routing and BOM. That rollup-date is updated each time the BOM Cost Rollup is run.

  • The freeze-date is from the frzcost record and is the last time the Roll Current Cost to Std Cost utility was run for the item.

ITEM MASTER COST MAINTENANCE WINDOW – STD COST TAB

Assembly column:

The fields shown are all of the fields that begin "asm-" found in the frzcost table.

Accumulated column:

The fields shown are all of the fields that begin "comp-" found in the frzcost table.

Unit Costs area:

Current Unit Cost: item.cur-u-cost (same as on I/M general screen)

(Standard) Unit Cost: item.unit-cost (same as on I/M general screen)

Effective Dates:

Current: job.rollup-date

Standard: frzcost.freeze-date

Cost Totals area:

Subtotal: Calculated as sum of the frzcost.asm-* fields

Material Subtotal: frzcost.sum-matl

Assembly Total: Calculated as sum of Assembly column plus the Material Subtotal

Accumulated Total: Calculated as sum of Accumulated column

Notes:

  • The rollup-date which is from the item’s standard job. When you run the Roll Current Cost to Std Cost utility, the system creates a standard job. The rollup-date in the standard job is set to the rollup date in the current job and represents the last time the BOM Cost Rollup utility processed the item before Roll Current Cost to Std Cost was run.

Sequence of running APS and Scheduling

February 20th, 2014 No comments

In general Scheduler should be run first as input to the APS Planning run.  The reason for this is based upon the fact that the Scheduler is in charge of Released Jobs by default and if there are any new Release Jobs since the last planning run, you want the Scheduler to have scheduled them.  In addition if the ‘Use Scheduled Times in Planning’ parameter is selected and / or you are running Finite APS you want to make sure that the Scheduler runs first.

Default sequence:

1. Run Scheduler

2. Run APS

Special case:

If you have the ‘Calculate Job Dates if Blank’ Planning Parameter selected, please note that the Scheduler needs to have non-blank job start /end dates.  In this environment the sequence is as follows:

1. Run APS to populate the Blank sub-job Start / End Dates

2. Run Scheduler to Schedule the Jobs

3. Run APS to plan capacity and materials.

Recovering WIP dollars for job closed accidentally

February 12th, 2014 No comments

If someone accidentally closes a job that was in process, all of the costs that were in WIP will be written off to the item’s inventory adjustment account if actual-costed or to variance accounts if standard-costed and the WIP buckets on the job will be cleared. These WIP-clearing entries will be written to the SF Dist journal. You can change the job’s status back to Released in order to continue processing but doing so will not put the written-off cost back into WIP.

The best (and possibly only) way to do handle this is to issue a non-item master material to the job for the total cost that had been written off. When you do so, you can enter the cost at which to issue the item and the offsetting account to WIP. The detailed steps are as follows (read them all thoroughly before attempting this):

1) Find the amounts that were written off.

Find the journal transactions in the SF Dist journal which were created when the job was closed. These would have a reference of the job number prefaced by "INV JCLS" if the job was closed on the job screen or "INV JFIN" if it was closed via a job transaction. There may be up to five entries to the job’s WIP accounts (material, labor, fixed ovhd, variable ovhd and outside). If the parent item on the job has a cost type of Actual, the offsetting account would have been inventory adjustment. If it was Standard, the offsetting accounts would be material usage variance and/or routing variance.

2) Issue a non-item master item to the job.

Enter a material transaction for an item that is not in the item master and which represents the process such as "RECOVERED WIP COST". You will be informed that the item is not in the item master and that it is not in the job’s BOM at which point you should elect to have it added.

3) Issue it at the written off cost.

In the process of issuing this item, you will be prompted for the cost at which it should be issued. In the five cost buckets, enter the amount that had been written off to each WIP account into the appropriate bucket.

4) Enter the account to which the amounts had been written off.

When prompted for the Other Account, if the item is actual-costed, enter the inventory adjustment account that was hit when the job was closed. That will then reverse the entry that was made to inventory adjustment when the job was closed. If the item is standard costed, both material usage and routing variance may have been hit. If only one of the two were hit, enter that account into the Other Account field. If both were hit, the easiest thing to do would be to enter one of the two accounts and then enter a general journal transaction which reverses the appropriate amount into the other account.

5) IMPORTANT: If the parent item on the job is standard costed, go to the job material record created for the WIP recovery and change the quantity per assembly from zero to 1.  If it is left at the default of zero, its entire value will be written off to material usage variance when the job is closed.   Also, make sure the quantity is expressed as per Lot rather than per Unit.

At that point, all of the costs will be back on in the WIP accounts in GL and the job’s WIP buckets. Also, the amounts will have been reversed from the accounts into which had orignally been cleared.

APS Implementation Considerations

February 11th, 2014 No comments

Below are some of points that are worth taking, while implementing APS in Syteline.

1. Implementing APS is an all or nothing process.  Partial effort will result in failure.

2. APS requires you to rethink your business process related to promising to customers; ordering materials and releasing work into production.   Sometimes it is difficult to change old mindsets and ways of doing things.

3. APS requires that everyone is on board from management to customer service to planning to buyers to production.   Resistance in any of these areas will result in failure.

4. Setting expectations is vital.  APS is a tool.  It provides extreme visibility.  It also quickly exposes bad data and poor business process.  It does not fix data and it does not fix poor business practice.

5. Allow adequate time to review your existing data model and sufficient time to pilot through the APS process.  Most implementation failures can be attributed to ignoring this step.

6. Data elements: Routings – start with what you have.  A significant amount of benefit can come from existing messy routings.  It is only a small amount of routings that need to be high quality.

7. Data elements: BOM’s – accuracy should be higher for BOMs; but these days that is typically true.

8. Data elements: Work centers – make sure that you understand the WC / Resource Group / Resource model of APS.  Limit the number of constrained (finite Resource Groups / Resources) – typically no more than 30% of resources.  Start with only a single Resource Group on operations.

9. Data elements:   Inventory – must be accurate and must have processes in place to keep it accurate.

10. Data elements:  Past Due Customer Orders, Purchase Orders, Jobs.   Complete or delete old Purchase Orders and Job Orders.  Do a one-time adjustment of Past Due Customer Orders to reflect current delivery reality.

11. Data elements:  Purchase Item Lead Times – review and adjust for accuracy.

12. Don’t wait until you have pristine data or you will never start.  Initiate an ongoing process to keep standards current.  This is NOT a one-time process; but a forever process.  The process of piloting APS with your current data will immediately show you bad data.  This is why is imperative to allow sufficient time in your piloting to review APS results.

13. Determine if you have the ability to negotiate Due Dates with your customers.  This will dictate how useful Get ATP / Get CTP are.  Make promises you can keep.

14. Limit the number of drop-ins Customer Orders.

15. Follow ‘launch control’.  Don’t create Jobs manually.  Don’t release jobs until APS recommends.  The same is true for purchase orders.

16. Don’t ‘second guess’ the plan.

17. Follow the Dispatch Lists.

18. Monitor on a daily basis projected late Customer Orders, projected late job orders, Item Bottlenecks, Resource Bottlenecks in order to anticipate problems.

19. Record labor and material transactions timely and accurately.  Close jobs in a timely manner. 

20. Pilot, pilot, pilot.

Categories: Application, Implementation Tags: , ,

Setting Up a Master Site and Shared Tables

December 18th, 2013 No comments

About Shared Tables and Master Sites

In a multi-site environment where there are many sites, large amounts of data, and many users, you may want to set up one site as the master site for an intranet. In that case, certain _all tables and user tables can reside only on the master site database and are shared (read and written to through a SQL view) by other sites on the same intranet. No replication needs to occur for the shared _all and user tables, which can greatly improve system performance.

Steps to Set Up a Master Site and Shared Tables for All Sites on an Intranet

Follow these general steps. Refer to the forms and fields for detailed information. You can share _all tables, or user tables, or both types of tables.

Planning

CAUTION: You must plan your multi-site structure carefully before setting up the shared tables. This requires in-depth understanding of the SQL databases, this application’s replication capabilities, and your corporate financial reporting requirements. Refer to the Multi-Site Planning and Replication Reference documents on our support site for more information.

Set Up All Sites on the Intranet

The following steps assume that you have already used the Configuration Wizard during database server installation to link your multi-site databases.

In the Intranets form, specify all intranets to be used in this multi-site system. If you will be sharing _all tables, define an intranet that will include all the sites that share tables. This cannot be an "External" intranet. All the sites on this intranet must use the same version of this application.

Do not define the master site yet – that will be done later.

In each site and entity, use the Sites/Entities form to specify information about this site/entity and the other entities and sites that it relates to. Each site/entity has a record in this form.

On the System Info tab, specify information about the site. Make sure the Intranet Name, Database Name, and Time Zone are set correctly for each of the sites and entities listed on this form.

A list of linked sites displays automatically in the Link Info tab. The local site record shows links used in transactional replication between the currently selected site database and other site/entity databases. On site records other than the local site, the Link Info tab should show only links to the local site.

Use the Replication Categories form to specify tables, stored procedures, and XML documents that should be replicated and to group them into categories. The installation process creates some categories. Do not delete these standard categories. These categories have been created and tested to ensure that they handle the standard system processes. They should meet most of your needs without requiring any changes.

On the Replication Rules form, set up transactional rules for the Site Admin replication category between this site and all the other sites in the intranet, including the site that will be the master site. (Site Admin data includes tables such as site, intranet, and intranet_shared_table.) You may also want to write other rules to replicate certain categories between certain sites. Even if a category contains _all tables that you are sharing, you probably want to write a replication rule for the category. (Any shared _all tables will not be replicated in this case.) Categories may contain additional base tables or stored procedures that are needed to perform certain functions. The rules you need should be determined in the multi-site planning phase.

On the Replication Management form, click Regenerate Replication Triggers. This ensures that site and intranet data is replicated to all the linked sites.

Set Up the Master Site

Log in to the site that you want to make the master site where the shared tables will exist for the intranet.

On the Intranets form, select this site’s intranet. In the Master Site field, select this site to specify it as the master site for the intranet.

Share _All Tables

Log in to the master site.

On the Intranet Shared Tables form, select this site’s intranet.

A list of the _all tables that can be shared displays. (Not every _all table is listed; some are not available for sharing.)

For tables that you want to be shared between all sites on the intranet, select Shared.

Another way to choose the shared tables is to select the replication categories that you want to share. When you select a Replication Category from the drop-down list and click Select by Category, the system marks _all tables in that category as Shared.

When you have selected all the tables you want to share, select Actions > Save.

Click Process to copy information from the tables at the other sites to the master site’s table, delete the table from the other sites (creating views into the master site tables instead), and regenerate the replication triggers for the other sites. If you have selected several tables and have many sites on this intranet, processing may take a while. The Processing Step area displays the system’s progress.

CAUTION: During processing, the selected tables are removed from all sites on the intranet except the master site. Unsharing (rebuilding the tables at the using sites) is time-consuming – so be very sure that you have everything set the way you want it before clicking the Process button.

During processing, the system validates link setup between the master site and the using sites of an intranet. If it finds a problem, an error message displays and nothing is processed; fix the link and then click Process again.

The Processed field indicates which tables have been processed – for example, if shared, they are now resident only in the master site’s database. (Once a row on the form is marked as Processed, subsequent "Process" runs will not reprocess that row.)

After processing all the tables and sites, the system regenerates the replication triggers at the master site.

Share User Tables

Log in to the master site.

On the Intranet Shared User Tables form, select this site’s intranet.

Two lists of tables display:

The top grid lists user tables that can be shared. You cannot edit this list. You cannot select or clear the option for individual tables, with the exception of the AccountAuthorizations or UserGroupMap tables.

The bottom grid lists tables that contain a column whose base domain is UserNames.UserId or GroupNames.GroupId. The bottom grid is used during set up of shared user tables to identify the tables and columns that may need to be updated if records that were formerly defined in the Usernames or Groupnames tables in the non-master site are moved to the master site, but with different UserId or GroupId values.

If you have custom tables that contain a column whose value comes from base domain UserNames.UserId or GroupNames.GroupId, add your custom table and its associated ID column to the Non-Shareable Tables grid. We recommend that your custom tables refer to the Username or Groupname columns, rather than the ID columns, because the distinct list of Usernames and Groupnames across intranet sites is always the same, whether they are stored in shared tables or per site, and therefore no changes are required for data referencing this base domain.

Select Set up shared user tables to select Shared for all tables in the top grid and Update Referenced ID for all tables in the bottom grid. If you want to maintain the AccountAuthorizations table or the UserGroupMap table at each site, clear the Shared check box for those tables.

Click Process to copy information from the tables at the other sites to the master site’s table, delete the table from the other sites (creating views into the master site tables instead), and regenerate the replication triggers for the other sites. If you have many sites on this intranet or many users and groups, processing may take a while. The Processing Step area displays the system’s progress.

During processing, the system validates link setup between the master site and the using sites of an intranet. If it finds a problem, an error message displays and nothing is processed; fix the link and then click Process again.

The Processed field indicates which tables have been processed – for example, if shared, they are now resident only in the master site’s database. (Once a row on the form is marked as Processed, subsequent "Process" runs will not reprocess that row.)

The Status field indicates whether the user tables are shared or not shared.

After processing all the tables and sites, the system regenerates the replication triggers at the master site.

After processing is complete, you must reapply a valid license document on the master site. If the current master site is not enabled for intranet licensing, you must also apply a valid license document on all other sites on the master site’s intranet.

Adding a New Sharing Site (Changing the Intranet Value of a Site)

NOTE: A site’s intranet value cannot be changed if that site is already part of a sharing intranet, or if the site is a master site.

If you want to add a new site to a existing shared tables intranet, follow these steps:

Log in to the site you want to add.

Make sure the Replication Categories and Replication Rules on this site, and on other sites on the shared tables intranet, are set up to replicate Site Admin data to and from this site as desired.

In the Sites/Entities form, change this site’s Intranet value to the name of the shared table intranet and save the record. When you save the record, the system may display a message telling you that this process may take some time. (It copies shared _all table information to the master site and drops the tables from this site.) Saving the record also regenerates the replication triggers at this site and at the master site.

If you have set up rules between other (non-master) sites and this site, log into those sites and regenerate their replication triggers.

Setting Up Shared User Tables at a New Site

When you are already sharing user tables, and you add a new site to the current master site’s intranet, you may also want to set up the new site to share user tables. To do this:

In the Intranet Shared User Tables form, select the Set up per site user tables check box and click Change Setup Option to change the check box label to Set up shared user tables.

Click Process.The status of the shared tables is checked as each site is processed. If sharing has already been set up for a site, no processing occurs for that site, and the process continues with the next site. When it encounters a site that is not already set up, the site is processed.

Replication to Remote Sites

If there are other intranets with sites that want to replicate (not share) _all or user table data to/from sites in the sharing intranet:

For tables that are shared, set up replication categories/rules between the master site and the sites on the other intranets.

For tables that are not shared, set up replication categories/rules between any/all of the sites in the shared intranet and the sites on the other intranets.

Example

Intranet 1:

Site A (master site. Item_all table is shared)

Site B

Intranet 2:

Site C

Site D

If Site B needs visibility into Site D’s item data, replication rules should be set up from Site D to Site A.

If Site D needs visibility into Site B’s item data, replication rules should be set up from Site A to Site D.

If Site C needs visibility into Site B’s customer data (not a shared table), replication rules should be set up from Site B to Site C.

If a Shared _All Table Has Schema Changes

If one of the shared _all tables at the master site has a schema change, you will need to update the views into the _all table at the user sites on the intranet. To do this:

Log in to the master site and go to the Replication Management form.

Click the Regenerate Views to Master Site button.

Syteline and BarTender Integration

December 16th, 2013 No comments

Starting from Syteline 8.03, the Pick, Pack, Ship function utilize BarTender for bar code label printing.  

Create label templates in Bartender.

The label template in Bartender need to use text file as database source.

Create a sample text file with data like following,

TC280847|123456789012345|DGM17ALS|03/03/2014

When we done, we should have data source like this,

We can then build whatever label file in Bartender.

Note for Syteline Pick, Pack, Ship

A text file is created that will be the basis of the labels created in BarTender.  This file is delivered with the SL install in the DevSetup folder.

The file should be labeled:

· BarTenderDatabaseFile.txt.

The contents of the file will be:

· ShipmentId|PackageId|Hazardous|RateCode|NMFC|MarksExcept|PackageType|PackageDesc|Weight|Item|Desc|UM|Qty|CustItem|Mfg|MfgItem|MfgItemDesc|Lot|Site|Whse|Location|CustNum|CustSeq|ConsigneeName

Create a task in Commander

In Commander, create a new task,

The command type need to be “Commander Script“.  All the details, such as what label template to use, what printer to print to and such, will be specify in the .dd file provided by Syteline.

In Trigger tab, specify the folder to monitor and the file type (.dd) to monitor.

Maintain the Template and Output Directory in Syteline

In Inventory Parameters form,

The output directory will be the place that Syteline drop the .dd file in, and Bartender Commander will monitor this directory for .dd files, it will then change them to .old for Bartender to process.

Enter the label printer on the Printers form

May also maintain a list of Label Template files in Package Label Templates form

Syteline Pick, Pack, Ship Label Printing

A form called “Print Package Label” can be accessed from “Pack Confirmation” or “Ship Master” form.

Print Package Labels

This form is used to select which package labels print jobs should be submitted for the labeling software to print.  Text files will be created and placed into the Output Directory specified on the Inventory Parameters

Printer – The printer that the label will be sent to.

Template Name – The filename of the label file

Copies – The number of copies of each label that should be printed.

Packages Exist – This checkbox will show whether or not packages have been defined for the shipment.

Print Labels By – This radio button set will determine how information will display in the grid if packages have been defined.

The core logic for putting together the .dd file is in Form script: CreateOutputFiles.

       Sub CreateOutputFiles()

Dim Filename As String

Dim Copies As String

Dim oCollection As IWSIDOCollection

Dim i As Integer

Dim Time As String

Dim TextFile(0 To 2) As String

Dim iDay As String

Dim iMonth As String

Dim iYear As String

Dim FileDate As String

Dim Lot As String

Dim Item As String

Dim Desc As String

Dim Qty As String

Dim UM As String

Dim CustItem As String

Dim Mfg As String

Dim MfgName As String

Dim MfgItem As String

Dim MfgItemDesc As String

Dim Package As String

Dim Hazardous As String

Dim RateCode As String

Dim NMFC As String

Dim MarksExcept As String

Dim PackageType As String

Dim PackageDesc As String

Dim Weight As String

On Error GoTo ErrorHandler

oCollection = ThisForm.PrimaryIDOCollection

If ThisForm.Components(“Printer”).ValidateData(True) = False Then

Exit Sub

End If

If ThisForm.Components(“LabelTemplateName”).ValidateData(True) = False Then

Exit Sub

End If

If ThisForm.Variables(“PackagesExistVar”).Value = “1” Then

If ThisForm.Components(“Copies”).ValidateData(True) = False Then

Exit Sub

End If

End If

If ThisForm.Variables(“PackagesExistVar”).Value = “0” Then

If ThisForm.Components(“NumberOfLabelsGridCol”).ValidateData(True) = False Then

Exit Sub

End If

End If

For i = 0 To oCollection.GetNumEntries – 1

If oCollection.GetObjectProperty(“UbSelect”, i) = “1” Then

If ThisForm.Variables(“PackagesExistVar”).Value = “1” Then

Copies = ThisForm.Variables(“CopiesVar”).Value

ElseIf ThisForm.Variables(“PackagesExistVar”).Value = “0” Then

Copies = oCollection.GetObjectProperty(“UbNumberOfLabels”, i)

Qty = oCollection.GetObjectProperty(“UbQtyPerLabel”, i)

Lot = oCollection.GetObjectProperty(“UbLot”, i)

Item = oCollection.GetObjectProperty(“UbItem”, i)

Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)

UM = oCollection.GetObjectProperty(“UbUM”, i)

CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)

Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)

MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)

MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)

MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)

Package = “”

Hazardous = “”

RateCode = “”

NMFC = “”

MarksExcept = “”

PackageType = “”

PackageDesc = “”

Weight = “”

End If

If ThisForm.Variables(“LabelsByVar”).Value = “L” Then

Lot = oCollection.GetObjectProperty(“UbLot”, i)

Item = oCollection.GetObjectProperty(“UbItem”, i)

Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)

UM = oCollection.GetObjectProperty(“UbUM”, i)

Qty = oCollection.GetObjectProperty(“UbQty”, i)

CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)

Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)

MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)

MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)

MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)

Package = oCollection.GetObjectProperty(“PackageId”, i)

Hazardous = oCollection.GetObjectProperty(“Hazard”, i)

RateCode = oCollection.GetObjectProperty(“RateCode”, i)

NMFC = oCollection.GetObjectProperty(“NMFC”, i)

MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)

PackageType = oCollection.GetObjectProperty(“PackageType”, i)

PackageDesc = oCollection.GetObjectProperty(“Description”, i)

Weight = oCollection.GetObjectProperty(“Weight”, i)

ElseIf ThisForm.Variables(“LabelsByVar”).Value = “I” Then

Lot = “”

Item = oCollection.GetObjectProperty(“UbItem”, i)

Desc = oCollection.GetObjectProperty(“UbItemDescription”, i)

UM = oCollection.GetObjectProperty(“UbUM”, i)

Qty = oCollection.GetObjectProperty(“UbQty”, i)

CustItem = oCollection.GetObjectProperty(“UbCustItem”, i)

Mfg = oCollection.GetObjectProperty(“UbManufacturerId”, i)

MfgName = oCollection.GetObjectProperty(“UbManufacturerName”, i)

MfgItem = oCollection.GetObjectProperty(“UbManufacturerItem”, i)

MfgItemDesc = oCollection.GetObjectProperty(“UbManufacturerItemDesc”, i)

Package = oCollection.GetObjectProperty(“PackageId”, i)

Hazardous = oCollection.GetObjectProperty(“Hazard”, i)

RateCode = oCollection.GetObjectProperty(“RateCode”, i)

NMFC = oCollection.GetObjectProperty(“NMFC”, i)

MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)

PackageType = oCollection.GetObjectProperty(“PackageType”, i)

PackageDesc = oCollection.GetObjectProperty(“Description”, i)

Weight = oCollection.GetObjectProperty(“Weight”, i)

ElseIf ThisForm.Variables(“LabelsByVar”).Value = “P” Then

Lot = “”

Item = “”

Desc = “”

UM = “”

Qty = “”

CustItem = “”

Mfg = “”

MfgName = “”

MfgItem = “”

MfgItemDesc = “”

Package = oCollection.GetObjectProperty(“PackageId”, i)

Hazardous = oCollection.GetObjectProperty(“Hazard”, i)

RateCode = oCollection.GetObjectProperty(“RateCode”, i)

NMFC = oCollection.GetObjectProperty(“NMFC”, i)

MarksExcept = oCollection.GetObjectProperty(“MarksExcept”, i)

PackageType = oCollection.GetObjectProperty(“PackageType”, i)

PackageDesc = oCollection.GetObjectProperty(“Description”, i)

Weight = oCollection.GetObjectProperty(“Weight”, i)

End If

iDay = CStr(Day(Now))

iMonth = CStr(Month(Now))

iYear = CStr(Year(Now))

Time = Format(Now, “hhmmss”)

FileDate = iMonth + iDay + iYear + Time

Filename = ThisForm.Variables(“OutputPathVar”).Value + “Infor” + ThisForm.Variables(“ShipmentVar”).Value + CStr(i) + FileDate + “.dd”

TextFile(0) = “%BTW% /AF=” & “””” & ThisForm.Variables(“TemplatePathVar”).Value & ThisForm.Variables(“FilenameVar”).Value & “””” & ” /PRN=” & “””” & _

ThisForm.Variables(“PrinterVar”).Value & “””” & ” /P /D=” & “””” & “<Trigger File Name>” & “””” & ” /C=” & Copies & “/R=3”

TextFile(1) = “%END%”

TextFile(2) = oCollection.GetObjectProperty(“ShipmentId”, i) & “|” & Package & “|” & Hazardous & “|” & RateCode & “|” & _

NMFC & “|” & MarksExcept & “|” & PackageType & “|” & PackageDesc & “|” & Weight & “|” & Item & “|” & _

Desc & “|” & UM & “|” & Qty & “|” & CustItem & “|” & Mfg & “|” & MfgName & “|” & MfgItem & “|” & _

MfgItemDesc & “|” & Lot & “|” & oCollection.GetObjectProperty(“UbSite”, i) & “|” & _

oCollection.GetObjectProperty(“UbWhse”, i) & “|” & oCollection.GetObjectProperty(“UbLocation”, i) & “|” & _

oCollection.GetObjectProperty(“UbCustNum”, i) & “|” & oCollection.GetObjectProperty(“UbCustSeq”, i) & “|” & _

oCollection.GetObjectProperty(“UbConsigneeName”, i)

System.IO.File.WriteAllLines(Filename, TextFile)

End If

Next i

ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _

“mI=CmdSucceeded”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)

Exit Sub

ErrorHandler:

ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _

“mI=CmdFailed”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)

End Sub

Custom Label Printing

We may use the similar logic to construct other custom label printing.

1) Need to define two form variables, and get the values during StdFormPredisply

SLShipmentPackages.LabelPathsExistSp( PARMS(RVAR V(TemplatePathVar), RVAR V(OutputPathVar)) )

2) Form method

      Sub CreateOutputFiles()

Dim Filename As String

Dim Copies As String

Dim oCollection As IWSIDOCollection

Dim i As Integer

Dim Time As String

Dim TextFile(0 To 2) As String

Dim iDay As String

Dim iMonth As String

Dim iYear As String

Dim FileDate As String

Dim Item As String

Dim VendorItem As String

Dim InDate As String

Dim Serial As String

On Error GoTo ErrorHandler

If ThisForm.Components(“Printer”).ValidateData(True) = False Then

Exit Sub

End If

If ThisForm.Components(“LabelTemplateName”).ValidateData(True) = False Then

Exit Sub

End If

If ThisForm.Components(“Copies”).ValidateData(True) = False Then

Exit Sub

End If

Copies = ThisForm.Variables(“CopiesVar”).Value

iDay = CStr(Day(Now))

iMonth = CStr(Month(Now))

iYear = CStr(Year(Now))

Time = Format(Now, “hhmmss”)

FileDate = iMonth + iDay + iYear + Time

Filename = ThisForm.Variables(“OutputPathVar”).Value + “ETE” + ThisForm.Variables(“Serial”).Value + FileDate + “.dd”

TextFile(0) = “%BTW% /AF=” & “””” & ThisForm.Variables(“TemplatePathVar”).Value & ThisForm.Variables(“FilenameVar”).Value & “””” & ” /PRN=” & “””” & _

ThisForm.Variables(“PrinterVar”).Value & “””” & ” /P /D=” & “””” & “<Trigger File Name>” & “””” & ” /C=” & Copies & “/R=3”

TextFile(1) = “%END%”

TextFile(2) = ThisForm.Variables(“Item”).Value  & “|” & ThisForm.Variables(“Serial”).Value & “|” & _

ThisForm.Variables(“VendorItem”).Value  & “|” & ThisForm.Variables(“InDate”).Value

System.IO.File.WriteAllLines(Filename, TextFile)

ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _

“mI=CmdSucceeded”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)

Exit Sub

ErrorHandler:

ThisForm.CallGlobalScript(“MsgApp”, “Clear”, “Prompt”, “SuccessFailure”, _

“mI=CmdFailed”, “Process”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”, “”)

End Sub

CREATING OUTSIDE OPERATIONS

November 29th, 2013 No comments

If the actual work on an operation is performed at a location other than your shop floor, you must perform special steps to capture the status of the operation for accurate planning, scheduling, and costing. If you do not represent and manage an outside operation properly, the effects can ripple down through subsequent processes, resulting in an over-conservative plan and schedule.

To capture outside operation status, you can:

·         Post time or quantity remaining on the operation (the Operation Scheduling parameter on Shop Floor Control Parameters determines whether hours or pieces remaining are posted). You must specify the operation’s work center as "Outside" on the Scheduling tab on the Work Centers form. Use this method only if you have accurate status information for the outside operation.

·      Cross reference the outside operation to one or more purchase order line items. Time remaining on the operation is calculated using the purchase order line item due dates.

Because you may not necessarily have accurate information to post time or quantity remaining for an outside operation, we recommend you model outside operations using the cross-referenced purchase order method (although you can use that method and also post time or quantity to the operation if you have the status information).

This help topic describes how to set up the cross-referenced purchase order method.

Setting Up the Outside Operation

In summary, to set up the outside operation, you must create a purchased material and issue it to the operation. Follow these steps:

1.    On the Scheduling Shifts form, create a scheduling shift consisting of one shift interval that starts on Sunday at 00:00 hours and ends Saturday at 24:00 hours (7 days x 24 hours). You will be using an infinite resource group to represent this process. Therefore, you need a 24×7 shift to ensure that the planning and scheduling programs process the infinite resource consistently (scheduling ignores the shift and considers the resource always infinite, while MRP and APS consider the resource infinite only while on-shift).

2.    On the Resources form, follow these steps:

1.    Create a new resource for the outside operation.

2.    On the General tab, you can accept the default values for the fields.

3.    Select the Shifts tab. In the ShiftID#1 field, select your 24×7 scheduling shift.

3.    On the Resource Groups form, follow these steps:

1.    Create a new resource group.

2.    In the Infinite Capacity After field, enter 0. This sets the resource to infinite capacity for planning purposes. If your Planning Mode is set to MRP, you can skip this step.

3.    Select the Infinite field to set the resource to infinite capacity for scheduling purposes.

4.    Select the Resources tab. Add your outside resource as a member of the group.

4.    On the Work Centers form, follow these steps:

1.    Create a work center to use for outside operations. You can use the same work center for more than one outside operation.

2.    On the Scheduling tab, select the Outside field. Defining the work center as Outside signals the planning and scheduling processes to perform special calculations so you don’t have to enter the time the parts have been away from the shop. The Outside work center also captures the cost in the "Outside" GL account you set up on the Product Codes form.

3.    Select the Resource Groups tab. Add the infinite resource group you created earlier in this procedure.

5.    On the Job Operations form, follow these steps:

1.    In the WC field, select your outside work center.

2.    In the Fixed Schedule Hours field (if you are using fixed schedule hours) or the appropriate hours per piece/pieces per hour field, enter the number of hours that corresponds to the normal lead time for this outside operation.

3.       NOTE: Regardless of whether you specify Fixed Schedule Hours, the system temporarily switches the operation to fixed schedule hours during the planning or scheduling run.

4.    Select the Resources tab and verify that your infinite resource group is displayed. If it is not, select it now.

5.    Select the Costs tab and enter 0 in all the costing rate fields. The material you issue to the operation will capture the cost of the outside operation.

6.    On the Items form, follow these steps:

1.    Create an item to represent the item your outside operation will be providing.

2.    In the Source field, select Purchased. This allows you to cross reference the material on the bill of material to a PO.

3.    In the Type field, select Other. This Type code prevents the system from creating planned orders for this item (instead, you will use the cross-reference feature).

4.    Consider how to track cost for this purchased item. To apply the cost of the outside operation only to this order, set the Cost Type to Actual, set the Cost Method to Specific, and select the Lot Trackedfield.

7.    On the Job Materials form, follow these steps:

1.    Find the job and your outside operation.

2.    Add a material record for the outside operation item.

3.    In the Quantity field, enter 1.

4.    Select the Lot field (so the quantity is 1 per lot).

Processing the Outside Operation

After setting up the outside operation, follow these steps to process it.

1.    On the Unposted Job Transactions form, enter a transaction to move the WIP from the previous operation to the outside operation.

2.    Use the Post Job Transactions form to post the transaction.

3.    On the Job Operations form, make sure all operations previous to the outside operation are marked as Complete.

4.    Create a cross-referenced purchase order line item. We recommend you do this as soon as you start the operation. Follow these steps:

1.    Open the Job Materials form.

2.    Find your outside material record.

3.    Select the Xref tab.

4.    In the Ref field, select Purchase Order.

5.    Click the X-Ref button to create the cross reference.

6.    Click the X-Ref button again to display the Purchase Order Lines form.

7.    On the General tab, set the Due Date of the cross-referenced PO line item to the date you expect to receive the outside materials from the vendor.

8.    Select the Costs tab. Specify the correct cost on the purchase order.

5.    Physically send the purchase order and materials to your vendor.

6.    Adjust the PO line item due date as necessary.

Receiving the Outside Materials

1.    Use the Purchase Order Receiving form to receive the outside materials from the vendor.

2.    The receipt transaction automatically opens the Job Material Transactions form. On this form, issue the materials to the job.

3.    After you issue the materials, the Post Job WIP Move Transactions form opens automatically. On this form, record this operation complete and move the materials to the next operation.

How SyteLine Calculates Outside Operation Duration

NOTE: If you are not using the cross-referenced purchase order method, and are posting time on the operation, the system plans the outside operation Run Duration normally (based on posted time/quantity).

The system considers the due date of the outside operation’s cross-referenced PO line item when it calculates the operation duration. Basically, the system may reduce or extend the outside operation’s duration, provided the operation is the first open (that is, not posted Complete) operation in the routing.

  • If all of an outside operation’s cross-referenced PO lines are Complete or Filled, the system sets the Run Duration, Move, Queue, and Finish fields to 0.

  • If any PO line has a status of Ordered, and the operation has been started (that is, operation quantity received is greater than 0), the system adjusts the Run Duration as shown in the table below.

If…

SyteLine sets the Run Duration to

This Operation is the first open operation in the routing.

OR

The normal Run Duration value (based on posted time/qty) is greater than the Due Date/time of the latest cross-referenced PO line item – Current Time.

Due Date/time of the latest cross-referenced PO line item – Current Time. The Move, Queue, and Finish hours fields are set to 0.

If the adjusted duration is less than 0, the system sets the operation’s Run Duration to 0.

NOTE: The time value on the Due Date comes from the Supply Time field on the Planning Parameters form.

There are operations previous to this one that are not posted Complete.

Set the Run Duration to the earlier of (1) the normal Run Duration based on posted time/qty or (2) the Due Date/time of the latest cross-referenced PO line item – Current Time.

The typical procedure used for dealing with outside processing is the following:

1) Configure an operation in the job routing as a outside operation.

This is done by specifying a work center which is flagged as an outside work center on the Work Center Scheduling screen. The operation will normally not have any values in the Move, Queue, Setup, Labor Hrs/Pc or Machine Hrs/Pc fields since there is no internal labor or machine cost for an outside operation. The duration of the outside operation is usually entered into the Fixed Sched Hrs field so that the scheduling routine schedules the appropriate amount of time for the operation.

2) Add a material which represents the service.

Add material to the operation with a part number which represents the service being provided by the vendor. The should be a Type (O)ther material and may or may not be in the item master. Set the Ref to "P". The material can be set up as per (L)ot with a Cost for the entire lot or as per (U)nit with a per unit cost for the service.

3) Cross reference the material to a purchase order.

Select Edit/Xref from the job material screen to create a purchase order which will then be linked to the material. The item number, description, quantity ordered, and cost will all be set based on how you set up the material. If the item is in the item master and you have set up and item/vendor cross reference record for the item, the number one ranked vendor will be assigned to the purchase order. Otherwise, you would need to specify the vendor on the PO.

4) Process the internal operations leading up to the outside operations and then send the parts to the vendor.

5) Enter a PO receiving transaction for the service.

When the parts come back from the vendor, you should process a PO receipt. When you do so, the system will see that the PO line item is tied to a job material and will, when the PO receipt is finished, take to the job material issue screen so you can issue the service to the job. You will then be taken to a third "Job WIP Move" window from which you can move the pieces on to the next internal operation in the job’s routing.

6) Process the remaining internal operations and move the parent item into inventory.

At that point you have completed the process. The value of the service will be posted into the WIP Outside cost bucket on the job and will appear on all of the job costing reports as outside cost. Any type (O)ther material tied to an outside operation is considered outside cost. If the Type is (M)aterial for this item, its cost will be considered material cost on the job rather than outside cost.

How to extract and/or copy Event metadata

November 18th, 2013 No comments

To extract the Event System metadata, please do the following:

  1. On the Syteline utility server, go to <install drive>:\program files\Infor\Syteline
  2. Double-click on AppMetadataTransport.exe
  3. On the first few forms of the wizard, enter the appropriate information (e.g., select to export the metadata to an XML file, pick the appropriate configuration, browse to enter an export file name)
  4. Next there will be several forms with different selection options starting with “IDOs to export”.  Skip these by clicking <Next> until you see the form for exporting Events.
  5. On the Events form, select the option “Export Event MetaData for this AccessAs value” and select (null) as the AccessAs value.  Note:  Most user-defined event handlers are setup with AccessAs = Null.  If this is not the case in your environment, then you would specify your AccessAs value when extracting.
  6. Then click through the rest until the last form.  Select <finish> on the last form.
  7. The metadata will be extracted to the xml file specified in the wizard.  If Infor Support requested the Event metadata, please send them that xml file.

If you need to copy the metadata to another environment, then you would use the same utility to import the metadata into another database, but instead select to import and reference the XML file you just created.  IMPORTANT NOTE:  This will overwrite all event handlers with the same AccessAs value in the target database.  Please see linked KB 953806 for related CER:  CER 135998 – Need utility to import/export single events that will also not overwrite existing events when importing.

Additional information on copying events from one environment to another:

1)  If you have just a few event handlers that need copying and want to preserve the events in the target environment, then there are a couple of options:

  • You can manually recreate the event handler records and then manually copy and paste the actions

or

  • You can export events from both the source and target environments into separate xml files.  Make a copy of the target xml and edit the copy.  Manually copy and paste the source event data into the target xml copy.  If the event handler’s event name is the same between the two files, then assign a unique sequence number to the one(s) you are adding to the xml.  Then import the target copy which now contains both the original events and the few that have been added.

2)  If you have a lot of events and want to copy all of them, you could edit the xml file from the source events and change the Access As value and then import that xml file.  The target Access As value would be the new one you assign.  Please note that you would need to not only change the Access As value at the top of the XML document, but also add a node: <AccessAs>value</AccessAs> to every Event, Event Global Constant, Event Trigger, Event Initial State, and Event Handler in the document.  Once you import it, if you have to make changes to any of the events you imported under the different Access As value, you will have to change the Access As value in the database, or you would need to reset the AccessAs value on the events in the appropriate Event related tables to their original value.

Syteline Project Costing Transaction, Part 1

October 14th, 2013 No comments

 

 

Project Resource Transaction

Two ways to post: 1) Project Resource Transaction Form; 2) Xref to PO and during PO receiving transactions


Debit

Credit

Note

Material or Other

Material Inventory or

Expense

Defined by material prod code or

On transaction screen

Project Material Account

Defined by Project Product Code

Project OH

Project Applied OH

Project Parameter: Appl OH Acct

Project OH Account

Defined by Project Product Code

Project G&A

Project Applied G&A

Project Parameter: Appl G&A Acct

Project G&A Account

Defined by Project Product Code

 

Project Labor Transactions

Note: only project rate apply in calculation, pay rate has no impact.


Debit

Credit

Note

Labor

Direct Labor Applied Acct

Defined by Department Code, linked from employee to dept

Fixed Labor OH Applied

Defined by Department Code, linked from employee to dept

Variable Labor OH applied

Defined by Department Code, linked from employee to dept

Project Labor Account

Defined by Project Product Code

Project OH

Project Applied OH

Project Parameter: Appl OH Acct

Project OH Account

Defined by Project Product Code

Project G&A

Project Applied G&A

Project Parameter: Appl G&A Acct

Project G&A Account

Defined by Project Product Code

AP Voucher Post to Project


Debit

Credit

Note

AP Journal

Accounts Payable

Defined by Department Code, linked from employee to dept

Project Account

Depended on Project Cost Code entered in AP Voucher Distribution screen, use project labor, project material or project other account, defined in Project Product Code

PC Journal Project OH

Project Applied OH

Project Parameter: Appl OH Acct

Project OH Account

Defined by Project Product Code

Project G&A

Project Applied G&A

Project Parameter: Appl G&A Acct

Project G&A Account

Defined by Project Product Code