SYMENU System Manager - Internal Macros

Defining an Internal Macro

 

An internal macro has two different formats depending on where it should be executed from: (1) to be executed from the command prompt, (2) to be executed inside Elliott.  The command prompt macro is in free text format.  It can be named anything you like, and can be placed in your macro directory, or in any directory you like.  On the other hand, the macros to be executed inside of Elliott are subject to certain rules.


Command Prompt Macro

 

The following is an example of command prompt macro which is a form of Interal Macro.  It will print customer numeric edit list for customer number 100 – 200 to the screen and then exit Elliott.

 

            0101 05

            “000100”

            “000200”

            {enter}

            {enter}

            %S

            %O

            {close}

 

Normally, we will name this macro something similar to “CUSNLIST.MAC” and place in the MACRO directory which is either:

            \NSI\MACRO     or

            \ELLIOTT\MACRO

 

To run this macro, you would use the following command prompt (or setup in short cut):

           

EL700 02 /F:CUSNLIST.MAC

 

“EL700” will launch Elliott.  “02” will open the Accounts Receivable module.  You must specify the module for which the command prompt macro should run.  If you wish to run a menu item on the main menu that does not belong to any module, then you should use “00”.  For example, the following command will start deferred processing:

     

EL700 00 0406 %P

 

Again, “EL700” will open the Elliott application.  “00” accesses the Main Menu.  “0406” stands for drop down menu 4 (Util-Setup) and menu item 6 (Deferred Processing).  Depending on whether the manufacturing module is turned on or not, you may need to use “0306” in the above scenario if you only have accounting and distribution modules turned on.  “%P” stands for Alt-P which is the keystroke for the “Process” button.  You may want to backup your entire system without leaving any file opened by deferred processing.  You can let Windows scheduler start deferred processing at certain hours after the back up is done.  In this example, we will execute the internal macro script directly on the command line.  The command line is limited to 256 characters, therefore you will have to use a command prompt macro file if your script is longer than the command prompt limitation.

 

By default, use MAC as an extension for command prompt macros.  If you specify a command prompt macro without the extension, the system will assume MAC is the extension.  You can also use the macro file from any directory.  When you do not specify a directory, it assumes the macro file is in the MACRO directory.

 


Syntax for Command Prompt Macro

 

The command prompt macro must begin with the menu path (excluding the module portion) first.  In the previous example, “0101” stands for customer file maintenance.  “05” stands for customer numeric edit list.  Once the cursor is in the actual application, you will use the following scripts:

           

“000100”

            “000200”

            {enter}

            {enter}

 

The above corresponds to numeric edit list:

           

Starting Customer No     000100

      Ending Customer No      000200

                        Print Comment?             N (Use enter to accept default)

Any Change?                             N (Use enter to accept default)

 

Anything contained in double quotes stands for the data that will be entered into a field followed by the enter key, that is issued automatically.  At this moment, the print option window will pop up.  The following line will cause the print job to print to screen:

 

            %S                   - Alt-S stands for “print to screen”

            %O                   - Alt-O stands for the “OK” button

 

After the print job is sent to the screen, the {close} command will close ELLIOTT and exit. 

 

You may combine each line of text on one line, as long as each command is separated by a space and the maximum length per line does not exceed 255 characters.

Using % Symbol at Command Prompt

 

One thing you should be aware of when using the “%” symbol at the command prompt is that there is a special meaning associated with this symbol.  For example, if you use %XYZ% on the command prompt, it tells the system to substitute the value of environmental variable XYZ with %XYZ%.  This may create problems with the following example:

           

EL700 02 0101 05 “000100” “000200” {enter} {enter} %S %O {close}

 

The system will interpret “%S %” as an environmental variable.  However, since this variable does not exist, it will be substituted with a blank space.  The actual command parameters that EL700 receives in this case are:

           

EL700 02 0101 05 “000100” “000200” {enter} {enter} O {close}

 

As a result, the command will not work as you would expect.  The alternative to this is to use:

           

EL700 02 0101 05 “000100” “000200” {enter} {enter} %S {enter} {close}

 

Since %O (OK Button) is the default, you can substitute it with an enter key.

 

Another alternative is to create a macro file and let the command prompt execute the macro file, instead of using direct keystrokes.

 

 

By Pass User ID And Password with Command Prompt Macro

Command Prompt Macro can be a great way to automate certain routine tasks for daily, weekly or monthly process.  If you wish to by pass the Elliott login User ID and Password, you could use the environmental variable NWSMDLOG for this purpose.  Please refer to this manual for “Installation”, “Special Startup Option”, “Bypass Username, Password and Company Selection” section for more details.  For example, you could create a batch file as following:

  M:

  CD \Elliott7

  SET NWSMDLOG=$JOHN$123456$01$

  EL700 02 0101 05 “000100” “000200” {enter} {enter} %S {enter} {close}

  SET NWSMDLOG=

 

However, this method may have potential security issue since any users who have access to this BAT file will be able to see the password.  Use it at your own discretion.  Alternatively, you could ask the user who wish to use this function to start up an Elliott session first.  Then the BAT file will be run as the 2nd session which will never prompt for user ID and password.  If you choose to go with this way, there’s no rish of exposing the password.

Special Keys for Internal Macro

 

The Internal Macro supports the following special keystrokes:

            {F1} = F1 Key

            {F2} = F2 Key

            {F3} = F3 Key

            {F4} = F4 Key

            {F5} = F5 Key

            {F6} = F6 Key

            {F7} = F7 Key

            {F8} = F8 Key

            {F9} = F9 Key

            {F10} = F10 Key (End)

            {ENTER} = Enter Key

            ~ = Enter Key

            ;; = Anything on the same line after will be comment

            {ESC} = Escape Key

            {ESCAPE} = Escape Key

            {UP} = Up Arrow Key

            {DOWN} = Down Arrow Key

            {PGUP} = Page Up Key

            {PGDN} = Page Down Key

            {CLOSE} = Close ELLIOTT and Exit

            {COPY} = Copy the value in the current field to the clipboard

        {COPY 0000 9999} = Copy the value in the area as defined from 0000 to 9999 to the clipboard.  For example, {COPY 0119 0124} will copy the area from column 1, row 19 to column 1, row 24.

      {PASTE} = Paste the value from clipboard to the current field (a enter key will not be issued automatically).

            {RUN 999} = Call and run an external macro.  “999” is the external macro id.

            {WAIT} = Wait for user to enter input before continuing with the script.

           

These special keystrokes are similar to the external macro, however, not identical.  These keystrokes are supported by all Elliott screens except GUI windows.   A GUI window refers to note windows, ticklers, help windows, macros, etc.  There are, however, two GUI windows that support certain macro keystrokes – the Print Option Window and the Deferred Processing Menu.  More GUI windows may be added to the support list in the future.

 

Print Option Window supports the following macro keys:

 

            %P = Alt-P (Print to printer)

            %S = Alt-S (Print to screen)

            %D = Alt-D (Print to disk)

            %O = Alt-O (OK button)

            %C = Alt-C (Cancel button)

            {ENTER} = Enter (OK button)

 

Defer Processing Menu supports the following macro keys:

 

            %P = Alt-P (Process button)

            %C = Alt-C (Cancel button in processing screen)

            %E = Alt-E (Exit button)


Defining an Internal Macro inside an Application

 

You can create an Internal Macro from any screen where the Macro button is active.  Unlike the External Macro, which applies to the whole screen (help-id) meaning you can execute the external macro anywhere in the screen, the Internal Macro is cursor sensitive.  An internal macro that executes successfully if the cursor is at phone number field will not work correctly if the current cursor is at the fax number field.  For that reason, when an internal macro is saved, the cursor position for execution is also saved in the macro file heading area.  When you try to execute an internal macro, only the internal macro that matches the cursor position will be made available to you.

 

The following is an example of adding an internal macro in customer file maintenance screen.  The macro will be executed from the “Field Number to Change” position:

 

First, go to Customer File Maintenance and bring up a customer record in change mode.  Then, place the cursor on “Field Number to Change.”  Next, click the Macro button (Ctrl-A) and choose the Internal tab.  You should see the following screen:

 

 

 


Now you can click on the “New” button and the system will prompt you for the name of the macro:

 

 


We can enter, for example, “Change Area Code for 909” and confirm OK.  After this, you will see the script for the macro show up in your favorite editor (by default, notepad) like the following screen. Currently, there is only the heading area without any script.  You will need to enter the following script beneath the [SCRIPT] specification.

 

 

 

“11” means field 11 (Phone Number).

 

“909” indicates the first three digits of the pone number should be changed to 909.  You will need to make sure that you are not in the insert mode when you execute this macro.

 

The first {enter} is to be execute at “Field Number to Change”.

 

The second {enter} is to respond to the question “Do you wish to display next screen?” to which the default answer is “N.”

 

In short, executing this script will change the phone number area code of the current customer to 909 and the screen will be cleared.  Save the script in notepad and exit.  If you wish to execute this macro, simply go to Customer File Maintenance and bring up a customer.  Place the cursor at “Field Number to Change” and then click the macro button (Ctrl-A) and choose the internal tab.  You should see the following screen:

 

 


Click on the button “Run” to run the macro.  If you wish to change the macro script, simply choose on the “Edit” button.  The internal macro will be saved in the MACRO directory with a naming convention of:

           

ARCUSMNT.M99

 

Where ARCUSMNT is the help-id of the current screen and 99 is a number sequentially assigned from 01 to 99 per help-id.  You can have up to 99 internal macros per help-id.

 


The syntax for an internal macro that is to be executed from inside the application is similar to the command prompt macro with two exceptions:

 

·         Command prompt macros require the startup menu path.

  • Command prompt macros do not have a heading area.

 

A macro executed in one help-id can change itself to another menu item by supplying the menu path.  To exit a menu, you may supply the menu number for exit or simply use {esc} in your script.  You may also use {close} at the menu level to exit ELLIOTT.

 

 


Systems Manager

  1. Mapped Drives Disappear After Logoff or Reboot
  2. Using Raw Data Pass Through for Dot Matrix Printer on Windows 10 Does Not Work
  3. How Do I Find The Workstation That's Infected with The Crypto Ransom Ware?
  4. How to Reset the Counter in *.DAT Files After Recovery from Crypto Ransom Ware Attack
  5. Aging Shows Differently After Database Rebuild
  6. What Do I Do When My Anti-virus Software Reports Elliott EXE File as a Virus?
  7. High CPU Usage and Performance Issues After Implementing NTFS Security
  8. "We can't verify who created this file. Are you sure you want to run this file?"
  9. Problem with Printer Configuration If Running Elliott from Multiple Workstations
  10. Inconsistent Elliott Error on Terminal Server
  11. How to Restore Elliott from CryptoWall Ransomware Attack
  12. Clarify Laser Forms Line Item Level Barcode Printing
  13. Is Dot Matrix Printer Still Supported in Elliott with Windows 10?
  14. Should I Install the 32-bit or 64-bit Outlook/Office?
  15. I Receive Error 114 When I Start Up Elliott on the Server
  16. Manage Data Execution Prevention (DEP) Through Registry Editing
  17. Windows Defender May Cause Elliott Start-Up Difficulties
  18. Why Do I Exceed Elliott User License Count When There are No or Very Few Users in Elliott?
  19. What Causes Load Error 198?
  20. How the Windows Scheme You Choose May Affect the Elliott Screen Display
  21. Still Get Error 114 After Adding All Elliott EXE Files to the DEP List
  22. How to Copy Laser Form Templates from Company to Company
  23. Weird Character Displayed for Backslash (\) Character
  24. Does Elliott Support Desktop Virtualization?
  25. Access Is Denied When Launching Elliott V8 Report Viewer
  26. User Cannot See Some Spooled Reports in Elliott V8
  27. Why Does the User List Function Take Forever to Bring Up?
  28. I Am Running Out of Invoice Numbers -- I Need Direction to Archive Invoices
  29. Algorithm to Speed Up eContacts List in Elliott V8
  30. Elliott Requires Volume Supporting 8dot3name
  31. Elliott Running Extremely Slow on Windows 8 with Trend Micro Anti Virus Software Installed
  32. What Causes "File Table Exceed Limit" Error?
  33. Mass Email Time Out
  34. Report Incomplete After 4 Hours: Event Stops Working After Upgrade to Elliott V8
  35. File Created in C:\ Root Directory Disappears
  36. Is There a Way to Create and Distribute Elliott Printer Configurations?
  37. What Are "COBOL Only" or "User Defined" Event Actions? Can We Use Them in Any Way?
  38. How to Purge WSORDHDR.BTR and WSORDLIN.BTR files?
  39. CPORDLS (Order Serial/Lot File) Btrieve Page Size
  40. Create PO Receiving Event to Trap Negative Qty on Hand Problem
  41. Reducing File Sizes for INITLFILE.LOG & SYACTLOG.BTR
  42. Windows 10 and Trend Micro Anti-Virus Software
  43. The Remote Certificate Is Invalid According to the Validation Procedure
  44. Customer Has Multiple Primary Contacts or No Primary Contact
  45. Btrieve Error 46 on S/M Activity Log File
  46. Multi-Currency Workarounds in Elliott
  47. Using the Export Processor to Export Data
  48. Instructions for Importing Laser Form Template
  49. I Am Unable to Post or Enter a Date for the New Year
  50. Does Elliott Work Under Virtualized Desktops Infrastructure (VDI)
  51. Btrieve Error 80 During Defer Processing
  52. Lauch CSV File -- There Was a Problem Sending the Command to the Program
  53. Feature - System Users File Integrity Check
  54. Receive Error in NWSMSCRN for Function Pf-Map-Coordinate-Space
  55. Not Able to Receive Event Emails from Certain Users
  56. Feature - Events for Add Note and Delete Note
  57. When and How to Use DDF2BTR.EXE Utility
  58. Elliott Last Printing Job Overrides Windows Default Printer on Windows 10
  59. Not Able to Change Attributes Added by Other Users
  60. Feature - New Context Menus in v8.0 Spooled Reports Manager
  61. Feature - Automatic Archiving of Spooled Reports in Elliott v8.0
  62. Feature - Enhanced Security for Attributes
  63. Feature - Deferred Processing Multiple Times Per Day
  64. Feature - Ability to Specify User ID in User Search
  65. Feature - Utility to Re-Calculate Item First Received and Last Received Date
  66. NSCTLMN1 Global Setup Time Clock Global Setup
  67. How to Set Up One-to-One Restriction of Customer and Item
  68. Recursion Error When Drill Down to Item File Inquiry
  69. Error Invoking Macro - Cannot Install Hook
  70. Feature - Record Navigation in Attribute Window
  71. Error Connecting VPN from Windows 10 to Windows 2008 Server
  72. How to Stop Users from Sending Elliott Reports through Email
  73. Does Elliott Support Windows 10?
  74. It Is Extremely Slow to Run Elliott over VPN Connection
  75. SYTIMCLK Systems Manager General Time Clock
  76. Feature - Recalculate AP Vendor YTD and Last Year Amount
  77. XCO0100 Systems Manager Design Your Own Order
  78. Feature - Restrict Recurring Event for Number of Times for a Specific Reference
  79. How Do I Limit the Companies for Users?
  80. Feature - Enforced Report Destinations
  81. I Am Unable to Create a New User in Elliott
  82. Feature - PDF Printing in Elliott V8.2
  83. Feature: PDF PostOffice in Elliott V8.2, Introduction
  84. Feature: PDF PostOffice in Elliott V8.2, Part 1
  85. Feature: PDF PostOffice in Elliott V8.2, Part 2
  86. Feature: PDF PostOffice in Elliott V8.2, Part 3
  87. Feature - Added Checkbox and Description to Attribute List and the SPS Commerce Create Attribute Register
  88. Feature - Performance Options for eContact Activity Tab
  89. Feature - Mass Change Salesman Utility
  90. Elliott Installer File-In-Use Warning During Installation
  91. Unable to Run Elliott from UNC Path
  92. V8 Program Desktop Startup Shortcuts - Internal Macro
  93. Event When Order Put On Hold at Invoice Printing
  94. Feature - Time Clock Logoff Type
  95. Feature - Added Distribution to G/L History Files
  96. Feature - Utility to Update eContact PDF PostOffice Flags
  97. Can I Use Elliott for Sales, Telemarketing and CRM Purposes?
  98. Emailing PDF with SSPI Failed After Online Charging Using Credit Card
  99. Can You Explain How Elliott Stores Serial Numbers in Its Database?
  100. Converting Elliott Internal Date to Conventional Date Format in Excel
  101. All of a Sudden, My Terminal Server's Elliott Default Changed to Someone Else's Settings
  102. WannaCry Ransomware Security Recommendation
  103. Symantec Endpoint Protection Versions 12 and 14 Cause Elliott Startup Error
  104. Notes Security - From Global Setup, Note Type to Supervisory Relationship
  105. Remote Desktop Workstation Name
  106. Which Anti-Virus Software Do You Recommend to Installing on the Elliott ERP Server?
  107. Menu Access Error - You Do Not Have Access to CP,INQ, Menu Item 01
  108. Ping Test to Isolate Inconsistent Load Error 198
  109. The Definitions of Extra Flags in System Period Control Setup
  110. How to Use Procdump.exe to Create a Memory Dump for PSQL Engine
  111. Feature - Group Location Security
  112. NSCTLMN4 Global Setup Bill of Lading 1
  113. NSCTLMN4 Global Setup Bill of Lading 2
  114. NSCTLMN4 Global Setup Bill of Lading 3
  115. NSCTLMN4 Global Setup Bill of Lading 4
  116. NSCTLMN4 Global Setup Bill of Lading 5
  117. NSCTLMN4 Global Setup Bill of Lading 6
  118. NSCTLMN4 Global Setup Bill of Lading 7
  119. NSCTLMN4 Global Setup Bill of Lading 8
  120. NSCTLMN4 Global Setup Bill of Lading 9
  121. NSCTLMN4 Global Setup Bill of Lading 10
  122. NSCTLMN4 Global Setup Bill of Lading: Index
  123. Feature - Support 12 Months History in Export Processor
  124. NSCTLMN3 Inventory Management Global Control Setup 1
  125. NSCTLMN3 Inventory Management Global Control Setup 2
  126. NSCTLMN3 Purchase Order Global Control Setup 1
  127. NSCTLMN3 Purchase Order Global Control Setup 2
  128. NSCTLMN3 Bill of Material and Production Order Global Control Setup
  129. NSCTLMN3 Distribution Modules Global Setup: Index
  130. NSCTLMN5 Global Setup Change Quote to Order 1
  131. NSCTLMN5 Global Setup Change Quote to Order 2
  132. NSCTLMN5 Global Setup Change Quote to Order 3
  133. NSCTLMN5 Global Setup Change Quote to Order 4
  134. NSCTLMN5 Global Setup Change Quote to Order 5
  135. NSCTLMN5 Global Setup Change Quote to Order 6
  136. NSCTLMN5 Global Setup Change Quote to Order: Index
  137. I Cannot See the Spooled Reports Even though I Am an Administrator Equivalent User
  138. Multi-Currency Exchange Handling in Elliott
  139. How to be a Good Elliott Citizen
  140. Salesman Security
  141. SYMENU System Manager Introduction 1
  142. SYMENU System Manager Introduction 2
  143. SYMENU System Manager Introduction 3
  144. SYMENU System Manager Introduction 4
  145. SYMENU System Manager Introduction 5
  146. SYMENU System Manager Introduction 6
  147. SYMENU System Manager Introduction 7
  148. SYMENU System Manager - External Macros
  149. SYMENU System Manager - Internal Macros
  150. SYMENU System Manager Introduction 10
  151. Feature - Audit Trail of Accumulator Clearing
  152. SYMENU System Manager Introduction 11
  153. SYMENU System Manager Introduction 12
  154. SYMENU System Manager Introduction 13
  155. SYMENU System Manager Introduction 14
  156. SYMENU System Manager Introduction 15
  157. SYMENU System Manager Introduction 16
  158. SYMENU System Manager Introduction 17
  159. SYMENU System Manager Introduction 18
  160. SYMENU System Manager Introduction 19
  161. SYMENU System Manager Introduction 20
  162. SYMENU System Manager Introduction 21
  163. SYMENU System Manager Introduction 22
  164. SYMENU System Manager Introduction 23
  165. SYMENU System Manager Introduction 24
  166. SYMENU System Manager Introduction 25
  167. SYMENU System Manager Introduction 26
  168. SYMENU System Manager Introduction 27
  169. SYMENU System Manager Introduction 28
  170. SYMENU System Manager Introduction 29
  171. SYMENU System Manager Introduction 30
  172. SYMENU System Manager Introduction 31
  173. SYMENU System Manager Introduction 32
  174. SYMENU System Manager Introduction 33
  175. SYMENU System Manager Introduction 34
  176. SYMENU System Manager Introduction 35
  177. SYMENU System Manager Introduction 36
  178. SYMENU System Manager Introduction 37
  179. SYMENU System Manager Introduction 38
  180. SYMENU System Manager Introduction 39
  181. SYMENU System Manager Introduction 40
  182. SYMENU System Manager Introduction 41
  183. SYMENU System Manager Introduction 42
  184. SYMENU System Manager Introduction 43
  185. SYMENU System Manager Introduction 44
  186. SYMENU System Manager Introduction 45
  187. SYMENU System Manager Introduction 46
  188. SYMENU System Manager Introduction 47
  189. SYMENU System Manager Introduction 48
  190. SYMENU System Manager Introduction 49
  191. SYMENU System Manager Introduction 50
  192. SYMENU System Manager Introduction 51
  193. SYMENU System Manager Introduction 52
  194. SYMENU System Manager Introduction: Index
  195. Elliott V7.0 Release Notes: What's New Since Elliott V6.7
  196. Elliott V7.1 Release Notes: What's New Since Elliott V7.0
  197. Elliott V7.2 Release Notes: What's New Since Elliott V7.1
  198. Elliott V7.3 Release Notes: What's New Since Elliott V7.2
  199. Elliott V8.1 Release Notes: What's New Since Elliott V8.0
  200. Elliott V7.4 Release Notes: What's New Since Elliott V7.3
  201. Elliott V7.5 Release Notes: What's New Since Elliott V7.4
  202. Elliott V8.0 Release Notes: What's New Since Elliott V7.5
  203. Elliott V8.2 Release Notes: What's New Since Elliott V8.1
  204. Drill Down and Receive Message You Do Not Have Access
  205. Problem Running Elliott After Upgrading Windows 10 to Fall Creator Edition
  206. MAPISendMail failed! Not supported [26]
  207. What Information Is Stored in System 12 Months Table (SY12MONS)?
  208. Elliott Telephony Integration - How to Call through My Telephone Set from eContact?
  209. Error Adding Printer Configuration After Latest Windows 10 Update
  210. Anti-Virus Causes PostOffice Emailing Problem
  211. Feature - Equal Sign Support in Export Processor
  212. Running Elliott 8.2 and Up on Windows 2003 Server
  213. How Can I Find Out About New Elliott Events Added or Changed Lately?
  214. Feature - Export Enhanced Attribute Predefined Code Value and Description
  215. Error 114 with GUIUTL32.LBR\GUIUTIL.int in Defer Processing
  216. EL800.EXE - Bad Image - MSVCRT20.dll Is Either Not Designed to Run on Windows or It Contains an Error
  217. Anti-Virus Caused Failure on Crystal Reports ODBC Access
  218. AVIRA Anti Virus Software Kills Elliott EL800 Executable
  219. Error: Trx Date Outside Date Range (00/00/00 - 00/00/00)
  220. How to Allow User to See All Spooled Reports in One Module
  221. A Support Case of Investigating Elliott Database Performance Problem
  222. Received Error in Macro DEALLOC-SHR-MEM Deallocate Failed - Invalid Pointor
  223. Feature - Added the Ability to Purge the System Activity Log

Feedback and Knowledge Base