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

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