SQL Scripts for Microsoft Dynamics GP: Sales Invoice Query

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 work status sales invoices which are linked to a history status sales order and along with data for the work transaction returns the originating transactions order number and document 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 ['Sales Transaction Work'].SOPNUMBE ,['Sales Transaction Work'].SOPTYPE ,['Company Master'].CMPNYNAM AS COCMPNYNAM ,['Company Master'].ADDRESS1 AS COADDRESS1 ,['Company Master'].ADDRESS2 AS COADDRESS2 ,['Company Master'].ADDRESS3 AS COADDRESS3 ,['Company Master'].CITY AS COCITY ,['Company Master'].STATE AS COSTATE ,['Company Master'].ZIPCODE AS COZIPCODE ,['Company Master'].COUNTY AS COCOUNTRY ,['Company Master'].TAXREGTN AS COTAXREGNO ,['Company Master'].UDCOSTR1 AS COREGNO ,['Company Master'].PHONE1 AS COPHONE1 ,['Internet Addresses - Company'].INET1 AS COEMAIL ,['Internet Addresses - Company'].INET2 AS COWEBSITE ,['Sales Transaction Work'].CUSTNMBR ,['Sales Transaction Work'].CUSTNAME ,['Sales Transaction Work'].CSTPONBR ,['Sales Transaction Work'].SOPNUMBE AS INVNO ,['Sales Transaction History'].SOPNUMBE AS ORDNO ,['Sales Transaction History'].DOCDATE ,['Currency Setup'].CRNCYSYM ,['RM Customer Master'].TXRGNNUM AS CUSTTAXREGNO ,['Customer Master Address'].ADDRESS1 AS BTADDRESS1 ,['Customer Master Address'].ADDRESS2 AS BTADDRESS2 ,['Customer Master Address'].ADDRESS3 AS BTADDRESS3 ,['Customer Master Address'].CITY AS BTCITY ,['Customer Master Address'].STATE AS BTSTATE ,['Customer Master Address'].ZIP AS BTZIP ,['Customer Master Address'].COUNTRY AS BTCOUNTRY ,['Sales Transaction Work'].CUSTNMBR AS CUSTCODE ,['Sales Transaction Work'].ADDRESS1 AS STADRESS1 ,['Sales Transaction Work'].ADDRESS2 AS STADDRESS2 ,['Sales Transaction Work'].ADDRESS3 AS STADDRESS3 ,['Sales Transaction Work'].CITY AS STCITY ,['Sales Transaction Work'].STATE AS STSTATE ,['Sales Transaction Work'].ZIPCODE AS STZIP ,['Sales Transaction Work'].COUNTRY AS STCOUNTRY ,['Sales Transaction Work'].ORSUBTOT ,['Sales Transaction Work'].ORTAXAMT ,['Sales Transaction Work'].ORSUBTOT + ['Sales Transaction Work'].ORTAXAMT AS ORTOTAL ,['Sales Transaction Work'].DUEDATE FROM SOP10100 AS ['Sales Transaction Work'] WITH (NOLOCK) --Sales Transaction Work (SOP10100) INNER JOIN RM00101 AS ['RM Customer Master'] WITH (NOLOCK) --RM Customer MSTR (RM00101) ON ['RM Customer Master'].CUSTNMBR = ['Sales Transaction Work'].CUSTNMBR INNER JOIN RM00102 AS ['Customer Master Address'] WITH (NOLOCK) --Customer Master Address File (RM00102) ON ['Customer Master Address'].CUSTNMBR = ['Sales Transaction Work'].CUSTNMBR AND ['Customer Master Address'].ADRSCODE = ['Sales Transaction Work'].PRBTADCD INNER JOIN SOP30200 AS ['Sales Transaction History'] WITH (NOLOCK) --Sales Transaction History (SOP30200) ON ['Sales Transaction History'].SOPTYPE = ['Sales Transaction Work'].ORIGTYPE AND ['Sales Transaction History'].SOPNUMBE = ['Sales Transaction Work'].ORIGNUMB INNER JOIN DYNAMICS..SY01500 AS ['Company Master'] WITH (NOLOCK) --Company Master (SY01500) ON ['Company Master'].INTERID = DB_NAME() LEFT JOIN DYNAMICS..MC40200 AS ['Currency Setup'] WITH (NOLOCK) --Currency Setup (MC40200) ON ['Currency Setup'].CURNCYID = ['Sales Transaction Work'].CURNCYID LEFT JOIN SY01200 AS ['Internet Addresses - Company'] WITH (NOLOCK) --Assembly Component (BM10300) ON ['Internet Addresses - Company'].Master_Type = 'CMP' AND ['Internet Addresses - Company'].ADRSCODE = 'PRIMARY' WHERE ['Sales Transaction Work'].SOPTYPE = 3

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

Enable Auto Unlock for BitLocker Protected External Drive

MicrosoftI travel a lot for work and sometimes carry files with me on a SSD which has BitLocker enabled to ensure no-one else can access the files should I lose the device. In January 2020 I published an article on using PowerShell to unlock an encrypted drive using PowerShell.

I did it that way as I was working onsite and wanted to be able to plug a drive in when needed, but not manually type the password every time; I didn’t want to have the drive auto-unlock when plugged in as I was signed in under a generic admin account (I had the PowerShell script) tucked away in a location which would be difficult, if not impossible, for anyone else to find. I also deleted it at the end of the day so there wasn’t a copy left behind.

As mentioned above, you can configure windows to automatically unlock a drive when it is plugged in. I find this particular option useful when working on my own laptop or PC.

You can do this through the Manage BitLocker Control Panel applet.

Once you’ve launched this find the drive in the list and mark the Turn on auto-unlock option:

BitLocker Drive Encryption settings app