Running "Sales Day End" during the day

ssolberg

VIP Member
Running \"Sales Day End\" during the day

We've had requests to run P42800 (Sales Day End) more than just at night (in Sleeper). The company things to be updated during the day so I came up with (what I thought) the bright idea to have the Sales Update versions run (via Sleeper) during the day every hour. It has been runnning this way for a couple months and then I was getting some complaints of some "duplicate" AR and GL entries getting made and it appears as though I have tracked it back to sales stuff.

Even more work reveals that it appears to have started happening just about the same time as I started running P42800 during the day. In a nutshell, it appears as though it is picking up stuff from a Sales Order more than once (on random occasion), like it isn't updating the status' after it processes it once, it then gets picked up again an hour later and this may happen once or 20 times (again, random).

I made sure that all of the Day End stuff runs in a single threaded jobq along with P09800 following it up (just like we have done in the middle of the night for years) again in the same jobq.

Is anyone out there running P42800 during the day like I talk about? Anyone have any wild-hair ideas what might be causing it? I have been totally unable to find the culprit since it truly happens at totally random times. I find no joblogs on any processes either and other orders run thru the same "batch" are not duplicating so I can't seem to find the cause of the problem?
 
Re: Running \"Sales Day End\" during the day

We routinely run some versions of Sales Update during the day. We used to get duplicate journal entries on occasion and eventually found it was related to whether or not the sales orders had invoice numbers assigned, and depending on the answer to that question, how the Data Selection and Data Sequencing was set up. We finally settled on the following rules, which cleared up the problem.

To avoid duplicate journal entries, the Data Selection and Data Sequencing must be set up as follows:

EITHER: Data Selection -Invoice # (SDDOC) <> 0
Data Sequencing:
Document Number (SDDOC) 001 11 N
Document Type (SDDCT) 002 11 N
Document Company (SDKCO) 003 01 N

OR: Data Selection - Invoice # = 0

Data Sequencing:
Order Number (SDDOCO) 001 01 N
Order Type (SDDCTO) 002 11 N
Order Company (SDKCOO) 003 11 N

I hope this helps you out.
 
Re: Running \"Sales Day End\" during the day

Sannon,

Two thoughts:

1. Could there be any record locks such that the status might not be updated during the actual P42800 process?

2. Or, If a user had the order on the screen with the current statuses in the screen fields during the process of the P42800 and then pressed enter to update the records back to the status after the P42800 had advanced the status.

The second should bear itself out in the F42199 based on the relative location of the audit records as the statuses advance or revert back. By looking at the relative record numbers of the lines of an order as the audit trail advances we have been able to reconstruct the time line of an order. Of course you have to have each status set to write the F42199 records (Order Activity Rules Ledger set to a 'Y').

These are my "wild-hair ideas." Hope they help.
 
Back
Top