From the Newsgroups: What are those GL entries with reference SALESASMxxxx?

July 30, 2010

Welcome to another edition of From the Newsgroups.

The Microsoft Dynamics GP Online Partner Technical Community forum is one of those virtual places where you get to see and experience it all. One gets to become familiar with real life issues experienced by us partners keen enough to share our implementation and support issues. The following is a thread from the Online Partner Technical Community:

Good afternoon. Our customer keeps getting these “mystery” GL postings [SALESASMxxxx] and wants to know why they are being generated but I cannot find any article or search that shows this document prefix for GP. Does anyone know what type of doc this is and why it may be generated automatically into GL?

The answer comes courtesy of Tristan Thor Clores, a Microsoft Support Engineer.

For transactions that have the SALESASM prefix in their description: These may mean that a sales invoice with a shortage override of a top level BOM (also known as finished good) was posted at one cost. Then when the BOM that fulfilled the shortage was posted its unit cost was different from what the invoice held.

Let’s pretend that we have a $0.00 balance in the Inventory-Finished Goods account. An invoice was posted with a shortage override for 10 units of finished good item HARD DISK. Its unit cost is $10.00 and its unit price is $20. Its journal entry will look like the following:

Debit: Accounts Receivables $200.00
Debit: Cost of Sales $100.00

Credit: Sales $200.00
Credit: Inventory-Finished Goods $100.00

However, when a BOM assembly was posted for 10 units of HARD DISK, its unit cost was actually at $12.00 per base unit. Let’s pretend that it has the following account distributions:

Debit: Inventory-Finished Goods $120.00

Credit: Inventory-Assembly Component #1 $50.00
Credit: Inventory-Assembly Component #2 $70.00

This journal entry will result in you having 0 units On Hand for the item but with a debit balance of $20.00 in the General Ledger. So now, Microsoft Dynamics GP will create the following cost variance journal entry to remove this balance and help your GL recognize the true cost of the sale. This change though will never hit Sales Order Processing history and so the SOP Document Analysis report will not print this additional cost and will then print an incorrect profit margin afterwards:

Debit: Cost of Sales $20.00
Credit: Inventory $20.00

I would also like to share the following list with you. It is a list of the transaction reference prefixes that Microsoft Dynamics GP support engineers have encountered with cost variance journal entries so far:

1. BOM – assembly transaction
2. INV – invoice from the Invoicing module
3. IVT – inventory transfer
4. IVA – inventory adjustment
5. IVV – inventory variance
6. SALES – sales invoice from Sales Order Processing
7. PRTN – purchase return
8. MCTE – for a transaction that originated in Manufacturing Component Transaction Entry
9. MRCT – manufacturing receipt
10. MCLS – manufacturing close, including regular close and Quick MO
11. STCK – stock count variance
12. FSSC – field service Service Call
13. FSRMA – field service RMA
14. FSRTV – field service RTV
15. FSWO – field service Work Order
16. PA – project accounting
17. POP – close a PO line in Edit PO Status
18. RECON – created by Inventory Reconcile
19. CONV – created by an upgrade conversion
20. MCTERCT – If the items were issued in the Component Transaction Entry window and then the invoice is completed the adjustment will have a prefix of MCTERCT
21. MRCTRCV – If the items were issued in Mo Receipt Entry (they are “backflushed”) and then the invoice is complete the adjustment will have a prefix of MRCTRCV.
22. MCLSRCV – If the items were issued in the MO Close process (the MO was partially received and more “backflushed” items were issued during the close) and then the invoice is completed the adjustment will have a prefix of MCLSRCV.

I recommend going through KB Article 869470 – “Cost Variance for Inventory,” “Sales Order Processing,” and “Purchase Order Processing” for mor details regarding cost variance in the system.

Let me know how this goes.

I hope you find this article very interesting.

Related Articles

What do those strage reference codes in GL mean?

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC


Dex – Ctree temp tables versus SQL Server temp tables

July 30, 2010

For many of you who have been in the channel long enough, whether as developers, partners, or customers and have been using GP for that long, you may still be able to remember the days of c-tree and Btrieve.

Just recently, a developer approached my good friend David Musgrave with a question on a product they had created and been using since the days of GP 6.0. This product makes extensive use of c-tree temp tables and the developer wanted to know whether it was still ok to continue using c-tree tables or convert those to SQL Server temp tables. He received the following answer:

There is nothing wrong with c-tree temp tables. They are faster. SQL Temp tables take a bit of work to create so ctree has less overhead.

The only reasons to change them back to Default or SQL are:

1) You are using them on a report. This allows SQL optimization when generating the report with a single SQL Joined query.
2) You want to use SQL optimized functions such as range where clauses or range copy.
3) The number of records being placed in the temp table is huge and it could cause a local workstation’s hard disk to fill up.

Otherwise, just leave them as is. My policy is to use ctree unless one of the points above says that SQL would be better.

To add to this response, c-tree temp tables are still supported by Microsoft and are used extensively throughout the Microsoft Dynamics GP application. In the end, this may be one of those cases of “if it ain’t broken don’t fix it“.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

GPWindow: The next best thing after the Microsoft Dynamics GP 2010 Cookbook

July 23, 2010

I have to give credit where credit is due. MVP Mark Polino may have the hottest summer read (see my article Cookbooks), but my good friend and fellow blogger Jivtesh Singh has the mother of all blog sites… literally! Jivtesh is one of those die hard and passionate about Dynamics GP individuals. He probably saw the same problem many of you have seen with the proliferation of Microsoft Dynamics GP blogs and asked himself the same set of questions you may be asking yourself: “how the heck do I keep up with all these blogs?”, “I saw an article on [some topic here], where did I read it?”.

Jivtesh now provides an answer to these questions with his new GPWindow platform, which aggregates every single blog article, video, and resource about Microsoft Dynamics GP.

C’mon, you know there’s absolutely no reason to do this! For all I know, Jivtesh could be home writing cool articles for his own blog… but that’s not how we Microsoft Dynamics GP advocates and evangelists feel about the subject. We always need to go the extra mile. Jivtesh has spent a considerable amount of time (over 1 year!) categorizing all these articles and topics and in his own words “Categorization is a work in progress, about 5000 links have been categorized and about 1000 more to go. It’s a very time consuming, but enjoyable process, which I do after my work hours or over the weekend. I enjoy organizing information, so I don’t mind all the time this has taken me.”.

It’s time for you to do your part. Visit GPWindow and at least take the time to play around, but more importantly, let Jivtesh know what you think about this site.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Microsoft Dynamics GP 2010 Architecture Whitepaper available for download

July 19, 2010

Microsoft Dynamics GP 2010 Architecture Whitepaper is now available for download from Microsoft Download Center. Architecture is something dear to my heart so please be sure to download this document and read up. The document discusses the following topics:

  • The structure of the Microsoft Dynamics GP application, which is composed of the Dexterity runtime engine, the Dynamics application dictionary, and the Microsoft SQL Server database.
  • How Microsoft Dynamics GP efficiently uses system resources for both client workstations and servers.
  • The customization tools that are built into the software and are accessible to all users, and the tools that system administrators can use to customize Microsoft Dynamics GP, such as Modifier, Report Writer, and Visual Basic for Applications (VBA).
  • The tools that are available for importing and exporting Microsoft Dynamics GP data, such as eConnect, Web Services, and Integration Manager.
  • The features that provide platform enhancements, such as flexible account numbers, lists, data-driven scrolling windows, security, international support, macro capabilities, named printers, the mail API, and error reporting.
  • The reporting and analytics tools that are available for Microsoft Dynamics GP, including Report Writer, SmartList, Management Reporter, SQL Reporting Services, and Excel Reports
  • How the workflow capabilities in Microsoft Dynamics GP control the flow of documents through the accounting system
  • The architecture and features of Business Portal, which you can use as your company intranet or as an extension to it to provide Web-based access to Microsoft Dynamics GP data.
  • The additional industry- or market-specific capabilities that are included with Microsoft Dynamics GP, such as multidictionary architecture, the trigger system, and available development options.

Hope you find this whitepaper useful and certainly a gem to have in your product documentation arsenal.

Related Articles

Microsoft Dynamics GP Architectural Foundations Series – featuring Microsoft’s Tim Brookins

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC


July 16, 2010

Summer is just getting sizzly here in the United States and as a customary tradition, we begin rolling out our grills and dusting off our cookbooks, but this time around, my wife had me ordered two new cookbooks from Mark Bittman, an American food journalist and author of some of the best cookbooks in the market today. Here is my grill and the cookbooks to go with it.

Webber One Touch Gold

Mark Bittman’s How to cook everything series

I am among other things an avid cook, so I was trying to find something productive to do while the stakes were on the grill. I had to decide between the usual and traditional ales (while I wait for the food) or, well more cookbooks. I figured I would log into Amazon and see what was hot. Two weeks later my shipment arrived, and I just could not wait to get my hands on it — just in time for the summer!

I could not wait to open the box to get my hands on this new cookbook that would revolutionize my downtime while steaks and veggies were on the grill.

This was the ultimate cookbook!

The Marks have just made my summer all the more entertaining! Now, let’s get grilling!

What are you waiting on? Order your Microsoft Dynamics GP 2010 Cookbook now by Mark Polino, MVP!

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

New Article on MSDynamicsWorld: "When It Comes to Customizations for Microsoft Dynamics GP, Which Tool Should You Rely On?"

July 16, 2010

“The term “customization” can mean different things to different people…”

My new article is out over at MSDynamicsWorld. This time, I go back to basics defining what is a customization and what tools are available to customize the Microsoft Dynamics GP user interface. This article is a good start if you are still trying to figure out your options for developing add-on solutions to Microsoft Dynamics GP. To read the full article, click here.

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC

Enforcing Password Policy with Microsoft Dynamics GP

July 16, 2010

The ability to enforce password policies was introduced since version 9 of Microsot Dynamics GP (see Why does Microsoft Dynamics GP encrypt passwords? over at Developing for Dynamics GP for more information).

Surprisingly, still many system administrators are not taking advantage of this feature, because they have found it difficult to manage without certain reporting necessary to follow up on Microsoft Dynamics GP logins activity. The typical complaints revolve around the lack of visibility on when a user password will expire or whether the account has been locked or not.

To make administrative tasks even more difficult, Dynamics GP systems administrators must rely on database administrators and Windows Server administrators to resolve any issues arising from a user being locked out the system, typically working their way through a helpdesk on a relatively simple issue.

With that said, I set out to create a query that could provide systems administrators with an insight into Microsoft Dynamics GP logins and their password expiration settings:


use master;
set nocount on;
declare @loginname varchar(200);

declare @logintbl table (
 LoginName varchar(20)
   ,IsLocked char(5)
   ,DaysUntilExpiration int

declare c_logins cursor for
  select [name] from sys.syslogins where name in
    (select USERID from DYNAMICS..SY01400);
open c_logins;

fetch next from c_logins into @loginname;
while @@FETCH_STATUS = 0
 insert @logintbl(LoginName, IsLocked, DaysUntilExpiration)
  ,case convert(smallint, LOGINPROPERTY(@loginname, 'IsLocked')) when 0 then 'No' when 1 then 'Yes' end
  ,convert(int, LOGINPROPERTY(@loginname, 'DaysUntilExpiration'));

 fetch next from c_logins into @loginname;

close c_logins;
deallocate c_logins;

select * from @logintbl;
set nocount off;

When the above query is executed in Microsoft SQL Server Management studio, it produces the following results:

LoginName            IsLocked DaysUntilExpiration
-------------------- -------- -------------------
sa                   No       NULL
DYNSA                No       NULL
LESSONUSER1          No       0
LESSONUSER2          No       NULL

Note that this query uses a table variable. If you are looking for a more permanent solution, you can replace the table variable for an actual table.

You may also use Support Debugging Tool’s SQL Execute option to run the above query — I have attached the configuration file for the script to be imported into Support Debugging Tool using the Configuration Import/Export option.

Many system administrators would also want to know when was the last time a user logged into GP, but unfortunately, SQL Server does not keep track of login activity, unless you enable some of the auditing functions. Another alternative is to enable Activity Tracking in GP and track all successful login attempts sorted from the most recent. You may then incorporate this information in the above query for a cohesive result.

Related Resources

Microsoft Dynamics GP Application Level Security Series @ Developing for Dynamics GP
The Scoope on Dynamics GP’s Application Password System @ Inside Dynamics GP


Support Debugging Tool XML configuration file – LoginPolicies.dbg.xml

Until next post!

Mariano Gomez, MVP
Maximum Global Business, LLC