Archive

Archive for February, 2014

Alternative Row Color based on Field Value Change in SSRS

February 25th, 2014 No comments

Under the BackgroundColor property, use this expression

=IIF(RunningValue(Fields!grn_num.Value,countDistinct,Nothing) mod 2,"Silver","Transparent")

Categories: Development Tags: ,

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: , ,

Turing Trigger program off, update some data, then turn Trigger back on

February 5th, 2014 No comments

Table trigger is important part of Syteline data integrity.  There are many validation logics safe guarded by trigger program.  But in some circumstances, you may want to turn the trigger program off, in order load certain data.  This is specially true during data conversion of your Syteline implementation, you may need to use program to load data from outside data sources.

Below sample program will turn the trigger off, update jobmatl table, then turn the trigger back on again.

declare @SavedState LongListType

, @Infobar InfobarType

EXEC dbo.SetTriggerStateSp

@SkipReplicating  = 1

, @SkipBase         = 1

, @ScopeProcess     = 1

, @PreviousState    = @SavedState OUTPUT

, @Infobar          = @Infobar  OUTPUT

, @SkipAllReplicate = 1

, @SkipAllUpdate    = 1

UPDATE jobmatl

SET pick_date = @Today

FROM #JobmatlForPickList as jm

WHERE jobmatl.RowPointer = jm.RowPointer

exec dbo.RestoreTriggerStateSp

@ScopeProcess    = 1

, @SavedState      =  @SavedState

, @Infobar         = @Infobar OUTPUT

Categories: Development, Implementation Tags: