SQL Scripts for Microsoft Dynamics GP: RM Aged Debt Report

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

This script returns a simple RM Aged TB (Summary) report with figures calculated for the current, previous five periods and anything a column for anything older than this.

/*
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 @DATE AS DATETIME = '2027-04-12' SELECT DISTINCT ['RM Debtor Master'].CUSTNMBR AS 'Customer' ,['RM Debtor Master'].CUSTNAME AS 'Name' ,ISNULL( ( SELECT SUM(CASE WHEN ['RM Key Master'].RMDTYPAL in (1,3,4,5,6) THEN ['RM Transaction Open'].CURTRXAM ELSE ['RM Transaction Open'].CURTRXAM * -1 END) FROM RM00401 AS ['RM Key Master'] --RM Key File (RM00401) LEFT JOIN RM20101 AS ['RM Transaction Open'] --RM Open File Debit Copy (RM20101) ON ['RM Transaction Open'].RMDTYPAL = ['RM Key Master'].RMDTYPAL AND ['RM Transaction Open'].DOCNUMBR = ['RM Key Master'].DOCNUMBR AND FORMAT(['RM Key Master'].DOCDATE, 'yyyyMM') = FORMAT(@DATE, 'yyyyMM') WHERE ['RM Key Master'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR ) ,0) AS 'Current' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -1, @DATE), 'yyyyMM') ) ,0) AS '-1' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -2, @DATE), 'yyyyMM') ) ,0) AS '-2' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -3, @DATE), 'yyyyMM') ) ,0) AS '-3' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -4, @DATE), 'yyyyMM') ) ,0) AS '-4' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') = FORMAT(DATEADD(m, -5, @DATE), 'yyyyMM') ) ,0) AS '-5' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR AND FORMAT(DOCDATE, 'yyyyMM') <= FORMAT(DATEADD(m, -6, @DATE), 'yyyyMM') ) ,0) AS 'Prior' ,ISNULL( ( SELECT SUM(CASE WHEN RMDTYPAL in (1,3,4,5,6) THEN CURTRXAM ELSE CURTRXAM * -1 END) FROM RM20101 AS ['RM Transaction Open'] WHERE ['RM Transaction Open'].CUSTNMBR = ['RM Debtor Master'].CUSTNMBR ) ,0) AS 'Total' FROM RM00101 AS ['RM Debtor Master'] WITH (NOLOCK) --RM Customer MSTR (RM00101) 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

In Microsoft Dynamics 365 Business Central (Purchasing), how do I… Series Index

Microsoft Dynamics 365 Business CentralI have recently started working with Microsoft Dynamics 365 Business Central and have decided to blog about it as I learn; I’ve started a In Microsoft Dynamics 365 Business Central, how do I… series which will include everything, but have also decided to break that down into a set of smaller series on specific areas of Dynamics BC.

This is the series index for the Purchasing related posts I will be writing. The series index, below, will automatically update as each post in the series goes live so make sure you bookmark this post so you can see keep up-to-date with my journey into Business Central.

Continue reading “In Microsoft Dynamics 365 Business Central (Purchasing), how do I… Series Index”

SQL Scripts for Microsoft Dynamics GP: Sales Line Items

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

This script returns a list of all line items from Sales Order Processing at a status of work.

/*
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 SOP10200.SOPNUMBE ,CASE SOP10200.SOPTYPE WHEN 1 THEN 'Quote' WHEN 2 THEN 'Order' WHEN 3 THEN 'Invoice' WHEN 4 THEN 'Return' WHEN 5 THEN 'Back Order' WHEN 6 THEN 'Fulfillment Order' END AS 'Trx Type' ,SOP10200.LNITMSEQ ,SOP10100.DOCDATE ,SOP10100.CURNCYID ,SOP10100.CSTPONBR ,SOP10200.ITEMNMBR ,SOP10200.ITEMDESC ,SOP10200.ReqShipDate ,SOP10200.LOCNCODE ,SOP10200.QUANTITY ,SOP10200.UNITCOST ,SOP10200.EXTDCOST ,SOP10200.UNITPRCE ,SOP10200.XTNDPRCE ,SOP10100.SUBTOTAL + SOP10100.TAXAMNT + SOP10100.FRTAMNT + SOP10100.MSCTXAMT - SOP10100.TRDISAMT AS 'Value (Gross)' ,SY01200.INETINFO FROM SOP10200 --Sales Transaction Amounts Work (SOP10200) INNER JOIN SOP10100 --Sales Transaction Work (SOP10100) ON SOP10100.SOPTYPE = SOP10200.SOPTYPE AND SOP10100.SOPNUMBE = SOP10200.SOPNUMBE LEFT JOIN SY01200 --Internet Addresses (SY01200) ON SY01200.Master_Type = 'ITM' AND SY01200.Master_ID = SOP10200.ITEMNMBR

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

Create a Windows Demo Environment: Configure Ethernet on Domain Controller Server

WindowsThis article is part of the Create a Windows Demo Environment series where I am installing and configuring a small Windows domain for use with demo installs of software.

When creating demo environments I always give them their own range of IP addresses in the internal Hyper-V network. This is so that I can make sure that each machine is able to see all of the others without any issues. The first machine I configure is always the which I will be using as the domain controller.

On the most recent demo environment I created, I used the IP address of 40.1.1.1; I usually use something well outside the range of IP address on my main network or ones used on the Internet so as to avoid any potential conflicts.

To configure a static IP address, right click on the network icon in the system tray and select Open Network & Internet settings and, in the Settings window which opens, click Change adapter settings under Advanced network settings:

Network and internet settings window

Continue reading “Create a Windows Demo Environment: Configure Ethernet on Domain Controller Server”

SQL Scripts for Microsoft Dynamics GP: Select All Pending Prepayments

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

This script will return a list of all pending prepayments in Dynamics GP; the highlighted account at the can be changed or removed as required.

CREATE VIEW [dbo].[uv_AZRCRV_PendingPrepayments] AS
/*
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 ['PM Transaction WORK File'].VCHRNMBR AS 'Voucher Number' ,CASE ['PM Transaction WORK File'].DOCTYPE WHEN 1 THEN 'Invoice' WHEN 5 THEN 'Credit Memo' ELSE '' END AS 'Document Type' ,['PM Creditor Master'].VENDORID AS 'Creditor ID' ,['PM Creditor Master'].VENDNAME AS 'Creditor Name' ,FORMAT(EOMONTH(DATEADD(month,-1,GETDATE())), 'dd/MM/yyyy') AS 'Transaction Date' ,['PM Transaction WORK File'].BACHNUMB AS 'Batch Number' ,['PM Transaction WORK File'].TRXDSCRN AS 'Document Description' ,['PM Transaction WORK File'].DOCNUMBR AS 'Document Number' ,['PM Transaction WORK File'].PORDNMBR AS 'PO Number' ,ISNULL(['Deferral Account Index Master'].ACTNUMST,['GL Account Index Master'].ACTNUMST) AS 'Account' ,['PM Distribution WORK OPEN'].DEBITAMT AS 'Debit' ,['PM Distribution WORK OPEN'].CRDTAMNT AS 'Credit' ,CASE WHEN DOCTYPE = 1 THEN CASE WHEN ['Deferral Header Work'].PP_Module IS NOT NULL THEN SUM(['Deferral Line Work'].TRXAMNT) ELSE 0 --SUM(['PM Distribution WORK OPEN'].DEBITAMT) END ELSE 0 END AS 'Deferred Debit' ,CASE WHEN DOCTYPE = 1 THEN 0 ELSE CASE WHEN ['Deferral Header Work'].PP_Module IS NOT NULL THEN SUM(['Deferral Line Work'].TRXAMNT) ELSE 0 --SUM(['PM Distribution WORK OPEN'].CRDTAMNT) END END AS 'Deferred Credit' ,['PM Distribution WORK OPEN'].DistRef AS 'Distribution Reference' ,CASE WHEN ['Deferral Header Work'].PP_Module IS NULL THEN 'Not Deferred' ELSE 'Deferred' END AS 'Deferred' FROM PM10000 AS ['PM Transaction WORK File'] -- FOR OPEN CHANGE TO PM20000 INNER JOIN PM00200 AS ['PM Creditor Master'] ON ['PM Creditor Master'].VENDORID = ['PM Transaction WORK File'].VENDORID INNER JOIN PM10100 AS ['PM Distribution WORK OPEN'] ON ['PM Distribution WORK OPEN'].CNTRLTYP = ['PM Transaction WORK File'].CNTRLTYP AND ['PM Distribution WORK OPEN'].VCHRNMBR = ['PM Transaction WORK File'].VCHRNMBR INNER JOIN GL00105 AS ['GL Account Index Master'] ON ['GL Account Index Master'].ACTINDX = ['PM Distribution WORK OPEN'].DSTINDX LEFT JOIN -- Join to RED PP000100 AS ['Deferral Header Work'] -- FOR OPEN CHANGE TO PP100100 ON ['Deferral Header Work'].CNTRLTYP = ['PM Distribution WORK OPEN'].CNTRLTYP AND ['Deferral Header Work'].PP_Document_Number = ['PM Distribution WORK OPEN'].VCHRNMBR AND ['Deferral Header Work'].PP_Sequencer = ['PM Distribution WORK OPEN'].DSTSQNUM LEFT JOIN GL00105 AS ['Deferral Account Index Master'] ON ['Deferral Account Index Master'].ACTINDX = ['Deferral Header Work'].ACTINDX LEFT JOIN PP000101 AS ['Deferral Line Work'] ON ['Deferral Line Work'].PP_Module = ['Deferral Header Work'].PP_Module AND ['Deferral Line Work'].PP_Record_Type = ['Deferral Header Work'].PP_Record_Type AND ['Deferral Line Work'].PP_Document_Number = ['Deferral Header Work'].PP_Document_Number AND ['Deferral Line Work'].PP_Sequencer = ['Deferral Header Work'].PP_Sequencer AND ['Deferral Line Work'].PPOFFSEQ = ['Deferral Header Work'].PPOFFSEQ AND ['Deferral Line Work'].CNTRLTYP = ['Deferral Header Work'].CNTRLTYP AND ['Deferral Line Work'].VCHRNMBR = ['Deferral Header Work'].VCHRNMBR AND ['Deferral Line Work'].DSTSQNUM = ['Deferral Header Work'].DSTSQNUM WHERE ['PM Transaction WORK File'].BCHSOURC = 'PM_Trxent' AND ['PM Distribution WORK OPEN'].DISTTYPE = 6 --Include only Purchases Distribution GROUP BY ['GL Account Index Master'].ACTNUMST ,['Deferral Account Index Master'].ACTNUMST ,['PM Transaction WORK File'].DOCTYPE ,['Deferral Header Work'].PP_Module ,['PM Distribution WORK OPEN'].DistRef ,['PM Transaction WORK File'].VCHRNMBR ,['PM Creditor Master'].VENDORID ,['PM Creditor Master'].VENDNAME ,['PM Transaction WORK File'].DOCTYPE ,['PM Transaction WORK File'].BACHNUMB ,['PM Transaction WORK File'].TRXDSCRN ,['PM Transaction WORK File'].DOCNUMBR ,['PM Transaction WORK File'].PORDNMBR ,['PM Distribution WORK OPEN'].DEBITAMT ,['PM Distribution WORK OPEN'].CRDTAMNT HAVING ['GL Account Index Master'].ACTNUMST = '000-8888-00' 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

Set Recurring Frequency on a Recurring Journal in Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business CentralFor a recent training session on the general ledger in Microsoft Dynamics 365 Business Central, I covered recurring journals with the client. One of the requirements, for accruals, is that the journal be posted on the last day of the month.

If every month was of an equal length this would be quite easy to do using a date formula of 1M, but they aren;t so a more complex date formula is required.

To post the journal on the last day of a month, every month, the date formula required is 1D+1M-1D, which means add 1 day, add 1 month and subtract 1 day from the posting date. With this formula Business Central calculates the date correctly regardless of how many days are in the month.

SQL Scripts for Microsoft Dynamics GP: Available Stock for All Items

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

This script will show stock levels for all items including how much is allocated or available.

/*
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 RTrim(IV00101.ITEMNMBR) AS ITEMNMBR ,RTrim(IV00102.LOCNCODE) AS LOCNCODE ,LEFT(IV00102.QTYONHND, CHARINDEX('.', IV00102.QTYONHND)- 1) AS QTYONHND ,LEFT(IV00102.ATYALLOC, CHARINDEX('.', IV00102.ATYALLOC)- 1) AS QTYALLOC ,LEFT(IV00102.QTYONHND - IV00102.ATYALLOC, CHARINDEX('.', IV00102.QTYONHND - IV00102.ATYALLOC) -1) AS 'QTYAVAIL' ,LEFT(IV00102.QTYONORD, CHARINDEX('.', IV00102.QTYONORD)- 1) AS QTYONORD FROM IV00101 INNER JOIN IV00102 ON IV00102.ITEMNMBR = IV00101.ITEMNMBR WHERE IV00102.LOCNCODE <> ' ' AND IV00102.QTYONHND - IV00102.ATYALLOC <> 0

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

Create a Windows Demo Environment: Replicate VM and Run sysprep

WindowsThis article is part of the Create a Windows Demo Environment series where I am installing and configuring a small Windows domain for use with demo installs of software.

In the last post, I installed Windows Server; if I require more than one installation of Windows I would simply copy the HDD of the VM, create a new VM in Hyper-V and then run sysprep against all of the VMs, including the first.

I covered sysprep over 10 years ago and the process has not changed at all, so Im just going to link back to that post.

SQL Scripts for Microsoft Dynamics GP: Select Debit, Credit and Net Change for All Accounts in Date Range

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

This script will allow the user to specify a date and return the debit, credit and net change for all accounts.

/*
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 @StartDate DATE = '2027-01-01' DECLARE @EndDate DATE = '2027-03-31' SELECT CASE WHEN ['Account Master'].ACTIVE = 1 THEN '' ELSE 'Yes' END AS 'Inactive' ,['Account Index Master'].ACTNUMST AS 'Account' ,['Account Master'].ACTDESCR AS 'Description' ,( SELECT SUM(DEBITAMT) FROM ( SELECT DEBITAMT FROM GL20000 AS ['Year-to-date transactions'] --Year-to-Date Transaction Open (GL20000) WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['Year-to-date transactions'].ACTINDX = ['Account Master'].ACTINDX UNION ALL SELECT DEBITAMT FROM GL30000 AS ['GL Transactions History'] --Account Transaction History (GL30000) WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['GL Transactions History'].ACTINDX = ['Account Master'].ACTINDX ) AS ['GL Transactions'] ) AS 'Debit' ,( SELECT SUM(CRDTAMNT) FROM ( SELECT CRDTAMNT FROM GL20000 AS ['Year-to-date transactions'] WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['Year-to-date transactions'].ACTINDX = ['Account Master'].ACTINDX UNION ALL SELECT CRDTAMNT FROM GL30000 AS ['GL Transactions History'] WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['GL Transactions History'].ACTINDX = ['Account Master'].ACTINDX ) AS ['GL Transactions'] ) AS 'Credit' ,( SELECT SUM(NETCHANGE) FROM ( SELECT DEBITAMT - (CRDTAMNT * 1) AS NETCHANGE FROM GL20000 AS ['Year-to-date transactions'] WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['Year-to-date transactions'].ACTINDX = ['Account Master'].ACTINDX UNION ALL SELECT DEBITAMT - (CRDTAMNT * 1) AS NETCHANGE FROM GL30000 AS ['GL Transactions History'] WHERE TRXDATE BETWEEN @StartDate AND @EndDate AND ['GL Transactions History'].ACTINDX = ['Account Master'].ACTINDX ) AS ['GL Transactions'] ) AS 'Net Change' FROM GL00100 AS ['Account Master'] --Breakdown Account Master (GL00100) INNER JOIN GL00105 AS ['Account Index Master'] --Account Index Master (GL00105) ON ['Account Index Master'].ACTINDX = ['Account Master'].ACTINDX

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

“There is nothing to post because the journal does not contain a quantity or amount” Error in Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business CentralI was doing some training for a client last month where I was showing them how to process on the general ledger in Microsoft Dynamics 365 Business Central and encountered an error when we were looking at recurring journals for accruals:

Error message

There is nothing to post because the journal does not contain a quantity or amount

Continue reading ““There is nothing to post because the journal does not contain a quantity or amount” Error in Microsoft Dynamics 365 Business Central”