Correct reconcile Dynamics GP SOP batch totals and transaction counts without SQL

Sometimes batch totals and transaction counts get corrupted in GP, there can be many reasons behind this.

To correct them the check links maintenance routine can be executed for “Sales Work”. This will correct the batch totals but will take a very long time to run and is not the sort of thing to be doing during working hours.

Alternatively corrections can be made via SQL which is quick and can address multiple batches,

Reconciling SOP Batches - The Dynamics GP Blogstersome thought needs to be put into batch locking etc if this is to be used regularly as the script in its current form does not check if it is “allowed” to update the batch totals.

Similar post: Reconciling SOP Batches from WITHIN Dynamics GP

Today I found out another way that I thought worth recording for future reference, printing an edit list for the batch. Although this can only be used one batch at a time, it is quick and “built in” to GP.

Instructions

Go to the Sales Batch Entry Window…

Transactions>>Sales>>Sales Batches

2017-06-22_09-32-37

Select the SOP batch of interest and click the print icon.

2017-06-22_09-32-53

In the Form to Print combo box, select Edit List and then click the print button.

Select a destination (to screen) in the print destination window that follows. After printing, leaving the batch and then going back into the batch, the totals will be found to be corrected.

Thanks for the hint from Jorge Mejia on GP forums: https://community.dynamics.com/gp/f/32/p/241273/665571#665571

Dynamics GP - SQL script to revert multiple bins into single bins

So you want to turn off multiple binning in Dynamics GP and need to record the multiple bin where the stock is held back into the basic single bin field against each location?

This script I just used to do that, it will pick the multiple bin with the most stock as the one to use for the single bin field. I would take a snapshot of the multiple bins table into excel, just for the record if performing this change (IV00112) and for future reference.

WITH CTE
AS (
SELECT ITEMNMBR
,LOCNCODE
,BIN
,ROW_NUMBER() OVER (
PARTITION BY ITEMNMBR
,LOCNCODE ORDER BY QUANTITY DESC
) RowSort
FROM iv00112
WHERE qtytype = 1
)
UPDATE IV00102
SET BINNMBR=BIN

--SELECT CTE.ITEMNMBR
-- ,CTE.LOCNCODE
-- ,BIN
-- ,BINNMBR
FROM CTE
JOIN IV00102 ON CTE.ITEMNMBR=IV00102.ITEMNMBR AND iv00102.LOCNCODE=CTE.LOCNCODE
WHERE RowSort = 1
AND BIN !=BINNMBR
 
Then, turn off multiple bins in the inventory setup window, and reconcile the inventory after doing so.

Uppercase in computer records–please no!

From time to time you encounter systems where the company style is to capitalise names in the system. I know of users who might as well glue the caps-lock on!

When to use a capital letter

If faced with the, we have always done it this way problem, fight it. Excuses come out like its for users with vision problems (there are magnifiers and system tools to help there), improves clarity for parcels going overseas to other cultures (I doubt it makes much difference in compter type, maybe for hand written?), etc.

Capitalisation is a lossy process

In the context of company names, street names, people names, the capitalisation can be important as it conveys information that is lost if it is presented in entirely uppercase. 
examples:

  • McKenzie vs MCKENZIE
  • O'Donnell vs O'DONNEL
  • MacBain VS MACBAIN

There are many others and in other cultures where the capitalisation conveys information that cannot be recovered again if lose, by the use of automated processing.

Mail Merge

It makes it look bad for mail merges later too

"Dear Mr ODONNEL

Thank you for your order."

Just looks bad.

Thus don’t shout at your customers with capitals, use your SHIFT keys!

Dynamics GP–Clicking “on order” in inventory enquiry shows blank empty with no purchase orders

Seen this from three users recently. The issue is that the user clicks the on order hyperlink text in item enquiry to see the purchase orders in Purchase Order Processing Item Enquiry, but nothing is shown in the window.

Purchase Order Processing Item Enquiry

Notice at the bottom it says processing. I assume that this window is trying to populate on another thread to keep it responsive and that thread is never returning the results?

Going to the GP process monitor in this example showed that it was clogged up with a posting process that was not budging.

Process Monitor

Once the user was cleared down, previous transaction level posting error dealt with and looked again, everything was working as expected.

I also have seen where doing this same thing but from a link I provide in another window, that calls the same enquiry window causes it to work. Weird! I can only think there might be two different methods being called, one with background and the other not? When I call it in my code I’m getting the foreground, when GP does it, it uses the background?

I’m guessing at all this, but thought it worth documenting the findings so far, I will come back to update this post if I find any root causes.