SQL Scripts for Microsoft Dynamics GP: Update Mfg Cost Accounts from Mfg Item Class Setup

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 the manufacturing cost accounts on the items using the accounts on the linked classes; this script was created for a client where it was found that classes had been updated and the items still had the wrong codes.

/*
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 [IC COST Item Master'] SET ICIVCLIXI = ['IC COST Item Class Setup'].ICIVCLIXI ,ICIVCLABOHIXI = ['IC COST Item Class Setup'].ICIVCLABOHIXI ,ICIVCOGSLABOHVARIX_I = ['IC COST Item Class Setup'].ICIVCOGSLABOHVARIX_I ,ICIVCCIXI = ['IC COST Item Class Setup'].ICIVCCIXI ,ICIVCMACHOHIXI = ['IC COST Item Class Setup'].ICIVCMACHOHIXI ,ICIVCOGSMACHOHVARIX_I = ['IC COST Item Class Setup'].ICIVCOGSMACHOHVARIX_I ,ICIVCMIXI = ['IC COST Item Class Setup'].ICIVCMIXI ,ICIVCMATOHIXI = ['IC COST Item Class Setup'].ICIVCMATOHIXI ,ICIVCOGSMATOHVARIX_I = ['IC COST Item Class Setup'].ICIVCOGSMATOHVARIX_I ,ICIVCOIXI = ['IC COST Item Class Setup'].ICIVCOIXI ,ICIVMFIXI = ['IC COST Item Class Setup'].ICIVMFIXI ,ICIVMUIXI = ['IC COST Item Class Setup'].ICIVMUIXI ,ICIVMATUSAGEVAROHIX_I = ['IC COST Item Class Setup'].ICIVMATUSAGEVAROHIX_I ,ICIVMATUSAGEVAROHVARIX_I = ['IC COST Item Class Setup'].ICIVMATUSAGEVAROHVARIX_I ,ICIVMVIXI = ['IC COST Item Class Setup'].ICIVMVIXI ,ICIVPVIXI = ['IC COST Item Class Setup'].ICIVPVIXI ,ICIVROIXI = ['IC COST Item Class Setup'].ICIVROIXI ,ICIVSCIXI = ['IC COST Item Class Setup'].ICIVSCIXI ,ICIVLVIXI = ['IC COST Item Class Setup'].ICIVLVIXI ,ICIVUPPV_I = ['IC COST Item Class Setup'].ICIVUPPV_I ,ICIVLABVAROHIX_I = ['IC COST Item Class Setup'].ICIVLABVAROHIX_I ,ICIVLABVAROHVARIX_I = ['IC COST Item Class Setup'].ICIVLABVAROHVARIX_I ,ICIVMEVIXI = ['IC COST Item Class Setup'].ICIVMEVIXI ,ICIVMACHEFFVAROHIX_I = ['IC COST Item Class Setup'].ICIVMACHEFFVAROHIX_I ,ICIVMACHEFFVAROHVARIX_I = ['IC COST Item Class Setup'].ICIVMACHEFFVAROHVARIX_I ,ICIVOVIXI = ['IC COST Item Class Setup'].ICIVOVIXI ,ICIVWLIXI = ['IC COST Item Class Setup'].ICIVWLIXI ,ICIVWLOHIXI = ['IC COST Item Class Setup'].ICIVWLOHIXI ,ICIVWIPLABOHVARIX_I = ['IC COST Item Class Setup'].ICIVWIPLABOHVARIX_I ,ICIVWCIXI = ['IC COST Item Class Setup'].ICIVWCIXI ,ICIVWMACHOHIXI = ['IC COST Item Class Setup'].ICIVWMACHOHIXI ,ICIVWIPMACHOHVARIX_I = ['IC COST Item Class Setup'].ICIVWIPMACHOHVARIX_I ,ICIVWMIXI = ['IC COST Item Class Setup'].ICIVWMIXI ,ICIVWMATOHIXI = ['IC COST Item Class Setup'].ICIVWMATOHIXI ,ICIVWIPMATOHVARIX_I = ['IC COST Item Class Setup'].ICIVWIPMATOHVARIX_I ,ICIVWOIXI = ['IC COST Item Class Setup'].ICIVWOIXI ,ICIVILIXI = ['IC COST Item Class Setup'].ICIVILIXI ,ICIVILABOHIXI = ['IC COST Item Class Setup'].ICIVILABOHIXI ,ICIVINVLABOHVARIX_I = ['IC COST Item Class Setup'].ICIVINVLABOHVARIX_I ,ICIVIMXI = ['IC COST Item Class Setup'].ICIVIMXI ,ICIVIMACHOHIXI = ['IC COST Item Class Setup'].ICIVIMACHOHIXI ,ICIVINVMACHOHVARIX_I = ['IC COST Item Class Setup'].ICIVINVMACHOHVARIX_I ,ICIVIMATOHIXI = ['IC COST Item Class Setup'].ICIVIMATOHIXI ,ICIVINVMATOHVARIX_I = ['IC COST Item Class Setup'].ICIVINVMATOHVARIX_I FROM CT00102 AS [IC COST Item Master'] --CT00102 INNER JOIN CT40401 AS ['IC COST Item Class Setup'] --CT40401 ON ['IC COST Item Class Setup'].ITMCLSCD = [IC COST Item Master'].ITMCLSCD 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

How to Set a Default Printer in Windows 11

WindowsI’m sure that setting a default printer in Microsoft Windows used to be quite simple. However, I was having problems with Windows never defaulting to the same printer and the one it suggested was never the one I wanted. I did some poking around and it actually took me a few minutes to work it out.

This was on a Windows 11 machine, but it ay have been the same on Windows 10 without my having noticed. To set a default printer, open the Printers & scanners Control Panel applet.

You will need to set the Let Windows manage by default printer option to off, which then makes the default printer setting available:

Printers & scanners Control Panel applet with the Let Windows manage by default printer option highlighted

Continue reading “How to Set a Default Printer in Windows 11”

SQL Scripts for Microsoft Dynamics GP: Update Min Order Qty and Average Lead Time on Vendor Item From Text File

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 imports a tab delimited file and updates the Min Order Qty and Average Lead Time on Vendor Item card; there is error handling built in to ensure the vendor item exists. If there are errors they are returned to the user; vendori item cards are only updated if there are no errors.

/*
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 TEMP ERROR TABLE */ CREATE TABLE #Errors ( Error VARCHAR(1000) ,ROW_ID INT IDENTITY ) GO /* CREATE TEMP TABLE FOR IV00103 DATA */ CREATE TABLE #IV00103_IMPORT ( ITEMNMBR VARCHAR(300) ,ITEMDESC VARCHAR(300) ,VENDORID VARCHAR(300) ,MINORQTY NUMERIC(19,5) ,AVRGLDTM INTEGER ) GO /* BULK INSERT */ BULK INSERT #IV00103_IMPORT FROM 'c:\temp\Vendor Items.txt' WITH (FIELDTERMINATOR = '\t' ,ROWTERMINATOR = '\n' ,FIRSTROW = 2 ) GO /* VALIDATE DATA */ --validate price sheet header INSERT INTO #Errors (Error) --VALUES ( SELECT 'Item/Vendor does not exist: ' + CAST(['Import'].ITEMNMBR AS VARCHAR(100)) + '/' + CAST(['Import'].VENDORID AS VARCHAR(100)) FROM #IV00103_IMPORT AS ['Import'] LEFT JOIN IV00103 AS ['Item Vendor Master'] --Item Vendor Master (IV00103) ON ['Item Vendor Master'].ITEMNMBR = ['Import'].ITEMNMBR AND ['Item Vendor Master'].VENDORID = ['Import'].VENDORID WHERE ['Item Vendor Master'].ITEMNMBR IS NULL ) GO /* UPDATE DATA IF NO ERRORS */ -- update item/vendors IF (SELECT COUNT(*) FROM #Errors) = 0 -- update if item/vendor combination exists UPDATE ['Item Vendor Master'] SET MINORQTY = ['Import'].MINORQTY ,AVRGLDTM = ['Import'].AVRGLDTM FROM IV00103 AS ['Item Vendor Master'] --Item Vendor Master (IV00103) INNER JOIN #IV00103_IMPORT AS ['Import'] ON ['Item Vendor Master'].ITEMNMBR = ['Import'].ITEMNMBR AND ['Item Vendor Master'].VENDORID = ['Import'].VENDORID GO /* OUTPUT ERRORS */ IF (SELECT COUNT(*) FROM #Errors) > 0 SELECT Error FROM #Errors ORDER BY ROW_ID GO /* DROP TEMP TABLES */ DROP TABLE #IV00103_IMPORT GO DROP TABLE #Errors 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

Error Stating G/L Account Missing Even Though it Exists When Raising Journal in Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business CentralI was talking to a client recently about an issue where I advised them to create a general journal to correct a posting issue. They followed up a short time later saying that when they tried to enter the journal, they were receiving an error message:

Error entering journal

Validation Results

The field Account No. of table Gen. Journal Line contains a value (60200) that cannot be found in the related table (G/L Account).

Continue reading “Error Stating G/L Account Missing Even Though it Exists When Raising Journal in Microsoft Dynamics 365 Business Central”

ClassicPress Plugins Available From azurecurve | Development in 2023: Add Twitter Cards

[featured-index key=’classicpress’]In this series of articles, I am going to introduce each of the plugins I have developed for ClassicPress, a hard-fork of WordPress, which was originally created to provide an alternative, yet compatible, CMS without the Gutenberg block editor.

The 2nd plugin is Add Twitter Cards.

Add Twitter Cards
Add Twitter Cards to attach rich photos to Tweets, helping to drive traffic to your website.

Options allow:

  • Card Types of Summary or Summary With Images.
  • Excerpt or first 200 characters of post added to card.
  • Featured Image or first post image will be added to card (subject to configurable minimum size).
  • Integrate with Floating Featured Images for card image.

This plugin is multisite compatible; each site will need settings to be configured in the admin dashboard.

Continue reading “ClassicPress Plugins Available From azurecurve | Development in 2023: Add Twitter Cards”

ClassicPress Plugins Available From azurecurve | Development in 2023: Add Open Graph Tags

ClassicPressIn this series of articles, I am going to introduce each of the plugins I have developed for ClassicPress, a hard-fork of WordPress, which was originally created to provide an alternative, yet compatible, CMS without the Gutenberg block editor.

The 1st plugin is Add Open Graph Tags.

Add Open Graph Tags
Add Open Graph Tags to attach rich photos to social media posts to Facebook or LinkedIn, helping to drive traffic to your website.

Options allow:

  • Card Types of Summary or Summary With Images.
  • Excerpt or first 200 characters of post added to card.
  • Featured Image or first post image will be added to card (subject to configurable minimum size).
  • Integrate with Floating Featured Images for card image.

This plugin is multisite compatible; each site will need settings to be configured in the admin dashboard.

Continue reading “ClassicPress Plugins Available From azurecurve | Development in 2023: Add Open Graph Tags”

SQL Scripts for Microsoft Dynamics GP: Validate and Insert/Update Vendor Emails from a Text File

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 is the customer equivalent of the ,a href=https://www.azurecurve.co.uk/2021/07/validate-and-insert-update-vendor-emails-in-microsoft-dynamics-gp-from-a-text-file/’>vendor script I posted a while ago; it uses BULK INSERT to upload a text file and updates the email addresses on the supplied customer and address combinations.

/*
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 TEMP ERROR TABLE */ CREATE TABLE #Errors ( Error VARCHAR(1000) ,ROW_ID INT IDENTITY ) GO /* CREATE TEMP TABLE FOR DATA */ CREATE TABLE #CUSTOMER_IMPORT ( CUSTNMBR VARCHAR(30) ,ADRSCODE VARCHAR(30) ,EmailToAddress VARCHAR(230) ,EmailCcAddress VARCHAR(230) ,EmailBccAddress VARCHAR(230) ) GO /* BULK INSERT */ BULK INSERT #CUSTOMER_IMPORT FROM 'C:\Temp\Customer Address Emails.txt' WITH (FIELDTERMINATOR = '\t' ,ROWTERMINATOR = '\n' ,FIRSTROW = 2 ) GO /* VALIDATE DATA */ --validate parent item INSERT INTO #Errors (Error) --VALUES ( SELECT 'Customer Address does not exist: ' + CAST(['Import'].CUSTNMBR AS VARCHAR(100)) + ' / ' + CAST(['Import'].ADRSCODE AS VARCHAR(100)) FROM #CUSTOMER_IMPORT AS ['Import'] LEFT JOIN RM00101 AS ['RM Customer Address Master'] --RM Customer MSTR (RM00101) ON ['RM Customer Address Master'].CUSTNMBR = ['Import'].CUSTNMBR AND ['RM Customer Address Master'].ADRSCODE = ['Import'].ADRSCODE WHERE ['RM Customer Address Master'].ADRSCODE IS NULL AND ['Import'].EmailToAddress IS NOT NULL ) GO /* INSERT/UPDATE EMAIL DATA IF NO ERRORS */ --insert emails IF (SELECT COUNT(*) FROM #Errors) = 0 BEGIN -- UPDATE if Email Details present UPDATE SY SET SY.EmailToAddress = SY_I.EmailToAddress ,SY.EmailCcAddress = ISNULL(SY_I.EmailCcAddress, '') ,SY.EmailBccAddress = ISNULL(SY_I.EmailBccAddress, '') FROM SY01200 SY --Internet Addresses (SY01200) INNER JOIN #CUSTOMER_IMPORT AS SY_I ON SY_I.CUSTNMBR = SY.Master_ID AND SY.Master_Type = 'CUS' AND SY.ADRSCODE = SY_I.ADRSCODE WHERE SY_I.EmailToAddress IS NOT NULL -- Insert if no Email Details INSERT INTO SY01200 ( Master_Type ,Master_ID ,ADRSCODE ,INETINFO ,EmailToAddress ,EmailCcAddress ,EmailBccAddress ) ( SELECT 'CUS' ,CUSTNMBR ,ADRSCODE ,'' ,EmailToAddress ,ISNULL(EmailCcAddress, '') ,ISNULL(EmailBccAddress, '') FROM #CUSTOMER_IMPORT AS SY_I WHERE SY_I.EmailToAddress IS NOT NULL AND (SELECT COUNT(Master_ID) FROM SY01200 WHERE Master_Type = 'CUS' AND Master_ID = SY_I.CUSTNMBR AND ADRSCODE = SY_I.ADRSCODE) = 0 ) END GO /* OUTPUT ERRORS */ IF (SELECT COUNT(*) FROM #Errors) > 0 SELECT Error FROM #Errors ORDER BY ROW_ID GO /* DROP TEMP TABLES */ DROP TABLE #CUSTOMER_IMPORT GO DROP TABLE #Errors 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 View to Return Budget Amounts by Accounting Period in Microsoft Dynamics 365 Business Central

Microsoft Dynamics 365 Business CentralI posted a SQL view towards the end of January which returns the start and end date of accounting periods in Microsoft Dynamics 365 Business Central.

The SQL view below uses that view to return the budget figures from Dynamics BC for each accounting period grouped by account and the global and budget dimensions.

-- drop view if it exists
IF OBJECT_ID(N'uv_AZRCRV_BudgetAmountByAccountingPeriod', N'V') IS NOT NULL
	DROP VIEW uv_AZRCRV_BudgetAmountByAccountingPeriod
GO
-- create view
CREATE VIEW uv_AZRCRV_BudgetAmountByAccountingPeriod 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 ['G/L Budget Entry'].[Budget Name] ,['G/L Budget Entry'].[G_L Account No_] ,[Accounting Periods].[Starting Date] ,[Accounting Periods].[Ending Date] ,[Accounting Periods].[Name] ,['G/L Budget Entry'].[Global Dimension 1 Code] ,['G/L Budget Entry'].[Global Dimension 2 Code] ,['G/L Budget Entry'].[Budget Dimension 1 Code] ,['G/L Budget Entry'].[Budget Dimension 2 Code] ,['G/L Budget Entry'].[Budget Dimension 3 Code] ,['G/L Budget Entry'].[Budget Dimension 4 Code] ,SUM(['G/L Budget Entry'].Amount) AS [Budget Amount] FROM [CRONUS UK Ltd_$G_L Budget Entry$437dbf0e-84ff-417a-965d-ed2bb9650972] AS ['G/L Budget Entry'] INNER JOIN uv_AZRCRV_GetAccountingPeriodDates AS [Accounting Periods] ON ['G/L Budget Entry'].[Date] BETWEEN [Accounting Periods].[Starting Date] AND [Accounting Periods].[Ending Date] GROUP BY ['G/L Budget Entry'].[Budget Name] ,['G/L Budget Entry'].[G_L Account No_] ,[Accounting Periods].[Starting Date] ,[Accounting Periods].[Ending Date] ,[Accounting Periods].[Name] ,['G/L Budget Entry'].[Global Dimension 1 Code] ,['G/L Budget Entry'].[Global Dimension 2 Code] ,['G/L Budget Entry'].[Budget Dimension 1 Code] ,['G/L Budget Entry'].[Budget Dimension 2 Code] ,['G/L Budget Entry'].[Budget Dimension 3 Code] ,['G/L Budget Entry'].[Budget Dimension 4 Code] ORDER BY [Accounting Periods].[Starting Date] GO GRANT SELECT ON uv_AZRCRV_BudgetAmountByAccountingPeriod TO [Reporting Users] GO

SQL Scripts for Microsoft Dynamics GP: Generate Standard Cost Update Macro from Text File Import

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 imports a tab delimited text file and generates a Dynamics GP macro which can be played back to update the standard costs.

There is built in error handling to validate the supplied item numbers exist.

/*
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 TEMP ERROR TABLE */ CREATE TABLE #Errors ( Error VARCHAR(1000) ,ROW_ID INT IDENTITY ) GO /* CREATE TEMP TABLE FOR DATA */ CREATE TABLE #COST_IMPORT ( ITEMNMBR VARCHAR(100) ,STDCOST NUMERIC(19,2) ) GO /* BULK INSERT */ BULK INSERT #COST_IMPORT FROM 'C:\Temp\STDCOST.txt' WITH (FIELDTERMINATOR = '\t' ,ROWTERMINATOR = '\n' ,FIRSTROW = 2 ) GO /* VALIDATE DATA */ --validate ITEM INSERT INTO #Errors (Error) --VALUES ( SELECT 'Item does not exist: ' + CAST(['Import'].ITEMNMBR AS VARCHAR(100)) FROM #COST_IMPORT AS ['Import'] LEFT JOIN IV00101 AS ['Item Master'] --Item Master (IV00101) ON ['Item Master'].ITEMNMBR = ['Import'].ITEMNMBR WHERE ['Item Master'].ITEMNMBR IS NULL ) GO /* CREATE MACRO OUTPUT IF NO ERROR */ IF (SELECT COUNT(*) FROM #Errors) = 0 SELECT DISTINCT '# DEXVERSION=18.00.0028.000 2 2 CheckActiveWin dictionary ''Manufacturing'' form ''IC_COST_IV_Item_Rollup'' window ''Item_Rollup'' TypeTo field ''(L) Temp Control Number'' , ''' + ['Import'].ITEMNMBR + ''' MoveTo field ''NO_CALC_MAT'' # ''FALSE''' + CASE WHEN BM.PPN_I IS NULL THEN + ' # This item doesn''t have a Manufacturing bill of materials and isn''t a component of one. When you perform a rollup and revalue, costs entered here will overwrite the standard cost displayed in Item Maintenance. NewActiveWin dictionary ''Manufacturing'' form DiaLog window DiaLog ClickHit field OK NewActiveWin dictionary ''Manufacturing'' form ''IC_COST_IV_Item_Rollup'' window ''Item_Rollup''' ELSE + '' END + ' ClickHit field ''NO_CALC_MAT'' # ''TRUE'' TypeTo field ''Mat Cost''[5] , ''' + CAST(['Import'].STDCOST AS VARCHAR(20)) + ''' MoveTo field ''Mat Cost Eff Date''[5] TypeTo field ''Mat Cost Eff Date''[5] , ''01012021'' MoveTo field ''NO_CALC_MAT_FIX_OHD'' # ''FALSE'' CommandExec dictionary ''Manufacturing'' form ''IC_COST_IV_Item_Rollup'' command ''IC_Save_T_w_Item_Rollup_f_IC_COST_IV_Item_Rollup'' ' FROM #COST_IMPORT AS ['Import'] LEFT JOIN BM010115 AS BM ON BM.PPN_I = ['Import'].ITEMNMBR OR BM.CPN_I = ['Import'].ITEMNMBR GO /* OUTPUT ERRORS */ IF (SELECT COUNT(*) FROM #Errors) > 0 SELECT Error FROM #Errors ORDER BY ROW_ID GO /* DROP TEMP TABLES */ DROP TABLE #COST_IMPORT GO DROP TABLE #Errors 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

Reset BitLocker PIN

MicrosoftThe new work laptop is protected with a BitLocker PIN which needs to be entered each time the laptop is started. This is all well and good and I think protecting the laptop and any client data it may contain is a good idea; however, after several weeks of entering the PIN, I apparently forgot what it was and couldn;t start the laptop.

I spoke to the tech team and they gave me the recovery code so that I could use that to log in and was directed to reset the BitLocker PIN so I could log in normally.

To reset the BitLocker PIN, launch the Manage BitLocker Control Applet and find the drive in question; click the Change PIN link:

BitLocker Drive Encryption command panel applet

Continue reading “Reset BitLocker PIN”