#MSDynGP Purchase Order Entry windows show costs as zero

David Meego - Click for blog homepageOver the last few weeks I have been asked about the same issue a few times by different customers and partners who were unable to work out what was happening.

So, I thought I would write an article that explains the problem and the solution and hopefully, it will show up when someone does a search when they have this issue.

The problem is that a specific user reports that the Purchase Order Entry or Purchase Order Inquiry Zoom window is not showing Unit Cost and Extended Cost values, instead it just shows zeros.

Because this issue seems to only affect specific users, it is common to think that this problem is security related, but that is not the case.

The actual cause is the currency view.

The currency view which can be changed using the View Button on the window’s toolbar is stored on a per user basis and so will be remembered between sessions.

If the Reporting Currency view has been selected, but the Reporting Rate rate has not been configured, the value will show as zero.

Changing the Currency view back to Originating or Functional view fixes the issue, but the change must be made while logged on as that user.

[Edit] For the Purchase Order Enquiry Zoom window, changes to the Currency View will NOT be saved as they are inherited from the Purchase Order Processing Document Inquiry window when the document inquiry is opened. Please change the Currency View on the Purchase Order Processing Document Inquiry window and the view setting will be saved when that window is closed.

Or……

You could use the following SQL query view and/or update the View Type setting stored in the MC_User_Preferences (MC40500) table to Originating currency view.

[Edit 2] The recently discovered issue is that 15 windows use one set of constants in the table and 7 windows use a different set of constants in the table, so for this to work properly you cannot use a single simple update statement. Below are the updated statements depending on the windows.

select * from MC40500 where USERID = 'XXX'

update MC40500 set VIEWTYPE = 4
	where TRXSOURC in ('GL_Inquiry_Current_Detail', 'GL_Inquiry_Current_Sum', 'GL_Inquiry_History_Dtl', 'GL_Inquiry_History_Sum', 'GL_Journal_Entry_Inquiry', 'IC_Audit_Trail_Code_Inquiry', 'PM_Transaction_InquiryDoc', 'PM_Transaction_Inquiry', 'RM_NA_Inquiry', 'RM_Transaction_InquiryDoc', 'RM_Transaction_Inquiry', 'SOP_Document_Inquiry', 'SOP_Item_Inquiry', 'General Entry', 'Sales Transaction Entry')
	and VIEWTYPE not in (3, 4, 5) and USERID = 'XXX'

update MC40500 set VIEWTYPE = 2
	where TRXSOURC in ('CM_Check_Register_Inquiry', 'Purch Requisition Entry', 'Purchasing Inquiry', 'Purchasing Invoice Entry', 'Purchase Order Entry', 'Receivings Trx Entry', 'Returns Trx Entry')
	and VIEWTYPE not in (1, 2, 3) and USERID = 'XXX'

If not using Multicurrency for the company the following code will reset back to Functional currency view.

update MC40500 set VIEWTYPE = 3
	where TRXSOURC in ('GL_Inquiry_Current_Detail', 'GL_Inquiry_Current_Sum', 'GL_Inquiry_History_Dtl', 'GL_Inquiry_History_Sum', 'GL_Journal_Entry_Inquiry', 'IC_Audit_Trail_Code_Inquiry', 'PM_Transaction_InquiryDoc', 'PM_Transaction_Inquiry', 'RM_NA_Inquiry', 'RM_Transaction_InquiryDoc', 'RM_Transaction_Inquiry', 'SOP_Document_Inquiry', 'SOP_Item_Inquiry', 'General Entry', 'Sales Transaction Entry')
	and VIEWTYPE <> 3 and USERID = 'XXX'

update MC40500 set VIEWTYPE = 1
	where TRXSOURC in ('CM_Check_Register_Inquiry', 'Purch Requisition Entry', 'Purchasing Inquiry', 'Purchasing Invoice Entry', 'Purchase Order Entry', 'Receivings Trx Entry', 'Returns Trx Entry')
	and VIEWTYPE <> 1 and USERID = 'XXX'

where the View Type in the table can have the following values:

  • 3 = FUNCTIONAL
  • 4 = ORIGINATING
  • 5 = REPORTINGVIEW

However, just to confuse you, the Currency View used in the user interface can have the following values AND the Purchase Order Processing windows also use these constants in the table.

  • 1 = CURRENCYVIEW_FUNCTIONAL
  • 2 = CURRENCYVIEW_ORIGINATING
  • 3 = CURRENCYVIEW_REPORTING

Note: This issue could occur on any window that has the Currency View functionality and not just Purchase Order Processing windows.

More Information

Check out this article by Jen Kuntz which explains how the control keys for changing the currency view (Ctrl-U for F&uncational, Ctrl-O for &Originating and Ctrl-R for &Reporting) can still be active on a Non-Multicurrency system:

[Edit] GP Power Tools Build 33 includes a Multicurrency View data fix. However, you will need Build 33.5 or later for it to work correctly as the earlier builds did not differentiate between the windows using one set of constants and the windows using the other set. Disable the fix with Dex.ini setting: MBS_Debug_DisableMCDataFix=TRUE

Hope this is useful.

David

30-Aug-2025: Added note about changing the setting on the calling window for the Purchase Order Inquiry Zoom window.
07-May-2026: Updated with correct constants and mention of the shortcut keys and GP Power Tools fix.
13-May-2026: Updated with information about how both sets of constants are used by different windows.

This article was originally posted on https://www.winthropdc.com/blog.

One thought on “#MSDynGP Purchase Order Entry windows show costs as zero

Leave a Reply