SQL Scripts for Microsoft Dynamics GP: Update Items to Discontinued Status

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script updates items with an Item Number starting 0 to a status of Discontinued.

As with any script, before running on production test the script to make sure it works and have a good backup of the database.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
UPDATE IV SET IV.ITEMTYPE = 2 FROM IV00101 IV WHERE IV.ITEMNMBR LIKE '0%' AND IV.ITEMTYPE <> 2 GO

SQL Scripts for Microsoft Dynamics GP: Update Vendor Phone and Fax Numbers From CSV

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script will take a CSV file and update the three phone numbers and fax numbers on the vendor address supplied.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
CREATE TABLE #PM00200_IMPORT ( VENDORID VARCHAR(100) ,ADRSCODE VARCHAR(100) ,PHNUMBR1 VARCHAR(100) ,PHNUMBR2 VARCHAR(100) ,PHONE3 VARCHAR(100) ,FAXNUMBR VARCHAR(100) ) GO BULK INSERT #PM00200_IMPORT FROM 'C:\Temp\Supplier Phone and Fax.csv' WITH ( FIELDTERMINATOR = ',' ,ROWTERMINATOR = '\n' ,FIRSTROW = 2 ) GO select * from #PM00200_IMPORT -- VENDOR MASTER UPDATE PM SET PM.PHNUMBR1 = ISNULL(PM_I.PHNUMBR1,'') ,PM.PHNUMBR2 = ISNULL(PM_I.PHNUMBR2,'') ,PM.PHONE3 = ISNULL(PM_I.PHONE3,'') ,PM.FAXNUMBR = ISNULL(PM_I.FAXNUMBR,'') FROM PM00200 PM INNER JOIN #PM00200_IMPORT As PM_I ON UPPER(PM_I.ADRSCODE) = PM.VENDORID AND PM_I.ADRSCODE = "MAIN" GO -- VENDOR ADDRESS MASTER UPDATE PM SET PM.PHNUMBR1 = ISNULL(PM_I.PHNUMBR1,'') ,PM.PHNUMBR2 = ISNULL(PM_I.PHNUMBR2,'') ,PM.PHONE3 = ISNULL(PM_I.PHONE3,'') ,PM.FAXNUMBR = ISNULL(PM_I.FAXNUMBR,'') FROM PM00300 PM INNER JOIN #PM00200_IMPORT As PM_I ON PM_I.VENDORID = PM.VENDORID AND PM.ADRSCODE = UPPER(PM_I.ADRSCODE) GO DROP TABLE #PM00200_IMPORT GO

SQL Scripts for Microsoft Dynamics GP: Export Open/History PM Transactions After a Specified Date

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script returns payables transactions at a status of open or history after a specified date.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
SELECT PMOPEN.VCHRNMBR AS [Voucher Number], PMOPEN.DOCNUMBR AS [Document Number], CASE WHEN PMOPEN.DOCTYPE = 1 THEN 'Invoice' WHEN PMOPEN.DOCTYPE = 2 THEN 'Invoice' WHEN PMOPEN.DOCTYPE = 3 THEN 'Invoice' WHEN PMOPEN.DOCTYPE = 4 THEN 'Credit' WHEN PMOPEN.DOCTYPE = 5 THEN 'Credit' ELSE '' END 'Document Type', PMOPEN.DOCDATE AS [Document Date], PMOPEN.POSTEDDT AS [Posted Date], PMOPEN.VENDORID, VM.VENDNAME AS [Vendor Name], PMOPEN.PRCHAMNT AS [Net Amount], PMOPEN.TAXAMNT AS [Tax Amount], PMOPEN.DOCAMNT AS [Gross Amount], PMOPEN.CURTRXAM AS [Outstanding Amount] FROM PM20000 PMOPEN --PM Transaction OPEN File (PM20000) INNER JOIN PM00200 VM --PM Vendor Master File (PM00200) ON PMOPEN.VENDORID = VM.VENDORID WHERE DOCTYPE IN (1, 2, 3, 4, 5) AND DOCDATE > '2016-04-30 00:00:00.000' AND VOIDED = 0 AND CURTRXAM > 0 AND CURTRXAM = 0 UNION ALL SELECT PMHIST.VCHRNMBR AS [Voucher Number], PMHIST.DOCNUMBR AS [Document Number], CASE WHEN PMHIST.DOCTYPE = 1 THEN 'Invoice' WHEN PMHIST.DOCTYPE = 2 THEN 'Invoice' WHEN PMHIST.DOCTYPE = 3 THEN 'Invoice' WHEN PMHIST.DOCTYPE = 4 THEN 'Credit' WHEN PMHIST.DOCTYPE = 5 THEN 'Credit' ELSE '' END 'Document Type', PMHIST.DOCDATE AS [Document Date], PMHIST.POSTEDDT AS [Posted Date], PMHIST.VENDORID, VM.VENDNAME AS [Vendor Name], PMHIST.PRCHAMNT AS [Net Amount], PMHIST.TAXAMNT AS [Tax Amount], PMHIST.DOCAMNT AS [Gross Amount], PMHIST.CURTRXAM AS [Outstanding Amount] FROM PM30200 PMHIST --PM Paid Transaction History File (PM30200) INNER JOIN PM00200 VM --PM Vendor Master File (PM00200) ON PMHIST.VENDORID = VM.VENDORID WHERE DOCTYPE IN (1, 2, 3, 4, 5) AND DOCDATE > '2016-04-30 00:00:00.000' AND VOIDED = 0 ORDER BY DOCDATE

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

SQL Scripts for Microsoft Dynamics GP: Select All Primary Keys and Generate ALTER Script

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script selects all primary keys for all tables in a database and creates the ALTER script to reapply them. It seems I created this in 2015 to allow primary keys to be exported from one Dynamics GP database and then applied against another.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
-- Get all existing primary keys DECLARE cPK CURSOR FOR SELECT so.name, si.name, si.type_desc FROM sys.indexes si JOIN sys.objects so ON si.object_id = so.object_id AND so.type = 'U' WHERE si.type_desc <> 'HEAP' AND si.is_Primary_Key = 1 ORDER BY so.Name DECLARE @PkTable sysname DECLARE @PkName sysname DECLARE @KeyType nvarchar(50) -- Loop through all the primary keys OPEN cPK FETCH NEXT FROM cPK INTO @PkTable, @PkName, @KeyType WHILE (@@FETCH_STATUS = 0) BEGIN DECLARE @PKSQL nvarchar(4000) SET @PKSQL = '' SET @PKSQL = 'ALTER TABLE ' + @PkTable + ' ADD CONSTRAINT ' + @PkName + ' PRIMARY KEY ' + @KeyType + ' (' -- Get all columns for the current primary key DECLARE cPKColumn CURSOR FOR SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE WHERE TABLE_NAME = @PkTable AND CONSTRAINT_NAME = @PkName ORDER BY ORDINAL_POSITION OPEN cPKColumn DECLARE @PkColumn sysname DECLARE @PkFirstColumn bit SET @PkFirstColumn = 1 -- Loop through all columns and append the sql statement FETCH NEXT FROM cPKColumn INTO @PkColumn WHILE (@@FETCH_STATUS = 0) BEGIN IF (@PkFirstColumn = 1) SET @PkFirstColumn = 0 ELSE SET @PKSQL = @PKSQL + ', ' SET @PKSQL = @PKSQL + @PkColumn FETCH NEXT FROM cPKColumn INTO @PkColumn END CLOSE cPKColumn DEALLOCATE cPKColumn SET @PKSQL = @PKSQL + ')' -- Print the primary key statement PRINT @PKSQL FETCH NEXT FROM cPK INTO @PkTable, @PkName, @KeyType END CLOSE cPK DEALLOCATE cPK

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

SQL Scripts for Microsoft Dynamics GP: Update Site Descriptions From CSV

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script was created to allow a client to rename sites in Dynamics GP from a CSV file.

If the name provided was only DO NOT USE then this was added to the start of the existing site description (which was then truncated to the maximum length of 30 characters) otherwise the site description was replaced with the one from the file.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
CREATE TABLE #Sites ( LOCNCODE VARCHAR(10) ,LOCNDESC VARCHAR(30) ) GO BULK INSERT #Sites FROM 'C:\Temp\Site Descriptions.csv' WITH ( FIELDTERMINATOR = ',', ROWTERMINATOR = '\n' ) GO UPDATE IV SET IV.LOCNDSCR = ( CASE WHEN Sites.LOCNDESC = 'DO NOT USE' THEN LEFT(RTRIM(Sites.LOCNDESC) + ' - ' + RTRIM(IV.LOCNDSCR),30) ELSE RTRIM(Sites.LOCNDESC) END ) FROM IV40700 IV INNER JOIN #Sites As Sites ON Sites.LOCNCODE = IV.LOCNCODE GO DROP TABLE #Sites GO

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

SQL Scripts for Microsoft Dynamics GP: Sales Transactions (Work) Against a Specific Site

Microsoft Dynamics GPThis script is part of the SQL Scripts for Microsoft Dynamics GP where I will be posted the scripts I wrote against Microsoft Dynamics GP over the 19 years before I stopped working with Dynamics GP.

This script was created for a client who was closing some sites and wanted to get a list of all Work status sales transactions against a specific site.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
DECLARE @LOCNCODE VARCHAR(10) = 'Z%' SELECT SOP101.CUSTNMBR ,SOP101.CUSTNAME ,SOP102.SOPNUMBE, SOP102.LNITMSEQ, SOP102.LOCNCODE, SOP102.ITEMNMBR FROM SOP10200 AS SOP102 -- Sales Transaction Amounts Work (SOP10200) INNER JOIN SOP10100 AS SOP101 -- Sales Transaction Work (SOP10100) ON SOP101.SOPNUMBE = SOP102.SOPNUMBE WHERE SOP102.LOCNCODE LIKE @LOCNCODE ORDER BY SOP101.CUSTNAME,SOP102.SOPNUMBE

Click to show/hide the SQL Scripts for Microsoft Dynamics GP Series Index

SQL Scripts for Microsoft Dynamics GP
Verify PM Batches Exist
Update Accrued Purchases Distribution on History Receipts from Posting Account Setup
Insert Mfg BOMs from Text File
SQL Function To Return Approver
List of Active Fixed Assets
Insert Manufacturing Routings from Text File
Table Function to Split String on Delimiter
List of Open Payables Transactions
Insert Creditor Item Numbers
Return Top Level BOM for Manufacturing Orders
Custom Purchase Order Email Notification to Originator on Workflow Final Approval
list of Open Payables Distributions
Set New Vendor On Hold if EFT Exists
Set New Vendor On Hold if EFT Exists
Payment Run Apply Query
List GL Transactions
Simple RMA Audit
Change Vendor Change Approvals Joins and Fields
Insert National Accounts from CSV
List GL Accounts With Notes
Import Site Bins From CSV
Remove Multicurrency from Sales Transactions
Change Email Notification Assignment
List General Ledger Transactions (Excluding Year End Journals)
List Taxes Linked to GL Accounts
Allow Workflow Originator to be an Approver
Add Joins and Fields to PM Document Approval Notification Emails
Update Accounts and Distributions on Work Status Sales Transactions from Item Card, Tax Details or Posting Account Setup
Upload and Verify Tax Commodity Codes
Delete Corrupt Extended Pricing Data
Assign All Items to All Site Bins
Sales Transactions (Work) Against a Specific Site
Change Web Service URi
SQL View to Return Quantity Available
Verify Tax Detail Assigned to Vendor
Insert Extended Pricing Price Sheet Header
Prefix Companies Names with System Designator
SQL View to Return Category Linked to Segment 3 in COA
Update Site Descriptions From CSV
Copy Workflow from Source to Destination Database
Extract GL Period Balances
Sales by Customer By Year
Purchased Items With Serial Numbers and Linked Sales Transactions
SQL View to Return Purchase Orders
Select All Primary Keys and Generate ALTER Script
Copy Workflow Calendar from Source to Destination Database
SQL Trigger on PO invoice Insert to Change GL posted Date
Sales by Salesperson By Year
Script to Set Transactions as Included on VAT Daybook Return
SQL Script to Return PO Receipts
Insert Extended Pricing Price Sheet UofM Work
View for Payables Transactions Extract
Export Open/History PM Transactions After a Specified Date
Copy Email Messages from a Source to Destination Database
PO Receipt History View
Insert Extended Pricing Price Sheet Assignments
Extract Payables Transactions from All Companies
List Open Purchase Orders
SQL View to Create Division Tree for Management Reporter
Select Chart of Accounts
Activate Horizontal Scroll Bars for All Existing Users
Workflow Assignment Review
Update Item Replenishment Method for Manufacturing
Get Alpha Characters from an Alphanumeric String
Set Vendor On Hold If EFT Details Changed
List Open Purchase Order Lines
SQL View to Create Division, including UDF 3 and 4, Tree for Management Reporter
Delete Orphaned Vendor EFT Details
Sales Invoice Query
Round Extended Pricing Price Sheet Item Value
Get Numeric Characters from an Alphanumeric String
Trigger to Activate Horizontal Scroll Bars for New Users
View to Return List of Payments and Linked Invoices
Select Duplicate Extended Pricing Price Sheet Work Records
RM Aged Debt Report
Select Next Temporary Creditor ID
Select a List of Vendor Addresses
Set Vendor On Hold When Created
Assembly Transaction Quantities Required
Generate Standard Cost Update Macro from Text File Import
Check for Corrupt Extended Pricing Records
Sales Line Items
Compare Ship To Address on Work Sales Trx Against Customer
SQL View to Return PO Commitment Detail
List Bank Accounts with Linked GL Accounts
Validate and Insert/Update Vendor Emails from a Text File
Return Items with Incorrect Quantities
Set Account Categories To User-Defined Field 2
Check Posting Type for Account (Segment 2)/Account Category Combinations
Update Ship To Name on Work Sales Transactions to Match the Customer Name
List Tax Detail Transactions
Select Tax Details and Related G/L Accounts
Update Account Description by Adding 3rd Segment Description
Update Segment Descriptions from Other Database
Return Opening Balance for Period of Supplied Date
Update Min Order Qty and Average Lead Time on Vendor Item From Text File
List of PM Invoices for Vendors with POs
Select Debit, Credit and Net Change for All Accounts in Date Range
Select All Pending Prepayments
Available Stock for All Items
Item Report
Migrate Vendor Emails from Active Docs to Standard Email Fields
Update Mfg Cost Accounts from Mfg Item Class Setup
PO Commitment Detail
Update Inventory Accounts from Item Class
Create Macro to Delete Items
Update Accounts Payable Distribution on Work Status PM Transactions from Posting Account Setup
Update Item Resource Planning on Item Quantity Master from Text File
SQL View to Return List of Posted Vendor Document Numbers
Update Inventory Distribution on Work Status Purchase Orders from the Item Card
Update Item Engineering File from a Text File
List of Exchange Rates

SQL Scripts for Microsoft Dynamics GP: Series Index

Microsoft Dynamics GPLong time readers of this site will be aware that I changed jobs in September this year and no longer work with Microsoft Dynamics GP.

I worked with Dynamics GP for just over 19 years and in that time I wrote a lot of SQL scripts for a variety of purposes. I’ve decided to publish almost all of the scripts I have written an will use this series as the container to hold them. I’ll filter out scripts which are duplicates of each other or what I have already posted, but otherwise will post them all.

Some may not be that useful to others or require tweaking before they can be used. If a script looks like it might be useful and you have questions, ask in the comments for that script and I’ll do what I can too help.

Continue reading “SQL Scripts for Microsoft Dynamics GP: Series Index”

Auto Restart Post Master Enterprise

Microsoft Dynamics GPI’m a big fan of Post Master Enterprise from Envisage Software Solutions and implemented it for a few clients.

For most clients we’ve installed it, configured it and it just runs without issue.

One client though had a few issues where it would suddenly stop processing. This client though was using more than the standard posting; they also had the modules for transferring sales order to invoice and emailing the sales invoice to a customer and saving a copy of the invoice to a network share. They also process quite a lot of transactions.

I flagged this up to Envisage and they pointed me in the direction of one of the Advanced Settings:

Advanced Settings

This setting makes Post Master check if the application is running correctly and if it isn;t, it will initiate a restart. We set this to 300 seconds (5 minutes)and asked the client to monitor. this was several weeks before I left ISC and, as of when I left at the end of August, the issue had not recurred; or if it had, the auto restart had resolved it without the client being aware.

SQL Script to Alter Server, Instance and Database References in Views After Copying Microsoft Dynamics GP Databases To A New Server

Microsoft Dynamics GPFour years ago I wrote a script which changed server and database names embedded within SQL views after a live Microsoft Dynamics GP company had been copied into a test one. This script is used by a client as one of several which are all run when they refresh live into test, but they also sometimes use it when copying databases between a live server and a test one.

They recently ran it when creating a new test server, but found afterwards that it hadn’t worked correctly. Or more accurately, it had worked correctly as it was created to do. However, the new SQL Server had a different Instance name than the original.

The script below is an update of the original which adds in a change of Instance alongside the existing server and company.

The three highlighted sections are for the old values which need to be changed; the new values are all determined automatically based on the database in which the script is run.

/*
Created by Ian Grieve of azurecurve | Ramblings of an IT Professional (http://www.azurecurve.co.uk) This code is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0 Int). */
DECLARE @ViewDefinition AS NVARCHAR(max) DECLARE @OldServer AS VARCHAR(50) = '2018SQL1' DECLARE @NewServer AS VARCHAR(50) = CAST(SERVERPROPERTY('MachineName') AS VARCHAR(50)) DECLARE @OldDB AS VARCHAR(50) = 'FINANCE' DECLARE @NewDB AS VARCHAR(50) = CAST(SERVERPROPERTY('InstanceName') AS VARCHAR(50)) DECLARE @OldCompany AS VARCHAR(5) = 'TWO' DECLARE @NewCompany AS VARCHAR(5) = DB_NAME() CREATE TABLE #ViewDefinitions( ViewDefinition NVARCHAR(MAX) ,ROW_ID INT IDENTITY ) INSERT INTO #ViewDefinitions (ViewDefinition) --VALUES (SELECT REPLACE( REPLACE(['SQL Modules'].definition, 'CREATE VIEW', 'ALTER VIEW') ,'Db=' + @OldDB +
'&Srv=' + @OldServer + '&Cmp=' + @OldCompany,'Db=' + @NewDB + '&Srv=' + @NewServer + '&Cmp=' + @NewCompany) FROM sys.all_views AS ['All Views'] JOIN sys.sql_modules AS ['SQL Modules'] ON ['SQL Modules'].object_id = ['All Views'].object_id and ['SQL Modules'].definition LIKE '%Db=' + @OldDB + '&Srv=' + @OldServer + '&Cmp=' + @OldCompany + '%') DECLARE cursor_Views Cursor FOR SELECT ViewDefinition FROM #ViewDefinitions Open cursor_Views FETCH NEXT FROM cursor_Views INTO @ViewDefinition WHILE (@@FETCH_STATUS <> -1) BEGIN IF (@@FETCH_STATUS <> -2) EXEC (@ViewDefinition) FETCH NEXT FROM cursor_Views INTO @ViewDefinition END CLOSE cursor_Views DEALLOCATE cursor_Views DROP TABLE #ViewDefinitions GO

As always before using a script, make sure you understand wat it is going to do and also ensure you have a good backup.

Error Running Dag.exe For C# Modifications In Microsoft Dynamics GP

Microsoft Dynamics GPA little while ago I did some work with a client who was migrating their Microsoft Dynamics GP VBA modifications into C# so that they could make more use of the web client. We had the C# code created, and the VBA-mess modified forms and reports loaded into Dynamics GP. The next step is to use dag.exe to create the managed code assembly which provides access to resources in an application dictionary.

On one of the machines we installed Dexterity in order to get access to dag.exe and then ran the command required to create the managed code assembly. Unfortunately, the following error was produced:

Dag.exe error message

Unhandled exception: System.IO.FileNotFoundException: Could not load file and assembly 'Microsoft.Dynamics.GP.BusinessObjects, Version=18.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad64e35' or ne of its dependencies. The system cannot find the file specified.

It was only seeing the error message that I remembered having been told about this by the developer. The Microsoft.Dynamics.GP.BusinessObjects.dll file needs to be copied from the Dynamics GP install folder (typically %ProgramFiles(x86)%\Microsoft Dynamics GP) into the Dexterity install folder (typically %ProgramFiles(x86)%\Microsoft Dexterity\Dex 18.0).

Once this has been done, the dag.exe command can be run successfully.