Tuesday 4 March 2014

Useful Information of GP customizations by Bryan Prince

4 Types of Dynamics GP Customizations

There are four ways that Dynamics GP software can be modified or customized:
  1. Modifier - Allows changes to be made to the user interface (UI). Examples include adding new fields, moving fields around, and changing field labels, etc. Customizations made to GP using Modifier will be compatible with both the GP 2013 desktop version as well as the Web Client.
  2. Dexterity -This is the programming language in which Dynamics GP is written and customizations to the code level require a Dexterity developer. Example of changes to Dexterity code include things like adding new business logic or capturing business domain specific data through alternate forms or window modifications. The possibilities are endless. Customizations made to GP using Dexterity will be compatible with both the GP 2013 desktop version as well as the Web Client.
  3. VBA - Is most often used to add additional functionality to fields such as disabling a field or automatically populate fields from a database, etc. Although customizations made to GP using VBA will be compatible with the desktop version of GP 2013, at this time they are not compatible with the GP 2013 Web Client.
  4. VST - Allows the same type of changes that would be made with Dexterity but with the .NET programming language. Although customizations made to GP using VST will be compatible with the desktop version of GP 2013, at this time they are not compatible with the GP 2013 Web Client without additional modifications.


Type of Customization
Compatible with GP 2013 Desktop Version
Compatible with
GP 2013 Web Client
How to tell if you have this customization
Modifier
Yes
Yes
The page title of the window will have a dot in front of it
Dexterity
Yes
Yes
The dexterity modification will be listed in the Dynamics.set file: C:\Program Files\Microsoft Dynamics\GP (or the application directory where you installed GP)
VBA
(Visual Basic for Applications)
Yes
No
The page title of the window will have a dot at the end of it
VST
(Visual Studios Tools)
Yes
No
All customizations are stored in the AddIn subfolder of the Microsoft Dynamics\GP folder.



How to Tell What Kind of Customizations You Have

There are a few simple ways to tell what type of customizations you have in Dynamics GP. 

1.       Modifier - The Customization Maintenance window will list modified forms, modified reports, and custom VBA code and references that are active on the workstation. 
Tools -> Customize -> Customization Maintenance


If you have made customizations to GP using Modifier, there will be a dot in front of the window’s page title.





2.       Dexterity - The Customization Status window will list Dexterity customizations, as well as the Dynamics GP modules and Dexterity-based ISV solutions that are installed and active. 
Tools -> Customize -> Customization Status



3.       VBA - The Customization Maintenance window will list modified forms, modified reports, and custom VBA code and references that are active on the workstation. 
Tools -> Customize -> Customization Maintenance

If you have made customizations to GP using VBA, there will be a dot at the end of the window’s page title.



4.       VST - All customizations made to GP using VST are stored in a folder called AddIns. If you have VST customizations, you will find them inside this folder located AddIn subfolder of the Dynamics GP client installation. This is typically C:\Program Files (x86)\Microsoft Dynamics\GP\AddIns.

Next Steps


If GP customizations exist that may not be compatible with the new GP 2013 Web Client here are a few suggestions to preserve your customization’s functionality.

Business Process Analysis
Is this functionality still needed‌? Can it be improved‌?


Determine if the customization is still needed. New releases are packed with new functionality and the task that the old customization helped accomplish may now be handled out-of-the-box in the new version.  Or, your business may have changed and it is simply not needed any longer! A business process analysis against the new version will help identify which customizations are no longer needed. After reviewing the new release’s capabilities, you may find that there are many other new features offered that you hadn’t even thought of before. 

It’s like trading in your old 1994 Honda Accord for the 2013 model—you were excited about the built in navigation system (no more Garmin attached to your windshield) and heated seats but you had no idea that it had blind spot detectors and could park itself! So when you’re ready to make the switch, make a point to learn about all the new features of the software, not just the ones you already know about and you may be pleasantly surprised. Sometimes you don’t know what you don’t know!

Spend Time on Design

If a customization is going to be re-implemented it makes sense to spend a little extra time on the design of the customization. Ask yourself if there are any features that have been lacking that need to be added or can the functionality be changed to make it more user friendly. By making sure you have got the most value out of your customization it will pay off in the long run when you don’t have to continuously make changes to it again and again in the future.

Use Case Documentation

As with all customizations, it is a best practice to document, document, and document. Before sitting down with a developer take screen shots of the areas you want to change and document the business process flow. This will provide clear communication between you and your developer and help to ensure there aren’t any discrepancies between what you are trying to achieve and what the system ends up doing. It’s great to keep them on record as well!

Hire a Professional Dexterity Developer

Now that you are ready to move forward with your customizations into GP 2013’s Web Client, you’ll need to hire a Dexterity developer. Dexterity developers aren’t as easy to come by as other programming languages, but the good news is that if you've found one, they probably know their stuff (this isn't something your neighbor’s nephew in high school can do for you on the weekends). It’s a sophisticated programming language that takes years of experience to learn.

After having completed all of the leg work; conducting your business process analysis and providing your developer with use case documentation, the dexterity changes should be a breeze! 

Here are a few things to look for in a Dexterity developer: 
·         Is the programmer certified in Dexterity or Microsoft Dynamics GP‌?
·         How many or how long has the programmer been working with Dexterity‌?
·         Will the programmer provide documentation of their changes‌?
·         Will the programmer, or company they work for be able to support you in the years to come‌?

Monday 17 February 2014

SQL Query by Sanjay - Allocated Quantities

select  'Allocated Returns in Purchase Order Processing' as AllocType, A.POPRCTNM as document,A.ITEMNMBR, QTYRESERVED as allocatedqty
from POP10500 A join POP10310 B
on A.POPRCTNM=B.POPRCTNM AND
A.RCPTLNNM=B.RCPTLNNM AND
A.ITEMNMBR=B.ITEMNMBR
where  A.QTYRESERVED > 0
 
union all
 
select  'Allocated Returns in Purchase Order Processing' as AllocType,A.POPRCTNM as document,A.ITEMNMBR, QTYRESERVED as allocatedqty
 from POP10500 A join POP10310 B
on B.POPRCTNM=B.POPRCTNM AND
A.RCPTLNNM=B.RCPTLNNM AND A.ITEMNMBR=B.ITEMNMBR
where  A.QTYRESERVED > 0
 
union all
 
select 'Allocated Fulfillment Orders in Sales Order Processing' as AllocType, SOPNUMBE as document,ITEMNMBR,ATYALLOC as allocatedqty
from SOP10200
where  ATYALLOC > 0 and  SOPTYPE = 6
 
union all
 
select 'Allocated Invoices in Sales Order Processing' as AllocType, SOPNUMBE as document,ITEMNMBR,ATYALLOC as allocatedqty
from SOP10200
where ATYALLOC > 0 and  SOPTYPE = 3
 
union all
 
select  'Allocated Orders in Sales Order Processing' as AllocType ,
        SOPNUMBE as document,
        ITEMNMBR,
        ATYALLOC as allocatedqty
from    SOP10200
where   ATYALLOC > 0 and  SOPTYPE = 2
 
union all
 
select 'Allocated documents in Inventory' as AllocType ,
IVDOCNBR as Document,
ITEMNMBR,
TRXQTY as AllocatedQTY
from IV10001 where TRXQTY < 0
 
union all
 
select 'Allocated documents in Inventory' as AllocType ,
IVDOCNBR as Documnet,
ITEMNMBR,
TRXQTY as allocatedQTY
from IV10001 where  TRXQTY > 0 and IVDOCTYP = 3
 
union all
 
select 'Allocated Invoices in Invoicing' as AllocType ,
INVCNMBR as Document,
ITEMNMBR,
QUANTITY as allocatedQTY
from IVC10101 where  DOCTYPE = 1
 
union all
 
select 'Allocated Assembly documents in Bill of Materials' as AllocType,
TRX_ID as Document,
ITEMNMBR,
ATYALLOC as Allocated
from BM10300 where Component_ID <> 0
and  ATYALLOC > 0

Good Information by Sanjay- Manufacturing Allocated or pending issue

Posted on by
?
1
 
?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
select 'Allocated - general or pending issue' as AllocType,
        CASE WHEN MANUFACTUREORDERST_I = '1' THEN 'quote'
            WHEN MANUFACTUREORDERST_I = '2' THEN 'open'
            WHEN MANUFACTUREORDERST_I = '3' THEN 'released'
            WHEN MANUFACTUREORDERST_I = '4' THEN 'hold'
            WHEN MANUFACTUREORDERST_I = '5' THEN 'cancelled'
            WHEN MANUFACTUREORDERST_I = '6' THEN 'complete'
            WHEN MANUFACTUREORDERST_I = '7' THEN 'partially rec.'
            WHEN MANUFACTUREORDERST_I = '8' THEN 'closed'
        END AS MOstatus,
 *
from MOP1400
inner join dbo.WO010032
ON dbo.MOP1400 .MANUFACTUREORDER_I = dbo.WO010032.MANUFACTUREORDER_I
where ATYALLOC > 0
 
select 'Allocated - bin ' as AllocType,
        CASE WHEN MANUFACTUREORDERST_I = '1' THEN 'quote'
            WHEN MANUFACTUREORDERST_I = '2' THEN 'open'
            WHEN MANUFACTUREORDERST_I = '3' THEN 'released'
            WHEN MANUFACTUREORDERST_I = '4' THEN 'hold'
            WHEN MANUFACTUREORDERST_I = '5' THEN 'cancelled'
            WHEN MANUFACTUREORDERST_I = '6' THEN 'complete'
            WHEN MANUFACTUREORDERST_I = '7' THEN 'partially rec.'
            WHEN MANUFACTUREORDERST_I = '8' THEN 'closed'
        END AS MOstatus,
        *
from MOP1900
inner join dbo.WO010032
ON dbo.MOP1900.MANUFACTUREORDER_I = dbo.WO010032.MANUFACTUREORDER_I
where ATYALLOC > 0
 
select 'Allocated - lot or pending issue' as AllocType,
        CASE WHEN MANUFACTUREORDERST_I = '1' THEN 'quote'
            WHEN MANUFACTUREORDERST_I = '2' THEN 'open'
            WHEN MANUFACTUREORDERST_I = '3' THEN 'released'
            WHEN MANUFACTUREORDERST_I = '4' THEN 'hold'
            WHEN MANUFACTUREORDERST_I = '5' THEN 'cancelled'
            WHEN MANUFACTUREORDERST_I = '6' THEN 'complete'
            WHEN MANUFACTUREORDERST_I = '7' THEN 'partially rec.'
            WHEN MANUFACTUREORDERST_I = '8' THEN 'closed'
        END AS MOstatus,
        *
from MOP1020
inner join dbo.WO010032
ON dbo.MOP1020.MANUFACTUREORDER_I = dbo.WO010032.MANUFACTUREORDER_I

Saturday 15 February 2014

Flowchart of SOP and Inventory

I always wanted to train the users using the flowchart for easy and better understanding.  So wanted to store this from the community for future use.  The following collection of flowchart of SOP / POP / Inventory / Manufacturing.  Thanks to Leslie and Mahmoud and Waqas.




Manufacturing Labor Code Definition

On GP 2013 radio button for fixed overhead and variable overhead in the Labor Code Definition window is not visible.  This is a bug of 2013  4 radio button groups in total for this window which got invisible because of improper Tab sequence order. This can modified on this Window to set the tab sequence for all the radio groups which you are not able to see.   This has been shared by Naga in the community which is useful information.

Thanks,
Babu Baskaran

Monday 20 January 2014

Problem with Print Purchase Documents GP 2013

We had a problem with Printing purchase order documents after the migration of GP 10 to GP 2013.  The GP installed in Terminal server and none of the users were able to print  PO using Print Purchasing documents.  I was the only user were able to print it one of the terminal server.  I debugged this for so many days with no clue.  Finally I compared the 2 servers on my login  and checked the difference between the two of them.  The terminal which I was able to print had setting of English(United States) with MM/DD/YYYY date format under Region and Language.  And the 2nd terminal had English(United Kingdom) with DD/MM/YYYY date format.  I checked the 2nd server by changing the date format to English(United States) with MM/DD/YYYY format and luckily the PO got printed.  So this look like the print purchasing documents only work if the date format is MM/DD/YYYY so its a bug with GP 2013 with Europe date format.

Its my pleasure to serve anyone better,
Thanks & Regards,
Babu


Interesting Information by Frank Hamelly

Dynamics GP Tools that you may not know about . . .

Here's a list of tools available from your Microsoft Partner that are not a standard part of the
Professional Services Tools Library toolset, along with the GP versions that they apply to.
 Most, if not all, of these are installed by dropping a file into the GP folder on your application
 server and restarting GP.  Talk to your partner for more information.