Tuesday, May 24, 2016

Macros and Scrolling Windows


I did a session on GP Macros today at the Amplify conference in Anaheim. Questions came up regarding scrolling windows that I did not have time to cover in the short 1-hour session. I'm posting this example as an aid to understanding how scrolling windows work. The macro language will only deal with the number of rows that are visible in the scrolling window. When you open the SOP Entry window there are 8 lines visible in the scrolling window. When you add information to the scrolling window you need to include the command ScrollByLine down scrollwin 'Line_Scroll' at the bottom of the 8th line. Every line after line 8 is still considered line 8 because there are still only 8 lines visible. Below is a partial example macro of what it looks like to add more than 8 items to the SOP Entry scrolling window:

CheckActiveWin dictionary 'default'  form 'SOP_Entry' window 'SOP_Entry'
  ClickHit field 'SOP Type' item 4  # 'Invoice'
  MoveTo field 'Document ID'
  MoveTo field 'SOP Number'
  MoveTo field 'Customer Number'
  TypeTo field 'Customer Number' , 'AARONFIT0001'
  MoveTo field 'Customer Name'
  MoveTo field 'Primary Shipto Address Code'
  MoveTo field 'Document Date'
  MoveTo field 'Batch Number'
  TypeTo field 'Batch Number' , 'AUG31'
  MoveTo field 'Location Code'
  MoveTo field 'Customer PO Number'
  MoveTo field 'Currency ID'
  TransLinePrepare scrollwin 'Line_Scroll'

  MoveTo line 1 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 1 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 1 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 2 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 2 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 2 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 3 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 3 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 3 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 4 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 4 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 4 scrollwin 'Line_Scroll' field '(L) Extended Price'
#
  TransLinePrepare scrollwin 'Line_Scroll'
  MoveTo line 5 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 5 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 5 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 6 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 6 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 6 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 7 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 7 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 7 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '1-A3261A'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'  
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
  TypeTo line 8 scrollwin 'Line_Scroll' field 'Item Number' , '128 SDRAM'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Dropship'  # 'FALSE'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Unit Price'
  MoveTo line 8 scrollwin 'Line_Scroll' field '(L) Extended Price'
  TransLinePrepare scrollwin 'Line_Scroll'
  ScrollByLine down scrollwin 'Line_Scroll'
#
  MoveTo line 8 scrollwin 'Line_Scroll' field 'Item Number'
etc., etc., etc.,

I hope this helps someone struggling with scrolling windows.
Kind regards,
Leslie



Wednesday, May 18, 2016

Insert or Delete Lines in Advanced Financial Analysis

Frank Heslin recently revealed a tip about the AFA module that few people have run across. Back in the old days when AFA was our only way to create financial statements, there was more information floating around about how to use it. Today, not so much. With the latest versions of GP that come with the ‘ribbon’ menus, you will be hard-pressed to figure out how to insert or delete lines into an AFA financial report. Frank provided the following tip on the GPUG collaborate forum “change your  'Window Command Display' under User Preferences to 'Menu Bar', then restart GP, and you will see the option to insert or delete under the 'Edit' menu.  Keep in mind that this change is global for you, so if you prefer the 'Action Pane' or 'Action Pane Strip', you'll have to toggle this setting as needed.”
Thanks Frank!
Until next post,
Leslie

Friday, May 13, 2016

National Accounts Step Children

Thanks to Steve Erbach (aka Sparkly Steve)  and Lauri Romaniuk for this idea! The question came up on the forum as to whether you could change the National Account for a customer whom has already been used in a transaction with it’s parent. I thought the only way you could do it was with a bit of file surgery, but Steve pointed out a better way.

Here’s the scenario. Astor Suites has Aaron Fitz as it’s child. Astor Suites sent Fabrikam a check that was used to pay one of Aaron’s invoices. The transaction was recorded and posted using the National Accounts feature in the Cash Receipts window. As with so many relationships, Aaron Fitz fell out of favor with Astor Suites and Aaron Fitz ran away and joined up with Adam Park Resort. Now we want to change Aaron Fitz’s National Account to reflect Adam Park Resort as the parent. We also want to remove Aaron Fitz from the National Account of Astor Suites.

If you simply go into the National Accounts screen and attempt to remove Aaron Fitz from Astor Suites, you cannot. You are greeted with the error message ‘You can’t remove this child customer ID. Apply records exist between the parent customer ID and this child customer ID.’

Here’s how Steve told us we can make the change. I ran through this example and it worked! Be aware, however, that those previously posted parent/child transactions are no longer properly represented in your transaction history. The financial information is OK, but there is no longer a trail back to the previous parent. Here’s Steve’s process:
  1. Create a new Customer with the correct National Account and all the same attributes as the existing Customer. (including the name and address information)
  2. Use PSTL Customer Combiner to move transactions to the new Customer.
  3. Delete the old Customer now that it has no transactions. (this will happen automatically)
  4. Use PSTL Customer Modifier to change the Customer Number of the new Customer to be the same as the old Customer.
Here are a couple of links to the original forum threads:
http://bit.ly/1NtJx3f
http://bit.ly/1slC1ya

Thanks everyone!
Until next time - Leslie Vail

Technorati Tags: ,