Featured Post

Dynamics GP 2019 is now Released

It is now released, Microsoft Dynamics GP 2019 which moves the system to the modern product life cycle   " Beginning with the October...

Friday, February 16, 2018

Dynamics GP 2018 - Purchase Order Processing Enhancements

The release of Dynamics GP2018 has introduced interesting enhancements to the Purchasing Module, the purchasing cycle is now becoming richer and more effective. In this post, I will shed a light on some impressive features which are:
  • Purchase Order Generator opens the list of purchase orders filtered by the generated PO
  • Purchase Order and originating Requisition are displayed on the Home Page - Requisition List
 
While completing the purchase of requisition, the purchase order generator window opens to list down all the related POs for the specific vendors that are associated with requisitions. After finalizing the purchasing process, the purchase order generator will print out and then the list of POs will be automatically displayed and filtered by the specific generated order.

Here are the steps in the sequential order:

Purchase Order Entry

Purchase Order Generator


Purchase Order Generator - Report


List of Purchase Orders - Filtered by Generated PO



Now the other feature is that you can refer to the "Procurement" tab on Dynamics GP home page for the list of requisitions and the associated purchase orders as illustrated below:




List of Requisitions - Dynamics GP Home Page


Furthermore, requisition report has been added to the purchasing cycle which has already been illustrated in a previous post 


Best Regards, 
Mahmoud M. AlSaadi

Saturday, February 3, 2018

Automtically Generate New Inventory Location Card from SalesPerson Card


In a recent implementation of Dynamics GP for a big distributor company, we've had a business requirement to track salesperson sales. The simplest automation for that was to create one site (Location ID) for every single salesperson depending on the area they are serving. 

One Salesperson Serving Multiple Areas

For each area, the salesperson will have one site. The business role is that the salesperson could server one area at a time (The area is a city in our example). In order to simplify the process, the end user create one salesperson according to the following serial number (SLP-XXXX), one the other hand, the site will have the following numbering criteria:

  • Area Prefix 
  • Serial Number

In order to automate the process, the following script has been applied in order to create a new primary site for every single salesperson when it is created. 


--- The following script create a trigger on the RM00301 table, which uses eConnect stored procedure in order to create a new inventory site according to the salesperson parameters



CREATE TRIGGER [dbo].[DI_RM_GenerateSiteFromSalesPerson] ON [dbo].[RM00301]
    AFTER INSERT
AS

DECLARE             @SLPRSNID VARCHAR(500),
                    @SITEID VARCHAR(500),
                    @ADDRESS1 VARCHAR(500),
                    @ADDRESS2 VARCHAR(500),
                    @ADDRESS3 VARCHAR(500),
                    @CITY VARCHAR(500),
                    @Segment VARCHAR(500),
                    @STAXSCHD VARCHAR(500),
                    @Region VARCHAR(500),
                    @return_value int,
                    @O_iErrorState int,
                    @oErrString varchar(255)


SET @SLPRSNID = (SELECT TOP(1) SLPRSNID FROM INSERTED ORDER BY SLPRSNID)
SET @ADDRESS1 = (SELECT TOP(1) ADDRESS1 FROM INSERTED ORDER BY ADDRESS1)
SET @ADDRESS2 = (SELECT TOP(1) ADDRESS2 FROM INSERTED ORDER BY ADDRESS2)
SET @ADDRESS3 = (SELECT TOP(1) ADDRESS3 FROM INSERTED ORDER BY ADDRESS3)
SET @CITY = (SELECT TOP(1) CITY FROM INSERTED ORDER BY CITY)

IF @CITY = 'AREA1'
             BEGIN
             SET @Segment = '01'
             SET @Region = 'AR1'
             END

IF @CITY = 'AREA2'
             BEGIN
             SET @Segment = '03'
             SET @Region = 'AR2'
             END

IF @CITY = 'AREA3'
             BEGIN
             SET @Segment = '02'
             SET @Region = 'AR3'
             END
SET @STAXSCHD = 'SALES TAX'

       SET @SITEID = REPLACE(@SLPRSNID, 'SLP', @Region)


       EXEC   @return_value = [dbo].[taCreateInventorySite]
                    @I_vLOCNCODE = @SITEID,
                    @I_vLOCNDSCR = @ADDRESS2,
                    @I_vADDRESS1 = @ADDRESS1,
                    @I_vADDRESS2 = @ADDRESS3,
                    @I_vADDRESS3 = @SLPRSNID,
                    @I_vCITY = @CITY,
                    @I_vLocation_Segment = @Segment,
                    @I_vSTAXSCHD = @STAXSCHD,
                    @I_vCountry = 'JO',
                    @O_iErrorState = @O_iErrorState OUTPUT,
                    @oErrString = @oErrString OUTPUT


GO





Best Regards, 
Mahmoud M. AlSaadi