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: ,

Friday, April 1, 2016

The Corrector by Reporting Central


From the folks who brought us The Closer, we now have The Corrector. I spent some time this morning with Gianmarco Salzano gsalzano@reporting-central.com and Clark A. Patterson cpatterson@reporting-central.com looking at a new product called The Corrector. This new product is very nice, and worth a look if you find yourself needing to correct distributions often. It makes correcting posted AP transactions easy while providing an audit trail for the change.
Let’s say you post some AP transactions, but later realize they were distributed to incorrect GL accounts. With The Corrector, you can simply click on the Correct button and adjust the distribution to point it to the correct account. The correcting journal entry is automatically created and linked to the original transaction.

I thought this made the process of correcting a distribution seamless and provided an audit trail as to what was done and why it was done. It was so much easier than trying to figure out what correcting entry went with which transaction (we’ve all been there at one time or another). It’s a small piece of functionality that makes correcting posting transactions much easier. It doesn’t change the original transaction, it provides a means for you to easily correct the distributions using a correcting journal entry that is linked to the original entry. I liked it.
The price was good and it was very easy to use. Take a look at http://reporting-central.com/the-corrector-for-ap-distribution/.
Kind regards,
Leslie

Friday, February 26, 2016

What?! Referential Integrity Checked on a Clear Data Table.



I learned something today from Lawrence Reid at ConexusSG that impacted the Clear Data file maintenance utility. They set up some National Accounts and then wanted to clear the Customer Master table. Once you create National Accounts, none of the customers with children will be cleared. After you run the utility you will get an error on your report that states:

You can't clear data in the parent table RM Customer MSTR until you have cleared data in the child table RM National Accounts Master.

Wow! I’d never seen that before. It does delete all of the customers with no ‘child’ companies, but any customers with children are left intact.

Until next time,

Leslie Vail