W } I 980509INVENTORY FILE 100,5,20,2,0 0 UC ITEM # For TFR For CQP 1 AC DESCRIPTION W-L-Color 2 IC G/L CATEGORY 3 UC TAXABLE blank or T)ax, E)xempt, M)anual, S)ometimes, X)tax 4 UC UNIT 5 UC1 MULTIPLIER NU 6 MC LIST PRICE Setup Charge 7 DC DT LIST CHNG 8 FC1 BOOK COST NU 9 DC DT BOOK CHNG NU 10 UC SUPPLIER Side Poles 11 UC Print Code 12 UC MAXIMUM Center Poles 13 UC MINIMUM Curtains 14 UC LEVEL A DISCOUNT NU 15 UC LEVEL B DISCOUNT NU 16 UC LEVEL C DISCOUNT NU 17 UC LEVEL D DISCOUNT NU 18 UC GROUP CODE NU 19 UC LOCATION 20 UC PRICE UPDATE CODE Also R CLE Royalty 21 AC Add Descr NU 22 AC Remark 23 AC P/O Descr Stakes Price Code 24 UC LABOR Category 25 UC Job Class 26 FC Labor Units Factor NU LAC Factory List WCT Roll Price 27 FC Frt&Adj Freight & Adjustments 28 FC Buy Qty/Case NU 29 UC RESTRICTION CODE NU 30 FC QTY PER LABEL NU 31 AC *CORECHRG / REVISION NU 32 UC ACTIVITY LOCATION NU 33 UC AUTO-ORDER ITEM # NU 34 UC COMMISSION CODE Condition LAC Factory Mult KOK Comm.Code 35 AC COMMENT Condition 36 DC PRICE CHANGE DATE NU 37 MC NEW PRICE Day Charge 38 UC STOCK CODE NU 39 AC BUY DESCR Mfg Dates 40 UC MNF & CODE 1 41 UC MNF & CODE 2 42 UC MNF & CODE 3 43 AC BAR CODE NU 44 UC NEW ITEM# 45 MC Weight Week Charge 46 UC Serial # 47 FC Pre-adjustment qty 48 UC SPECIAL DISCT KEY 49 IC lead time Days 50 UC Alternate unit ;CEB LAC 51 MC List price for alternate unit ;CEB 100 UC Alternate item# 101 UC Type (A)ftermarket, (M)anufacturer 104 UC spare W }! 030921 ;programmer's documentation & file structures 00 Phone Support Issues 01 ABC Basic Programs 02 Sales Explanation 03 Problems 05 Programming Overview Text Editting Compiling hints Program Types 10 File structures 12 Variable ussage 15 Input screens 20 CRAM commands - alphabetical 25 CRAM commands - math operators 30 Print formats 35 SCAT formats 40 Index formats 45 Argument types 46 Port Assigments 50 Report generator 53 Printer Macros 55 Control Keys 60 Ascii codes 65 Support-modem 66 Remote Sync 70 Help, One Liner, Tutor 80 Window Terminal 81 Palm Programing 82 Window Programing 90 Subrutines 95 Machine code R F11 reports [ Global linput (F1) Help W }!00 030422 Hardware Phone Support Issues HARDWARE 1 CD Rom Drive 2 Computer Backup 3 Computer ABC Server (Base) 4 Computer Terminal 5 Modems 6 Network 7 Monitor 8 Printers 9 Other A Accounting, Ledger out of balance R Remote sync V Version compatibility issues W }!0001 030331 :001 CRAM Versions 4.0, 5.0, 6.0, and 7.0 for i386 processors and Atari ST version Programmer's Guide Copyright 1994, 1995, 1996, 1997 by Advanced Business Computers Printed July 22, 1998 (9:42am) W }!0002 030331 :002 Table of Contents Table of Contents. . . . . . . . . . . . . . . . . . . . . . . .2 Programming Overview . . . . . . . . . . . . . . . . . . . . . .3 Text Editing. . . . . . . . . . . . . . . . . . . . . . . .3 Compiling Hints . . . . . . . . . . . . . . . . . . . . . .3 Program Types . . . . . . . . . . . . . . . . . . . . . . .3 File Structures. . . . . . . . . . . . . . . . . . . . . . . . .5 Input Screens. . . . . . . . . . . . . . . . . . . . . . . . . .6 CRAM Commands - Alphabetical Listing . . . . . . . . . . . . . .7 CRAM Commands - Math Operators . . . . . . . . . . . . . . . . 23 Print Formats. . . . . . . . . . . . . . . . . . . . . . . . . 24 SCAT Formats . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Appendix A - Argument Types. . . . . . . . . . . . . . . . . . 27 Appendix B - Report Generator Variables And Routines . . . . . 28 Appendix C - Control Key Codes . . . . . . . . . . . . . . . . 34 Appendix D - ASCII Codes . . . . . . . . . . . . . . . . . . . 36 W }!001 980824 :001 CRAM Versions 4.0, 5.0, 6.0, and 7.0 for i386 processors and Atari ST version Programmer's Guide Copyright 1994, 1995, 1996, 1997 by Advanced Business Computers Printed July 22, 1998 (9:42am) W }!002 980824 :002 Table of Contents Table of Contents. . . . . . . . . . . . . . . . . . . . . . . .2 Programming Overview . . . . . . . . . . . . . . . . . . . . . .3 Text Editing. . . . . . . . . . . . . . . . . . . . . . . .3 Compiling Hints . . . . . . . . . . . . . . . . . . . . . .3 Program Types . . . . . . . . . . . . . . . . . . . . . . .3 File Structures. . . . . . . . . . . . . . . . . . . . . . . . .5 Input Screens. . . . . . . . . . . . . . . . . . . . . . . . . .6 CRAM Commands - Alphabetical Listing . . . . . . . . . . . . . .7 CRAM Commands - Math Operators . . . . . . . . . . . . . . . . 23 Print Formats. . . . . . . . . . . . . . . . . . . . . . . . . 24 SCAT Formats . . . . . . . . . . . . . . . . . . . . . . . . . 24 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 Appendix A - Argument Types. . . . . . . . . . . . . . . . . . 27 Appendix B - Report Generator Variables And Routines . . . . . 28 Appendix C - Control Key Codes . . . . . . . . . . . . . . . . 34 Appendix D - ASCII Codes . . . . . . . . . . . . . . . . . . . 36 W }!004 030331 Computer Terminal 1 Changing User # Before V12 W }!008M 030422 Map Printer At command prompt net use lpt1 \\(server)\(devicer) /persistent:yes T To get list of servers net view To get list of server devices net view \\(server) W }!009 030331 Other Hardware Phone Support Issues Tape Drives UPS & Battery Backup Zip Drives Keyboard W }!025 980828 }!025 UPDATING IMAGES AND LIST PRICE FROM PLUS1 As long as Plus1 supplies parts images and list prices in a format compatible with 8.06 to the end user, ABC intends to support Plus1 in ABC's current version. PLUS1 SERVICE BULLETINS These are accessed from a terminal which has Plus1 software installed. ABC SERVER We recommend that the ABC server which handles all computations and data manipulations is run in DOS mode, because the occasional lockups in Windows compromises data integrity. We also highly recommend no other programs or other diskettes be inserted into the base computer to prevent the possibilities of virus contamination. Terminals may be run in a DOS or Windows environment. Lockups on a terminal do NOT compromise ABC data integrity. W }!05 980824 :05 Programming Overview This manual is written for those who are already familiar with the ABC Accounting system and wish to do custom programming in that environment. For more information on using ABC Accounting, see the ABC Accounting Reference Guide. Text Editing Source code for various types of programming is entered in the W screen. Each page must have a unique code. See the section for Naming Conventions for each type of program. Use K to compile the page currently loaded on the W screen. See the General Functions section in theABC Accounting Reference Guide for help with text editing in the W screen. Compiling Hints Use K on the W screen to compile your source code. Use the sprog command to save the object code (your FMT file). The name for the FMT file is usually found on the W record 'WSAVE' along with the proper sprog command. Position the cursor on the sprog command and hit C to save the program. C will execute the command in immediate mode. On a timeshare system, make sure all compiling is done with timeshare disabled. When compiling file structures, save the FMT file, then exit the program and reenter to initialize the new variables. When programming a new input screen, the input format with the offsets must be compiled before other formats for the screen can be compiled. Program Types There are five basic types of programs that are used in the ABC Accounting environment: file structures, input screens, CRAM formats, print formats and SCAT formats. File structures define the variable types used for each file. There can be as many as 128 files stored in the database. Each file is referenced by the ascii equivalent of the file number, between 0 and 127. Files in memory are referenced by 2 bytes allowing up to 65536 files. Input screens are the user interface for entering and editing records in the database. CRAM (compact reporting and multitasking) programs use a powerful database language to allow specialized input options, complex reports, and many other functions. Print formats are used to format data for output, such as to a printer. SCAT (sort combine and type) programs do sorting and combining for reports or automatic file posting. W }!10 980824 :10 File Structures File structures define the data types or fields that make up a record. The source code record must have a code beginning with a F to denote a file structure. Line 3 begins with contains a >V and up to five arguments separated by commas. The first argument (required) specifies the number of non-repeating fields. The second and third arguments (optional) contain the number of repeating fields and how many times to repeat. The fourth and fifth arguments (optional) contain special posting information. The data field types begin on line 4. First is the field number, followed by the data type. There are 8 basic data types: A ascii (alphanumeric) U uppercase ascii M money mode Q 4 decimal places H 6 decimal places F floating point D date P pointer string Optional modifiers are: C clear this field on new records R restrict entry on this field 1 restriction level 1 2 restriction level 2 After the field type you can enter your description of the field. Any field numbers not specified will be the same type as the field before it. Always specify field 0. When using repeating fields, such as item lines on an invoice, it is advisable to insert several spare fields in the non-repeating and repeating sections. W }!10a 041012 Documentation of new file layout Header 30, Repeat 12, Lines 200, Post Code 2,0 - # TRC Attr Name of Field Subfile Additions C T | | | | T)ypes Byte Value C)lear or on load Index, Index"A",&# A Ascii 128 C Clear field +4 Delimiter \ comma,\sp Space Comma Ascii Index 136 Attr)ibutes \0 chr$0, < skip if null Asc. LookUp 144 R Required +128 Post"!R2" +#,-# A.Index&LU 152 B Blank OK Option2 "A Aples,B Ball,C Cat,D Dog" U Upper Ascii 192 F Filter by Sub- 8 Option18 "1-999,A&B",1@30?64,{cram} U.Index 200 file or Option Require18 1?66 "this is a message" U.Look Up 208 U Update Suggest OPtion1 1=15,2=16 U.Index&LU 216 A Allow another Var %# repeat, !# posted P Pointer 224 M Multiple Entry 64 Change file stucture I Integer 0 I Index 16 D Date 8 N No Auto Lookup 32 F Floating 16 Subfile code chr Out to Windterm I Int. Lookup 24 or 0Name Type byte 1 M Money 32 Entry Table Data Restricted +1 Q Four Place 64 2 bytes # header fields Auto Entry +2 H Hex 96 1 byte repeat ChangeFlg +4 R)estrict- Works 1 byte # posted fields Var Type +32-255 With Passwords 1 byte type Type byte 2 1 Level 1 +1 1 byte attribute Unassigned 2 Level 2 +2 RepeatingField +64 3 Level 1 & 2 +3 More Data +128 Clear +4 File structures must allow for custom programming with capital suffix. 0 IC REF # 1 UC CUSTOMER # C Index,4:{if11<>!2}Index"O",4 :Total-1"C",4+11+12 2 UC SLIP # :Index> 3 U SALESPERSON S Index>,4 Total-1"S">,4+11+12 4 DR DATE 5 UC TAX CODE (T,E) ;Commands {cram false skips to next line} 6 UC SHIP VIA,SHD :Index> ;Index"x" this field, x Alt index 7 UC CUSTOMER PO# ; > index only if field > 8 IC ORIGINAL ORDER :Index> ;Total + & - Amts -0 add to lev0 9 DC ORDER DATE ; ,x additional fields to index 10 UC TERMS ; -m, split , comma del multi fld 11 MC TOTAL INVOICE ;Post f# Data 12 MC1 TOTAL COST ;Cram may not within an index cmd 13 MC B/O AMT HELD Disk Structure Machine Variable Structure FF Start of File FE Posted Fields FD Repeating Follows goes to next multi-field or repeat in file structure FC End repeating used to terminate a repeat unless at End of Record FBxx xx fields Skipped FA Add 128 to next character 80 Null Except pointer fields W }!10b 020114 Doc a way to get more variable in header & repeat fields 1. Make file table entry variable Place the Start and # repeat fields in the File table from file setup 2 on set screen scan variables for lowest & use to calculate Variable adder When line adder is > 0 use that for variable adder than InputRepeatAdder 2. New commands FileChr> FILEDEF,End,repeat start, repeat Adder = File Start PrevPtr> FILEADD,#Variables = New Pointer 3. Make Variable table Variable PrevPtr> VARADD, #Variables VarPtrWithinLine> LINEOFFSET ;lowest input repeat variable set to LineBeg ;if line offset before beg repeat Set var to header False & scan Scan ;Future set LINEOFSET from 1049 before going to Cram will prevent back use VariablePtr> VARLOC = Location of field on the screen Location > LOCVAR = variable pointer Track to buffer table - so buffer in memory need not be searched Table for 10 Bytes BegBuf Track#(2),Device(2), Use(2), dirty(2),Sectors(2) and 2 32 Bit pointers for next and previous track used Have some type of error checking to insure no broken links We must make sure the Delete & reuse track bug doesn't happen again Audit trail backup to when computer is on line & available group send without waiting to ACk first use pointers into out buffers Disk Structure Track ID FFFF Machine delimiter Structure FF Start of File FE Posted Fields FD Repeating Follows Goes to next multi-field or repeat in file structure FC End repeating End of Repeat group for multiple repeatgroupd/Record FBxx xx fields Skipped FA Add 128 to next character 80 Null in Ascii fields (may not include pointer fields) Field Compression (byte) Bit 7 high to Indicate beginning of field 6 low and bit 7 next byte low bits 0-5 high next 5 fields 6 low and bit 7 next byte High Start Repeat bits 0-5 high next 5 fields 6 High bit 7 next byte High bit 0-5 Skip fields 7-65 FC-FF Reserved 6 High bit 7 next byte low bit 0-5 2-60 # fields with data. Track type should indicate this type of data Differerant Checksum so old ProgErr save buffer should converted before insert into track &"z"asciilinput W }!12 990508 Variable for low level rutines Machine code allows 65536 variables. Garbage collection uses 2 bytes var# Limit for strings over 4 chrs long is 10752 for current 42 sector buffer. Low level Rutines should use temporary variables in the following order Integer Use 1020-1024,1043-1046,Don't use 1047,often 1048,1049,1025&up String Use 1002-1005,1002,1016 may not be clobbered in report headings, gosubp125 puts acc in 1002 as a string, clobbers 1003. Rutines from global 7&9, Keysub, localbackground may not change 1045-1049 Timer Variables 1000-1029 are available. Original values are preserved. For Variable usage in report generator see _REPORT3 W }!15 001103 :15 Input Screens Input screens are used for entering data from the keyboard. These are similar to print formats (see Section 2) with some additions. The first character of the code of the word processor record specifies the screen character when no >I s (s can be 1 or 2 chrs) near the top of the scrreen and at the start of a line specifies the screen. The offsets are in line 2. the mininum requirement for a screen \is a x,0 offset. If more than one line is required, end the first line with a comma and continue on line 3. The format for offsets is: File#,offset,file#,offset Example: I,0,#,500,,1000 Offsets must be in numberical order and are defined by a zero after the first , Version 9 >I Space xx at the start of line 3-29 uses the 1 or 2 characters for the screen code. Entry Offsets start on the next line Entry fields are designated by braces ({ and }). Input fields require 4 or 5 arguments. The first is the sequence number, usually a letter, and specifies the order of the fields. The next is the field number. Third is a 'Y' or 'N' to specify auto entry or not. Fourth is the math option number. Optional fifth argument is for miscellaneous options. Example: { B1N0 } Field 1, no auto entry, no math option. Special options are: Options for fifth arg: 1 - load record F - Force math option 2 - load subfile R - Restricted field 255 - subfile field U - Use previous field P - Primary subfile S - Secondary subfile Seven additional arguments are required on the first repeating field: Number of commands (input fields) to repeat Number of lines in file Number of lines on screen - 1 Window number X adder (vertical) Y adder (horizontal) Variable adder > codes >a math, >p Print, >I Specifies screen to compile W }!155 990531 :155 Characters entered at the keyboard are processed to the field input buffer. While waiting on the next key stroke the character is printed on the screen. When inserting characters in a long field the printing may take longer than entry. The characters are printed from the entry point to the end of the field. When another character is entered printing will stop and then start at the entry point. Printing keeps up with entry. Registers used in the entry and screen print: D0-Temporary X cursor position D1-Temporary Y cursor position D2-CURFLAG Flag for print cursor position, active when cleared D3-PNTFLDPS Print field position or char to print to screen D4-ENTCHRPS Print field end in field buffer. Negative reposition cursor D5-ENTCHRPS Entry character position. Next character in input buffer D6-FIELDLEN Field length. Length of valid data in input buffer D7-AUTOLEN Auto length. Low byte is field length. +32000 auto entry flag. A0-Temporary Variable location, getcdloc & getvarlc A1-CHRLIMIT Character limit pointer. Used to check for valid input characters A2-INSRTFLG Insert flag. 1-insert mode, 0-overstrike mode A3-Temporary Variable location, getcdloc & getvaric A4-Temporary Input command location, getcdloc & getvarlc A5-Temporary Used in input for CHRLIMIT in compare limit routine, getcdloc A6-USERBASE Start of memory for the user & field entry buffer A7-STACK W }!156 021026 :156 INPUT FORMAT LAYOUT Byte 0&1 LOCCOMND Start of command location relative from beginning of format 2&3 LOCALFC Local function table (goto) ptr relative itself for math and print 4&5 TABTABLE tsb tsble 0-special per record, 1-none, >4 input format 6&7 INPTCMD# # of input commands 8&9 HELPSCRN Help screen for that format 10&11 CLRINDEF Enter default. Should line be cleared after first character. 16&up Start of the three tables and the input, math and print commands. OFFTABLE The offset table contains an entry for each file used as follows: 2 bytes- file number 2 bytes- Math and input string # * 6 starting from the highest to lowest inputint- generates a table that contains the variable offset for string # LOCCOMND Locate the command table used for the location of the input command quickly. The table contains 1 entry plus an additional entry for each set of repeating commands. 2 bytes- # of command 2 bytes- # of bytes to subtract from the command # * 6 gets relative offset LOCALFC Local function call table- has all of the dispatches for the math and print functions. The start of the input commands is always the first entry in the table. The others are for functions that only the input routines can access. The second entry is the print label functn TABTABLE High bit 0 skip char, 1 skip fields, bit 0-6 # chr or fields to skip. First byte 0 then character tab else field tab INPUTCMD The commands that control the entry and manipulation of screen data W }!157 020621 :157 Each command is 6 bytes as follows: Byte 0-1 Field #, top 5 bits, 0 string entry, 1-30 string functions Byte 2 X amount Byte 3 Y amount Byte 4 length, bits 6&7 set automatic entry Byte 5 Math option 0 to 127 global 128-255 local REPEAT FIELDS Byte 0 Repeat offset to save loc for screen strt 1 # of line printed on screen 2 X amount to add 3 Y amount to add 4 Number of commands to repeat 5 Number of variables to add per line MATHCMD Math commands, basic command is 2 bytes long. Byte 0-1 bits 11-15 command#, 0-10 variable# PRINTCMD Print commands are 2 & 4 bytes long. When the variable specifies the type of printing then the command is two bytes as follows: Bits 11-16 0-30 length of field to print. 31-extended Bits 0-10 Variable- When variable is indirect bits 11-16 are commands 4-byte Bytes 0-1 Variable Byte 2 Length Byte 3 Type of operation 4-byte commands are used when the print length is over 32 bytes or the type of print operation is different than that specified by the variable, or redundant printing such as underline. printfeld $FFFF repeat command to the next word from the previous $FFFE reverse video $FFFC normal videoAppendix A - Argument Types direct - The effective variable location is calculated directly from the number in the command using the offsets. The offsets specify arbitrary starting numbers for each file. A direct argument is attached directly to the command and may range from 0 to 1279. Examples: +1030 =1031 if10 indirect - The effective variable location is taken from the temporary variable pointed to by the argument. Offsets are not used. You may find the location using 'filestart' or 'pointer'. To calculate locations, add or subtract "6" to the temporary for each variable. Temporaries usually use an offset of '1000'. Indirect arguments are specified with parentheses and range from 0 to 255. Examples: +(30) =(31) if(25) immediate - Data is taken directly from the argument. Immediate arguments are specified with quotes. Examples: +"10" load"I" &"abc" one-byte - Data is taken directly from argument if it is less than 128. If 128 or greater, 128 is subtracted and the resulting temporary is used. Offsets are not used. Examples: goto10 gosub180 (uses temporary 52) Multiple arguments must be seperated with commas. Some commands require the first argument to be preceded by a comma if it is indirect or immediate. Appendix B - Report Generator Variables And Routines W }!20 980105 :20 CRAM Commands - Alphabetical Listing Machine code cram bit patterns bit 0-2 0-4 direct 5 indirect 6 imediate 7 one byte bits 3-7 31 variable commands 1 extended commands W }!20ABS 001103 10500201 ~ABS~ Number ABS Converts accumulator to numeric value and forces it to be a positive number. Number - positive or negative number# Sample: &"-10"abs Result: 10 W }!20ADD 001103 20500201 ~ADD~ ADD,Source,End,Destination Add two arrays of variables together. Source: Start of scource array. End: End of source array. Destination: Start of destination. Var.Types Required Direct Indirect Immediate Source _x_ 0-1279 0-127 ___ End _x_ " " ___ Destination_x_ " " ___ First arguement must be preceeded by a commma if any are indirect. Sample: add,1030,1031,1032 Result:1032 will have the total of 1030 and 1032, 1033 has the totals of 1031 and 1033. W }!20ALWAYS 001103 09500201 ~ALWAYS~ Always Start executing math commands regardless of condition, no argument is required. Sample: if"a"eq"a":else&"UNEQUAL"linput: always&"EQUAL"linput Result: EQUAL W }!20AND 001103 15500201 ~AND~ AND Arg Saves arguement for later comparison. Arg - string or number saved for later comparison. Var.Types Required Direct Indirect Immediate Arg _x_ 0-1279 0-127 "xxx" Loads the Arg into accumulator, sets accumulator to Arg type & sets operation to and. Sample: if"1"eq"1":and"2"eq"2":&"EQUAL"linput Result: EQUAL W }!20ASCII 001103 08500201 ~ASCII~ character ASCII Converts the first character in accumulator to the numeric ascii value. (Opposite of chr$.) Sample: &"J"asciilinput Result: 74 W }!20BAUD 001103 18500201 ~BAUD~ BAUD Rate Sets the baud rate on the modem. Rate - this programmed# will set the speed. Var.Types Required Direct Indirect Immediate Rate _x_ ___ ___ 0_18 This table sets the baud rate of the RS232 port. 0 - 19200 5 - 2000 10 - 200 15 - 50 1 - 9600 6 - 1800 11 - 150 16 - 38400 2 - 4800 7 - 1200 12 - 134 17 - 57600 3 - 3600 8 - 600 13 - 110 18 - 115200 4 - 2400 9 - 300 14 - 75 Sample: baud1 Result: 9600 W }!20BGRQUIT 001103 03500201 :bgrquit - (Atari only) Halts a background operation, use in foreground only. W }!20BGRSTART 001103 08500201 :bgrstart - (Atari only) Starts a background operation, requires a one-byte argument for the format number to cycle through. Use 'interrupt' commands in background to divide power with foreground. syntax: bgrstart10 W }!20BRANCH 020808 12460201 BRANCH Arg Arg 0-31 to match a label 0-31 Branch0 to Branch31 will calculate offset to label0 to label 31 and then comile as Jumpl. Range is 895 commands back or forward. See jumpl for more info. Compile.exp & ABC.exe must be 9.30 or higher W }!20BREAK 001103 08500201 ~BREAK~ break Runs illegal machine code to exit program. Executes an 'illegal' instruction in machine code to exit to debugger, such as DXDEBUG.EXE. Will not work without a debugger. W }!20BUFTOACC 021003 15480201 Cramcmd30 load from a Buffer To Accumulator FldLen~BufToAcc~,BufLoc,BufEnd,Delimiter In:Acc - Optional Field Length to load Arg1- Buffer Location to start loading Arg2- Buffer End -1 Last valid byte Arg3- Optional Delimiter Out:Acc - Data in the string Arg1- Pointer to next byte to load Loads a String of data from a buffer at BufLoc to the Delimiter or FldLen into the accumulator Accumulator. Will not load past BufEnd. Adds to BufLoc the greater or the length of the data string or the FldLen. W }!20CALLQ 001103 17500201 ~CALLQ~ CALLQ Number Executes a global subroutine with a format# greater than 383. Number - global format# of the subroutine. Var.Types Required Direct Indirect Immediate Number _x_ ___ ___ 0-255 Uses the format number minus 384;384-639 is used. Unlike other one-byte arguments, this command does not use a temporary variable if the argument is greater than 127. Sample: callq10 Result: Executes global format number 394. W }!20CAPITALIZEC 001103 08500201 ~CAPITALIZE~ String CAPITALIZE Capitalizes every letter in the accumulator. The accumulator is forced to a string type. Sample: &"asdf"capitalize Result: ASDF W }!20CAPTURE 000620 21500201 ~CAPTURE~ #Bytes CAPTURE,CramDevice,MemLoc Capture data from an I/O port and store it in memory. ACC - Number of bytes to capture CramDevice - The CRAM device to capture data from. MemLoc - The memory location to store the data. Var.Types Required Direct Indirect Immediate CramDevice _x_ 0-1279 (0-127) "xxx" MemLoc _x_ " " _x_ Used in network terminal emulator to receive image data. Sample: "8"capture,"1",1030 Result: 8bytes will be captured from device 1 and stored at location specified in 1030. Note- !45 and !B54 variables (1003,1020-1025) will not hold if print error occurs. W }!20CHANGEFILE 001103 16500201 ~CHANGEFILE~ OldFile CHANGEFILE NewFile Changes the character of a file structure. OldFile - The current file character. NewFile - The ASCII value of file character to change to. Var.Types Required Direct Indirect Immediate NewFile _x_ 128-255 ___ 0-126 Requires the current file character in the accumulator. Sample: &"R"changefile111 Result: o W }!20CHANGETO 001103 19500201 ~CHANGETO~ OldFile CHANGETO NewFile Changes the character of a file structure. and the input format. OldFile - The current file character. NewFile - Specify's what file to change to. Var.Types Required Direct Indirect Immediate NewFile _x_ 128-255 ___ 0-127 Requires the current file character in the accumulator. This command is the same as 'changefile' except it changes the input format also. Sample: &"R"changeto111 Result: o W }!20CHECKSUM 001103 18500201 ~CHECKSUM~ Bufloc CHECKSUM Recalculates and writes the checksum on a disk track. Bufloc - The address of the buffer containing the data to execute a checksum on. (Cannot use a money variable) Recalculates and writes the checksum on a disk track. Needs to be executed after changing data in a buffer before writing to disk. Sample: +1030checksum Result: a checksum is recalculated in the data in the buffer at the location specified by 1030 W }!20CHR$ 001103 12500201 ~CHR$~ Value CHR$ Changes the ASCII value in accumulator to a one-byte string. The accumulator is converted to a numeric value and then changed to an ascii character. (Opposite of 'ascii'.) Sample: +"33"chr$ Result: ! W }!20CLEAR 001103 13500201 ~CLEAR~ CLEAR File Clears a file's variable area. File: Specifying character of file to clear. Var.Types Required Direct Indirect Immediate File _x_ 0-1279 0-127 "xxx" Clears only those fields with a clear option on the file structure compiled into the program. Sample: clear"I" W }!20COLORBUTTON 001103 12500201 ~COLORBUTTON~ Attrib COLORBUTTON Specifies video attribute used for mouse but ton display.Attribute (0-255) in accumulator. For 386 version5 or newer. View chart of the ~COLOR ATTRIBUTES~. Sample: +"7"colorbutton Result: foreground color will be white & background will be black C }!19a W }!20COLORCURSOR 001103 12500201 ~COLORCURSOR~ Attrib COLORCURSOR Specifies video attribute used for the cur- rent field. Attribute (0-255) in accumulator. For 386 version5 or newer. View chart of the ~COLOR ATTRIBUTES~. Sample: +"20"colorcursor Result: foreground color will be red, background blue C }!19a W }!20COLORFIELD 001103 12500201 ~COLORFIELD~ Attrib COLORFIELD Specifies video attribute used for field display. Attribute (0-255) in accumulator. For 386 version5 or newer. View chart of the ~COLOR ATTRIBUTES~. Sample: +"46"colorfield Result: fourground color will be yellow, background green. C }!19a W }!20COLORLABEL 001103 13500201 ~COLORLABEL~ Attribute COLORLABEL Specifies video attribute used for label display and CRAM printing to console screen. Attribute (0-255) in accumulator. For 386 version5 or newer. View chart of the ~COLOR ATTRIBUTES~. Sample: +"111"colorlabel Result: foreground color will be bright white, background color will be brown. C }!19a W }!20COLORMESSAGE 001103 12500201 ~COLORMESSAGE~ Attrib COLORMESSAGE Specifies video attribute used for message line display. Attribute (0-255) in accumulator. For 386 version5 or newer. View chart of the ~COLOR ATTRIBUTES~. Sample: +"81"colormessage Result: foreground color will be blue, background magenta C }!19a W }!20COMPARE 001103 20500201 ~COMPARE~ Length COMPARE,Address,Address Compare 2 blocks of memory. Length - # of bytes to compare Address - first item to compare Address - second item to compare Var.Types Required Direct Indirect Immediate Address _x_ 0-1279 0-127 "xxx" Address _x_ " " " Set condition, true if data are identical, false if not. Put the number of bytes in the accumulator (divisible by four), and use two arguments for addresses of memory blocks (must be even addresses). Arguements must be preceded by commas. Sample: +"4"compare,1030,1031 W }!20COMPAREMEM 011026 20500201 ~COMPAREMEM~ Length COMPARE,Address,Address Compare 2 blocks of memory. Length - # of bytes to compare Address - first item to compare Address - second item to compare Var.Types Required Direct Indirect Immediate Address _x_ 0-1279 0-127 "xxx" Address _x_ " " " Set condition, true if data are identical, false if not. Put the number of bytes in the accumulator (divisible by four), and use two arguments for addresses of memory blocks (must be even addresses). Preceed arguements by comma. Sample: +"4"comparemem,1030,1031 Prior V9.47 command was COMPARE W }!20COMPAREREC 011026 20670201 ~COMPAREREC~ COMPAREREC,ChangePtr,Record1Ptr,Record2Ptr,BufferLen ChangePtr Pointer to buffer to put changes Record1Ptr Pointer to Record 1 in disk format Record2Ptr Optional Pointer to 2nd Record or uses a new record. BufferLen Optional length of ChangePtr buffer When not specified, BufferLen is Diskbuffer Size Compares 2 records in disk format and place the fields of record 1 that are different in a buffer at ChangePtr. The buffer containes: FF, FileChr,Code, FldFlg,Changes..., FldFlg,Changes... ,FF The Field Flag specifies fields present or skipped. Bit 7 Usually High Field delimiter for previous field Bit 7 next byte high bit 6 low bits 5-0 high Next 1-6 fields present low skipped bit 6 high bits 0-5 7-64 fields skipped, 65 another FldFlg (Bit patterns FF,FE,FD,FC,FB used for Disk Delimiters) Bit 7 next byte low bit 6 low Start Repeat Line bits 5-0 same as above bit 6 high bits 0-5 7-65 fields with data If codes don't match or no changes returns false & scans. V9.47 W }!20CONSOLE 001103 09500201 ~CONSOLE~ Device CONSOLE Sets the console device. CRAM device number (0-7) must be in the accumulator, no other argument required. Sample: +"2"console W }!20CONT 001103 04500201 :cont - (Atari only) Continues execution after a 'stop' command or after execution is paused during tracing. W }!20CRAM 001103 06640201 cram- 2 arguments first location, second length Location is Kompiled cram code and then executes it Kompile 1 with return will compile the cram line from text. 982+"3402" 80 Bytes RETURN for compile buffer W }!20CRAMCMD 020909 ~CRAMCMD~ CRAMCMD#, Execute a command from the '254 screen VALIDATE, INDEX, READ, GETSTACK, PUTSTACK, sload, linput printer and timer W }!20CREATEKEY 001103 09500201 ~CREATEKEY~ CREATEKEY Number Creates a key from a SCAT load format. Number - the key number to use. The key num- ber must be specified in a SCAT load format (>K), that has been compiled into the CRAM format file. Var.Types Required Direct Indirect Immediate Number _x_ ___ ___ 0-127 W }!20DATE# 001103 11500201 ~DATE#~ String DATE# Converts a 10 character date string in the accumulator to a numeric date value minus or plus 01/01/2000. This command is the opposite of DATE$. Sample: &"09/05/1980"date# Result: -7057 W }!20DATE$ 001103 10500201 ~DATE$~ String DATE$ Converts the numeric date value of the accumulator to a date with a string type. No argument required. (Opposite of 'date#'.) Sample: &"-7057"date$ Result: 09/05/1980 W }!20DECOMPILE 020808 21500201 ~DECOMPILE~ DECOMPILE, Location Decompiles one CRAM instruction and stores the syntax in the accumulator. Location - In Instruction Memory Pointer Out Next Instruction Memory Ptr After execution, the variable is automatically updated. The programmer must check to make sure the address is evenly divisible by 2 before continuing with the next command. DECOMPILE is in the following source: !45 !CLP45 !ESF45 +CEB02 +GIL02 +POB02 WDECOMPILE, WUTICRASH, WUTLMATH V11 changes Decompile to an Extended opcode but also executes the opcode for old code. Decompile151,158,159 changed to cramcmdxxx will work with prior V11 programs. W }!20DELETE 990308 21500201 ~DELETE~ DELETE File Delete a record on disk. File - Item to delete. Var.Types Required Direct Indirect Immediate File _x_ 0-1279 (0)-(127) "xxx" User# ___ " " " ___ ___ ___ ___ Posting ___ " " " Deletes the record with the same code as field 0 in memory. Optional arguments: 2nd is user #, 3rd is not used, 4th is posting 0 post or 1 don't post. Use "255" for the user number if you want local user. Deleting without posting does not work over a network. Sample: delete"R","255","0","1" Result: Deletes '543' from 'R' file, no posting. W }!20DISK 990308 21500201 ~DISK~ DISK ,Dev,BegSect,#Sect,BufLoc,R/W Transfers data directly from disk to memory or memory to disk. Dev - Device number, 0-14 accesses Dos drivers: 0=A,1=B etc.,15&16 accesses Dos files P&Q 128-255 access network, 128 = user0 etc. BegSect - Start of sector #Sect - Number of sectors BufLoc - Location of buffer R/W - Operation flag (2-read 3-write) Var.Types Required Direct Indirect Immediate Dev _x_ 0-1279 (0)-(127) "xxx" BegSect _x_ " " " #Sect _x_ " " " BufLoc _x_ " " " R/W _x_ " " " continued... W }!20DISKa 990304 21500201 386 version, device 16 reads and writes a dos file, the name is specified in the parameter file or changed with the 'poke' command. Sample: disk,"2","204","17","865960","2" W }!20DISPLAY 001103 13500201 ~DISPLAY~ String DISPLAY Displays the contents of the accumulator in ASCII at the current location. Displays immediately, does not wait for background print. This command does not check the length of the input field, and can print past the end. Sample: &"HI"display Result: HI W }!20DUMP 001103 07500201 ~DUMP~ DUMP Dumps all dirty disk buffers,a dirty disk buffer is a buffer with the information changed from the original no argument is required. W }!20ELSE 001103 13500201 ~ELSE~ ELSE Conditionally performs a function. Used after condition statements. Execution begins here if condition is false, otherwise scans for 'if', 'and', 'or', 'always', or 'then'. Clears accumulator when scanning. Sample: IF"1"EQ"2":&"EQUAL"LINPUT:ELSE&"UNEQUAL"LINPUT Result: UNEQUAL W }!20EQ 001103 12500201 ~EQ~ EQ Cmp Used in comparison logic to check equality. Cmp - item to compare. Var.Types Required Direct Indirect Immediate Cmp _x_ 0-1279 (0)-(127) "xxx" Sample: if"1"eq"1":&"EQUAL" Result: EQUAL W }!20FAX 001103 14500201 ~FAX~ Name FAX ,Number Fax a text file. Name - a Dos filename with path in accumulator Number - phone or fax number Var.Types Required Direct Indirect Immediate Number _x_ 0-1279 (0)-(127) "xxx" For 386 version 5+. Requires CAS compatible fax board and software. Sample: &1005fax,1002 W }!20FILELEN 001103 10500201 ~FILELEN~ File FILELEN = Length Returns length of DOS file. Specify file name in accumulator. Sets condition to else if the file does not exist. Sample: &"c:\abc\abc.par"filelen Result: 626 W }!20FILESTART 001103 20500201 ~FILESTART~ FILESTART File = Pointer Finds the location of a file. File - name of the file to locate Var.Types Required Direct Indirect Immediate File _x_ 0-1279 (0)-(127) "xxx" Finds the location of a file in memory and stores the location in the accumulator. Requires one direct, indirect, or immediate argument to specify the file character. Also puts posting specifications for the file in temp 20(1020), used by standard posting routines. Location of specifications in file table and change flag is stored in temp 21(1021). Sample: filestart"I"linput Result: 1280434 W }!20FIND 021007 21500201 Acc ~FIND~ Byte Step #Bytes,Flag Search memory for a byte matching specified value. Acc - the accumulator contains the start loc Byte - the byte to search Step - the second argument is the step value. For example, use a value of 2 to check every second byte,or-1 to search back. #Bytes - Number of bytes to search Flag -1 Finds value <=, +1 finds Value >= Var.Types Required Direct Indirect Immediate Byte _x_ 0-1279 (0)-(127) "xxx" Step _x_ " " " #Bytes _x_ " " " Ver 9 Translates locations in assembly code see Poke continued... W }!20FINDa 001103 21500201 The second and third arguments default to 1 and 16777216 respectively if not specified. The condition is set to else and scans for else, or, or always if the byte is not found within the specified memory block. 386 version 5, if 4th argument is negative, searches untill it finds a byte less than or equal to, if positive, searches untill it finds a byte greater than or equal to. Acc: 900000 Sample: find,"255","-1","8000" Result: Searches backwards 8000 bytes for 255 starting at location 900000. Accumulator returns with location. W }!20FLOPPY 001103 09500201 :floppy - (Atari only) Formats tracks on floppy disk and attempts to read 10 sectors. Put the location of first track buffer in the accumulator. Buffers are $A000 bytes long and contain all formatting and sector information. Four more arguments (direct, indirect, or immediate) are required: Device (1 or 2), track # (0- 159), # of tracks, and single-sided or double-sided (0 or 1). W }!20FLUSH 001103 10500201 ~FLUSH~ FLUSH Forces dirty buffers to be dumped to disk & sets the index flag to reload the directory. A dirty buffer is one that the information has changed but has not been saved back to disk. Sample: flush W }!20FORMAT 001103 14500201 :format - (Atari only, 386 use 8 screen option 8) Formats the disk space available to the program. One argument, direct, indirect, or immediate, specifies the length of format in bytes. This argument is optional on floppy disk programs. ************ * WARNING! * ************ This command will completely erase all existing data. syntax: format,"10000000" result: Will format 10 million bytes of disk space. W }!20FORMPRINT 021221 20500201 ~FORMPRINT~ FORMPRINT Operation# Prints a format starting on next line Operation# - use one of these programmed#'s 0 - print 4 - print '=' 1 - print & add 5 - not used 2 - print total 6 - add only 3 - print '-' 7 - extract & Clear Totals of Numeric variables are stored at 1198 and below. Types and values may be changed in these variables. Var.Types Required Direct Indirect Immediate Format ___ ___ ___ 0-7 If it's one line it puts it in the accumulator. If it's more than one line it prints everything except the last line which it puts in the accumulator. continued... W }!20FORMPRINTa 990308 21500201 Variable 1042 is decremented for each line that is printed. Print format comes directly after the 'formprint' command in the math format. Use a print command after a formprint to print the last line. A 'formprint' command must be at the end of a math format. No math commands may follow. You must use it in a subroutine. Use with a one- byte argument. See ~Section 2~ for more information on print formats. syntax: formprint0 [ 0 , 1 ][ 32 ] S }!30 W }!20FREE 001103 06500201 ~FREE~ FREE Forces garbage collection and puts the number of bytes of string space available for this user into the accumulator. W }!20GETBUTTON 001103 14500201 ~GETBUTTON~ GETBUTTON X Y Returns mouse location. X - mouse location horizontally Y - mouse location vertically Var.Types Required Direct Indirect Immediate X _x_ 0-1279 0-127 ___ Y _x_ " " ___ 386 version 5. Returns with button text in accumulator. Removes leading and trailing spaces. W }!20GETBUTTONG 001103 14500201 ~GETBUTTONG~ GETBUTTONG X Y Returns a global mouse location. X - mouse location horizontally Y - mouse location vertically Var.Types Required Direct Indirect Immediate X _x_ 0-1279 0-127 ___ Y _x_ " " ___ 386 version 5. Returns with button text in accumulator. Removes leading and trailing spaces. W }!20GETCONSOLE 001103 07500201 ~GETCONSOLE~ GETCONSOLE Load the current console device into the accumulator. Sample: W }!20GETFILE 001103 14500201 ~GETFILE~ GETFILE File 386 version 5. Get the file and field number of the variable at the input command number specified in accumulator. File - the file to retrieve Var.Types Required Direct Indirect Immediate File _x_ 0-1279 0-127 "xxx" Returns with field in accumulator. Sample: getfile,1030 W }!20GETFREE 001103 12500201 ~GETFREE~ New with version 8. Get drive free space. Accumulator in specifies drive number (0-A, 1-B, 2-C, etc). Accumulator out contains number of bytes of free space on drive. If invalid drive, condition set to 'else', but execution continues with next instruction. Sample: W }!20GETINPUT 990304 21500201 ~GETINPUT~ GETINPUT ,X ,Y 386 version 5. Get the input command number of the field at X, Y on the screen. X - Y - Var.Types Required Direct Indirect Immediate X _x_ 0-1279 0-127 "xxx" Y _x_ " " " Sample: getinput,1021,1022 W }!20GETKEY 990304 21500201 ~GETKEY~ GETKEY Used in posting and sorted report routines to split the next key into temporary variables 90 and following. Sample: getkey:else:quit: W }!20GETLOCATION 041110 21500201 ~GETLOCATION~ Acc GETLOCATION ,X,Y,Len Acc - location (1048) of field to evaluate X - vertical location Y - horizontal location Len - field length Var.Types Required Direct Indirect Immediate X _x_ 0-1279 0-127 "xxx" Y _x_ " " " Len _x_ " " " 386 version 5. Get screen location and length of input command specified in accumulator. Sets condition else if not on screen V1244 test returned false except for restricted fields returned true. Does not scan. Sample:+1023getlocation,1024,1025,1026 W }!20GETPRINT 990304 21500201 ~GETPRINT~ GETPRINT Load the current printer device into the accumulator. Sample: getprint=1023 W }!20GETREF 990308 21500201 ~GETREF~ Acc GETREF Ref# Used to extract a reference number from a string of encoded reference numbers. Acc - location Ref# - the string of reference numbers Var.Types Required Direct Indirect Immediate Ref# _x_ 0-1279 0-127 ___ Put the location, divisible by three, into the accumulator. Sets condition flag, does not scan. Accumulator will be 0 if code not found. When using an indirect argument it must be preceded by a comma. Sample: 6getref15 Result: reference# at location 6 W }!20GETSTACK 001103 14500201 ~GETSTACK~ GETSTACK Temp Used to set the machine code stack pointer from a temporary variable. Temp - specify which temporary variable Var.Types Required Direct Indirect Immediate Temp _x_ 128-255 ___ 0-127 May use accumulator if variable is a string type. See also 'putstack'. Sample: getstack50 W }!20GETTIME 001103 15500201 ~GETTIME~ GETTIME Opt = D&T Opt=0 D&T is bits 0-4 #2 seconds, 5-10 minutes, 11-15 hours, 16-20 days 0-31, 21-24 Months, 25-31 Year-1980 1 v5 D&T is byte 1 1/100 seconds, 2 seconds, 3 minutes, 4 hours 2 v5 D&T is bios (00:4ch) timer tick D&T - date and time Var.Types Required Direct Indirect Immediate Opt _x_ ___ ___ 0-2 W }!20GETTIMEa 990304 21500201 syntax: gettime0 result in accumulator: bits 0- 4 Seconds in two-second increments bits 5-10 Minutes bits 11-15 Hours bits 16-20 Day 1-31 bits 21-24 Month 1-12 bits 25-31 Year minus 1980 386 version 5, gettime1: bits 0-7 hundredths of seconds bits 8-15 seconds bits 16-23 minutes bits 24-31 hours 386 version 5, gettime2 returns bios timer tick (from 00:46Ch) in accumulator. W }!20GOSCREEN 001103 09500201 ~GOSCREEN~ Scrn GOSCREEN Sets the current screen format number but does not change the offsets for it. Scrn - Screen character, or Ver 9 Memory pointer Sample: &"I"goscreen W }!20GOSUB 001103 15500201 ~GOSUB~ Gosub Number Executes a subroutine. Number - Specify format number of subroutine. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Uses 1-128 to specify format#. After performing the subroutine the Gosub command will return to the calling routine. Sample: gosub10 Result: Executes format number 10. W }!20GOSUBG 001103 14500201 ~GUSUBG~ Gosubg Number Executes a global subroutine. Number - Specify global format number of the subroutine. Uses 1-128 to specify format#. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Sample: gosubg10 Result: Executes global format number 10. W }!20GOSUBP 001103 18500201 ~GOSUBP~ Gosubp Number Executes a global subroutine with a format# greater than 127. Number: Specify global format number of the subroutine. Uses the format number minus 128,129-383 is used. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Unlike other one-byte arguments, this command does not use a temporary variable if the argument is greater than 127. Sample: gosubp10 Result: Executes global format number 138. W }!20GOSUBQ 001103 03500201 ~GOSUBQ~ use CallQ W }!20GOSUBX 001103 18500201 ~GOSUBX~ Gosubx Number Executes a local subroutine with a format# greater than 127. Number - Specify local format number of the subroutine. Uses the format number minus 128,129-383 is used. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Unlike other one-byte arguments, this command does not use a temporary variable if the argument is greater than 127. Sample: gosubp10 Result: Executes local format number 138. W }!20GOTO 001103 14500201 ~GOTO~ Goto Number Go to a math format. Number - Specify math format#, same as a Gosub except this does not return to the calling routine. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Sample: Goto19 Result: Goes to local math format# 10. W }!20GOTOG 001103 12500201 ~GOTOG~ Gotog Number Go to a global subroutine. Number - Specify a global subroutine. Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ xxx Sample: Gotog10 Result: Goes to global format#10. W }!20GOTOP 001103 06500201 ~GOTOP~ GOTOP Number Go to a global subroutine with a format number greater than 127, uses argument same as 'gosubp'. W }!20GOTOQ 040920 17500201 ~GOTOQ~ GOTOQ Number Go to a global subroutine with a format number greater than 383. Number - subroutine to run Var.Type Required Direct Indirect Immediate Number _x_ ___ ___ "xxx" format number minus 384. Unlike other one-byte arguments, this command does not use a temporary variable if the argument is greater than 127. Sample: gotoq10 Result: Executes global format number 394. W }!20GOTOX 001103 06500201 ~GOTOX~ GOTOX Number Go to a local subroutine with a number greater than 127, uses argument same as 'gosubp'. W }!20HOG 000407 09500206 ~HOG~ HOG 386 version 5. Disable timeshare user switching at goto's, gosub's, jump, and call. Used with pointer load,loadnext,loadprev to insure that no other user can change data position between loads. Between hog and unhog the bell will ring continously. See also ~UNHOG~. W }!20IF 001103 18500201 ~IF~ If("Acc"eq"Var") Used in a comparison statement. Acc - item to compare Var - item to compare with Acc Var.Type Required Direct Indirect Immediate Var _x_ 0-1279 0-127 "xxx" Item to compare. A true statement returns a true condition flag, otherwise condition flag is set to false. Sample: if"a"eq"b":&"EQUAL"linput:else&"UNEQUAL": linput Result: UNEQUAL W }!20INKEY$ 001103 18500201 ~INKEY$~ Acc INKEY Reads a character from specified device. Acc - Accumulator must have device number. Var.Type Required Direct Indirect Immediate Arg Opt. ___ ___ "1" Character read in is stored in accumulator as an integer between 0 and 255. Condition is set true if character was read, set false if there is no character available. An optional argument of "1" bypasses the character conversion and provides access to the raw data. Sample: "2"inkey$ Result: character read from device W }!20INPORT 010704 13500201 ~INPORT~ INPORT, Port Reads an I/O port. Port - Specify port in argument. Var.Type Required Direct Indirect Immediate Port _x_ 0-1279 0-127 "xxx" 386 version 5.Returns with data in accumulator. Sample: inport,"888" see _386PORTS for port Addr Result:Gets data from port A of LPT1 in Acc. W }!20INSTR 990308 21500201 ~INSTR~ Acc INSTR ,String,Char,Ign Used to search for a pattern in a string. search for. First argument is string to search. The second argument (optional) is character location to start search. The third argument (optional) if greater than zero specifies ignore case difference. When the string is found the location is put in the accumulator and the condition is true, when it is not found the accumulator is zero and the condition is false. accumulator: A temp 30: 10 syntax: instr,1,1030 accumulator: location of first 'A' in 1 at location 10 or higher W }!20INTERRUPT 040730 07600201 :interrupt - Used to give power in background to other math formats or ABC users. In version 12 also gives a 20ms power slice to window's programs. if power is not desired to be released to the window programs, then use a goto, gosub, branch or jump command instead of interrupt. Unhog will also release power to other ABC users after V12.31. W }!20JUMP 001103 19500201 :jump - relative jump. Argument is number of bytes divided by 2. 0-127 is forward xxx 2-byte commands. 128-255 is backwards xxx 2-byte commands Exp. jump0 is forward 1 2-byte command jump127 is forward 128 2-byte commands jump128 is backwards 127 2-byte commands jump255 jumps to itself, is an endless loop +"2" - 1 command =1005 - 1 command +"22" - 2 commands +"222" - 2 commands if1005 - 1 command &"2" - 1 command if1003eq"2" - 2 commands &"*"instr,1005 - 3 commands &"*"instr,1005,1030 - 4 commands &(30)left$155,127 - 3 commands Programer note: mark jump point with :: W }!20JUMP! 000512 21500201 :jump - continued Use decompiler and subtract value of command after jump from destination of jump/2 for forward jumps, or subtract difference between destination and jump/2 from 255 for reverse jumps. >A28 forward jump IF1010: EQ1200: JUMP11: ALWAYS: ;0 2 4 6 &1006: LENGTH: =1025: IF6: TAB153: ;8 10 12 14 16 <>1006: GOTOG81: IF1010: EQ"o": ;18 20 22 24 GOTOG82::IF1204: <=" ": GOSUB27: ;26 28 30 32 PRINT: ;34 > ;36 >A31 reverse jump =1030::+"1": `1030: &1030: DISPLAY ;0 2 4 6 8 IF1030: <"100000": JUMP246: ALWAYS ;10 12 20 22 &1030: LINPUT: ;24 26 > ;28 W }!20JUMPL 020808 12460201 JUMPL Arg Arg 897 to 1791 is 1 to 895 commands forward 0 to 895 is 896 to 1 commands backward Don't use " around the argument Jumpl will only jump within a format Branch0 to Branch31 will calculate offset to label0 to label 31 and then comile as Jumpl. Compile.exp & ABC.exe must be 9.30 or higher W }!20KEYSUB 020105 19500201 ~KEYSUB~ Sub KEYSUB Specifies a local subroutine to be used for processing non-control keystrokes. Sub - routine to jump into when key is pressed. Variables- 1045 to 1049 may not be changed, Other variables must work with screen (Version 5 9/13/95 and later). The entered keystroke is in 1003 when the routine is entered. Window terminal need the chr in ACC & callq137 q127 checks for WinTerm. 1004 is changed. Sample: +"326"keysub:&"+"callq137 W }!20KOMPILE 020703 20550201 ~KOMPILE~ KOMPILE Arg Compiles math instructions. Var.Type Required Direct Indirect Immediate Arg _x_ ___ ___ 0-127 Arg - Operations of Kompile 0-compiles W screen,math and print formats 1-compiles & executes the cram in accumulator 2-execute formula variables (Next page) Arg 1 & 2 uses the buffer at +982+"3402" 3-Compiles W screen. Acc is memory pointer. Shift 1 50-open file and return handle 80-initilize scanner 90-open or close space in a format +/- length, Memory pointer 93-99-Preliminary graphic routines 127 XOR Function Acc Kompile127,arg2 acc 1st Val Kompile3 Compiling cram to buffer & executing example: callq73~1030+"4"~1031+"6"=1028 ;q74 GetBuffer,Cram Starts 4 byte up poke,1030,"0","22","0","22" ;poke format length Byte -4,-3 poke,1031,"0","16","0","18","0","1" ;poke Start format 0-1 LocCmd poke,1028,"0","1","0","0","0","1":+"6"`1028 ;2-3 GotoTable, poke,1028,"0","0","0","0","0","0":+"6"`1028 poke,1028,"0","0","0","2":+1031kompile3 ;no Formats 1 entry in GotoTable ............ Callq74 ;release buffer when done > W }!20KOMPILEa 011018 20550201 Kompile2 Variable A-Z (1228-1253,a-z (1254-1279) Commands + * / = & "x" ` # $ Abs instr Tilde ; if and or eq then else always <= >= <> < > Only the first 2 characters commands are used. Uses Kompile buffer, so it won't continue in immediate mode. A formula is a series of commands. Each command may perform an operation on the accumulator or on a variable. The accumulator, similar to that of an adding machine, is a temporary holding place for a calculated value. A variable is designated with a single upper- or lower-case letter. This makes a total of 52 available. A constant is a fixed number such as 36 or -2.75. An alpha-numeric string can be used for a constant if enclosed in quotes. Commands may be separated by spaces or commas (,) to make the formula more readable and avoid confusion. You may append a remark to a formula by using a semi- colon (;) as shown. W }!20LABEL 020808 11460201 LABEL Arg Arg 0-31 to match a branch 0-31 Branch0 to Branch31 will calculate offset to label0 to label 31 and then comile as Jumpl. Range is 895 commands back or forward. Compile.exp & ABC.exe must be 9.30 or higher W }!20LASTKEY$ 030913 12500201 LASTKEY$ Reads the last character received from device specified by the accumulator. The character is returned in the accumulator as an integer from 0 to 255. The character is not removed from the device buffer. This command is used to check for keystrokes that allow to abort a program, such as a report. The condition flag is set to true if a character was read; set to false and scans if no character is available. Leadin characters from terminals are not converted. This may be added in a future version. W }!20LEFT$ 001103 04500201 :left$ - Used to extract a string from the accumulator. Has two one-byte arguments, the first is displacement, the second is length. W }!20LENGTH 001103 07500201 length - Used to get the length of a string in the accumulator. Puts the length in the accumulator, no argument is required. accumulator: abc syntax: length accumulator: 3 W }!20LINEREJECT 001103 04500201 :linereject - Used in a SCAT load math format to stop the loading of a line of repeating fields. No argument is required. W }!20LINPUT 040506 21500201 :linput - Used to input a string from the console. Prints the accumulator on the bottom line of the screen, and uses the rest of the bottom line as an input field. Entered data is stored in the accumulator. Optional argument specifies length of input field, uses auto entry and forces entries to be upper case. accumulator: Enter record code syntax: linput,"6" accumulator: Entered data no longer than 6 characters, upper case. Variables changed in global & local 7 logic. 1003 command chr that is entered 1004, 1020-1023 use by global 7 1024-1025 used in W07 logic Other 7 logic may use different variables. Version 8, 11/9/98. Added 3 optional arguments: X & Y linput locations, and flag, 0-Neither 1 or 2 1-Auto entry, 2-Upper case, 3-Both 1 & 2 Version12.23 Added 5th argument for preloaded entry W }!20LOAD 030722 21500201 :load - Used to load a record from disk, uses one to three arguments, Version 5 & up may have 4th and version 9 may also have 5th and 6th arguments The accumulator contains the record code. The first argument is 1 or 2 file character. The next four arguments preceded by commas, The user number to load from (255 is default user), the number of fields to load or Ver5 & up memory pointer when used with the fourth argument, mask pointer, Ver7 & Up the 5th argument is Plus/minus number of tracks from current track, the 6th is the Offset of the desired data into the track accumulator: 2ESG001 syntax: load"I","3","2" result: Load '2ESG001' from 'I' file, user 3, 2 fields. mask string. Any fields specified in the load mask are then loaded into the variables following the mask. Field 0 is always loaded. The load mask specifies which other fields to load. Each byte, >=48 (ascii 0), specifies a number of fields to skip. A '~' specifies the start of posted fields. A '+' specifies fields to load instead of skip. In this mode, the third argument (integer variable) is used as a pointer from which to start the load. This eliminates the need of doing a search on every execution of the 'load' command in sequential record access. The pointer mode can also be used with 'loadnext' and 'loadprev'. When the pointer is zero, a normal search is performed. The location of the current record is updated in 1024. When 'loadnext' or 'loadprev' reaches the end or beginning of a data block the condition flag is set to 'else' as if no more records exist in that file. It is then necessary to zero the pointer and execute the command again. This will perform a normal search, load another data block and update 1024. Be sure to use the 'hog' command to prevent other users from reusing the data block buffer while it is being accessed with a pointer. If a record is not found all fields are cleared except the first one (the code) and the condition is set to 'else'. January 11, 1995 Loading Repeating Fields Example: Load R file Ref, Customer Code, Item, Qty A header mask '0K' and repeat repeat mask '30,09' are needed. The header loads Ref# (Fld 0 always loaded), Customer Code ( Fld1 Skip 0), and the last one before the first repeat field, (fld 29 skip 27 Ascii K-48) Repeate mask specifies the start field for variable types (30,), Item field, (1st field always loaded), qty,(skip 0),and the last field before the next repeat line (skip 9) tells where to start the next line. The header mask is used with a loadnext, loadprev, or load with the pointer (third argument) zero. 1024 returns with a pointer to end of data loaded. Repeat uses the load with the pointer specifying the place in the buffer to load. When a 'load' command (not next or prev) is used with a pointer or number of fields to skip and there are no more fields to load all fields are cleared (including the first one) and the condition is set to 'else'. Bug must check 1023<1024 to insure that it quits properly Version 9 Version12 See }!20LOADa W }!20LOADNEXT 001103 03500201 :loadnext - Uses the same arguments as 'load'. Used to load the next record from disk. W }!20LOADPREV 001103 03500201 :loadprev - Used to load the previous record from disk, uses the same arguments as 'load'. W }!20LOADa 030722 Version 12 Load Functions Version 12 Mask /lxxx...cslxxx...cslxxx...c / quit on last record, l length arg, xxx... argument in disk formatm c Cmd#, s fields to skip, Primary commands 12 compare skip or include <,<=,==,>=,>,<> 4 search case sensitive on match or no match include or skip (4) 4 search no case same as above (4) 1 Save current location 2 add amount field, at current location or saved location 2 add floating, at current location or saved location 2 Subtract amount, at current location or saved location 2 Sub floating, at current location or saved location Repeat terminating commands: 1 include Load data and return to cram flag set true 1 skip load the next record 30 Total number commands if last command skip or print then load mask follows ecx number fields to skip &"z"asciilinput ecx # fields to skip mov dl,255 ;for no case D0 = 97 (a) mov dh,122 ;range for no case srch mov ah,128 dec esi srch1: inc esi ;search for high bit cmp [esi],ah jc srch1 loop srch1 ;are we at field to search mov dh,[edi] ;get 1st chr of string to search inc edi ;point to 2nd chr of string lodsb ;move chr from disk to al sub al,ah ;remove high bit jmp scrh1c ;loop to search for 1st chr srch1a: pop edi ;restore 2chr of string pop esi srch1b: lodsb ;get next byte in disk buffer cmp al,ah ;are we at the end of the field jnc srch6 ;yes no match found srch1c: cmp al,d0 ;is char higher than z jc srch1d ;yes cmp al,123 ;is chr < a jnc srch1d sub al,32 ;change lower case to uper case srch1d: cmp al,dh ;1st chr equal jne srch1b ;no then try next chrcmp push esi push edi movzx ecx,byte ptr [edi-2] jmp srch2e ;loop to compare balance of string srch2b: loadsb ;get next byte in disk buffer cmp al,ah ;are we at the end of the field jnc srch6 ;yes no match found srch2c: cmp al,d0 ;is char higher than z jc srch1d ;yes cmp al,123 ;is chr < a jnc srch1d sub al,32 ;change lower case to uper case srch2d: inc edi cmp al,[edi] ;chr equal jne srch1a ;no then back to single chr srch srch2e: loop srch2b pop edi pop esi ;String is found srch6: ;at end of field Match not found W }!20LOCALBACKGROUND 001103 20550201 ~LOCALBACKGROUND~ Format# Localbackground Local Format# gets power after other user requirements Version 9.11 Power is given after other user needs are satisfied. 1002 is updated when character is typed. LOCALBACKGROUND with nothing in accumulator suspends operation until another character is entered. -"1"LOCALBACKGROUND quits executions. An INTERRUPT RETURN give the power slice to other users. The Cram must be short enough to allow character entry. LINPUT may not be used and follow SETLOC with REJECT. Varialble are shared with other screen cram. Variables- 1045 to 1049 may not be changed, Screen Printing: Use printscreen, printloc, Printfield Applications- ; screen polling scale port. W screen formating text. '254 screen changing lookup during entry W }!20LOCK 001103 08500201 ~LOCK~ LOCK Locks the printer for use by this user. Returns with the condition false if the printer is already locked by another user. No argument is required. W }!20MACRO 990225 21500201 :macro - Atari: Loads data into the keyboard buffer to emulate characters typed on the keyboard. Use a one-byte argument 0 to compile. 386 versions: One-byte argument, 0, 1, 3, or 4 0 - get macro buffer location, returns in accumulator. Condition 'then' if already recording a macro. 1 - Start executing a macro. Before using this command, CRAM must load the keystroke data into the macro buffer with 'poke'. Put length of keystroke data in accumulator. Macro1 returns to the input screen, not to CRAM. 3 - Start recording a macro. Keystrokes are saved in the macro buffer. 4 - Get data length, stop recording or execution of macro. Returns length of macro data in accumulator. CRAM can use 'peek' to get the keystroke data from the buffer. MACRO is in the following source: !386B55 *38605 *CMD05 *CQP05 *LAC05 W }!20MAPTO 000606 21700201 ~MAPTO~ MAPTO Arg (386 only) Map a port number (in accumulator) to a cram device (in one-byte argument). Var.Type Required Direct Indirect Immediate Arg _x_ ___ ___ 0-7 Arg - Listing of Device Functions 0-Default Printer Device 1-Modem Device on Base or Console Device on many terminals (This device uses a space compression protocol.) 2-Default Console Device 3-RS232 Workstation. Load and Save commands to user 64 use this. 4-RS232 Server. Runs in background on the base user only, to process file requests from remote serial users. 5-Temporary device. Use freely for temporary purposes. 6-Reserved for Future use. Used for Scales at CLP 7-Reserved for Future use. Note: See field help on the corresponding 't fields for ports typically used for each of these devices. The devices are by default mapped to the ports listed in 0-7 in the 't record for each user. On a base, typically 0-4 are set, on a terminal 0-2 are usually set. Port 5 is very temporary and is used for the devices that list a port# (cashdrawer, POS, scales, etc) on the 't screen in addition to hardwired ports in custom programming. W }!20MAPUSER 001103 03500201 :mapuser - (386 only) Map a user# (in accumulator) to a cram device (in one-byte argument). W }!20MEMLOAD 001103 02500201 :memload - This is an unused command. W }!20MEMPRINT 001103 11500201 length MEMPRINT,printdev,MemoryPtr - Print data from a memory location. Acc Length # of bytes to print Arg1 printdev Cram device. May not be DOS File Arg2 MemoryPtr Memory location to start print Note- !45 and !B54 variables (1003,1020-1025) will not hold if an Error when printing occurs. Used to send image data to network terminals. W }!20MERGECHANGE 011026 09630201 ~MERGECHANGE~ MERGECHANGE,ChangePtr,RecordPtr,BufferLen ChangePtr Pointer to buffer with changes from COMPAREREC Record1Ptr Pointer to Record to merge in disk format BufferLen Optional length of ChangePtr buffer When not specified, BufferLen is Diskbuffer Size MERGECHANGE merges changes from COMPAREREC into a disk file and Stores the merge record in a buffer at ChangePtr. If the codes do not match returns false and scans. See COMPAREREC W }!20MERGEREC 001103 10500201 :mergerec - Used to merge a disk record into current data file. Location of the record to merge must be in the accumulator. Comes back with accumulator set to end of record + 1. accumulator: location of record in memory (disk format) syntax: mergerec accumulator: end of record + 1 result: Record merged into current data file. W }!20MOD 001103 12500201 :mod - Divides the accumulator by the argument. The argument can be indirect, immediate or direct. It must be preceded by a comma. The remainder is put in the accumulator. If there is a second argument, (direct or indirect), the quotient is stored in that variable. accumulator: 150 syntax: mod,"4",1025 accumulator: 2 temp 25: 37 W }!20MOVE 001103 18500201 ~MOVE~ MOVE ,Len,Source,Dest Used to move blocks of memory. Len - the length Source - the source address Dest - the destination address Var.Type Required Direct Indirect Immediate Len _x_ 0-1279 (0)-(127) "xxx" Source _x_ " " " Dest _x_ " " " Ver 9 Translates locations in assembly code see Poke Sample: move,"18",1024,1025 1024: location of variable 10 1025: location of variable 13 Result: moves 10, 11, and 12 to 13, 14, and 15 W }!20OFFSET 041012 09500201 ~OFFSET~ Scrn OFFSET Sets the offsets to that of a different screen. Does not work in background. Scrn - Screen chrs or Ver 9 memory pointer Sample: 1003offset W }!20ONJUMP 011012 07460201 Acc ONJUMP Arg,Arg,Arg,Arg,etc Acc is a 1 to number or args to jump to Arg 897 to 1791 is 1 to 895 commands forward 0 to 895 is 896 to 1 commands backward Don't use " around the argument W }!20OR 001103 09500201 :or - Used in comparison statements. Saves argument, clears the accumulator, sets the operation to or. May have direct, indirect, or immediate argument. when an or is encountered with the condition flag true no commands are executed untill after the next logical operator (<=,>=,eq,<,>,=) W }!20OUTPORT 010704 05500201 :outport - 386 version 5. Writes to an I/O port. Specify port in argument, data in accumulator. Parallel port LPT1 888, LPT2 632 See _386ports Example:+"0"Outport,"888" W }!20PEEK 001103 13500201 ~PEEK~ PEEK ,Val Puts the value of the memory location pointed to by the argument into the accumulator. Val - value of the memory location Var.Type Required Direct Indirect Immediate Val _x_ 0-1279 (0)-(127) "xxx" Ver 9 Translates locations in assembly code see Poke Sample: peek,1023 W }!20POINTER 001103 04500201 :point - Requires an argument (direct), puts the memory location of the variable in the accumulator. W }!20POKE 001103 20500201 POKE,StLoc,Data,Data Changes RAM. StLoc - the starting memory location Data - value to poke Var.Type Required Direct Indirect Immediate StLoc _x_ 0-1279 (0)-(127) "xxx" Data _x_ " " " Requires 2 to 20 arguments, The first argument is the starting location. This sets the memory locations to the values in the 2nd through 20th argument. First arg must be preceded by a comma if any argument is indirect or immediate. Sample: Poke,"231256","0","0" Ver 9 translates Assembly locations from 1047 460 byte @+1047-"45056",160@-"36864",390@"24576" W }!20POST 040128 07540202 :post,flag - Halts foreground execution until all background posting is done and buffers are dumped. flag - "1" (optional to prevent dumping buffers) Var.Type Required Direct Indirect Immediate flag "1" W }!20PRINT 001103 09500201 :print - Converts the accumulator to a string and outputs it to the print device. Also outputs a carriage return and line feed. The accumulator is cleared. Variable 1042 is decremented with each 'print' command. See also 'sprint' and 'printdev'. Note- !45 and !B54 variables (1003,1020-1025) will not hold if an Error when printing occurs. W }!20PRINTDEV 001103 19500201 :printdev - Sets the print device to the numerical value in the accumulator. When the print device is greater than 127 printing prints to a user on the net. The user number is print device minus 128. When the print device is greater than 255 printing will execute a global routine number print device minus 256. 'Sprint' uses global routine number print device minus 255. If the accumulator is a negative value, 'printdev' opens a file for printing to disk. An argument (preceded by a comma) is added to the 'printdev' command to specify the file name. A second, optional argument if 1, creates a new file or zeroes existing file, if 2, appends to existing file. If 'printdev' is used without the second argument to open a file and the file already exists, condition flag is set to false. W }!20PRINTFIELD 001103 07500201 :printfield - Prints the contents of the field specified by the argument, which may be immediate, direct, or indirect. Do not use in repeating fields. See also 'printloc'. syntax: printfield"6" W }!20PRINTLOC 001103 06500201 :printloc - Prints the contents of the field in a specified location on the screen. The argument may be immediate, direct, or indirect. See also 'to'. syntax: printloc1030 W }!20PRINTSCREEN 001103 03500201 :printscreen - Reprints all fields on the screen, does not require any arguments. W }!20PUTSTACK 001103 06500201 :putstack - Puts the value of the machine code stack pointer into a temporary variable. Requires a one-byte argument to specify which temporary. May use accumulator if variable type is integer. See also 'getstack'. W }!20QUIT 001103 04500201 :quit - Halts math format execution, no argument required. Automatically restores stack pointer so it may be used in subroutines. W }!20READ 010305 With Machine Control Syntax- File Buf Loc 'Read' TempArray,Filechr, Len, BufStart, Device, FileSec Data buffer loc location in buffer to start reading Temp Array Field 0 Cmd mask if null defaults to to cmd 4 Byte 1 - Load Command (Normally strips off leading & trailing spaces) * 0 goto cram format byte 2L & 3H cram format# 1 & 2 spare 3-6 Skip data of unpecified length, can skip # fields 3 Don't word search to next delimiters * 4 Do word search only, no 1 byte delimiter compares * 5 Search for word to a delimiters * 6 Search for word in length or to a delimiter 10 to 15 Temp Array Variables Commands * 10 Strip Leading & trailing spaces * 11 Don't strip spaces (doesn't work with string srch) readfilek * 11/18/96 12 Strip trailing spaces, but not leading * 11/18/96 13 Strip trailing N and space (for Plus1 files) Future 14 strip a leading and trailing " 16 to 47 Reserved for future expansion 48 to 63 File array Varialble commands * 48 File Array (strips spaces) 49 File array divide by 100 50 File array divide by 1000 51 BCD divided by 100 +64 Do not update if already loaded Byte 2 - Variable # relative the file begin or temp array Byte 3 - Length of Input in Bytes Search & Delimiter mask Temp Field 1. PTR relative to beginning Mask * Byte 0L&1H Cram ofset, Byte 2 1 byte delimiter PTR, Byte 3 1st 1byte cmd Byte 4 Cmd PTR @ srch end when < 64. >=64 it is a 1 byte command byte 5-6 Compare Chr &<>PTR if Capitalized compare not equal go to PTR Compare chr, <>PTR repeat till Cmd Ptr @ 4. Cmd Ptr,Compare chrs,<>PTR,Cmd repeat for additional searches * Srch Cmd Byte 0 F Field delimiter, set field advances to nxt cmd * 1 L Line Record delimiter, starts cram mask at beginning * 2 E Exits read command File delimiter * 3 S Skip leading & trailing Chr Usually a space * 4 I Ignore character * 5 T Toggle Use of 1 byte delimiters, Skip Character 6 Rx Replace with next chr 7 Sub 32 from chr Capitalize 8 to 19 reserved for future Commands * 20-63 Gxx +cram offset is format#, restarts Cmd mast Places DOS file location in 1020 * +64 Cmd and 1 byte delimiter is next byte Example search for Saw,Sale, pin. CR is the 1 byte feild delimiter 0 '024'001'026'064 ;0&1 Crm280,2 BytePTR,3 byte cmd at BytePTR 4 '011S'018A'004W'012'020 ;4 CmdPtr, 5,7,9 CmpChr,6,8,10 <>PTR,11 Cmd 12 '017L'004E'004'020 ;12 Ptr,13,15 Cmp,14,16 <>PTR, 17 Cmd goto300 18 '025P'026I'004N'004'020 ;18 End PTR,19,21,23 Cmp,10,22,24 <>PTR,25 Cmd 26 '064'013'000 ;26 1 byte field delimiter,27 CR,28 Terminator Desired features Cram rutine to compile search mask One byte low-high range search use all the time Search cmd that sets of another srch msk Delimeters search - For processing names Machine code Rutines- Uses stack for variables Readfile Dispatch command getfile3 BX file chr machine code filestart diskrw1a Machine code get data from disk from disk savacc Acc string data pointing into temp data, ebp variable pointer options Dispatch back into a local cram format EAX is Format# savrecrd bx file, dx user# Clear for default W }!20READ1 001103 :read - (Atari only) Reads a text file into the 'W' (word processor) file, stops at '@'. The first use must have an argument to specify the file name. May be direct or indirect and must be preceded by a comma if indirect. syntax first use: read1006 subsequent uses: read W }!20REBOOT 001103 03500201 :reboot - 386 version 5. Reboot the computer. No argument, no questions asked, never returns. W }!20RECORDREJECT 001103 04500201 :recordreject - Requires no argument. Used in Scat load math formats to reject an entire record from the loadup. W }!20REFERENCE 990225 21500201 :reference - Used to insert reference numbers in an encoded string, extract them, or find the location. Requires reference # in the accumulator and three arguments. The first argument (direct or indirect, preceded by a comma if any arguments are indirect or immediate) is the encoded string. Second and third arguments may be direct, indirect, or immediate. When the second argument is 0 it finds the location in the string. When it's positive, it inserts the reference number in the string. When it's negative, it deletes the reference number from the string. The accumulator, after returning, contains the location of the reference number in the string. The third argument is the maximum string length and is needed only if inserting (second argument is positive). This argument may not be greater than 8190. accumulator: 543 syntax: reference,(30),"1","600" result: inserts 543 in proper position in encoded string. Accumulator contains location the reference number was inserted W }!20REJECT 041008 11500201 :reject - Halts math format execution, goes back to input and rejects the entered string. Requires no argument. May be used at any level of subroutines. 386 versions, if argument is 1, load field with data in variable T02. 386 version 5, if argument is 2, load field with data in variable T02 and enter the field. W }!20RELEASE 001103 03500201 :release - Requires no argument. Unlocks the printer for use by other users. W }!20RESCREEN 001103 04500201 :rescreen - (Atari only) Requires no argument. Performs a reject and reprints entire screen contents. W }!20RETURN 001103 04500201 :return - Returns from a subroutine, requires no argument. A return is not needed at the end of a format. W }!20RIGHT$ 001103 04500201 :right$ - Works the same as 'left$', but starts from the right side of the string. Requires two one-byte arguments. W }!20RSCONSOLE 001103 09500201 :rsconsole - Sets a flag to input data from the RS-232 the same as from the keyboard. This flag is cleared whenever an $FF comes through the RS-232 port. An optional argument "64" preceded by a comma, sets the remote computer by the RS-232 port to respond to commands through the RS-232 port. This is used to operate a computer through a modem. W }!20SAVE 001103 19500201 ~SAVE~ Save (file,user#,savelast,postopt) Saves a record to disk. USES - 2BYTE ARGS ARG Required Direct Indirect Immediate #1 _x_ _x_ _x_ _x_ Any valid file character. #2 ___ _x_ _x_ _x_ 255 - Default user#, Otherwise specify actual network user#. (Cannot save to timeshare user#) #3 ___ _x_ _x_ _x_ 0 - Disable save last 1 - Enable save last #4 ___ _x_ _x_ _x_ 0 - Normal posting, 1 - No edit post 2 - No post, 3 - Edit post only sample save"R","255","0","1" W }!20SCAT 020727 13500201 :scat - Initializes a SCAT sorted loadup in background, requires a one-byte argument for the format number to execute in background. Condition set to false if report is already running. syntax: scat9 See also 'sload' and the section entitled 'SCAT Formats'. SCAT9 !75 !75N !SHD75 SCAT11 WSCATCOUNT SCAT30 /30 AUDITTRAIL BACKUP SCAT61 RSCAT SCAT100 LSCATTEST100 W }!20SCREENGOSUB 990531 21500201 ~SCREENGOSUB~ SCREENGOSUB Scrn ,For# Execute a subroutine in a different screen. Scrn - screen to go to For# - subroutines format# Var.Type Required Direct Indirect Immediate Scrn _x_ 0-1279 (0)-(127) ___ For# _x_ " " " 386 version 5. Subsequent arguments are decoded into variables 1023 and following. Version 9: if the first argument is 3 characters, it is converted to the character string of the numeric value of the 3 characters. Example: "254" is converted to chr$(254). For Windowing screens (see '25402) "254","15" Linputs in centering Box acc screengosub,"254","8","len","1 auto entry +2 Upper, 3 auto entry & upper. Ver 9.13 allow a memory pointer over 10,000 to a screen format Sample: &"Enter Name"screengosub"256","8","2" W }!20SCREENHEIGHT 001103 04500201 :screenheight - 386 version 5. Set visible portion of screen. Requires 2 arguments for vertical start and end positions. W }!20SCREENOFFSET 001103 04500201 :screenoffset - 386 version 5. Set offset for displaying screen fields and labels. Requires 2 arguments for X (horizontal), Y (vertical). W }!20SCREENSKIN 040730 16520201 ~SCREENSKIN~ Scrn SCREENSKIN Sets an alternate screen skin display but uses the offsets and the programming from the original Scrn is the 1 or 2 character or pointer > 255. To compile screenuse '>I sc' above the offsets. When on a window terminal and Scrn is 1 character Long or the second character is A to Z, the lower case of the lower case of the second character or 'a' when it is 1 character long is used to display the Window screen if there. Implemented in 12.33 W }!20SCREENWIDTH 001103 04500201 :screenwidth - 386 version 5. Set visible portion of screen. Requires 2 arguments for horizontal start and end positions. W }!20SETFIELD 001103 05500201 :setfield - Sets the field number to return to after the math function. The argument is in the accumulator. Do not use in repeating fields. See also 'setloc'. W }!20SETFORMAT 001103 12500201 ~SETFORMAT~ Scrn SETFORMAT Set screen format for local goto's, gosub's, showscreen, etc. Scrn - Screen Character or Ver 9 memory pointer Sets 974 same as setscreen. Does not change offsets. 386 version 5. Sample: &"I"setformat W }!20SETKEY 001103 05520201 :setkey - Used from global or local 7 format to change control key action on commands machine code executes. For cram executed commands 1003 is set and gotog7 Put key code in accumulator as 1 byte string. W }!20SETLOC 001103 03500201 :setloc - Sets the screen location to go to after math function. The argument is in the accumulator. W }!20SETSCREEN 001103 11500201 ~SETSCREEN~ ScrnSETSCREEN Halts math operation, executes input screen. Scrn - input screen specified This changes the input format and the offsets. Ver 9.13 Scrn can be a memory ptr over 10,000 Sample: &"a"setscreen W }!20SETTIME 001103 18500201 :settime - Sets the computer's time and date according to the data in the accumulator. Uses same format as 'gettime0'. Requires a one-byte argument (not currently used) to compile. syntax: settime0 SETTIME is in the following source: *08 *12 *38605 *CMD05 *LAC05 *VAF05 *38608 *38612 *CQP12 *AMIDI *ATIME *COP *G/L W }!20SHOWSCREEN 001103 11500201 :showscreen - Prints screen labels on the screen, requires a one-byte argument for format number. If accumulator is positive number, don't clear screen. Put label printing at a lower priority in the power divider (after global 9 field instead of before. If accumulator is negative number, don't clear the screen. W }!20SHOWSCREENG 001103 03500201 :showscreeng - Same as 'showscreen' but uses global formats. W }!20SLOAD 001103 14500201 :sload - Loads data into SCAT memory for sorted reports. The starting record number is in the accumulator. First argument is a one-byte argument to specify the SCAT load format number. Second (optional) argument is the ending record number. Third (optional) argument is an alternate file number, used to load data from a different file than the one for which the format is compiled. accumulator: start# syntax: sload2,1025,1006 See also 'scat' and the section entitled 'SCAT Formats'. W }!20SORTQUIT 001103 04500201 :sortquit - Stops the operation of a background format or a sorted load. Use only in the background user. W }!20SPEED 001103 06500201 :speed - (Atari only) Used to slow down screen output and checking of the console for demonstrations. The number of delay loops is in the accumulator. The higher the number the slower the speed. W }!20SPRINT 001103 08500201 :sprint - Works the same as print but does not output a carriage return and line feed. See also 'print' and 'printdev'. Note- !45 and !B54 variables (1003,1020-1025) will not hold if an Error when printing occurs. W }!20SPROG 001103 06500201 :sprog - Saves the program to disk, requires one argument preceded by a comma (direct, or indirect) to specify the filename. File must already exist. syntax: sprog,1 W }!20STOP 001103 06500201 :stop - (Atari only) Stops the execution of a math format temporarily, goes into a linput to input any math commands to do in immediate mode. Continues execution after you hit with no other characters in the linput. W }!20SUM 001005 21500201 :sum - Requires two arguments (direct, indirect). The first argument points to the first variable in the array, the second argument points to the last variable. This command gets the sum of the variables and puts it in the accumulator. Arguments must be preceded by a comma. syntax: sum,23,25 result: adds variables 23 - 25 and stores result in the accumulator W }!20SWAP 001103 04500201 :swap - Requires two arguments preceded by a comma (direct or indirect). These arguments must be the same type. Swaps contents of variables. W }!20SYSTEMTRAP 001103 05500201 :Systemtrap,Trp#,Arg1,Arg2,Arg3,Arg4,Arg5 Calls Palm OS API. May have up to 5 arguments A negative argument is used for 16 bits See Palm OS Reference for API Documentation. W }!20TAB 001103 08500201 :tab - Requires a one-byte argument, forces th1 accumulator to be a specified length by adding spaces or deleting characters. accumulator: This is a test of 'tab' syntax: tab9 accumulator: This is a W }!20TERMINAL 001103 04500201 :terminal - Requires no argument, starts termina1 emulation mode. Use Control Home (or ? on 386 version) to exit terminal emulation. W }!20THEN 001103 05500201 :then - Used in comparison statements, execution begins here if condition is true, otherwise scans for 'if', 'or', 'always', or 'else'. Requires no argument. W }!20TIFF 001103 08500201 :tiff - Display tiff image data. The accumulator contains a pointer to tiff data in memory. There are 9 arguments: number of rows, video offset (from screen beginning), scale, width, compression type, vertical start, horizontal start, horizontal end, video adder,group 4 buffer start, group 4 buffer end. For more info see '25438 and '25441. W }!20TIMER 001103 12500201 :timer - 386 version 5. Set a timer, accumulator specifies number of timer ticks (1/18th second). T00 - T29 are swapped out, error routine (!45) is called with error number 47. Timer is automatically cleared. Optional: This command can also be used to set the timer in another time-share user. Add an argument to specify the user number. Use 0 for the base time-share user and the logical user number for other users. W }!20TO 001103 04500201 :to - May be used in 'printloc' to print more than one location. Use direct, indirect, or immediate argument to specify last field. W }!20TRACE 001103 15500201 trace - Starts tracing of all math commands that are executed. Atari: while tracing you may use 0-9 on the keyboard to change the speed of the trace or any other key to halt the trace and input math commands. 386: use 1 - 7 to set trace speed, 8 to stop, 9 to abort CRAM, 0 to turn off tracing. On 386 versions, set accumulator to 0 - 9 to get same functions when starting trace. Caution: When using 'trace' during dual output (remote) modem access, the 0 - 9 keys will work only from the local keyboard. Use rsconsole,"64":+"1"console to disable dual output and communicate via the modem. W }!20UNHOG 001103 03500201 :unhog - 386 version 5. Re-enable timeshare switching. See hog. W }!20UNTRACE 001103 02500201 :untrace - Stops the tracing of math commands. W }!20USER 990531 Proposed function Machine code And Cram dispatch Should use internal variables so var Variable types be defined at beginning of Cram or assembly rutine use a ,"xxxxx" for a cram rutine Chr 1 Accumulator type Ascii, Number, Integer, Money, 4 place, 6 place 2&Up Argument type Pointer,String, Two byte Command Dispatch screen, User dispatch screen, and Goto screen. Need indirect variables to work on the screen W }!20VALIDATE 040323 :validate - cram command to process field entry W }!20WAITDISPLAY 001103 08500201 :waitdisplay - 386 version 5. Halt CRAM execution until screen printing (fields and labels) is done. In Versions prior to V9.29 Variable used in !45 and !B54 will not hold if an Error printing to the Console occurs. V9.29 ignores console printing errors. W }!20ZERO 001103 05500201 :zero Clears an array of variables. Requires on1 or two arguments preceded by commas, (direct or indirect). The start variable is first argument, the end variable is in the second argument. W }!21 021210 Proposed cram extension ="C" where C is file character, as prefix to a variable command argument is field# instead of offset Compiler must check for field# within range on C.1 type argument scanelse must check for prefix on variable commands W }!25 990225 21500201 :25 CRAM Commands - Math Operators + Plus, adds argument to accumulator. - Minus, substracts argument from accumulator. * Multiplication, multiplies accumulator by argument. / Divide, divides accumulator by argument. & Concatenate, converts accumulator to string, concatenates argument to accumulator. = Equals. Saves accumulator in argument, clears the accumulator. ~ Saves accumulator in argument without clearing the accumulator. Do not use with a string longer than 4 characters. ` Tally. Add accumulator to argument. In comparison statements you may use >=, <>, >, <=, <, or eq. W }!30 990308 21500201 Print Formats Print formats are used with the 'formprint' command to format data for printing. Input screens also use print formats to display screen labels. Brackets ([ and ]) are used to designate field lengths. Example: [ 0 ] This means 'print field 0 inside these brackets'. Variable locations are calculated using current offsets. Any characters outside brackets are printed as they appear on the screen. Example: Customer # [ 1 ] This would print "Customer # " followed by field 1. Field numbers may be preceded by a modifier. Example: [ R10 ] This would print field 10 right justified with in the brackets. Modifiers available are: W }!30a 990308 21500201 Syntax Number Description C 3 Center E 6 Extend pack L 2 Left justify N 4 Name (reverse first and last name seperated by commas) O 7 Overwrite P 8 Printer control code (does not count as spaces) R 1 Right justify Z 5 Zero (prints even if zero) Use 'formprint' with a one-byte argument: 0 - print 4 - print '=' 1 - print and add to total 5 - not used 2 - print total 6 - add only 3 - print '-' 7 - extract totals Totals are stored at variables 1199 and below. Types and values may be changed in these variables. W }!30b 990308 21500201 Command Object Coding: Byte0: bits 0-5 most significant bits of variable 6 immediate 7 extended command bits 3-6 length character (immediate) command #, see table above (extended) bit 7 line feed Byte 1: variable length (extended command) Bytes 2 & 3: variable (extended commands only) Characters for immediate commands: # * + - . < = > X _ x SP W }!35 011030 :35 SCAT (Sort, Combine, And Type) formats are used to load and sort data for printing sorted reports or for posting purposes. Input uses >A math, >P print, >I Screen: File compiler uses >V screen >L S or P (Scat or Post), load format#, file code, header logic (optional), line logic (optional) >N Fields to negate (for posting deleted records) >F Fields to load that are not used elsewhere >T Specifies types of temporaries, will start after loaded fields. >K create key #, N or C (New or Continued, default is continued) >C field#, low limit, high limit, operation (OS/OK/IS/IK) O - skip if outside limits I - skip if inside limits S - standard skip (quit load if field number is 0, skip record if header field, skip key if repeating field) K - skip key Default operation is 'OS'. Limits are temporary variables, or immediate data in quotes. >S Sort mask#, field#, field#, ... Defines data to load into sort key. Field modifiers available are: R - Reverse sort high to low S - sort low to high F - use first L - substitute low* H - substitute high* G - get last (replace)* D - combine, delete key if all 'D' fields are zero* DE used for Indexing C - combine* P - combine & delete, limits -1 to 1* PE used in repeat Fld for PtrPost * - fixed numeric or dates only Alternate filed designators: T - temporary field, followed by number E - post edit flag # - repeating line number >R number of header fields, number of repeating fields. The current line number can be accessed in variable 1261 from the line logic (cram). Commands >C, >F, >K, >N, >R and >T are optional. >K must be followed by >C or >S. >C must be followed by >C or >S. >K, >C, and >S may repeat. The position of >R determines the start of repeating keys. There may be continued keys, but no new keys, before the >R. Immediate string within quotes may be used instead of field numbers in compares and keys. These may contain non-ascii characters, specified by apostrophe (') followed by 3 digits to specify the value. See also 'scat' and 'sload' the section entitled 'CRAM Commands'.Entry And Screen Printing Variables And Registers (Atari) W }!46 030921 Port Assigments Ports are set up on the `I file: Ports DOS Ports Windows 0 Lpt1 0 Window Printer Selection 1-2 Lpt1,Lpt2 1-14 Printers 1-14 3-7 Lpt3-8 Novel Only 8-14 not assigned 15 Console Port 15 Reserved for Console Port 16 x.par file port 16 x.par port Prior V12 Console 17 buffered printer 17 18 Redirect printer 18 Prior V12 Printer 20-127 Terminal (User*2) 20-121 Terminal (User*2) Printer (User*1+1) Printer (User*1+1) 121-127 122-253 Bridge Ports 128-131 Com ports (Boca) User ports+100 132- Com ports (Digi) W }!50 980824 :50 Report Generator Variables INTEGERS 1020-1027 Temporary valiables May be used by commands to store arguments 1028 pointer to field 0, or level that changed if SCAT, or field# if T88eq"84" 1029 character size (1 to 12) Prints control characters at 941+T29 1030 flag 0=80Col,1=wide or condensed, 2=wide & condensed,+2 Scrn Pnt No Message 1031 # columns, x100 # of line between underline 1032 line spacing (6/8) 1033 # lines / page 1034 # lines needed on paper for record 1035 # lines needed for each repeating line, or variable type for SCAT totals 1036 pointer to first repeating field, or pointer to string of codes 1037 # repeat fields/line, or # of non-tot fields if SCAT,a46 checks to set 1038 1038 #repeating lines- Auto Calculates in !a46, or # of totals if SCAT 1039 page # 1040 Last valid line pointer, Last 3-byte code in ref String, Max# Scat Levels 1041 # Extra lines, 1-4 Time in Setup logic, R screen Flag or format# 1042 # lines before new page formprint & print Decrements this variable 1043 Set when entering data- numeric Keyboard code for control & esc Keys 1044 Cursor position in the entry field 1045 LOCCOMND pointer 1046 Repeat inp command Ptr 0 if not on repeat 1047 Start of the entry format set only with the setscreen command 1048 Location of the next input command 1049 Location of the variable to store entered data 1080 setup logic # or 0 to get name for report selection screen 1081 column#, starting with 1 (0 means don't put string into columns) 1082 line#, starting with 0 1083 line pointer 1084 pointer to repeating fields,position in string of codes,or SCAT level# 1085 stack pointer for top level get next record, or Scat header dispatch !65 1086 stack pointer for logic level skip line printing, or Scat line dispatch !66 1087 used to save 1086 from heading logic 1088 Rep format# 95 norm,1 lev,117 key,2 bgr,79 single,166 Word list (Next Page) 1089 Longterm available for Report Programer use 1100-1103 used on the r screen 1261 Line# Scat load up, 0 header, 1-XX Repeat Line STRINGS 1003 Temporary- Alt or Cntrl Character from keyboard entry, Print on Word files 1004 Used for chr$ 13 in !07 1005 Temporary variable,used by macro logic 1006 Longterm available for report programer use 1007 Flag F No heading with Form feed, N No Heading & formfeed. (Next Page) 1008 flag for screen or printer output (S/P) or net user 0-9 1009 flag for normal or scat (S), or (B) for backward pointer 1010 file code 1011 report name 1012 starting # 1013 ending # 1014 report date (chars.1-40), time (chars.41+) 1015 subfile for PTRs, or lowest SCAT level subfile, null flag for repeat lines 1016 SCAT load format # (setup logic), or flag to skip SCAT total (total logic) Word File for repeat lines 1017 !166 for multiple copies, Start Scat load rec, Screen Chr for function Temporary in dispatching Help screens 1018 Used in global Temp,End Scat load,Save Access Code,help-screens>ascii 128 1019 Entry Screen code- !07 Clears it when from F10 Screen 1090 Date flag C,F 2 dates or D,G 4 Dates. G,F Force to be start & end periods H acts like G but restricts dates, use for posting I acts like C but defaults Start to first of year 1090-1198 set to string when entering report generator, used to get report title 1101-1198 Used by report generator to columnize data 1199-1279 Temporaries may be used in reports and word spreadsheet calculation DATES 1075 Operator Entry Start Date 1076 Operator Entry End Date 1077 report date LONG-TERM 977 submenu screen code 978 print flag W }!502 980824 :502 1041 Number of extra lines need for printing, Set to 0 except for footnote logic Positive number allows more lines and negative less lines per page Set to 1-4 set by report generator to indicate which pass in setup logic 1- Getting name for report screen, 2- Starting the report For scat reports 3- Before loadup, 4 after loadup & before printing Option or Flags set in Setup logic to designate options on the r screen and/or scat loadup. Dates normally default to beginning of year (1078), beginning or month (1075) and end of the month (1076 & 1079). If forground report the start & end number are loaded but not in scat. 7 use 1012 and 1013 to limit scat loadup as ascii Codes Rep 630,9ROD03 8 Load alternate file with file character in 1010 forces start at null and end at 999999 integer code, Rep 419 9 Start (1012)/End (1013) are integer code, Doesn't change Dates 1075-1079 Rep 5MES26,9CMH09 10 Start (1012)/End (1013) are integer code, Sets dates as normal Rep 334 23 Set 1075 same as report date, set 1076 to 6 days after 1075 24 Set dates to the same as report Dates 5MES18 26 Set 1075 to last date of previous month 27 Set 1075 to null date 28 Set 1079 to null date, 1075 to beginning of the century 511 29 Set 1075 to 1 year before 1076 30 HUE set 1076 to 2 years earlier 30-34 ROD get End of month ahead 1 to 4 months Scat load flag used in report !B95 to save scat loadup for loading multiple dir 1088 Report format# that loads the next record to process 1- Scat Background Report (g121) get next key and check level change. 2- Background (BGR) Report but uses normal logic (95) for loading records 79- Single record Don't try loading another. Goes directly to total logic. 84- Indexed report, put field# in T28 95- Normal logic loads the next or when a B in 1009 the previous record 117- Get next key and load 1010 record from 1094 5th key 166- Use a list on the Word file, Access by a ' at the start# 1007 Heading Flag- Null Standard Heading, F No Heading but Formfeed N No Heading and Form Feed. Used in !70 temporarily before setup logic. report generator documentation W }!504 980824 :504 Report Generator Routines ------------------------- 70. Load report names & setup submenu (print instead if print flag set) 73. Process menu selection & goto report preparation 75. Print Report 79. End of report 80. Do logic specified by accumulator 81. Skip printing record 82. Skip printing line 83. Check if record will fit on page 84. 85. Check if # lines in accumulator +1 will fit on page 86. Find last valid repeating line & # of lines 88. Start new page 89. Printer initialization 90. Print columnar page 92. Print footnote 93. Form feed or clear screen, only if standard heading 94. Print line or add to columnar report 95. Load next record 96. Get next repeating line 98. Initialization for 96 99. Exit 100. Form feed 101. Clear screen 102. Create string of hyphens 103. Print page or column heading 104. String up city, state zip-ext 105. Format 8-char. date 106. Loop to pad column before starting new one 107. Change variable types 108. Print string centered in 80 columns 109. Print # of line feeds in T42 113. Set variable types for SCAT totals 114. Get variable types from T110-T129 116. Set T79 to first day of month in T77 117. Get SCAT key and load record (substitute for 95) 118. Convert date string to YYYYMM string 119. Convert 3-byte code to integer P18 Screen Dispatched ecr##cr##.... e-Entry Chr,c-code in 1003,r-Report Chr ## Screen Report # ,+50 hardcopy printer,A-E Output Specified in 1008 P39 Rolls Standerd fields, 1 month ahead of 1077, uses 1089 for flag W }!506 980824 :506 Dispatching Report with Alt Keys when 1003 has Alt Code. gosubp18 with acc set, Acc 'SKRNNKRNN...' S -Screen to return to K -Alt Key in 1003 to start the report R -Report screen # NN-Report # +0 screen Print, +50 local printer 1008 (S,P,0-9) Specify printer when A-E (0-4) 10's digit W }!508 980824 :508 Report uses 6 routines Start at Report # * 6 +8 >a +0 Setup logic Executed up to 4 times at the beginning of reports ; Get report name for Report Menu ; Set variables for report ; Scat only Allow processing after date entry ; In background before printing sorted data if1080>"0" ;1080>0 Means computer if 0 Means only getting Name &"B"=1010 ;1010 if file character to process always:&"Report Name" ;Report name must be last in the format >a +1 Heading Executes once per page &"HEADING" ;Heading in the accumulator >a +2 Record Logic ;Executes once per Record &200 ;Line to print is left in accumulator >a +3 Line logic ;Used only for repeating field reports &220 ; only active when 1036 > 0 not used otherwise >a +4 Footnote or when 1036 >"0" it Record total gotog82 >a +5 Rport total Logic Executes once at end of report Entry points gotog82 ;Do not print gotog81 ;skip record & get next one W }!55 031006 :55 Appendix C - Control Key Codes getconsoleinkey$linput:else:jump251 Control The following section is for functions keys, Keys alternate keys, etc. In Cram format 7, the code is in T03. From inkey$ 128 is added. On serial 0 Ctrl 2 interfaces is sent before the code. 1 A 2 B 3 C A0 32 - 47 Shift F1 - F16 4 D B0 48 - Alternate 0 DB 91 5 E B1 49 1 DC 92 6 F B2 50 2 DD 93 - Ctrl M * 7 G B3 51 3 DE 94 - Shift Help ** 8 H B4 52 4 DF 95 - Home 9 I B5 53 5 E0 96 - Insert 10 J B6 54 6 E1 97 - Undo * 11 K B7 55 7 E2 98 - Help ** 12 L B8 56 8 E3 99 - Up Arrow 13 M B9 57 9 E4 100 - Left Arrow 14 N BA 58 - E5 101 - Right Arrow 15 O BB 59 lead-in, 60 unused E6 102 - Down Arrow 16 P BD 61 - Alternate = E7 103 - Shift Up 17 Q 62 - 63 unused E8 104 - Shift Left 18 R 64 - rsrvd for key files E9 105 - Shift Right 19 S C1 65 - Alternate A EA 106 - Shift Down 20 T C2 66 B EB 107 - F1 21 U C3 67 C EC 108 - F2 22 V C4 68 D ED 109 - F3 23 W C5 69 E EE 110 - F4 24 X C6 70 F EF 111 - F5 25 Y C7 71 G F0 112 - F6 26 Z C8 72 H F1 113 - F7 27 [ C9 73 I F2 114 - F8 28 \ *** CA 74 J F3 115 - F9 29 ] CB 75 K F4 116 - F10 30 6 CC 76 L F5 117 - F11 31 - CD 77 M F6 118 - F12 CE 78 N F7 119 - F13 32 - 127 CF 79 O F8 120 - F14 corresponding D0 80 P F9 121 - F15 character D1 81 Q FA 122 - F16 D2 82 R FB 123 - Page Up D3 83 S FC 124 - Page Down D4 84 T FD 125 - End D5 85 U FE 126 D6 86 V FF 127 - Delete D7 87 W D8 88 X D9 89 Y DA 90 Z * - Not available on terminals ** - Atari ST only ***- Alternate escape code for terminals, do not use W }!55D 980824 :55D Appendix D - ASCII Codes 32 - Space 64 - @ 96 - ` 33 - ! 65 - A 97 - a 34 - " 66 - B 98 - b File: R:\ABCDOCS\CRAM.TXT continued continued continued continued continued continued continued continued continued continued continued continued continued continued continued 35 - # 67 - C 99 - c 36 - $ 68 - D 100 - d 37 - % 69 - E 101 - e 38 - & 70 - F 102 - f 39 - ' 71 - G 103 - g 40 - ( 72 - H 104 - h 41 - ) 73 - I 105 - i 42 - * 74 - J 106 - j 43 - + 75 - K 107 - k 44 - , 76 - L 108 - l 45 - - 77 - M 109 - m 46 - . 78 - N 110 - n 47 - / 79 - O 111 - o 48 - 0 80 - P 112 - p 49 - 1 81 - Q 113 - q 50 - 2 82 - R 114 - r 51 - 3 83 - S 115 - s 52 - 4 84 - T 116 - t 53 - 5 85 - U 117 - u 54 - 6 86 - V 118 - v 55 - 7 87 - W 119 - w 56 - 8 88 - X 120 - x 57 - 9 89 - Y 121 - y 58 - : 90 - Z 122 - z 59 - ; 91 - [ 123 - { 60 - < 92 - \ 124 - | 61 - = 93 - ] 125 - } 62 - > 94 - ^ 126 - ~ 63 - ? 95 - _ 127 - Delete W }!55K 020712 ABC Global Key Functions To: Clair,Robert,Andrew,Malon,Tim }!55K Keys that changed (D,F,K,J,U) Flag show Cmd for fnction & Press Enter for New Other that aren't used display new command Key Move Reports to F11 report menu, F4 Should Drop Macro Menu Function Shift Function F1 Field Help Screen Help F2 F3 Calculator F4 Macro Start/End Macro F5 Close lookup Exit All Lookups F6 Lookup Alternate Lookup F7 Load Previous Index Previous F8 Load Next Index Next F9 Save Delete Record/AuditTrailUndo F10 Selection Screen Drop Down Menu F11 Reports F12 Calculator Insert Insert/Overstrike Alt-V Untrace Window Function PageUp Upscreen UpScreen PageDn DownScreen DownScreen Home BegLine BegLine End EndLine EndLine Shift+CsrMove Highlight Ctrl ABCFunction ABCPrior Window Funct ABC Change Home ExitTerminalMode TopRepeat ABc Shift Up End BotRepeat ABC Shift Down Del DeleteWord ABC Space Enter A AddLine All B AuditTrailUndo Bold B to Shift F9 & Added Msg C CompileCode Copy Text D Duplicate DownLine Change downline to arrow E Erase F Find on Lookup PhoneDialing Find F to T G Goto Loc/Field H Backspace I Tab Tab Italics J Journal Jump line J to G K Journal Cram Compile K to R L Load Last C/V M Mail Merge N New Record Load Next New Record Use F8 to Load Next O Open P Print LoadPrev Print Use F7 to load Previous Q R Cmd> Line (W) Run Change W to Alt-R Enter? S Save ShipToUPS Save S to Alt-U T Telephone U UpLine Underline Remove Up Line V Paste W PlaceOnWordList (W) compile X Cut Y (W) Set Colors Redo Change Crtl-Y on W screen Z UndoPreviousField Undo Add Undo Previous Field Global / Semiglobal Alt Keys B Code Fld & Msg? Back by C/V Moved to Index (Shift-F7) C Clear Record Moved to Ctrl-N E Edit Menu F File Menu Forward by C/V Moved to Index (Shift-F8) H Help Menu L Load Menu Load Last C/V Changed to Ctrl-L M Macro Menu Changed to Ctrl-M N Next Item Next Item Untouched O Options Menu P Previous Item Previous Item Untouched R Report Menu U Ship to UPS V View Menu Fax Changed to F11 V How to go about change: The Alt Key dispatches for the menus will need to be placed into Global and Then tested on All screens to see what local screens intercept them. W }!55L 020520 ;keystroke logic change for version 11 16 bit var-locchange 'validate' command to execute field option from cram (global 7) set flag so cram knows it is executing a 'validate' reject checks flag, if not same inputloc, do a 'return' if same, process reject validate enters after 'getfield' in 'nosubfi1b' return in 'editinpt' W }!66 030527 ;Documentation for Remote Sync How to enter file characters < 32? Where is the current file structure? Programming is in '12670 to '126A00 1. Make sure version 10 is installed and operating with a dedicated modem user. Must have the bug fix '24030 dated 020902 compiled in *.par file must have size 30000 after type 1 (see 386PAR) 2. Make sure your current data files are backed up. 3. Optional: Use 842 to dump out p,t,'008 files (be sure to use proper case) at number non-repeat press enter for whole file Enter, to print options and enter a D. Enter Transfer for File The first time if asked to O)verwrite or A)ppend. Enter O for the rest of the field enter A to Append. 4. Make sure PARAM.DAT, HELP.DAT, SORT.DAT, AUDIT.DAT are in ABC directory You can get from the web at ABCSoftware.us 5. If there is no master directory Set up the master directory. Determine the name of your Data file and device used (8-13) will display it. If the device is other than P, exit the program and come in in single user. on the W screen Alt Y, 0P for device, and type your data file name. From W screen on blank line enter +"240" setscreen ctrl C Enter the top of the MASTER DIRECTORY below. Press F9 to save the master directory, P for Device, Enter for default file, 0 for offset. Alt S P for device, Enter for default file, 0 for offset will reload master. Enter bottom part of master directory F9 to save completed master directory. Immediately before doing any thing else Exit Ctrl-X and restart Alternate method: To copy a master directory from MASTER.DAT +"240"setscreen to load from Q MASTER.DAT offset 0, change dev on dir 1 to * to clear device, to save to P abc.dat offset 0 7. Use 7-42 to load PARAM.DAT from transfer file dumped with 8-42 Alternate method: Use WUTLXFR to copy p, t, and '008 from directory 1 to directory 2. 8. F10 0 Alt T select option for remote sync. if you don't have it down load from www.abcsoftware.us/prg. Type R + the User number of your remote as 3 digits (007) and the files you want to transfer. and save Read/Write ZCEGIJKNSVYj1" " indexing }s[mm F1 Message Box Help mm is 2&up of mesage Id ? }s[+mm Default Tutor Message Help Example message code is [C01] F1 Message Help is }C[C01 Tutor Default Help }C[+C01 When Screen is C & Tutor Code x Tutor Help is }C+x[C01 { Reserve for Custom Help Window location Size is started on the 2nd line 9th chr LnWdTpLf:xxxxx Ln Length, Wd width of window, Tp Lines from Top, Lf Chr from Left The : at the 17 chr indicates there could be a remark that follows Links go on third line under the date. Use a : before the link on 1st page that dispatches help from another screen so PgUp & PgDn opperates. Example (I) Unit Help Line formatting codes, 1st chr on line, may start on 3r line #-monospaced font, no reformatting in manual * *-in help screen, not in manual * !-in manual, not in help screen * &-in manual, no formatting, not in help screen * $-designates index entry, not in help, not printed in manual * W }!80 000327 Window Terminal Between DOS & Window Terminal Macro- May not start, Pause or End on a Partial Field Must be acessed through the Drop Down Macro Menu Macro must be Recorded on DOS terminal p W }!81 001103 Palm Documentation CrawRecInfo Cmd Esc,R,Port#,TotLen,Ordinal#,StackLen,StackData,CraWRecInfo Err.l SyncDeleteRec (CrawRecInfoPtr) Err.l SyncDeleteResourseRec (CrawRecInfoPtr) Err.l SyncReadNextModifiedRec (CrawRecInfoPtr) Err.l SyncReadNextModifiedRecInCategory (CrawRecInfoPtr) Err.l SyncReadNextRecInCategory (CrawRecInfoPtr) Err.l SyncReadRecordById (CrawRecInfoPtr) Err.l SyncReadRecordByIndex (CrawRecInfoPtr) Err.l SyncWriteRecord (CrawRecInfoPtr) Err.l SyncWriteResourseRec (CrawRecInfoPtr) Protocal Esc,Command,Port#,TotLen,RetLen+Ptr,Ordinal#,Len,DllName,StackLn,Buffer Bytes 1 1 1 2 2 2 2 1 x 1 Commands: Modified, Next, Write, Delete Open, Close, Purge all rec, ResetSyncFlags, Log error Bytes Header Palm CrawRecordInfro 1 File handle-Open data base to use (11/00 only allowed 1) 4 Record ID Is assinged by Palm, New record is 0 and returns with ID 2 Record Index Optional way to access record, May change between syncs 1 Attributes Hbit 7 deleted, 6 Dirty, 5-Busy, 4 secret, 3 archive, 0-2 Spare 1 bits 7-4 Category ID 3-0 spare 1 Spare 4 Conduit Id 4 record length (Intel) Can be larger than the buffer 2 Buffer size (Intel) 4 Pointer to record location (Intel) 4 Spare Palm Address Book Data Structure 4 Options ????? display of Name, Company, and Phone Number for list 4 Field Mask Each Lbit 0-31 (Motorola) indicate missing fields in data stream 1 Pointer from itself to Company Name x to record length pack ascii field data with null (chr0) terminator Fields Palm Address ABC 0 Last Name 1 if (,) set last name, first Else in company 1 First Name 2 Company 2 if no (,) in 1, else 1 if comms set last,first name 3 Work Phone # 7 4 Home Phone # 27 5 Fax # 34 6 Other Phone # 24 Contact Person 7 E-Mail 6 8 Address 2 9 City Z1 10 State Z2 11 Zipcode 4 12 Country Z3 13 Title 43 14 Custom 1 20 15 Custom 2 21 16 Custom 3 22 17 custom 4 23 18 Note 1st page Alt K screen Category (0-15) W }!81a 010709 Category for customer,vendor,name,Employee,Job,+10 others New Device and slow sync 1- Hog add 1 to sync# unhog 2- Archive and delete all in category not in index 3 Purge the device 4- Save whole list 5- Save record Id for device 6- Update palm sync# Slow Sync 1- Hog add 1 to sync# unhog 2- Get next record 3- Compare if record is modifies 4- Proceed with fast sync 3 Fast Sync Implemented 12/00 1 Hog add 2 to sync# Record (} !,Field2) unhog set sync to CurrentSync-1 Sync transfers to other Palm devices, sync-1 also writes back to palm 2 Read modified records from device a New record Generate code & Indexes, and update set PC&Palm to Sync b Changed also on PC ifPC sync equal Palm then palm updated it if not then set PC to sync-1 to write to palm & Palm to sync, Check for a duplicate Record by adding ! to PalmID if none Duplicate record set PalmToABCIndex with an ! after the PalmID and ABCtoPalmIndex with a ! before the ABCFileCode. Set PC&Palm to Sync-1 c No change on PC update record set PC&PALM to sync d Delete - set PC to Sync-1 Write to Palm (Palm may not delete) 4 From 0 file Index delete records on palm (user deleted on Desktop) 5. write records from previous sync to current sync-2 to palm 7 purge delete records on device 8 reset sync flag on Device 9 Place current sync on palm pilot record on desktop Operation All ABC changes are sent to the Palm Deletions may only be made in ABC (Palm May not Delete PC Rec) Changes on Palm Change ABC. if ABC also changed it, PalmRec is Duplicated if Palm is Sync with another PC, Changes on the Palm are lost to ABC Field data may not be more than 256 bytes Filter with a P in print code ABC Palm Hot Sync Files ABCFile 0 Field0 Field1 Sync# ABC Sync# } ! Current Sync# PalmUserName }Space,FullPalmUserName ABCNameName(!! to }}) PalmToABCIndex }ABCNameCode(2),PalmID(9) ABCFileCode Prior Sync# When PC & Palm Change Duplicate adds a ! to PalmID ABCToPalmIndex }ABCNameCode(2),ABCFileCode PalmID When PC & Palm Both Change Duplicate adds a ! before ABCFileCode ABCDeleteIndex |Sync#(7),ABCFileCode W }!81b 010709 ABC side Receive Data >version#,UserName Esc V Port# MsgId Length(2) Version#(2) CSyncPropertiesClass 4 SyncType 0 fast, 1 slow, 2 Device to Pc, 3 PC to Device 4 instal, 6 do nothing, 7 Profile install 256 Path Name 256 Local File Name 256 User Name 128 Remote Name [SYNC_DB_NAMELEN] 4 CDbListPtr 4 Remote Count Int 4 Creator 2 Card# 4 DbType 4 ApplicationInfoSize 4 Sort info size 4 First device 4 Connection type 256 Registery 4 HKey 4 Reserved 1198 < Commands from ABC to Palm, > Data From the Palm Command Data Format Esc C Port#(1) Msgd(1) Length(2) Cmd(1) Spare(2) Data 0 Command To Palm Cmd Data Command To Palm Cmd Data < Error code to Log Esc C 5 Error < Close DataBase Esc C 2 < Open DataBase Esc C 1 AddressDB < Close Conduit Esc C 0 < Send Modified data Esc C 6 < Purge Esc C 3 < Delete Esc R 0 CrawRecordInfo < ResetSyncFlags Esc C 4 < Write Esc R 7 CrawRecordInfo Data Sent from Palm to ABC > Send Records Esc R Port#(1) Msgd(1) Length(2) Table(2) CrawRecordInfo > Version# Esc V See Above W }!82 040409 Window Programing P Window Printer Support Z Servor cpm[atibility with Version 11 Cram W }!82P 030617 P Window Printer Support Multiple Printers Show Window Selection Designate ObjectType - Basic Sourse (Search for ABCObject1) ObjectType 19& Up is for printers 19 PrinterOut - Puts Daa to the printer 20 EscPrintCode - Other than Esc P 6/17/03 no Programing 21 Esc P Code - Handles ABC Window Printer Driver, font Sizes etc PortTypes (See _386ports) (12 WinTerminal, 13 WinPrinter reversed on server) W }!82Z 030617 Z Servor cpm[atibility with Version 11 Cram Compile following from V12 sourse to make prior Cram compatable with abcwin.exe These rutines also work with Prior exe versions !C23 Sets 1022 to 0 When runing abc.exe,1 when running abcwin.exe !D34 Check 1022 from !C23 and don`t add 982 if running abcwin.exe 700SA Check 1022 from !C23 and don`t add 982 if running abcwin.exe W }!90 980824 :90 GENERAL-PURPOSE ENTRY ROUTINES 15 error message in acc & reject entry 19 error message in acc, allow C or 1 to override reject 27 Acc date#, return with Day name,Month day & year in acc 30 Beep and do global 31 31 Display 1018 & give Y/N option without beep and set condition flag 32 Error message Item ........ 'not found. press return & reject entry 33 error message ....... are the options, reject 34 Get 4 bytes number motorola format 35 error message in acc, return with response in acc 44 get 2 bytes number motorola format 49 Acc file chr. check if changes on file. True- Changes, False no changes 101 clearscreen of console device p43 Checks for a control C to allow F10 to abort p109 print message on screen bottom p110 beep & Print Message on screen bottom p125 Change 1002 to string and set to the accumulator p146 Gets time in accumulator p170 enter single-char field - acc.=string of possible entries:&"34567"gosubp170 p146 Return with current time in the accumulator p155 Toggle condition flag p156 Set condition to true p199 In Acc File Chr, Save Record status p200 restore file status saved in p199 p201 get 2 bytes in intel if on 386 or motorola if on 68000 p202 return true with version# if 386, false if 68000 p205 Check Entry agains field selection choices entered on the 0W screen p206 Acc File chr. Check if it is a new record. True new, false old p217 Get user number in the accumulator & false if timeshare user p218 Check if in current period p219 Do not allow to skip reference# p220 Do you really want to change this field q8 Acc-Fxx Dispatch Lookup screen, F File Char,xx Subrutine Option# q9 Fxx Ckeck for valid G/L inf not lookup screen F File Chr, xx Subrutine # q10 &"fll"gotoq10 Make sure f record or dispatches to lookup q30 poke Q filename. filename in acc, if acc eq"." q30 will ask for file name. returns true if file found, returns false if file doesn't exist q31 get 4 bytes Intel format. put address in accum. q32 peeks 'Q filename, returns with filename in acc q50 Loop to delete Temporary sort file for user# W }!9520 980826 ;machine code - indexing logic flow Save D record savrecrd chkpstme check post memory, post all keys if not enough memory getrecrd contsrch to find existing record TempA, TempB,TempM, TempE indxdsk on old record (can re-enter save logic) postload on old record savfield to create record in save buffer insrtrec auditrail movtrck, splittrk if necessary insrtrec6 update load pointers movem16 to insert the new record auto backup send new ref# on net indxdsk postload savaudit, save audit trail record save record index save index split track, messes up TempA TempB for original save stack for TempB for each level of indexing (2 total) save in indxdsk5 for cram and disk indxnext needs to update it instead of esp+50 index4a, remove it from stack (cram and disk), restore tempA save tempM instead of tempB at esp+50 Andrew can change to index4a W }!9530 040106 Directory Directory Structure Error 9530 More Files are in the multiple Master directioreis, than can fit on the 0 directory Track. Some Master Directories in Dir0 must be removed Bytes 0-1 1010h Master Dir, 00 directory, ffff data track 20xxh Write Prote 2-3 EOF End of File ptr, Master Dir Dev & Offset start 16 bytes up 4-7 - undefined 8-9 - *256 (Intel Format) is block or buffer size 10-11 - checksum of block 12-15 - 10/01 Ptr to Track Index Master Directory Entries for splitting files amoung directories: - Entry format: first byte - file code, - Entries must be sorted in reverse alphabetical order. - Entry list must start with FFFFH and end with an entry consisting of a null filecode and a directory of 1 (00008001H). - Entries start immediately after Header (at byte 16). Master Directory Device Listing starts at FFFF (EOF) terminator 2-3 #Dir Number of Directories 4-15 undefined 16-17 Start First Device table 16 bytes each Motorola Format 0-1 Device (254-use handle, 255-use same as master dir device) 2-5 Offset 6 0-unlisted, 1-List Company in company selection 7-9 Undefined Initilized to Zero 10-11 Device if there is a 255 to use default device 12-15 Directory Memory location (set when master Directory is loaded DOS File Listing #Dir*16+EOF+16 0-1 Length DOS File Listing 2-7 Not defines Initiilized to Zero Dos File Names 96 bytes each Used also by disk command Entry 0 MasterDir 0-1 File handle When device is 254 Firs Entry 2-3 File handle is 32-bit in version 12 and later 4-15 Undefined 16-95 File Name - W }!9540 000512 Printing With Pass through Ports Start 255 Port# 0-227,command >228 ,228 start,229 stop, 230-254 undefined Length of data Data Pass through printing Does not work with RS-Transfer or packed data because the leadin is the same and high bits can be set with command or port# W }!a 960510 Help screens Index P 4/96 Loans B 5/95 412 Balance doesn't Equal L screen see }412a B 5/95 Deposit doesn't post of change Balance Prior Period, Not set up right W }"(*a 031121 Shipping - Zip Code to Zone Conversion (") W }"*a 040602 21600410 Shipping Zones (") ABC SHIPPING MANIFEST MODULE - The Shipping (;) screen uses the Shipping Zones (") screen to determine which pricing record from the Shipping Rates by Zone Function (:) screen the shipping charges are calculated from. The calculating program uses the ship method code and the first three characters of the zip code and tries to load the Shipping Zone record. If the record is not found, it loads the previous record. If the first three digits of the zip code are the same as or between the last three digits of the code of this file and that entered in the End Zip field, the computer calculates the shipping charge using the zone in the Freight Zone field. Otherwise the ship charge is cleared to 0. These files are supplied with the program for a particular shipping location and should not be changed. $ shipping manifest module (") W }"00a 980604 06520615 Code, Start Zip (") This is the Ship Method Code, which must be set up on the pricing screen (:), followed by the first three digits of the zip code. Example: LR000 W }"01a 980604 05520615 End Zip (") This is the first three digits of the last zip code for this zone section. W }"02a 980604 05520615 Freight Zone (") This is the freight zone and is used to calculate shipping charges. W }"03a 980604 05520615 Country (") Enter the name of the foreign country to which this record applies. W }"04a 980604 05520615 Maximum Weight (") Enter the maximum weight you may ship on this ship method and zone. W }#(*a 031121 Utilities - Set Up Financial (#) File Tools Edit Macro Help W }#(Ea 031003 M04210303 * ~EDIT Help . . .~ * Copy text ~Ctrl+C~ * paste text ~Ctrl+V~ * cut text ~Ctrl+X~ W }#(Fa 030729 M12260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ W }#(Ha 040604 M03340303 * using ABC Help ~ H ~ * Field help for current entry ~ I ~ * Account structure requirements~ A ~ I }R*i H }R*h A }#a W }#(Ta 030916 M09260303 * ~Tools Help . . .~ * Find (search) ~Ctrl+F~ * show Go-to location~Ctrl+G~ * Journal/date & time~Ctrl+J~ * Journal/date only ~Ctrl+K~ * dial Telephone ~Ctrl+T~ * put on W processor ~Ctrl+W~ * undo changes ~Ctrl+Z~ * calculator ~Shift+F3~ O }#*o W }#*a 040604 21600410 * SETUP COMPANY AND GENERAL LEDGER SCREEN (#) * * ~SETUP~ Company and G/L Screen Explanation * * ~FILE Help . . .~ ~TOOLS Help . . .~ * New record ~Ctrl+N~ Find (search) ~Ctrl+F~ * close lookup ~F5~ show Go-to location ~Ctrl+G~ * close all lookups~Shift+F5~ Journal/date and time ~Ctrl+J~ * open lookup ~F6~ Journal/date only ~Ctrl+K~ * alternate lookup ~Shift+F6~ dial Telephone ~Ctrl+T~ * save record ~F9~ put on Word processor ~Ctrl+W~ * delete record ~Shift+F9~ calculator ~Shift+F3~ * selection screen ~F10~ ~EDIT Help . . .~ * go to menu bar ~Shift+F10~ Copy text ~Ctrl+C~ * Exit one level ~Esc~ paste text ~Ctrl+V~ * exit ABC ~Alt+F4~ cut text ~Ctrl+X~ * ~QUESTIONS about . . .~ * FIELD Help~ I ~ * Using ABC Help~ H ~ I }R*i Q }#*q E }#*e F }#*f T }#*t H }R*h S }#*i W }#*e 040602 21600410 Edit Help (#) ~Ctrl+C~ copies text. Place your cursor on the field that contains the text you wish to copy and press Ctrl+C. Then move your cursor to the field you want your information copied to and use use the paste (Ctrl+V) function. $ copy text $ Ctrl+C ~Ctrl+V~ pastes text. Any text that has been copied (with Ctrl+C) or cut (with Ctrl+X) may be pasted into any other field by using the Ctrl+V function. Simply place your cursor in the field you want to copy the information to and press Ctrl+V. $ paste text $ Ctrl+V ~Ctrl+X~ cuts text. Place your cursor on the field you want the text removed from and press Ctrl+X. The text will disappear. If you want to replace this text in another field, simply move your cursor to that field and use the paste (Ctrl+V) function. $ cut text $ Ctrl+X W }#*f 040119 21600410 File Help (#) Press ~Ctrl+N~ to clear the screen without saving or unsaving the current record, and set the reference number to the next available number. $ Ctrl+N $ new record # ~F5~ Exit Lookup ~Shift+F5~ Close All Lookups # # ~F6~ Open Lookup ~Shift+F6~ Alternate Lookup # # ~F9~ Save Record ~Shift+F9~ Delete Record # # ~F10~ Selection Screen ~Shift+F10~ Go to Menu Bar # # ~Esc~ Exit One Level ~Alt+F4~ Exit ABC W }#*i 040602 21600410 Explanation for Setup Company and General Ledger Screen (#) This screen is used for entering information such as the Company Name, Address, Phone Number, Bank Accounts, Code Generator and General Ledger Numbers. $ company name (#) $ code generator (#) $ bank accounts (#) $ General Ledger Numbers (#) Follow the onscreen helps for guidance in filling it out correctly. A message bar at the bottom of the screen gives quick helps. F1 gives help for each field. Shift+F1 gives hot key help and explains the requirements for structuring your accounts correctly. The menu bar at the top of the screen is accessed by pressing Shift+F10 and gives a listing of hot keys. W }#*q 040603 21600410 * Questions (#) * * To learn about account structure * requirements, press~ A ~. * A }#a W }#*ta 040826 21600410 Tools Help (#) ~Ctrl+F~ accesses a search engine, enabling you to find words, phrases and/or numbers. Press Ctrl+F. Then enter the information you want to find. The computer will search all records on the file for that information. $ search engine ~Ctrl+G~ Gets or Jumps to the address of a certain field. When you press Ctrl+G, a message box appears telling you the address of the field your cursor is on. You are also given opportunity to jump to another address. Enter the location number of the field you want to jump to, or enter F and the field number of the field you want to jump to. $ note pads ~Ctrl+J~accesses a journal to keep on file anything that you want to remember about this purchase order. To see previous notes, press Ctrl+J. When you are done, press F9. The notes will be saved with the date and time. $ journals * ~PgDn~ $ At entry location . . . T }*tne W }#*tb 040603 21600410 * ~PgUp~ ~Ctrl+K~accesses a second journal. It is similar to the Ctrl+J journal, but files your notes with only the date. $ telephone dialing ~Ctrl+T~ dials Telephone. For detailed help, press~ T ~. $ list, word processor ~Ctrl+W~puts the currently loaded company's code on a Word Processor list. To see the list, press F10, W, Ctrl+N (to clear the screen); and then type #LABELS. To learn more, press~ W ~. ~Ctrl+Z~ undoes present changes to the line or field the cursor is on. * ~PgDn~ T }*tne W }*tnb W }#*tc 031003 21600410 * ~PgUp~ ~Shift+F3~ brings up an accountant's calculator. # + adds or totals - subtracts / divides # * multiplies ) clears ( exits calculator # = totals or equals $ calculator W }#01a 031028 06520615 Company Name (#.1) Enter your company name. The name will appear on most screens and will be printed at the top of each page on most reports. W }#02a 040602 07520615 Company Name - Second Line (#.2) $ 3-13 report (#) This line is for additional company information. It prints on Report # 3-13, CUSTOMER INVOICES ON PLAIN PAPER, and on Report # 3-31, STATEMENTS ON PLAIN PAPER, as part of the heading. $ 3-31 report (#) W }#03a 040602 07440621 Street Address (#.3) Enter your company's street address. The address will print on Report # 3-13, CUSTOMER INVOICES ON PLAIN PAPER, and on Report # 3-31, STATEMENTS ON PLAIN PAPER. W }#04a 040119 07520615 Zip Code (#.4) Enter the first five digits of your company's zip code. A separate field is provided for the extension. As mentioned before, the address will print on plain paper invoices and statements. W }#05a 031028 06440619 Zip Extension (#.5) Enter your company's zip extension. The address will print on plain paper invoices and statements. W }#07a 040602 12440620 Phone Number (#.7) Enter your company's phone number. The phone number will print on plain paper invoices and statements. Seven or ten digits format automatically. $ additional phone or FAX numbers (#) $ phone numbers - additional (#) There is room to put additional phone or fax numbers. However, if you enter more than one phone number, the numbers do not auto-format. W }#08a 031028 05420620 System Date (#.8) This is the date that has been set on the Startup (*) screen. W }#09a 040602 08520615 Year End Month Number (#.9) Enter the month number in which your financial $ financial year end (#) $ fiscal year (#) year ends. It may be left blank if it matches the calendar year. The annual totals on the Customer and Inventory screens are rolled based on the fiscal year. W }#10a 040602 09480615 A/R Account Number (#.10) Enter the G/L account number for Accounts Receivable. This is used by Report # 3-14, CUSTOMER PAYMENT LEDGER, and Report # 3-27, A/R SALES BY G/L #, when posting. ABC's standard A/R account number is 500. $ account number - A/R 500 (#) $ 3-14 report (#) $ 3-27 report (#) W }#11a 040602 08520615 A/P Account Number (#.11) Enter the G/L account number for accounts payable. This is used by Report # 2-11, PAYABLES BY G/L #, when posting. ABC's standard A/P Account number is 3040. $ account number - A/P, 3040 (#) $ 2-11 report (#) W }#12a 040602 11580615 Payroll Cash Account Number (#.12) Enter the G/L account number for the Payroll Cash account. This is used by Report # 4-39, PAYROLL CATEGORY REPORT, when posting. Use the number of the account that the payments are made from. In many cases that is the same account that other bills are paid from, the business account. ABC's standard Business and Payroll account # is 303. $ account # - business and payroll, 303 (#) $ 4-39 report (#) W }#13a 040602 08520615 Inventory Start Account Number (#.13) Enter the first G/L account number for inventory. This account is used by Report # 1-7, INVENTORY VALUE, when the Posting option is chosen. ABC's standard Inventory Start account # is 1000. $ account # - inventory start, 1000 (#) $ 1-7 report (#) W }#14a 040602 06500616 Inventory End Account Number (#.14) Enter the last G/L account number for inventory. ABC's standard Inventory End account # is 2799. $ account # - inventory end, 2799 (#) W }#15a 040603 11560615 Inventory Reversal Account Number (#.15) Enter the G/L account number for inventory reversal. This account is used by Report # 1-7, INVENTORY VALUE, when the Posting option is chosen. ABC's standard Inventory Reversal account # is 8895. $ account # - inventory reversal, 8895 (#) See~ R ~for more on Inventory reversal. $ 1-7 report (#) R }107r W }#16a 040602 17540515 Retained Earnings Account Number (#.16) Enter the G/L account number for retained earnings. The Retained Earnings account is the account in $ retained earnings (#) which the cumulative profits are stored. It is sometimes called the Proprietor's Capital account. $ proprieter's capital (#) It is a different account from the Year-to-date Earnings account. After the end of the year, the Year-to-date Earnings account is usually closed out to the Retained Earnings account. Therefore, the Retained Earnings account shows the cumulative $ year-to-date earnings (#) profits for every year except the current year. At this point, the end-of-year adjustment must be adjusted manually. ABC's standard Retained Earnings account # is 4010. $ account # - retained earnings, 4010 (#) W }#17a 040602 09520615 Sales Start Account Number (#.17) Enter the first G/L account number for sales. This $ financial statement (#) marks the break between the Balance Sheet and the Income Statement when a financial statement is printed. ABC's standard Sales Start account # is 5000. $ account # - sales start, 5000 (#) W }#18a 040602 13520615 Purchase Start Account Number (#.18) Enter the first G/L account number for purchases. The purchase accounts are where all costs of $ purchase accounts - 8810, 7000 (#) purchases are tracked. If you want this all to be tracked in one account, we suggest you use account number 8810. You could also have your sales split up among a number of accounts. If you do this, you may want to use ABC's standard Purchase Start account #, which is 7000. $ account (#) - purchase start, 7000 (#) W }#19a 040602 06500616 Purchase End Account Number (#.19) Enter the last G/L account number for purchases. ABC's standard Purchase End account # is 8799. $ account # - purchase end, 8799 (#) W }#20a 031028 }#21a W }#21a 040602 13600610 Bank Account Number and Name (#.21) Up to five different bank accounts can be set up using $ bank accounts (#) Ledgers 3 to 7. In the Account # column enter the G/L # of the bank account. If the G/L account number has already been set up on the G screen, the name of the account will be displayed in the name field. If the G/L account has not been set up on the G screen, it can be set up here by entering the G/L # in the Account # field and entering the account name in the Name field. Save the record with F9. ABC's standard G/L # for the business bank account is 303. $ account # - business bank account, 303 (#) W }#23a 031003 }#21a W }#24a 0310036 }#21a W }#26a 0310036 }#21a W }#27a 031003 }#21a W }#28a 040602 08520515 Company Number (#.28) Enter a number from one to nine to indicate which company this accounting system is being used for. $ multi-company setup (#) This is used in multi-company situations. The company number is appended to computer entries' reference numbers. W }#29a 031003 }#21a W }#30a 031003 }#21a W }#32a 031003 }#21a W }#33a 031003 }#21a W }#34a 040602 10600810 Floor Plan Account Number (#.34) A floor plan is an agreement with a supplier who displays his product at your place of business (on your floor). When it is sold, you collect the money and pay the supplier. This account is for tracking the value of his product which you have on hand. $ floor plan (#) ABC's standard floor plan account # is 3240. $ account # - floor plan, 3240 (#) W }#35a 040602 21600410 Department Multiplier (#.35) This is used with departmentalized financial statements. $ departmentalized financial statements (#) This is the number of accounts for each department, and may be 100, 1000, 10000, or 100000. It is the account number where the consolidated statement stops, and the first department begins. The accounts between Department Start # and Department Multiplier # are reserved for the consolidated accounts and may not have data directly entered into them. For example, if the number of accounts in each department was 10000, the Department Start number would possibly be 5000. The numbers from 5000 to 10000 would be reserved for the consolidated accounts which would be a summary of the accounts 15000 to 20000, 25000 to 30000, 35000 to 40000 and so on. In this case the Department Multiplier would be 10000. The first department would start here. The second department would start with 20000, the third Department with 30000 and so on. W }#47a 040602 21600410 Maximum Proposal Number (#.47) This affects the numbering of records entered on the Workorder (M) screen. By default, proposals (estimates) and workorders share the same reference number sequence. $ proposals, workorders (#) $ workorders, proposals (#) If you want to number proposals and workorders separately, enter the Maximum Proposal # here. This reserves reference numbers from there down for proposals, and higher numbers for workorders (and sales orders). Entering a new workorder will use the high range by default. To change to a proposal, you must press F9 and select option 2. This changes the reference # accordingly and deletes the workorder. Going the other way, saving a proposal within range will give options to copy to a workorder or sales order, which will assign the correct reference # and leave the original proposal intact. The original proposal # will be stored in the Slip # field on the new workorder. W }#65a 040602 08540815 A/R Discount Account Number (#.65) Enter the G/L account number for Accounts Receivable Discounts. The computer will use this account when $ discount account (#) posting deposits that have cash discounts. ABC's standard A/R Discount account # is 6830. $ account # - a/r discount, 6830 (#) W }#72a 031028 05520815 Employer Identification Number (#.72) Enter here the company's Employer Identification Number if you have one. W }#87a 040602 19600510 Automatic Deposit Posting (#.87) Enter a C if you are on the Cash basis of accounting and $ cash basis accounting (#) you want the computer to automatically update your bank balance when you save a deposit on the D screen that has a Y in Deposit Total. $ automatically update bank balance (#) Enter an A if you are on the Accrual basis of accounting $ accrual basis accounting (#) and you want the computer to automatically update your bank balance when you save a deposit on the D screen that has a Y in Deposit Total. Enter an N if you do Not want the computer to update your bank balance automatically. Using this option, you must update your bank balance manually by making an entry on the Ledger (L) screen, or by running Report # 3-14, CUSTOMER PAYMENT LEDGER (accrual basis), or Report # 3-37, CASH DEPOSITS BY G/L # (cash basis). $ manually update bank balance (#) $ update bank balance (#) $ accrual report 3-14 (#) $ cash report 3-37 (#) $ 3-14 report (#) $ 3-37 report (#) W }#92a 040602 12520815 Payroll and Accounts Payable Ledger Number (#.92) ABC PAYROLL MODULE If your Payroll checks come from the same ledger as your Accounts Payable checks, enter that ledger number here. ABC's standard ledger number is 3. Leave this field blank if the Payroll checks are not written from the same bank account as your Accounts Payable checks. $ payroll module (#) W }#94a 031028 13460615 Multiple Location Parameters (#.94) Multiple Location Parameters is used with systems that have the multiple location software installed. Enter the Location # (any number from 1 to 9) followed by a comma, the Start Reference # followed by a -, and the Ending Reference # that is valid for that location on the Bill, Deposit and Receivable Invoice screens. Example: 1,10000-199999 W }#95a 031028 07440821 Department Start Number (#.95) This is the account number that starts the consolidated financial statements. Do not put any number here if you have a single department situation. W }#A32a 031028 08480717 Prepayment Account Number (#.132) Enter the G/L Account number where Customer Prepayments will be entered. The computer will automatically track this. ABC's standard Customer Prepayments # is 3200. W }#A36a 040528 16600610 Vendor Shipping Ticket Account (#.136) Vendor shipping tickets can be entered on the Bill Entry (B) screen to add items you have received to your stock quantities, even before you receive a bill. If you want to include these shipping tickets in inventory value (Report # 1-7) and purchases (Report # 2-11), enter an account number here. This will cause both reports to include shipping tickets, whether posting to G/L or not. When you post Report # 2-11, PAYABLES BY G/L#, the shipping tickets total will post to this account. If you leave this field blank, shipping tickets will not be included on these reports. $ 1-7 report (#) $ 2-11 report (#) W }#A41a 040611 17730303 Vendor Code Generator - Individual (#.141) The computer will suggest a code for any new vendor you set up if you specify in this field how you want the code to be generated. $ code generator (#) LFM means Last name, First name, Middle name. If you enter the numbers 221 below the letters LFM, the computer uses the first 2 letters of the last name, the first 2 letters of the first name and only the first letter of the middle name to generate the code. * ~PgDn~ W }#A41b 040611 17730303 * ~PgUp~ In order for this code generator to work properly, you must enter names in the name field of any screen using the last, first, middle name format. Make sure there is a comma between the last name and the first name. The computer will automatically attach a number to the end of the code. This is because names such as Brown, John S. and Brubacher, Jonas Seth would both be coded as BRJOS. A zero is attached to the end of the first usage of any code. If another name is entered which would generate the same code, a one is attached. And so on. W }#A42a 040611 17730303 Vendor Code Generator - Company (#.142) The computer will suggest a code for any new vendor you set up if you specify in this field how you want the code to be generated. Do not include a comma in a vendor's company name. Notice the Comp 123 heading for this field. This means the code will be generated according to the 1st word, 2nd word, 3rd word format. If you enter the numbers 221 below the numbers 123, the computer will use the first 2 letters of the first word, the first 2 letters of the second word and the first letter of the third word to generate the code. $ generating codes (#) You also have the option of entering an S after the 3 digits you enter in this field. This adds the two-digit state code to the end of the code that is generated. ~PgDn~ W }#A42b 040611 17730303 * ~PgUp~ The computer will automatically attach a number to the end of the code. This is because names such as Smith's Auto Parts and Smiley's Australian Pets would generate the same code if you are using the 221 format for generating vendor's company codes. A zero is attached to the end of the first usage of any code. A one to the second usage. And so on. W }#A43a 040611 17730303 Customer Code Generator - Individual (#.143) The computer will suggest a code for any new customer you set up if you specify in this field how you want the code to be generated. LFM means Last name, First name, Middle name. If you enter the numbers 221 below the letters LFM, the computer will use the first 2 letters of the last name, the first 2 letters of the first name and the first letter of the middle name to generate the code. * ~PgDn~ W }#A43b 040611 17730303 * ~PgUp~ In order for this code generator to work properly, you must enter names in the name field of any screen using the last, first, middle name format. Make sure there is a comma between the last name and the first name. The computer will automatically attach a number to the end of the code. This is because names such as Brown, John S. and Brubacher, Jonas Seth would both be coded as BRJOS. A zero is attached to the end of the first usage of any code. If another name is entered that generates the same code, a one is attached. And so on. W }#A44a 040611 17730303 Customer Code Generator - Company (#.144) The computer will suggest a code for any new customer you set up if you specify in this field how you want the code to be generated. Do not include a comma in a customer's company name. 123 means 1st word, 2nd word, 3rd word. If you enter the numbers 221 in this field, the computer will use the first 2 letters of the first word, the first 2 letters of the second word and the first letter of the third word to generate the code. $ codes with state code attached (#) You also have the option of entering an S after the 3 digits you enter in this field. This adds the two-digit state code to the end of the code that is generated. * ~PgDn~ W }#A44b 040611 17730303 * ~PgUp~ The computer will automatically attach a number to the end of the code. This is because names such as Smith's Auto Parts and Smiley's Australian Pets would generate the same code if you are using the 221 format for generating vendor's company codes. A zero is attached to the end of the first usage of any code. A one to the second usage. And so on. W }#A45a 040611 17730303 Name Code Generator - Individual (#.145) The computer will suggest a code for any new name you set up if you specify in this field how you want the code to be generated. LFM means Last name, First name, Middle name. If you put the numbers 221 below the letters LFM, the computer will use the first 2 letters of the last name, the first 2 letters of the first name and the first letter of the middle name to generate the code. * ~PgDn~ W }#A45b 040611 17730303 * ~PgUp~ In order for this code generator to work properly, you must enter names in the name field of any screen using the last, first, middle name format. Make sure there is a comma between the last name and the first name. The computer will automatically attach a number to the end of the code. This is because names such as Brown, John S. and Brubacher, Jonas Seth would both be coded as BRJOS. A zero is attached to the end of the first usage of any code. If another name is entered which would generate the same code, a one is attached. And so on. W }#A46a 040611 17730303 Name Code Generator - Company (#.146) The computer will suggest a code for any new name you set up in the Names (N) screen if you specify in this field how you want the code to be generated. Do not include a comma in a company name. 123 means 1st word, 2nd word, 3rd word. If you put the numbers 221 in this field, the computer will use the first 2 letters of the first word, the first 2 letters of the second word and the first letter of the third word to generate the code. You also have the option of entering an S after the 3 digits you enter in this field. This adds the two-digit state code to the end of the code that is generated. * ~PgDn~ W }#A46b 040611 17730303 * ~PgUp~ The computer will automatically attach a number to the end of the code. This is because names such as Smith's Auto Parts and Smiley's Australian Pets would generate the same code if you are using the 221 format for generating vendor's company codes. A zero is attached to the end of the first usage of any code. A one to the second usage. And so on. W }#A47a 040611 17730303 Employee Code Generator - Individual (#.147) ABC PAYROLL MODULE The computer will suggest a code for any new employee you set up if you specify in this field how you want the code to be generated. LFM means Last name, First name, Middle name. If you put the numbers 221 below the letters LFM, the computer will use the first 2 letters of the last name, the first 2 letters of the first name and the first letter of the middle name to generate the code. * ~PgDn~ $ payroll module (#) W }#A47b 040611 17730303 * ~PgUp~ In order for this code generator to work properly, you must enter names in the name field of any screen using the last, first, middle name format. Make sure there is a comma between the last name and the first name. The computer will automatically attach a number to the end of the code. This is because names such as Brown, John S. and Brubacher, Jonas Seth would both be coded as BRJOS. A zero is attached to the end of the first usage of any code. If another name is entered which would generate the same code, a one is attached. And so on. W }#A57a 040602 14600610 G/L Lock Date (#.157) $ lock date, G/L (#) To prevent changing a prior General Ledger period, enter the last date of the period to lock. The computer will prevent entering, editing, deleting or posting General Ledger transactions dated on or before the lock date. This affects entries on the Ledgers (L) and Ledger Select (-) screens, the Paycheck Entry (P) screen, the Deposit (D) screen and the Check Writing (/) screen. It also affects reports that post to the general ledger and editing or deleting paid bills on the Bill Entry (B) screen, depending on the oldest payment date. W }#A60a 031028 17600610 Credit Card Deposit Account (#.160) When you use Automatic Deposit Posting, the computer posts the credit card sales to the account specified in this field. This is done because banks handle credit card income in a variety of ways and normally credit card sales are not included on your deposit tickets. ABC's standard Credit Card Deposit account # is 310. When the bank credits your account with credit card income, you need to make a manual deposit on the Ledger (L) screen using a negative figure, just like any other deposit. Use the Credit Card Deposit account number. * ~PgDn~ W }#A60b 040602 17600610 * ~PgUp~ If there is a credit card service charge or credit card discount withheld from the credit card income, you should enter that as a positive amount using the Credit Charges account number. $ service charge - credit card (#) Here is an example of entering a Credit Card Deposit on the Ledger (L) screen: # ---------------------------------------------------------- # |Check# Date Vendor Code & Name Amount Distribution| # |1277.1 2/28/97 DEPOSIT -436.00 | # | | # | _ _Acct_#_ _ _ Description_ _ _ _ _Amount_ _ _ _Remark_| # 310 Credit Card Deposits -445.00 # 9600 Credit Card Charges 9.00 W }#A80a 040602 13600610 A/P Lock Date (#.180) $ lock date, A/P (#) To prevent changing prior Accounts Payable transactions, enter the last date of the period to lock. The computer will prevent entering, editing or deleting Accounts Payable transactions dated on or before the lock date. This affects entries on the Bill Entry (B), Check Writing (/), Ledgers (L) and Ledger Select (-) screens. W }#A81a 040602 11600610 A/R Lock Date (#.181) $ lock date, A/R (#) To prevent changing prior A/R transactions, enter the last date of the period to lock. Entering, editing or deleting Accounts Receivable transactions dated on or before the lock date is disallowed. This affects entries on the Deposit (D) and Receivable Invoice (R) screens. W }#A91a 930401 }CA01a W }#A92a 930401 }CA02a W }#a 040826 21600410 Account Structure Requirements (#) There are certain requirements for numbering G/L accounts. If these requirements are not met, an error message may appear when you attempt to save the setup data. Balance sheet accounts, including inventory, must come before sales accounts, and sales accounts must come before purchase accounts. The sales accounts are assumed to end where the purchase accounts start. This is why there is no Sales End Account # field. Inventory categories must have corresponding sales and purchases categories. This involves two requirements: 1. Sales and purchases must cover a wide enough range to include all the inventory categories. * ~PgDn~ $ Purchase end account . . . (#) $ Inventory end account . . . (#) W }#ab 040602 21600410 * ~PgUp~ $ inventory accounts (#) 2. The ranges for sales and purchases must contain account numbers with the last digit (or digits) corresponding to those of the inventory account numbers. The number of digits that must correspond is determined by the number of inventory accounts. For example, inventory accounts could start at 1000 and end at 2799, sales accounts could start at 5000 and end at 6799, and purchase accounts could start at 7000 and end at 8799. In this case, sales accounts 5000 to 6799 and purchase accounts 7000 to 8799 would correspond to inventory accounts 1000 to 2799. NOTE that the last 3 digits must correspond in this case, because there are more than 100 inventory accounts. W }%(*a 031121 Financial - Ledger Selection (%) File Load Edit Options View Macro Help W }%(Fa 030729 M08260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * save record ~Ctrl+S~or~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ W }%*a 031028 21600410 Invoicing Mode (%) The Receivable Invoice (R) screen has several different modes. These modes are selected in a special submenu - the Invoicing Mode Selection (%) screen. NOTE: The Workorder (M) mode is the same mode as the Order mode. The biggest difference is that one uses the word Workorder while the other one uses Order. The submenu shows a list of the modes: # (ABC ENHANCED) # O - Order # C - Order Check # I - Invoice Once in the Receivable Invoice (R) screen, you can tell what mode you are in by looking at the upper left corner of the screen. * ~PgDn~ W }%*b 040602 21600410 * ~PgUp~ $ % screen (%) If you wish to change the mode you are in, you must return to the submenu by pressing F10; then %. Select the mode you wish to be in by pressing the appropriate letter. Example: If you wish to enter some orders, and then some invoices, first go to the Invoicing Mode Selection (%) screen and select O for orders. You are taken to the Receivable Invoice (R) screen, and Order is displayed in the left-hand corner. Enter your orders. Then return to the Invoicing Mode Selection (%) screen and select I for Invoices. Once again, you are returned to the R screen. Enter your invoices. W }%J05a 040602 07440518 Enter Your Selection (%) ABC ENHANCED - Type O for Order mode, C for Order Check mode or I for Invoice mode. $ O - order mode (%) $ C - order check mode (%) $ I - invoice mode (%) W }&(*a 031121 Utilities - Set Up Sales and Purchases (&) File Tools Macro Help W }&(Fa 030729 M12260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ W }&(Ha 040604 M02320303 * using ABC Help ~ H ~ * Field help for current entry~ I ~ I }R*i H }R*h W }&(Ta 030916 M08260303 * ~TOOLS Help . . .~ * Find (search) ~Ctrl+F~ * ShowGo-to location ~Ctrl+G~ * Journal/date & time~Ctrl+J~ * Journal/date only ~Ctrl+K~ * put on W processor ~Ctrl+W~ * undo changes ~Ctrl+Z~ * calculator ~Shift+F3~ O }&*o W }&*a 040604 21600410 * SETUP A/P AND A/R (&) SCREEN * * ~SETUP~ Sales and Purchases Screen Explanation * * ~FILE Help . . .~ ~TOOLS Help . . .~ * New record ~Ctrl+N~ Find (search) ~Ctrl+F~ * close lookup ~F5~ show Go-to location ~Ctrl+G~ * close all lookups~Shift+F5~ Journal/date and time ~Ctrl+J~ * open lookup ~F6~ Journal/date only ~Ctrl+K~ * alternate lookup ~Shift+F6~ put on Word processor ~Ctrl+W~ * save record ~F9~ calculator ~Shift+F3~ * delete record ~Shift+F9~ jump to last field ~Shift+Dn~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ FIELD Help~ I ~ * exit ABC ~Alt+F4~ * exit one level ~Esc~ * * Using ABC Help~ H ~ I }R*i E }&*e F }&*f H }R*h T }&*t Q }&*q S }&*i W }&*f 040120 21600410 File Help (&) ~Ctrl+N~ Clear the screen without saving or unsaving the current record, and set the reference number to the next available number. # ~F5~ Exit Lookup ~Shift+F5~ Close All Lookups # # ~F6~ Open Lookup ~Shift+F6~ Alternate Lookup # # ~F9~ Save Record ~Shift+F9~ Delete Record # # ~F10~ Selection Screen ~Shift+F10~ Go to Menu Bar # # ~Esc~ Exit One Level ~Alt+F4~ Exit ABC $ F5 $ F6 $ F9 $ F10 $ Esc $ Shift+F5 $ Shift+F6 $ Shift+F9 $ Shift+F10 $ Alt+F4 W }&*i 031207 21600410 Explanation for Setup Sales and Services Screen (&) This is a screen for setting up accounts receivable defaults, finance charge information, some details on receivable invoices, accounts payable defaults, accounts receivable statement limits, time entry defaults, job defaults and printer selection. For additional help on any field, press F1 when the cursor is on that field. W }&*ta 040521 21600410 Tools Help (&) ~Ctrl+F~ accesses a search engine, enabling you to find words, phrases and/or numbers. Press Ctrl+F. Then enter the information you want to find. The computer will search all records on the file for that information. $ find a word $ search ~Ctrl+G~ Gets or Jumps to the address of a certain field. When you press Ctrl+G, a message box appears telling you the address of the field your cursor is on. You are also given opportunity to jump to another address. Enter the location number of the field you want to jump to, or enter F and the field number of the field you want to jump to. $ jump to field ~Ctrl+J~accesses a journal to keep on file anything that you want to remember about this purchase order. To see previous notes, press Ctrl+J. When you are done, press F9. The notes will be saved with the date and time. $ journal with date and time * ~PgDn~ W }*tnb W }&*tb 040120 21600410 * ~PgUp~ ~Ctrl+K~accesses a second journal. It is similar to the Ctrl+J journal, but files your notes with only the date. $ journal with only date ~Ctrl+Z~ undoes present changes to the last line or field worked on. $ undo changes ~Shift+F3~ brings up an accountant's calculator. # + adds or totals - subtracts / divides # * multiplies ) clears ( exits calculator # = totals or equals $ calculator $ add $ subtract $ multiply $ divide W }&+N55a 040528 1377 Price Update Code (&.55) Used with Report # 2-10, INVENTORY PRICE UPDATE. It is overridden by the Update Code (Updt) field on the Inventory (I) screen, and the Update Code (UC) field on the Bill Entry (B) screen. The pricing code may be any one of the following: N No price update. A Always update cost (Book) and list. D Always update cost. B Update cost (Book) if increased. P Price from Inventory screen. L Update cost and List if increased. I Always update cost (Book). Update list if it increased. S Skip to amount when entering item on B screen. O Omit Order posting. (Don't post this line to P/O) Z Use Zero amount on Report # 1-8, INVENTORY VALUE. $ 2-10 report (&) $ 1-8 report (&) W }&25a 981113 17600610 }t70a W }&31a 981113 :}t70a W }&36a 040611 17600410 Customer Type (&.36) If there is no type specified in the Customer Type field on the Customer (C) screen, the computer automatically uses the type entered here in the A/P and A/R screen. The Customer Type field can be used for a variety of purposes. You may use it to show which inventory items may be sold to which customers. For example, a P may imply that this is a farmer who is licensed to use poison. If you have various sales persons that relate to various customers, you might use the Customer Type field to show which sales person that customer is under. W }&37a 040602 14520715 Inventory Markup (&.37) This is a safety guard that triggers an error message when you try to sell an item at a price that is less than a certain percentage above Cost on the Inventory (I) screen. Enter that percentage here. For example, to set the minimum price to 10% above cost, enter 10. $ cost (&) $ minimum price (&) If you leave this field blank, the minimum price will be the cost of the item. To disable this feature, enter -100, which will allow any price down to zero. W }&38a 040602 08520715 Tax Default (&.38) Enter the code for sales tax as set up on the Inventory (I) screen. Usually the 2-letter code for the state is used. For example, PA for Pennsylvania or KS for Kansas. The use of this field is optional. $ tax codes (&) W }&39a 040602 07520715 Free Days (&.39) Enter the number of days after the invoice date that the customers will have free credit on an invoice. Finance charges will be applied for each day after this day. Example: 10. $ free credit (&) $ finance charges (&) W }&40a 040602 06520715 Finance Charge Information Message (&.40) You may enter a brief message that you want to appear on your statements, identifying your finance charges. $ statements (&) W }&41a 040602 10540815 Monthly Interest Rate (&.41) Enter the monthly interest rate you wish to charge on overdue accounts. For 2%, simply enter a 2 without the percent sign. $ overdue accounts (&) The monthly and annual interest rates are displayed on receivable invoices. W }&42a 031028 07520815 Minimum Charge (&.42) Enter the minimum charge for an overdue account. Do not use a dollar sign. This charge will apply whenever it is larger than the calculated charge, if there is one. W }&43a 040603 15520615 Days Till Charge (&.43) Enter the number of days an invoice may be open before a finance charge is applied. Often this is set for 5 days more than the number of Free Days to allow for mail time. For information on Finance Charges, press~ F ~. When the figure in this field plus the date of the first open invoice or the invoice due date is before the system date, a warning is displayed on the R screen when the customer is entered. W }&43f 031121 }320a W }&43g 031121 }320b W }&44a 040602 07520615 G/L Account Number (&.44) Enter the G/L account number for finance charges. ABC's standard G/L account number for finance charges is # 9840. $ finance charge G/L # - 9840 (&) W }&45a 031028 06520615 Compound Interest (&.45) Enter an N if you do NOT want compound interest (or finance charges on overdue finance charges). W }&46a 040602 13540615 Last Finance Charge Date (&.46) Enter the date finance charges were last calculated. This must be set for finance charges to work. Once this is set up initially, the computer will maintain it by updating it whenever finance charges are run. If finance charges were never run, enter a starting date. The computer will start calculating finance charges from that date. Usually this is set at least one month prior to the current date. $ update finance charges (&) W }&49a 040622 21540415 Low Balance Limit, High Balance Limit (&.49, 50) The computer will NOT issue statements to customers whose balance due is within these two limits, inclusive. For example, if you would enter -.50 for the Low Balance Limit and 1.00 for the High Balance Limit, the computer would print only statements with a balance due of more than $1.00 or a credit balance of more than 50 cents. If these fields are left blank, statements will be printed for all customers with nonzero balances. To print all statements, including those with a zero balance, enter a Low Balance Limit that is higher than the High Balance Limit. To skip all statements with credit balances, enter a large negative amount for the Low Balance Limit, such as -100000.00. W }&50a 031121 }&49a W }&51a 040602 09520615 Default Ledger Number (&.51) Enter a number from 3 to 7 to indicate which bank ledger you normally use for check writing. This ledger will be set by default in the Check Writing (/) screen. ABC's standard Default Ledger number is 3. $ check writing Ledger # - 3 (&) W }&52a 040602 08520615 Discount Account Number (&.52) Enter the G/L account number for A/P discounts. The check writing program will use this account for any automatic discounts that it takes. ABC's standard Discount account number is 8830. $ discount G/L# - 8830 (&) W }&53a 040602 13520615 Suspense Account Number (&.53) Enter the G/L account number for the suspense account. The check writing program will use this account where no account number has been specified on an A/P invoice, or when the A/P invoices paid by one check contain more than 150 different G/L account numbers. This is also used for those amounts you don't know where to put till you ask your accountant. ABC's standard Suspense account # is 1. $ suspense G/L# - 1 (&) W }&54a 031028 11520615 Stock Error Message (&.54) Enter an S here if you want the system to warn your operators when ship quantity exceeds Stock quantity. Enter an A to warn when ship quantity exceeds Available quantity. Enter a D to Disable these warnings. Warnings show on the Workorder (M) and Receivable Invoice (R) screens. W }&55a 040611 21600410 Price Update Code (&.55) This is used with Report # 2-10, INVENTORY PRICE UPDATE. This field is overridden by the Update Code (Updt) field on the Inventory (I) screen and by the Update Code (UC) on the Bill Entry (B) screen. The pricing code may be any one of the following: N No price update. B Update the cost if it increased. L Update the cost if it increased. Update the list price if it increased. D Always update the cost. A Always update the cost and the list price. $ update prices (&) * ~PgDn~ $ 2-10 report (&) W }&55b 040611 21600410 * ~PgUp~ I Always update the cost. Update the list price if it increased. S Skip to the Amount field when entering item on the Bill Entry (B) screen. P Bring price from the Inventory screen. O Omit Order posting. (Don't post this line to purchase orders.) Z Use zero amount on Report # 1-8, INVENTORY VALUE. $ 1-8 report (&) W }&56a 031028 10520615 Accounts Payable General Ledger Adder (&.56) Enter the number to add to sales G/L account numbers on the Inventory (I) screen to determine purchase account numbers. The computer uses this number to set the G/L# in the Bill Entry (B) screen. For example, if sales accounts begin at 5000 and purchase accounts begin at 7000, enter 2000 here. W }&57a 040602 08520615 Overtime Base (&.57) ABC PAYROLL MODULE - Enter the normal number of hours worked per week before you begin paying overtime. When using the Time Card Entry (T) screen, the computer uses this figure to determine the overtime hours. The standard amount is 40. $ overtime hours (&) $ payroll module (&) W }&58a 040602 08490615 Overtime Factor (&.58) ABC PAYROLL MODULE - Enter the additional percentage over regular time that is paid to the employee and costed to the job. This is carried across to the Time Card Entry (T) screen. Example: For 50% enter .50. $ overtime wage (&) W }&61a 031028 09520615 Accounts Payable Closeout (&.61) When checks are written, the computer puts totals into the ledger which appear on the trial balance detail for the bank account. An M in this field makes one entry per month. Entering D in this field makes one entry for each day checks are written. M is the normal setting for this option. W }&62aa 040611 16600610 Automatic or Optional Back Orders (&.62) You may enter one of the following three options in this field. The computer uses N if there is nothing entered. A enables automatic back ordering on the Receivable Invoice (R) screen. When you enter a Ship Quantity that is greater than the inventory stock, the computer puts the quantity in Order when the order Qty is Zero and Ships the available stock on hand. Pressing Alt+O will ship the amount you entered in the Ship field and will not back-order any. This works when the cursor is to the right of the Ship field on the line you want it to affect, or to the left of the Ship field on the next line. ~PgDn~ $ back orders (&) W }&62ab 040611 16600610 * ~PgUp~ I places the quantity entered in shipped in the Order if it is greater then the prevoius order quantity and ships the available stock on hand on both the Make Workorder (M) screen and Receivable Invoice (R) screen. O enables optional back ordering on the Receivable Invoice (R) screen. If you want to put an item on back-order, you will need to enter the quantity in the Order field manually. N means No back ordering. W }&63a 040602 08520615 Accounts Receivable Invoice Message (&.63) You may enter a message here that will print on all invoices. This option is for purposes such as special announcements or reminders that you want to appear on all customer invoices. This prints near the bottom of the invoice. $ message on invoice (&) $ reminder on imvoice (&) W }&64a 040602 10520615 Number of Customer Messages (&.64) You may specify here how many of the message fields on the Customer (C) screen you want to print on A/R invoices. If you enter 1 here, message one will print. If you enter 2 here, messages one and two will print. If you enter 3, messages one through three will print. If you enter 4, all four message lines will print. $ message on C screen (&) $ print messages from C screen (&) W }&66a 040602 08520615 Default Sales Account Number (&.66) This is the G/L account number the computer uses when an item is entered on the Receivable Invoice (R) screen that has no G/L account # specified. ABC's standard Default Sales Account # is 6810. $ sales G/L# - 6810 (&) W }&67a 040602 09540615 Default Purchase Account Number (&.67) This is the G/L account number the computer uses when an item is entered on the Bill Entry (B) screen that has no G/L account number specified. ABC's standard Default Purchase Account Number is 8810. $ purchase G/L# - 8810 (&) W }&68a 040602 07500615 Omit Company Heading (&.68) Enter Y here if you wish to omit the company heading on Report # 3-13, CUSTOMER INVOICES ON PLAIN PAPER. This option allows you to print invoices on your company letterhead paper. $ letterhead paper (&) $ 3-13 report (&) W }&69a 031028 :}t70a W }&70a 031028 :}t70a W }&71a 031028 :}t70a W }&73a 040602 10560615 Subcontract Purchase Account Number (&.73) If you have an S for subcontract in the M)aterial, D)irect, S)ub field on the Bill Entry (B) screen, the computer will override the Inventory G/L number and use this number instead, providing there is no adder entered in the Subcontract Adder field. ABC's Standard Subcontract Purchase Account # is 8815. $ subcontract purchase G/L# - 8815 (&) W }&74a 040602 09520615 Subcontract Adder (&.74) This field overrides the Subcontract Purchase Account number, and adds the amount entered here plus the A/P G/L Adder to the G/L number on the Inventory screen if the bill is a subcontract. ABC's standard Subcontract Adder is 5. $ subcontract adder G/L# - 5 (&) W }&75a 040602 17580511 A/R Invoices Report Number (&.75) Specify the report number you want the computer to use when you print a receivable invoice from the Receivable Invoice screen (R). This must be three digits. For example, if you wish to use Report # 3-38, CUSTOMER INVOICES ON NEBS 9040, you would enter 338 in this field. This specifies which report to use when you press Alt+T on the Receivable Invoice (R) screen, or when you save a receivable invoice and press P to print it. If there is nothing specified here, the computer will use Report # 3-13, CUSTOMER INVOICES ON PLAIN PAPER. Note: Report # 3-38 is often custom programmed and is titled CUSTOMER INVOICE or some other similar title. $ 3-13 report (&) $ 3-38 report (&) $ Alt+T (&) W }&76a 040602 09520615 Labor Sales Account Number (&.76) ABC JOB COSTING MODULE - Enter the G/L account number for Labor Sales. ABC's standard Labor Sales Account # is 6850. This field must be set up before using Report # 5-31, GENERATE INVOICES FOR JOBS. $ labor sales G/L# - 6850 ($) $ 5-31 report (&) $ job costing, (&) W }&77a 040602 09520615 Material Sales Account Number (&.77) ABC JOB COSTING MODULE - Enter the G/L account number for Material Sales. ABC's standard Material Sales Account # is 6810. This field must be set up before using Report # 5-31, GENERATE INVOICES FOR JOBS. $ material sales G/L# - 6810 (&) W }&78a 040602 09500615 Subcontract Sales Account Number (&.78) ABC JOB COSTING MODULE - Enter the G/L account number for Subcontract Sales. ABC's standard Subcontract Sales Account # is 6815. This field must be set up before using Report # 5-31, GENERATE INVOICES FOR JOBS. $ subcontract sales G/L# - 6815 (&) W }&79a 040602 12520615 A/P Material Markup % (&.79) ABC JOB COSTING MODULE - This field allows you to specify how much you will charge for material purchased for a Job. Enter the percentage of markup over cost. The computer will use this percentage with Report 5-31, GENERATE INVOICES FOR JOBS, if there is no list price entered for the billed items. If this field is left blank and no list price exists on the Inventory screen, the computer bills at cost. $ material markup (&) $ markup percentage (&) W }&80a 031028 11600610 A/P Subcontract Markup Percent (&.80) ABC JOB COSTING MODULE - This field allows you to specify how much you will charge for Job Subcontract costs. Enter the percentage of markup over cost. The computer will use this percentage with Report 5-31, GENERATE INVOICES FOR JOBS, if there is no list price entered for the billed items. If this field is left blank and no list price exists on the Inventory screen, the computer bills at cost. W }&81a 040528 16520615 List Price Multiplier (&.81) This is the default multiplier which is used by Report # 2-10, INVENTORY PRICE UPDATE, whenever no Multiplier is specified on the Inventory screen. List Price on the Inventory screen is set to the bill price divided by Multiplier, multiplied by 100, multiplied by the Unit quantity. For example, if the bill price is $3.00, the multiplier is 80, and the unit field is blank, then the list price would be $3.75. Or, if the bill price is $1.50, the multiplier is 60, and the unit is 12, then the list price per dozen would be $30.00. $ 2-10 report (&) W }&82a 040602 08520615 Job Class for Billing (&.82) ABC JOB COSTING MODULE - Enter the job class for the computer to use when the total billed amount is posted. ABC's standard Billing Job Class is 00. $ job costing, (&) W }&83a 040622 12520615 Price Purchase Orders (&.83) Enter Y here if you want the cost to carry over to purchase orders from the Inventory (I) screen. Enter N if you do NOT want the cost to carry across from the Inventory (I) screen. If this field is left blank, the computer will automatically carry the cost across. This field may be overidden by the Vendor (V) screen or the purchase order itself. $ cost (&) W }&84a 040528 05520615 Bank Deposit Number (&.84) Enter your bank account number to print on Report # 3-18, DEPOSIT TICKET. $ 3-18 report (&) W }&85a 040602 12520615 Create Quote Record (&.85) This field is for businesses who use the Quoted Prices (Q) screen for pricing individual items per customer. A Y in this field will create a new Quote record when an item is entered on the Receivable Invoice screen that was not previously purchased by the customer. If you are not using this feature, put an N in this field. $ quoted prices (&) $ Q screen setup (&) W }&88a 040602 16520615 Cost Increase % (&.88) This works with Report # 2-10, INVENTORY PRICE UPDATE. Enter the percent over cost on the Bill Entry (B) screen that you want to appear as Cost on the Inventory (I) screen. For example, if you want Cost on the Inventory screen to include sales tax, enter 6.00 here. When you run Report # 2-10, the computer will add 6% to the cost on the Bill Entry (B) screen and update Cost on the Inventory (I) screen. This works for any inventory item with a Price Update Code that updates cost. Report # 2-10 only updates items that have been saved on a bill since the last time the report was run. $ 2-10 report (&) $ update costs (&) W }&89a 040120 11520615 Point of Sale Invoice Report Number (&.89) Enter a three-digit number to specify which report you want the computer to use when you save a Receivable Invoice and press R to print it. Enter one digit for the screen the report is found on, followed by two digits for the Report number. The POS PrtDev must be set up for each terminal on 'T screen or else a Plain Paper Invoice will be printed on the system default printer. W }&93a 040602 10600610 Special Deposit Account Number (&.93) This field allows the tracking of customer prepayments for a special purpose. Entering this account number in the G/L# field on the Deposit (D) screen will post the G/L amount to the Special Deposit field on the Customer (C) screen. ABC's standard Special Deposit Account number is 3220. $ special deposit G/L# - 3220 (&) W }&A31a 040602 12520715 Backup Device (&.131) Enter the device to which you normally back up. This may be any of the following: # A - floppy Disk # B - floppy Disk # D to Q - hard Disk or Disk partition If nothing is entered here, it will automatically default to device A. $ floppy disk backup (&) $ hard disk backup (&) $ disk partition backup (&) W }&A33a 040602 07540715 Auto Save User (&.133) This field is used only when there is more than one computer hooked together in a network. It specifies which other computer will automatically save any information saved to disk by this computer. $ network backup (&) W }&A34a 031028 07520615 Prepayment Account # (&.134) The G/L account # for prepayments to vendors. This is used by the Check Writing screen when making NBA Non-bill Amount payments. W }&A35a 040602 07540615 Number of Copies of Invoice (&.135) Enter the number of copies of invoice you want to print when saved on the Receivable Invoice screen and the Print option is chosen. This option is often used when printing invoices on laser printers. $ multiple copies of invoices (&) $ copying invoices (&) W }&A48a 031028 :}t70a W }&A52a 031028 07540915 Omit Purchase Order Heading (&.152) Entering Y in this field means that your company's heading will not be printed at the top of a printed Purchase Order. This option is used when you are using letterhead paper. W }&A58a 040602 09520815 Tax on Order (&.158) Putting a Y here means that Sales Tax will be calculated on Orders or Quotes if a Sales Tax Code has been set up on the I screen and the Customer has been set up as taxable. (Use the Tax Status field on the C screen to show if a Customer needs to pay Sales Tax or not.) $ tax status (&) $ sales tax (&) W }&A59a 040826 12520715 Multiple Check Stubs (&.159) A Y means that if the invoices paid by one check do not fit on the stub of the check, the next check(s) will be canceled and all paid invoices will be listed on succeeding check stubs. If you use an N, only the invoices that fit on one stub will be displayed and the message, "Plus other invoices not shown" will print at the end of the stub. $ check stubs printed (&) $ printing check stubs (&) $ list of invoices on check stubs (&) $ Plus other invoices . . . (&) W }&A61 040603 08520615 Allow Negative Discounts (&.161) N in this field does not calculate the Bill Entry cash discount on lines that have a negative amount. Press~ $ ~for help on not calculating discounts on line amounts. $ discounts (&) }I21a W }&A62a 040120 16600410 Automatically Add Inventory Items (&.162) List the inventory items, separated by commas, that you want included on every invoice. # Example: IC05T,DIS10,CDRT Each of these items will be added to every order/invoice when F9 is pressed if they are not already on the order/invoice. If they are on the invoice already they will remain where they are. Items in this list which are not found on the order/invoice will be appended. Zone and superseded items do not operate with auto add inventory. W }&A62b 040120 16600410 * Programming information: See RLB18 for variables to use or * avoid. * * 1. On save, check if items are on order/invoice * a. If it is not on it will be appended. * b. If it is on, it is left where it exists. * * 2. During save totalling a call to >a218 (x90) * is made for each line on the invoice. Check for * these items and do any logic desired. * * 3. Condition flag must be true on return from sub- * routine, or item will be removed from order/invoice. W }&A63a 031028 }t81a W }'002(*a 031121 Inventory - Image Parts Cross Reference (`C) W }'002*a 040602 07460618 Explanation of Parts Cross Reference (`C) This screen makes the menus for the Find Part (F) screen. It also determines which image to display and cross references the numbers on the image to inventory part #s. $ F screen (&) $ image display (&) W }'00200a 031028 16600410 Code (`C.0) There are several levels in the F screen that are needed to pinpoint the desired selection. Level A is the manufacturer name. Level B is the models of choice of the chosen manufacturer. Level C is the list of assemblies of parts for the chosen model. Other levels can be used for individual configurations. If you are in the first level, this field will have a two-digit manufacture code, and a manual page number and then a forward slash with a reference number from image. If there is a multiple item # for the reference number, there will be a slash and a three-digit code. W }'00201 031028 09490617 Description (`C.1) This is the description that shows on the menus. If there is none it will use the model # out of the code field. In the first level, if P is typed, you will view the part number. W }'00202 031028 08490617 Image File Name (`C.2) This is the file name where the image is; it will appear on the highest letter level. In the first level, part number is the number for the part that was chosen. W }'00203 040602 08490617 Manual Page (`C.3) This is cross referencing the #s on the images to inventory part numbers. Quantity in the first level shows how many of that particular part is used in the assembly. $ cross referencing (&) W }'00204 031028 09490617 Image Directory (`C.4) This field is for level A only. It's a subdirectory on the hard drive where images for this manufacturer are. Description is the name of the part in the first level. W }'008(*a 031121 Utilities - Port Setup (`I) W }'008*a 000512 port# 16 Par 17-127 hardware or passthrough ports Standard User 11 - 22 to 16 on remote, printer 23 to 18 on remote W }'00801 031121 Type- 0 Uart (serial) with no handshaking. Usually used with terminals 1 Uart with handshaking on output only (Use for printer ports 2 Reserved 3 Parallel printer port Bypasses network Software, directly to hardware 4 Bios parallel printer port can be used to access network printers 5 Uart (serial with See _386 ports W }'011(*a 031121 Utilities - Error Log (`L) W }'014(*a 031121 Utilities - Color Options (`O) W }'014(Ea 030729 M06410303 * ~EDIT Help...~ * toggle foreground color Right arrow * toggle foreground color Left arrow * toggle background color~Shift+Right~arrow * toggle background color ~Shift+Left~arrow * toggle blinking on & off ~Alt+B~ W }'014(Fa 030729 M02160303 * ~FILE Help...~ * save record ~F9~ W }'014(Ha 040604 M02320303 * using ABC Help ~ H ~ * help for Color options screen~ C ~ H }R*h C }'014*h W }'014(Ta 030729 M04320303 * ~TOOLS Help...~ * select Default colors 1 ~Alt+D~ * select default colors 2 ~Alt+J~ * select default colors 3 ~Alt+W~ W }'014*a 031207 20600410 Color Options Screen (`O) This screen is used to select the colors used in ABC Accounting. To access the Color Options Screen, press F10, ` (accent mark), O. To change the Foreground color (the color of the letters and other symbols), press the Left arrow or Right arrow. The Foreground colors available are Yellow, Bright White, Black, Blue, Green, Cyan, Red, Magenta, Brown, White, Gray, Bright Blue, Bright Green, Bright Cyan, Bright Red and Bright Magenta. To change the Background color, press Shift+Left or Right arrow. The Background colors are White, Black, Blue, Green, Cyan, Red, Magenta and Brown. You can select the Blink mode by pressing Alt+B. * ~PgDn~ W }'014*b 030804 20600410 * ~PgUp~ Save your color choices by pressing F9. Following is an explanation of the seven fields, on this screen, where you can set the colors. This gives you the possiblity of 14 different colors on one screen although usually you will want the background to be the same color for the first two fields; LABELS and FIELDS. LABELS are the words that identify the fields. FIELDS are the spaces after the labels where information is entered and/or displayed. CURSOR is the blinking symbol, usually an "_", that indicates your current position on the screen. The cursor and any letters in that field are always the same color. * ~PgDn~ W }'014*c 040120 20600410 * ~PgUp~ MESSAGE LINE is the bottom line of the screen. ERROR BOXES appear to alert you of a mistake or offer a choice. LOOKUP WINDOWS are the windows that show lists of information when you press F6 on certain fields. MOUSE BUTTONS are the places on the Selection (F10) screen where you can click with the mouse to access screens. Mouse Buttons also appear on the Lookup screen for choosing various options. There is a Mouse Button sample shown on the Color Selection screen to indicate what your choice of colors would look like. W }'039(*a 031121 Utilities - Macro Editing Screen ('') W }'039*a 040604 21600410 * MACRO EDITING SCREEN ('') KEYBOARD FUNCTIONS * * * ~OPTIONS . . .~ ~EDIT Help . . .~ * * Duplicate record ~Ctrl+D~ Copy text ~Ctrl+C~ * place on W screen~Ctrl+W~ show Go-to location ~Ctrl+G~ * Edit macro ~Alt+E~ Journal/date and time~Ctrl+J~ * Mark macro ~Alt+M~ Journal/date only ~Ctrl+K~ * Paste text ~Ctrl+V~ * Cut text ~Ctrl+X~ * ~QUESTIONS . . .~ * * FIELD Help~ I ~ Using ABC Help~ H ~ * Q }'039*q E }'039*e F }'039*f H }R*h O }'039*o W }'039*e 040120 21600410 Edit Help ('') ~Ctrl+C~ copies text. Place your cursor on the field that contains the text you wish to copy and press Ctrl+C. Then move your cursor to the field you want your information copied to and use use the paste (Ctrl+V) function. $ Ctrl+C ~Ctrl+G~ You will receive a message telling you what entry location and field number your cursor is at. Type in the number of the entry location you want your cursor to be moved to and press enter, and your cursor will be moved to that location. $ Ctrl+G ~Ctrl+J~accesses a journal to keep on file anything that you want to remember about this purchase order. To see previous notes, press Ctrl+J. When you are done, press F9. The notes will be saved with the date and time. $ Ctrl+J * ~PgDn~ W }'039*ea 040120 21600410 * ~PgUp~ ~Ctrl+K~accesses a second journal. It is similar to the Ctrl+J journal, but files your notes with only the date. $ Ctrl+K ~Ctrl+V~ pastes text. Any text that has been copied (with Ctrl+C) or cut (with Ctrl+X) may be pasted into any other field by using the Ctrl+V function. Simply place your cursor in the field you want to copy the information to and press Ctrl+V. $ Ctrl+V ~Ctrl+X~ cuts text. Place your cursor on the field you want the text removed from and press Ctrl+X. The text will disappear. If you want to replace this text in another field, simply move your cursor to that field and use the paste (Ctrl+V) function. $ Ctrl+X W }'039*o 040603 21600410 Options Help ('') ~Ctrl+D~ Duplicate Macro ( used with Alt+M) ~Ctrl+W~ This places the Reference Code on Word Processor YLIST. See Ctrl+W under "Procedures for entry and editing Global Functions" in your manual. Or press~ W ~to see the same information on the screen. ~Alt+E~ Display Keystrokes and Edit macro ~Alt+M~ Mark Macro to Duplicate (used with Ctrl+D) W }*tnb W }'039*q 031207 21600410 * Questions ('') * * * Macro Screen Overview ~ O ~ * * Detailed Help for Macro Screen ~ D ~ O }039*o D }*h W }'03900a 031028 05520615 Macro Code (''.0) The computer maintains this field automatically, so you need not enter anything here. W }'03901a 040120 04440424 Macro Description (''.1) Enter a description of the macro. W }'039K10a 031028 16600510 Macro Name (''.1110) Enter the letter(s) or number(s) which will be used to activate your macro. Often only one character is used in order to save time when starting the macro. Note: Some planning needs to be done when Macro Names are selected. When you try to activate a macro with a name of 2 or more characters and there is another macro (of the same Type) with a shorter name that is identical to the beginning character(s) of the longer macro, the shorter macro will be activated instead of the longer one. For example, if F and F1 are the names of same Type macros, only F will work, or if R12 and R1 are the names of same Type macros, only R1 will work. ~PgDn~ W }'039K10b 040603 16600510 ~PgUp~ See "Setting Up Macros" and "Macro Types" in your manual for further help. Or you may press~ S ~to see more information on the screen. S }*m W }'039K12a 031028 07520615 Screen (''.1112) Enter the screen where the macro is used. If this is a Global or User macro, or in other words a macro that can be used in various screens, leave this field blank. W }'039K13a 031028 09520615 User (''.1113) Enter the User number if this is a User Macro. A User Macro is a macro which is setup to be used on only on one terminal in the computer system. The User Number is displayed in the bottom left corner of the F10 screen. W }'039s 031028 }*m W }'039sa 031028 }*ma W }'039t 031028 }*mb W }'039ta 031028 }*mba W }'039tb 031028 }*mc W }'12908(*a 031121 Purchases - Terms Entry W }'12908a 040120 06520915 Remark (A/P Terms Entry on B, O, and V Screens) This is an information field for your convenience. You may enter a remark about the terms you are setting up. $ terms entry W }'12909a 040603 16600410 Recurring Payment (Terms Entry on B, O, V Screens) The RECURRING PMT field is used to enter terms for bills of the same amount from the same vendor that are repeated periodically. This could be mortgage payments, rent payments or other periodic payments. Enter 1M for payments due once a month, or 3M for payments every 3 months. Enter 15D for payments due every 15 days. For more information, see Recurring Payments or press~ R ~. If the bill is not a recurring payment, leave this field blank. $ payments (terms entry) R }B09r W }'12910a 040603 16600610 Pay by S/N (Terms Entry on B, O, V Screens) Put a Y in the PAY BY S/N field if you want to select individual items on the A/P Bill for payment by serial number. Letting the field blank works the same as using an N. See Paying Bills by~Serial Number~for more information. NOTE: Whether you pay by serial number determines what kind of partial payments you may set up on the bottom part of the Terms window. See Entering A/P Terms for Partial ~Payments.~ P }B04pa S }In W }'12912a 031028 16600610 Due Days (Terms Entry on B, O, V Screens) If you enter Due Days in Column 1, the computer enters the Due Date in Column 2, based on the A/P Invoice date in the top right corner of the Bill Entry screen (B). You can enter the Due Date in Column 1 or Column 2. To change only the month, enter the month number followed by a forward slash (/), in the Due Days column. For example, 10/ means October. To change month and day, enter the month number followed by a forward slash (/), then the day, in the Due Days column. Entering 10/2 means the 2nd of October. If the date you enter is before Invoice Date, the computer will advance the year of the due date. * ~PgDn~ W }'12912b 030730 16600610 * ~PgUp~ You can also specify a due date that is a certain day of the following month. To do that, enter a number followed by an N (for next). To specify a due date that is a certain day of the second month after the invoice date, enter a number followed by an S. To specify a due date that is determined by the day of month on which the invoice date falls, use the pattern shown in the examples that follow. Example 1: 15-20M Example 2: 15-20M,31-5N Example 3: 16-15N,31-3S * ~PgDn~ W }'12912c 030730 16600610 * ~PgUp~ Example 1 means, invoices from the 1st through the 15th of the month have a due date on the 20th of the same month. The M means the due date is in the same month as the invoice date. Example 2 means, invoices from the 1st through the 15th have a due date on the 20th of the same month, and invoices from the 16th through the 31st have a due date on the 5th of the next month. Items in a series like this must be in numerical order to work properly. Example 3 means, invoices from the 1st through the 16th have a due date on the 15th of the next month, and invoices from the 17th through the 31st have a due date on the 3rd of the second month after the invoice date. * ~PgDn~ W }'12913a 031028 17600610 * ~PgUp~ Percent (%) Due (Terms Entry on B, O, V Screens) The third and fourth columns are used for setting up partial payments on bills. If you enter the Percent Due in Column 3, the computer enters the Amount Due in Column 4. (The computer also calculates how much remains due after the first payment and enters its calculations on the second line in columns 1 to 4.) You can also enter the Amount Due in column 3 if you put a $ after the amount, for example 25$. You can also enter a V for variable in the % Due column. See Entering A/P Terms for~Partial Payments.~ If the bill is to be paid all at once, don't put anything in columns 3 or 4. * ~PgDn~ P }B04p W }'12914a 031028 17600610 * ~PgUp~ Discount Days (Terms Entry on B, O, V Screens) The fifth and sixth columns work similar to columns 1 and 2. If you enter Discount Days in Column 5, the computer enters the Discount Date in Column 6. You can enter the Discount Date in Column 5 or Column 6. To change only the month, enter (in the Discount Day Column), the month number followed by a forward slash (/), for example 7/ means July. To change month and day, enter the month number followed by a forward slash (/), then the day, for example 7/4 means the 4th of July. If the date you enter is before Invoice Date, the computer will advance the year of the discount date. * ~PgDn~ W }'12914b 030730 17600610 * ~PgUp~ You can also specify a discount date that is a certain day of the following month. To do that, enter a number followed by an N (for next). To specify a discount date that is a certain day of the second month after the invoice date, enter a number followed by an S. To specify a discount date that is determined by the day of month on which the invoice date falls, use the pattern shown in the examples that follow. # Example 1: 15-20M # Example 2: 15-20M,31-5N # Example 3: 16-15N,31-3S * ~PgDn~ W }'12914c 030804 17600610 * ~PgUp~ Example 1 means, invoices from the 1st through the 15th of the month have a discount date on the 20th of the same month. The M means the discount date is in the same month as the invoice date. Example 2 means, invoices from the 1st through the 15th have a discount date on the 20th of the same month, and invoices from the 16th through the 31st have a discount date on the 5th of the next month. Items in a series like this must be in numerical order to work properly. Example 3 means, invoices from the 1st through the 16th have a discount date on the 15th of the next month, and invoices from the 17th through the 31st have a discount date on the 3rd of the second month after the invoice date. * ~PgDn~ W }'12915a 031028 14520715 * ~PgUp~ Discount Percent (Terms Entry on B, O, V Screens) The seventh and eighth columns work similar to columns 3 and 4. If you enter the Discount % in Column 7, the computer enters the Discount Amount in Column 8. You can also enter the Discount Amount in column 7 if you put a $ after the amount. (This only works on the Bill Entry screen (B) and you must have an amount entered in the Inv Amt field, just above the Terms field.) * ~PgDn~ W }'12918a 031028 13520815 * ~PgUp~ Due Date (Terms Entry on B, O, V Screens) If you enter Due Days in Column 1, the computer enters the Due Date in Column 2, based on the A/P Invoice date in the top right corner of the Bill Entry (B) screen. You can enter the Due Date in Column 1 or Column 2. To change the date in the Due Date column, enter one or two digits to change only the day. Enter 3 or 4 digits to change the month and the day. Enter 5 or 6 digits to change month day and year. * ~PgDn~ W }'12919a 040120 16600610 * ~PgUp~ Amount Due (Terms Entry on B, O, V Screens) The third and fourth columns are used for setting up ~Partial Payments~on bills. If you enter the Percent Due in Column 3, the computer enters the Amount Due in Column 4. Or, you can let the Percent Due column blank and simply enter the Amount Due in this field. (The computer calculates how much remains due after this payment and enters its calculations on the next blank line in columns 1 to 4.) If the bill is to be paid all at once, don't put anything in columns 3 or 4. * ~PgDn~ P }B04pa W }'12920a 031028 17600610 * ~PgUp~ Discount Date (Terms Entry on B, O, V Screens) The fifth and sixth columns work similar to columns 1 and 2. If you enter Discount Days in Column 5, the computer enters the Discount Date in Column 6. You can enter the Discount Date in Column 5 or Column 6. To change the date in the Discount Date column, enter one or two digits to change only the day. Enter 3 or 4 digits to change the month and the day. Enter 5 or 6 digits to change month day and year. If the Discount Date field is blank, you can enter the date by typing 5 or 6 digits for month, day and year. * ~PgDn~ W }'12921a 031028 15600610 * ~PgUp~ Discount Amount (Terms Entry on B, O, V Screens) The seventh and eighth columns work similar to columns 3 and 4. If you enter the Discount % in Column 7, the computer enters the Discount Amount in Column 8. You can let the Discount % column blank and enter the Discount Amount in Column 8. (This only works on the Bill Entry screen (B) and you must have an amount entered in the Inv Amt field, just above the Terms field.) W }'136*a 040214 14520305 Code for Different Label Formats * 0- Product LAbel 1H description 2H Label * 1- Product Label 1H description & Price 2H Label * 2- Product Label 2H Description 2H Label * 3- Product Label 2H description & Price 2H Label * 4- Product LAbel 1H description 3H Label * 5- Product Label 1H description & Price 3H Label * 6- Product Label 2H Description 3H Label * 7- Product Label 2H description & Price 3H Label * 8- Product Label 2H Desctiption No Label * 9 Product Label 2H Description & Price No Label * +10- Add Label Description 10 * +20- Add Label Description 20 W }'140*BRRA 030731 10280310 * change schedule Date ~Alt+D~ * change Alarm date ~Alt+A~ * return to U Screen ~Alt+S~ * select top-bottom ~Alt+E~ * emp start-end Time ~Alt+T~ * mark job Finished ~Alt+F~ * Move to next job ~Alt+M~ * Clear prev schedule ~Alt+C~ * Unmark finished job ~Alt+U~ W }'240*a 040604 21600410 * MASTER DIRECTORY EDITING SCREEN * * * ~TOOLS Help . . .~ ~FILE Help . . .~ * * Find (search) ~Ctrl+F~ New record ~Ctr+N~ * Go-to location ~Ctrl+G~ save directory ~F9~ * Duplicate Dir ~Alt+D~ * Load current dir ~Alt+L~ * Load specific dir ~Alt+S~ ~QUESTIONS about . . .~ * * * FIELD Help~ I ~ Using ABC Help~ H ~ * * * * I }R*i Q }'240*q F }'240*f H }R*h O }'240*o W }'240*f 031207 21600410 * Master Directory Screen File Help * * * ~F9~ Save Directory * * ~F10~ Selection Screen W }'240*o 031028 21600410 * MASTER DIRECTORY EDITING SCREEN * * ~Alt+C~ Clears all the fields on the screen. * * ~Ctrl+D~ Duplicates record. Next time you save * this directory it will prompt you for a device * and offset to save it to. * * ~Alt+L~ Loads active directory. * * ~Alt+S~ Loads specific directory. This will * prompt for device and offset to load directory * to edit from. * Q }'039*q F }'240*f H }R*h O }'039*o W }'240*q 030804 21600410 To edit an existing master directory, 1st load it using Alt+L or Alt+S. Make changes and save with F9. To create a new directory, type the directory in as desired on the screen and when you save it, it will ask for the device and offset to save the directory to. If editing Dos files, use device Q. The computer scans from the bottom up when reading the table on the bottom, so be sure to list these files in reverse alphabetical order. Q }'039*q F }'240*f H }R*h O }'240*o W }'241*a 030731 18270420 HEX EDITOR * Summary Mode On/Off~Alt+S~ * Next Screen ~PgUp~ * Previous Screen ~PgDn~ * Previous Block ~F7~ * Next Block ~F8~ * Selection Screen ~F10~ * Arrow Up a Line ~Up~ * Arrow Down a Line ~Dn~ * Enter Block to Edit~Alt+E~ * Device & Offset ~Alt+D~ * Print ~Ctrl+P~ * Search Hex ~Alt+H~ * Search Ascii ~Alt+A~ * Jump to Location ~Alt+J~ * Mode Block/Sector ~Alt+M~ W }'254(*a 040721 Lookup Screen File W }'254(Fa 040721 M13260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * Print Invoice/W.O. ~Ctrl+P~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ F }R*f W }'254*a 040604 21600410 * KEYBOARD FUNCTIONS FOR LOOKUP SCREEN * * ~TOOLS Help . . .~ ~EDIT Help . . .~ * Add new code ~Alt+A~ up one line ~Up arrow~ * mark start to print~Alt+M~ down one line ~Down arrow~ * print lookup ~Ctrl+P~ up ten lines ~Page Up~ * Find (search) ~Ctrl+F~ down ten lines ~Page Down~ * ~FILE Help . . .~ Copy text ~Ctrl+C~ * exit lookup ~F5~ paste text ~Ctrl+V~ * open lookup ~F6~ cut text ~Ctrl+X~ * exit all lookups~Shift+F5~ * alternate lookup~Shift+F6~ ~Lookup Screen Explanation~ * exit one level ~Esc~ * selection screen ~F10~ Using ABC Help~ H ~ * * ~Check Writing Lookup Screen Help~ * C }'254t T }'254*o E }'254*e H }R*h L }'254l F }'254*v W }'254*e 040120 21600410 Edit Help (Lookup Screen) You can use the Up and Down arrow keys and the Page Up and Page Down keys to view the Lookup list and place the cursor on your selection. When you press Enter on your choice, you are either given another Lookup screen with further choices or you are taken back to the former screen with your choice entered on the screen. When you are in the help screens choosing options, you can press the Left arrow to go back one level at a time. The Right arrow will go forward one level at a time if you have used the Left arrow previously. $ lookup screen - use of $ F6 screen - use of W }'254*o 040826 21600410 Tools Help (Lookup Screen) ~Alt+A~ On many Lookup screens you have the option to Add a new customer, item, vendor, G/L # and so on by using Alt+A. This takes you to the screen where you can set up a new customer, item, vendor, G/L # etc. ~Ctrl+F~ Pressing Ctrl+F on the Lookup screen allows you to search for information in any of the fields displayed on the Lookup screen. For more information press~ S ~to see "Lookup Search." ~Ctrl+P~ To print the information accessed on the Lookup screen, press Ctrl+P. You are given the message "Print All Records. Use Alt+M to Mark Beginning. Enter Device P,0-9,W,D." Press P or the printer # to print the entire list. * ~PgDn~ $ Print all records . . . (lookup screen) S }'254s W }'254*ob 040603 21600410 To print a partial list, follow these steps: 1. Place the cursor where you want the printing to begin and press Alt+M. 2. Place the cursor where you want the printing to end and press Ctrl+P. 3. Enter P or the printer # to print the partial list. You can also print to the Word Processor with W or to the Hard Drive with D. For more help, see the paragraphs on printing to the word processor and printing to the hard drive by pressing~ P ~. The same information is found by selecting a report, and then in the Report Generator screen, pressing Shift+F1. $ printing to word processor $ printing to hard drive P }r*ca W }'254*v 031207 21600410 * File Help (Lookup Screen) * * Close Lookup ~F5~ * * Open Lookup ~F6~ * * Close All Lookups ~Shift+F5~ * * Alternate Lookup ~Shift+F6~ * * Selection Screen ~F10~ * * Exit One Level ~Esc~ W }'254l 031207 21600410 Explanation of Lookup Screen A Lookup screen is available on hundreds of fields throughout the ABC program. This gives you a list of names, items, bill numbers, etc., in alphabetical order. To get a Lookup screen, press F6 on a field. If a lookup is available, it will pop up. If not, nothing happens. Many of fields with lookups will automatically display the Lookup screen if you enter a code that has not been set up in the computer. Also, a mouse click displays the Lookup screen on the fields that have available lookups. W }'254s 040826 21600410 Lookup Search Pressing Ctrl+F on the Lookup screen, allows you to look for information in any of the fields displayed on the Lookup screen. For example, to find a certain customer, press F6 when the cursor is on the Customer Code field. (This could be on the C, R, D, J, or Q screens). A Lookup screen appears. Then press Ctrl+F. A message appears at the bottom of the screen, "Enter Space to Clear Search or Search for" Because Code, Name and Phone # are listed on the Lookup screen, you can search for information from any of these three fields. To search by name or code, type a name, code or part of a name or code and press Enter. The computer will display any customer that has that string of letters in their code or name. To search by Phone #, type a Phone # or part of a Phone # and press Enter. The computer will display any customer that has those digits in their phone number. ~PgDn~ $ Ctrl+F on lookup screen $ search - use on lookup screen $ Enter space to clear . . . W }'254sa 030723 21600410 * ~PgUp~ NOTE: The computer will look for exact matches. If the phone number sought for is 827-7781, a search using 777 will not find the number, but a search using 7-77 would find it. W }'254t 031207 21600410 Check Writing Lookup Screen (/) # Selection options: # # * - To select open bills for payment, due or not # + - To select open bills for payment, if they are due # / - To clear bills from the payment list # If you use *, + or / on the top line, TOTAL TO BE PAID, it will apply to all of the bills on the list. If you use *, + or / on a line that has a vendor's name, it will apply to all the bills listed for that vendor. * ~PgDn~ W }'254ta 031028 21600410 * ~PgUp~ # Display options: # # Alt+M Marks the beginning of a list to print. # Ctrl+P Prints a list of open accounts. # Alt+T Shows the next level of A/P detail. # Ctrl+F Searches by vendor name or amount. # # Shift+Up Places cursor on the top line of the screen. # Shift+Down Places cursor on or below the last line. # # Alt+C, Esc or F5 Returns to the first screen. W }((*a 031113 File Load Edit Tools Macro Help W }((Ea 030930 M04300303 * ~EDIT Help . . .~ * copy text ~Ctrl+C~ * paste text ~Ctrl+V~ * cut text ~Ctrl+X~ * undo changes ~Ctrl+Z~ * fields in top of screen~Alt+E~ * specified check number ~Alt+J~ E }(*e W }((Fa 030729 M13260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * Print balance rep. ~Ctrl+P~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ F }(*f W }((Ha 040604 M04400303 * using ABC Help ~ H ~ * field Help for current entry ~ I ~ * using the checkbook balancing screen~ U ~ * what if the checkbk doesn't balance?~ B ~ * I }R*i H }R*h U }(ha B }(ba W }((La 030729 M05200303 * ~LOAD Help . . .~ * previous record ~F7~ * next record ~F8~ * index prev ~Shift+F7~ * index next ~Shift+F8~ W }((Ta 030827 M06310303 * ~TOOLS Help . . .~ * Find (search) ~Ctrl+F~ * 3 ways to Display checks ~Alt+D~ * return a group of checks ~Alt+R~ * mark check as Transfer ~Alt+T~ * Unmark a check ~Alt+U~ O }(*o W }(*a 040604 21600410 * CHECKBOOK BALANCING SCREEN KEYBOARD FUNCTIONS SUMMARY * * ~FILE Help . . .~ ~EDIT Help . . .~ * New record ~Ctrl+N~ fields in top of screen ~Alt+E~ * Print balance rep. ~Ctrl+P~ specified check number ~Alt+J~ * close lookup ~F5~ Copy text ~Ctrl+C~ * close all lookups~Shift+F5~ paste text ~Ctrl+V~ * open lookup ~F6~ cut text ~Ctrl+X~ * alternate lookup ~Shift+F6~ ~TOOLS Help . . .~ * save record ~F9~ 3 ways to Display checks~Alt+D~ * delete record ~Shift+F9~ Return a group of checks~Alt+R~ * selection screen ~F10~ mark check as Transfer ~Alt+T~ * go to menu bar ~Shift+F10~ Unmark a check ~Alt+U~ * Exit one level ~Esc~ Find (search) ~Ctrl+F~ * exit ABC ~Alt+F4~ ~LOAD Help . . .~ * previous record ~F7~ * ~QUESTIONS about . . .~ next record ~F8~ * Using ABC Help~ H ~ FIELD Help~ I ~ I }R*i E }(*e F }(*f T }(*t Q }(*q H }R*h L }(*l W }(*e 040120 21600410 Edit Help (() ~Ctrl+C~ copies text. Place your cursor on the field that contains the text you wish to copy and press Ctrl+C. Then move your cursor to the field you want your information copied to and use use the paste (Ctrl+V) function. ~Ctrl+V~ pastes text. Any text that has been copied (with Ctrl+C) or cut (with Ctrl+X) may be pasted into any other field by using the Ctrl+V function. Simply place your cursor in the field you want to copy the information to and press Ctrl+V. ~Ctrl+X~ cuts text. Place your cursor on the field you want the text removed from and press Ctrl+X. The text will disappear. If you want to replace this text in another field, simply move your cursor to that field and use the paste (Ctrl+V) function. * ~PgDn~ W }(*ea 031022 21600410 * ~PgUp~ ~Ctrl+Z~ Undo present changes to line cursor is on. ~Alt+E~ Use Alt+E to move your cursor from the bottom part of the screen to the top part. This allows you to change the Ledger #, the Bank Statement Date or the Bank Amounts. ~Alt+J~ When you press Alt+J in the bottom part of the screen, you are told to enter a check # to jump to. Type the check # that you want displayed and press Enter. If that check # exists, the computer places it between the asterisks. W }(*f 040120 21600410 File Help (() ~Ctrl+P~ (Use Ctrl+P only when your cursor is in the bottom part of the screen). Print a report, either to the screen or to the printer, showing the outstanding checks and deposits. Also tells whether computer is in balance. $ Ctrl+P to print $ print hotkey - Ctrl+P ~Ctrl+N~ Clear the screen and load the next available reference number. This does not save or unsave any record. # ~F5~ Exit Lookup ~Shift+F5~ Close All Lookups # # ~F6~ Open Lookup ~Shift+F6~ Alternate Lookup # # ~F9~ Save Record ~Shift+F9~ Delete Record # # ~F10~ Selection Screen ~Shift+F10~ Go to Menu Bar # # ~Esc~ Exit One Level ~Alt+F4~ Exit ABC W }(*l 040120 21600410 Load Help (() ~F7~ Previous Record ~F8~ Next Record ~Shift+F7~ When the cursor is on an indexed field, press Shift+F7 to scroll through information in reverse. ~Shift+F8~ When the cursor is on an indexed field, press Shift+F8 to scroll through information going forward. $ F7 $ F8 $ Shift+F7 $ Shift+F8 $ indexing options W }(*q 040603 21600410 * Questions (() * * * Using the Checkbook Balancing Screen ~ U ~ * * * What to Do if the Checkbook Does Not Balance~ B ~ * * U }(ha B }(ba W }(*ta 040826 21600410 Tools Help (() ~Alt+D~(Use Alt+D only when your cursor is in the bottom part of the screen.) When you press Alt+D, you are given 3 choices. If you want All checks and deposits to be displayed, press A. If you want only the Outstanding entries to be displayed, press O. To list the entries marked Returned in the current month and the outstanding entries, press R. ~Alt+R~ If you wish to mark a consecutive group of checks, press Alt+R on the first check to be marked returned. The computer will give you this message, "Return Checks from xxxx to xxxx." Type the last check of the group that you want returned and press Enter. The computer goes through the list marking any check that hasn't been returned previously - up to and including the check specified. * ~PgDn~ $ Return checks from . . . (() W }(*tb 031027 21600410 * ~PgUp~ ~Alt+T~ - Use Alt+T to mark an entry without adding it to the Returned column. This is used for Transfers and other entries that are not listed on the Bank Statement. ~Alt+U~ - If you happen to mark an entry that you didn't mean to, you can unmark it with Alt+U. The Bank Statement Date above MUST be the same date as when you marked the entry, otherwise it will not unmark the check or deposit. * ~PgDn~ W }(*tc 040120 21600410 * ~PgUp~ ~Shift+F3~ brings up an accountant's calculator. # + adds or totals - subtracts / divides # * multiplies ) clears ( exits calculator # = totals or equals $ calculator ~Ctrl+F~ accesses a search engine, enabling you to find words, phrases and/or numbers. Press Ctrl+F. Then enter the information you want to find. The computer will search all records on the file for that information. $ search engine W }(03a 031028 07520815 Checks/Debits ((.3) Enter the amount of checks and other debits, such as bank service charges, for this period, as shown on the bank statement. Then press Enter. W }(04a 040120 11520815 Deposits/Credits ((.4) Enter the amount of deposits and and other credits for this period, as shown on the bank statement. Be sure to include any interest if it is listed separately. When you have done this and press Enter, the checks and deposits are listed in the bottom part of the screen. W }(06a 040120 12520715 Bank Statement Date ((.6) Enter the date from your bank statement which shows what date the statement was made. When you press Enter, the computer automatically sets the date to the last day of the month. (When you do checkbook balancing for the first time, the computer asks you for the prior month's bank balance. Enter last month's ending balance or this month's beginning balance.) W }(J89a 031028 08440723 Ledger Number ((.1089) Enter the number of the ledger that has the checks you wish to balance. The ledgers are set up on the # screen and may be any number from 3 to 7. W }(ba 040602 21600410 If the Checkbook Is Out of Balance (() After the checks and deposits have been returned, you should run the Checkbook Balance report by pressing Ctrl+P and then S for Screen or P for Printer. At the end of that report, the computer compares the computer checkbook balance to the Bank Statement balance, making adjustment for outstanding checks and deposits and bank transactions entered after the end of the month. If the adjusted bank balance does not agree with the computer balance, the computer checkbook is out of balance. Possible causes for the checkbook to be out of balance: 1. If you have payroll, Report # 4-39, PAYROLL CATEGORY & POSTING REPORT, may not have been run after the last * ~PgDn~ $ checkbook bakancing (() $ out-of-balance checkbook (() $ 4-39 report (() W }(bab 040120 21600410 * ~PgUp~ payroll checks were calculated. TO CORRECT this, run Report # 4-39 for the month in which the checkbook is out of balance. 2. If an item from the Bank Statement was missed when the Deposits/Credits and Checks/Debits fields were entered. TO CORRECT this, double check the Beginning and Ending Bank Balance figures in the top left corner of the Checkbook Balancing screen to make sure that they agree with the Bank Statement. Correct the Deposits/Credits and Checks/Debits fields as necessary. 3. Information has been changed in a prior month. Compare the Checkbook Balance reports from prior months to what the computer currently says for that month. Set the banks statement date to the date of the prior month you want to compare, run the Ctrl+P report to the screen, and compare the figures to the printout from the prior month. W }(ha 031028 21600410 Checkbook Balancing - How to Do It (() The Checkbook Balancing screen is accessed from the Selection screen, F10, by pressing the open parenthesis ((). Enter the Ledger number and Bank Statement Date. The computer sets the date to the last day of the month. When you do Checkbook Balancing for the first time, at the bottom of the screen the computer asks you for the Prior Month Bank Balance. Enter last month's Ending Balance or this month's Beginning Balance. Copying from the Bank Statement, enter the total Deposits or Credits. Be sure to include Interest earned. Enter total Checks or Debits. Be sure to include service charges. * ~PgDn~ W }(had 030804 21600410 * ~PgUp~ When you press Enter on the Checks/Debits field, checks and deposits that have been entered into the computer, will display on the lower part of the screen. Compare the computer checks and deposits with the Bank Statement checks and deposits. When you find an entry on the computer screen which matches an entry on the Bank Statement, place that entry between the asterisks, using the Up or Down Keys, and press Enter. This adds it to the Returned column and subtracts it from the Amt to Enter column. The month number is printed in the Ret column to show that this has been done. When you have marked all the checks and deposits for the month, the Amt to Enter column (in the top part of the screen) should be blank and the Returned column amounts should equal the Bank column amounts. * ~PgDn~ W }(hae 040826 21600410 * ~PgUp~ If you want to unmark a check or deposit, press Alt+U when the entry is between the asterisks. This will only work if the Bank Statement Date at the top of the screen is the same month that the check or deposit was marked. When you are done with the month's checks, press Ctrl+P, using S for Screen or P to Print. Check the list for old entries, which may be a check that has been lost or something entered into the computer mistakenly. Check for the message "Computer is in Balance." This means that the computer balance agrees with the bank statement balance. Print a copy of the Checkbook Balance report (using Ctrl+P, P) and file it. $ unmark check (() $ unmark deposit (() $ Computer is in balance (() W })*a 030723 07460625 Code ()) The Closed Parenthesis ()) screen is used by a networking computer to initiate custom programming. W }*(*a 031121 Utilities - System Date and Time (*) File Tools Macro Help W }*(Fa 030729 M11260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * exit ABC ~Alt+F4~ F }**f W }*(Ha 040604 M14370303 * * Using ABC Help ~ H ~ * Field Help for Current Entry ~ I ~ * Appendix A-file Codes & Field #s ~ A ~ * Bank Balance Adjustment ~ B ~ * Appendix B - Code Order ~ C ~ * About ABC Accounting Software ~ D ~ * End of Month Procedures ~ E ~ * G/L Setup Enter Account Balances ~ G ~ * Setting Up Macros ~ M ~ * Setting Up a New Company ~ S ~ * Procedures for Entry & Editing ~ N ~ * Printing Reports ~ P ~ * Error Messages ~ X ~ * Exporting to DOS File ~ Y ~ * Bits & Pieces, Odds & Ends ~ Z ~ * Version 5 Features ~ 5 ~ * Version 6 Features ~ 6 ~ * Version 7 Features ~ 7 ~ * Version 8 Features ~ 8 ~ # ~QUESTIONS about . . .~ I }R*i H }R*h B }La E }*e M }*m S }*s G }*f N }**n A }x C }xb X }*? Y }*y O }*o Z }*z D }*J08 5 }*v 6 }*w 7 }*x 8 }*xv8 P }*u W }*(Ta 030916 M10270303 * ~TOOLS Help . . .~ * Find (search) ~Ctrl+F~ * showGo-to location ~Ctrl+G~ * Journal/date & time~Ctrl+J~ * Journal/date only ~Ctrl+K~ * dial Telephone ~Ctrl+T~ * undo changes ~Ctrl+Z~ * Change directories ~Alt+C~ * enter Password ~Alt+P~ * calculator ~Shift+F3~ W }**a 040630 21600410 * * STARTUP SCREEN FUNCTIONS * * ~Startup~ Screen Explanation * ~TOOLS Help . . .~ ~QUESTIONS about . . .~ * Find (search) ~Ctrl+F~Apdx A-file codes & field #s ~ A ~ * showGo-to location~Ctrl+G~Bank Balance adjustment ~ B ~ * Journal/date& time~Ctrl+J~appendix B - Code order ~ C ~ * Journal/date only ~Ctrl+K~about ABC accounting software~ D ~ * dial Telephone ~Ctrl+T~End of month procedures ~ E ~ * undo changes ~Ctrl+Z~G/L setup enter account bal. ~ G ~ * enter password ~Alt+P~setting up Macros ~ M ~ * calculator ~Shift+F3~setting Up a new company ~ U ~ * procedures for eNtry, editing~ N ~ * ~FILE Help . . .~ Printing reports ~ P ~ * selection screen ~F10~error messages ~ X ~ * go to menu bar ~Shift+F10~exporting to DOS file ~ Y ~ * exit ABC ~Alt+F4~ * * FIELD Help~ I ~ * Using ABC Help~ H ~ * * * * * * * Q }**q E }*e F }**f H }R*h T }**t I }R*i S }**s C }xb D }*J08 P }*u B }La M }*m U }*s G }*f N }**n A }x X }*? Y }*y O }*o Z }*z W }**f 031207 21600410:}**f File Help (*) ~Ctrl+N~ Clear the screen without saving or unsaving the current record, and set the reference number to the next available number. # ~F5~ Exit Lookup ~Shift+F5~ Close All Lookups # # ~F6~ Open Lookup ~Shift+F6~ Alternate Lookup # # ~F9~ Save Record ~Shift+F9~ Delete Record # # ~F10~ Selection Screen ~Shift+F10~ Go to Menu Bar # # ~Esc~ Exit One Level ~Alt+F4~ Exit ABC W }**n 040603 21600410 * * * * PROCEDURES FOR ENTRY & EDITING (*) * * Keyboard Functions ~ K ~ * Moving from Screen to Screen ~ M ~ * Loading a Record ~ L ~ * Moving from Field to Field ~ F ~ * Editing Data Within a Field ~ E ~ * Saving a Record ~ S ~ * Deleting a Record ~ D ~ * Setting Up a Default Record ~ R ~ * Entering Uppercase Fields ~ U ~ * Entering Numeric Fields ~ N ~ * Entering Dates ~ H ~ * Importance of Accurate Date Entry~ A ~ * Global Functions ~ G ~ * Background Posting ~ P ~ * * * * * K }*tk M }*ta L }*tb F }*tc E }*td S }*te D }*tf R }*th U }*ti N }*tj H }*tl A }*tm G }*tn P }*tg W }**q 040603 21600410:}**a * Questions (*) * * Appendix A - File Codes & Field #s ~ A ~ * Bank Balance Adjustment ~ B ~ * Appendix B - Code Order ~ C ~ * About ABC Accounting Software ~ D ~ * End of Month Procedures ~ E ~ * G/L Setup - Enter Account Balances ~ G ~ * Setting Up Macros ~ M ~ * Setting Up a New Company ~ U ~ * Procedures for Entry & Editing ~ N ~ * Printing Reports ~ P ~ * Error Messages ~ X ~ * Exporting to DOS File ~ Y ~ * B }La E }*e M }*m U }*s G }*f N }**n A }x C }xb X }*? Y }*y D }*J08 5 }*v 6 }*w 7 }*x 8 }*xv8 P }*u W }**s 040602 21600410 Explanation for Startup Screen (*) ========== You can change the DOS and ABC Program time and date on the Startup Screen. Press F1 when your cursor is on the date field for an explanation of date changes. If you don't want to change the system time or date, pressing the F10 key will take you directly to the next screen, the Selection Screen. If you use a password to restrict access to certain screens, enter the password on this screen, by pressing Alt+P, typing the password and pressing Enter. More information about the basics of ABC accounting is available at your fingertips. Press Shift+F1 and then Q for Questions and D for About ABC. $ time (*) $ date (*) $ change time and date (*) $ Alt+P (*) $ password (*) W }**t 040312 21600410 Tools Help (*) ~Ctrl+F~ accesses a search engine, enabling you to find words, phrases and/or numbers. Press Ctrl+F. Then enter the information you want to find. The computer will search all records on the file for that information. $ Ctrl+F to access search engine $ search engine $ find with Ctrl+F ~Ctrl+G~ You will receive a message telling you what entry location and field number your cursor is at. Type in the number of the entry location you want your cursor to be moved to and press enter, and your cursor will be moved to that location. Or enter an F plus the field number to jump to a certain field. (Use the field number option when making macros.) $ Ctrl+G to go to a certain field * ~PgDn~ W }**ta 040603 21600410 * ~PgUp~ ~Ctrl+J~accesses a journal to keep on file anything that you want to remember about this purchase order. To see previous notes, press Ctrl+J. When you are done, press F9. The notes will be saved with the date and time. ~Ctrl+K~accesses a second journal. It is similar to the Ctrl+J journal, but files your notes with only the date. ~Ctrl+T~ Dial Telephone. For detailed help, press~ T ~. ~Ctrl+Z~ Undo latest changes to the line the cursor is on. $ Undo latest changes $ Ctrl+Z ~Alt+C~ This will change to different directories allowing terminals to share data for more than a single company or business. Each application is specially programmed. $ multiple business access (*) * ~PgDn~ T }*tne W }*tnb W }**tb 040602 21600410 * ~PgUp~ ~Alt+P~ If you use a password to restrict access to certain screens, enter the password on this screen, by pressing Alt+P, typing the password and pressing Enter. $ Alt+P for password (*) $ access with password (*) ~Shift+F3~ brings up an accountant's calculator. # + adds or totals - subtracts / divides # * multiplies ) clears ( exits calculator # = totals or equals $ calculator W }*+N*a 020808 W }*+NJ06a 040603 0758P0911 Thank you for requesting a Copy of ABC Accounting. It takes only 15 minutes to learn the easy-to-use data entry features of this software. Just follow the onscreen tutorials and you will soon be making out invoices for customers. Place the keyboard label on your keyboard, and you are ready to start. Press~ F10 ~to display the main menu, then C to choose the customer screen. W }*08a 031028 15600510 ABC Program Date (*.8) You can change the DOS and ABC Program time and date on the Startup Screen. When you change the date, the computer asks you to confirm your choice. If you press Y for Yes, the computer then asks if it is a temporary date change. A temporary date change is when you set the date to something other than the actual calendar date. If you press Y for a temporary date change, the ABC Program date will be changed but not the Computer date. The next time you access the Startup Screen, the computer sets the ABC Program date automatically. ~PgDn~ W }*08b 031028 15600510 * ~PgUp~ If you answer with N, that it is NOT a temporary date change, the computer sets the Computer and ABC Program date. If the date you enter is in a different month from the date previously entered, the computer will ask for a password. Entering PASS will allow you to continue, unless some other password has been set up. Do not skip months or you may cause some discrepancies in your data. W }*? 040826 21600410 Error Messages (*) 1. "Directory is '--'% full." 2. "Warning: Only '--' data blocks left." If you receive one of these messages, your data file is nearly full. You may keep entering data, but should schedule an appointment with your dealer to increase disk space. 3. "Warning: No data blocks left." If you receive this message, your data file is FULL. You SHOULD NOT enter any additional data until your dealer increases disk space. Call your dealer IMMEDIATELY. 4. "Directory end-of-data marker not at end-of-data pointer." If you receive this message, call your dealer IMMEDIATELY. $ warning messages (*) $ Directory is ___ full (*) $ Warning: Only ___ data . . . (*) $ Warning: No data . . . (*) $ Directory end-of-data (*) W }*J06a 040602 12520615 System Time (*.1006) Enter the current time. This does not affect the system's operation, but it is only for your information. Most computers have a timeclock and batteries installed which keep the time and date current even when your computer is turned off. The computer uses this time and the date to print Run Date and Time at the top of your reports for your information. $ time entry (*) W }*J08a 031029 21600410 Introduction - About the Program (*) Congratulations on your purchase of one of Advanced Business Computers software products! ABC Accounting is a high-performance, easy-to-use, seamlessly-integrated accounting package for the 386, 486, and Pentium computer systems. The high performance of this package is due not only to the power of your computer, but also to the clean, efficient design of the program. * ~PgDn~ W }*J08aa 031028 21600410 * ~PgUp~ This package is easy to use. The program automatically performs mundane tasks like posting and rolling. Posting involves processing entered transactions and updating all related records; for example, adding an invoice amount to a customer balance. Rolling maintains information which is categorized by date - like moving month-to-date sales into prior sales. Consistency in the use of keyboard functions throughout the program also eases the learning curve. # Introduction - Getting Into the Program To start the computer, do the following steps. 1. Turn on the monitor. * ~PgDn~ W }*J08ab 031028 21600410 * ~PgUp~ 2. Turn on the computer. (It's ideal if you have a single switch that turns them both on at once.) After a few seconds, one of three things should happen. You will see a DOS prompt which looks like this: C:\>, or your system menu will appear or the ABC Accounting Startup screen which contains the system time and date will appear. If the DOS prompt or your system menu appears, follow the instructions your dealer gave you to get into the program. Usually this is to type 1 and press Enter. If the ABC Accounting Startup screen appears, you are in the program. * ~PgDn~ W }*J08abb 031028 21600410 * ~PgUp~ # ADVANCED BUSINESS COMPUTERS # 88 Greble Road # Jonestown PA 17038 # (717)865-4089 Fax (717)865-6239 # Our Accounting Software ABC has developed an accounting package which includes the following features: # Parts Lookup Accounts Payable # Work Orders General Ledger # Invoicing Service History # Accounts Receivable Sales History # Inventory Control Purchase History # Serial Numbers Payroll # Purchase Orders * ~PgDn~ W }*J08abc 031028 21600410 * ~PgUp~ ABC Services and Support * ~PgDn~ W }*J08abd 040312 21600410 * ~PgUp~ to come to your place of business and fix your computer problems. EMERGENCY SERVICE - We do also offer after hour emergency service for those who are under our emergency service contract. If this is something you feel you may need, please feel free to call us and set your company up with this contract. CUSTOM LOGOS - We will gladly customize your invoices, workorders, and statements with your businiess logo. AUTOMATED PRICE LIST UPDATES, MULTIPLE WORK STATIONS, DATA SECURITY AND A VARIETY OF SERVICE CONTRACTS are also available to you and are discussed in the following sections of this manual. * ~PgDn~ W }*J08ac 040602 21600410 * ~PgUp~ Hands-on Training Seminars The beginners session will include an introduction to basic features and global hot keys, a course on efficient data entry, and a brief introduction to macros. The next session deals with more advanced use of Accounts Receivable, Accounts Payable, Inventory, and Payroll. It also touches on use of commands for the Word Processor. The third session goes deeper into Payroll and Finances. Also introduced are tips on some fun, personal mini programming - such as creating spreadsheets, macros, and personalized reports. The Administrator's session covers system specifications, ports, setting up phone and FAX, configuring printers, moving/adding terminals and understanding error messages. * ~PgDn~ $ seminars (*) W }*J08ad 031028 21600410 * ~PgUp~ Live-Time Modem & Phone Support ABC offers a high level of active modem and phone support. We can see what you're doing, you can see what we're doing, right on your screen. * ~PgDn~ W }*J08ada 031028 21600410 * ~PgUp~ Custom Logos on Laser Invoices, Workorders, Statements ABC offers Custom Logos. We can customize the layout of your invoices, workorders, and statements with a Logo created especially for your business. Other details on your printouts can be customized, as well, to give you the look that you want for your company. (Custom Logos are available with Laser printers that support the following drivers; HP LaserJet IIP, HP Laser Jet III, Okidata OL400 & 400e, Okidata OL-1200, Okipage 16n, and Okipage 18. * ~PgDn~ W }*J08afa 040602 21600410 * ~PgUp~ Automated Price List Updates If the manufacturer provides price updates on floppy disks, we can prepare that data for input into your computer. There are a number of things that you can specify such as Item Prefix, Description Update, List Price Adder, Cost Calculation, List Price Calculation, Minimum Markup, etc. There is a charge for this service. $ price list updates (*) * ~PgDn~ W }*J08ag 031028 21600410 * ~PgUp~ Multiple Work Stations ABC Accounting can be run on dozens of workstations at once. Usually existing equipment can be utilized as workstations when upgrading to ABC Accounting. It is important that the base computer have sufficient speed and capacity to run a mult-user system. A workstation must be at least a 386 machine. * ~PgDn~ W }*J08ah 040602 21600410 * ~PgUp~ Data Security Every ABC multi-user system, with a workstation configured similarly to the base, is set up so that the workstation could be used as the base, in case of problems with the base computer. Another available service, enhancing Data Security, is Data Backup Verification. This means that, for a small charge, we can periodically test your data backups for you, to make sure that your backup system is working properly. Backing up your data on a timely basis is rule number 1 for successful computing. But, if your backup data is garbage, you'll likely get a rude surprise sometime, and it won't be funny! $ backup verification (*) * ~PgDn~ W }*J08ai 040602 21600410 * ~PgUp~ Guaranteed Service Contracts All standard equipment sold by Advanced Business Computers comes with a one-year replacement warranty. This means that if an equipment problem surfaces that can't be resolved over the phone, replacement equipment will be sent to you, until your equipment is repaired. There will be no charge for the temporary replacement equipment and no charge for non-expendable parts and labor to repair your equipment. You do not have to wait for it to be fixed, rather we will ship replacement equipment, via UPS, by the next business day after you have notified us and an equipment problem is diagnosed. ABC offers Service Contracts on all equipment that we sell, prior to the end of the first year. The Service Contract provides the same coverage as the first-year warranty. The next several pages contain a copy of ABC's Service Contract. ~PgDn~ $ service contracts (*) $ contracts (*) W }*J08am 040520 21600410 * ~PgUp~ ABC Service Contract In order to provide fast, reliable repair service at a reasonable price, we offer a service contract to all of our customers with ABC equipment. For a low monthly fee we will maintain an inventory of parts and equipment to keep your system operating. Our intent is to have your system operating as quickly as possible after we are notified. There will be no charge for non-expendable parts to get the equipment operating and labor to replace them. If the repairs cannot be made within reasonable time, we will provide temporary replacement equipment. Travel time and expense to and from your place of business may be additional charges. If a service contract is not purchased before our normal one-year warranty is expired, the equipment must be inspected and/or repaired at regular time and material rates. * ~PgDn~ W }*J08an 040520 21600410 * ~PgUp~ Customers with equipment not covered by a service contract may rent replacement equipment from us if it is available. We reserve the right to pick up such equipment if it is needed by a customer with a service contract. Items not covered by a contract: Labor and parts for expendable items, such as floppy diskettes, printer ribbons, print heads, toner cartridges and drums. Items with damage from lightning, misuse or abuse. Data and information loss, and time for recovering data backups. Travel time and expense to and from your place of business may be charged. * ~PgDn~ W }*J08ao 040520 21600410 * ~PgUp~ A special service contact can be purchased offering 24 hour emergency support. Service contracts will be billed 30 days before the period covered and must be paid by the start of the period for the contract to be valid. Service contracts in excess of $100.00 per month will be billed each month. Other service contracts will be billed quarterly. W }*a 030822 }xaa W }*azb 970717 }xb W }*e 040602 21600410 End of Month Procedures (*) 1. Make sure all customer invoices & deposits for the month are entered. Put a Y in Deposit Total on the last deposit of the month and save it. 2. Print Report # 3-12, CUSTOMER AGED TRIAL BALANCE. Scan for Non-invoiced Amounts (NIA) and credit invoices that should be applied to other invoices. Use the Deposit (D) screen to do this. Print the corrected CUSTOMER AGED TRIAL BALANCE. 3. To see if Accounts Receivable is in balance, follow these steps: A. Get the total from last month's CUSTOMER AGED TRIAL BALANCE. (If you ran finance charges, use the CUSTOMER AGED TRIAL BALANCE after the finance charges were calculated.) ~PgDn~ $ balancing accounts receivable (*) $ closing out end-of-month (*) $ non-invoiced amounts (*) $ NIA (*) $ 3-12 report (*) $ Customer Aged Trial Balance (*) W }*ea 040602 21600410 ~PgUp~ B. Add the invoices for this month. To find this total, print Report # 3-11, CUSTOMER INVOICE LEDGER. (For the starting number, enter the first invoice number of the month.) C. Subtract this month's payments and discounts. To find this total, print Report # 3-14, CUSTOMER PAYMENT LEDGER. (For the starting number, enter the first deposit number of the month.) Use the Total Applied to A/R, which you find at the bottom of the report, just before the Ledger Summary. D. The result should equal the CUSTOMER AGED TRIAL BALANCE found in # 2. ~PgDn~ $ 3-11 report (*) $ Customer Invoice Ledger (*) $ 3-14 report (*) $ Customer Payment Ledger (*) W }*eb 040602 21600410 ~PgUp~ 4. If the aging totals are not equal, run Report # 3-16, CUSTOMER TOTAL SUMMARY, and compare the totals to the totals found above. PRIOR BALANCE should equal last month's Aged Trial Balance. CURRENT SALES should equal the total in Step # 3-B. CURRENT PAYMENTS should equal the total in Step # 3-C. CURRENT BALANCE should equal the total in Step # 2. If you haven't found the problem yet, examine the individual customer accounts by running Report # 3-15, CUSTOMER CURRENT ACTIVITY. (Be sure to use a date in the current month.) This gives you the prior balance, current sales, current payments and current balance of each customer. Compare these totals with the CUSTOMER AGED TRIAL BALANCE from Step # 2. ~PgDn~ $ 3-16 report (*) $ Customer Total Summary (*) $ 3-15 report (*) $ Customer Current Activity (*) W }*ec 040602 21600410 ~PgUp~ Another check is to run Report # 4-14, starting and ending with your A/R account number. (ABC's standard A/R account # is 20.) The prior amount should equal last month's CUSTOMER AGED TRIAL BALANCE. The year-to-date should equal this month's CUSTOMER AGED TRIAL BALANCE. If CURRENT SALES (3-11) was higher than CURRENT PAYMENTS (3-14), the difference should be the debit amount. If CURRENT SALES was lower than CURRENT PAYMENTS, the difference should be the credit amount. Things that may cause the reports to be out of balance. a. If amounts were changed on invoices or payments from a prior month. b. If not all invoices or payments for the month are included on a report. 5. When the accounts are in balance,backup your data.~PgDn~ $ 4-14 report (*) $ Trial Balance From Accounts (*) W }*ed 040528 21600410 ~PgUp~ 6. Print Report # 3-20, GENERATE FINANCE CHARGES. Be sure the report date is correct and the FINANCE CHARGE INFO is set up in the Setup A/P and A/R (&) screen. 7. Print Report # 3-12, CUSTOMER AGED TRIAL BALANCE again. 8. Make sure the total on this report equals the total of the aging you printed in step two plus the total finance charges in step six. 9. Print Customer Statements using Report # 3-31 or # 3-36. Make sure the report date is correct and statement limits are set up properly in the Setup A/P and A/R (&) screen. 10. If you are on the accrual basis of accounting, run Reports # 3-27 and # 2-11 choosing P for Posting. This posts the Accounts Receivable and Accounts Payable to the General Ledger. ~PgDn~ $ 3-20 report (*) $ 3-12 report (*) $ 3-31 report (*) $ 3-27 report (*) $ 2-11 report (*) $ 3-36 report (*) W }*ee 040603 21600410 ~PgUp~ 11. If you want the value of your Inventory to be calculated on your Financial Statements you must run Report # 1-7 choosing P for Posting. For this to work, Inventory Accounts need to be properly setup. See page~ I~ 12. Make an end-of-month backup. Keep this until the end of the next month. Save the Customer Invoice Ledger, Customer Payment Ledger, Finance Charges ledger, and the Customer Aged Trial Balance after finance charges, in a permanent file. You are now ready for next month's entries. DO NOT CHANGE ANY AMOUNTS ON BILLS, INVOICES, DEPOSITS OR G/L CHECKS IN PRIOR MONTHS!!!!! $ inventory calculated on statement (*) $ 1-7 report (*) I }107p W }*ei 980604 }107p W }*eia 031002 }107pa W }*eib 031002 }107pb W }*f 040602 21600410 General Ledger Setup - Entering Account Balances (*) Obtain setup balances from your accountant. Enter these under F10, -, 2 (Adjustment Entries). Check # 1 will automatically be selected unless it was used already. Enter the date of the setup balances, usually the end of a month. Enter 'SETUP BALANCES' in the Vendor Code & Name field. Skip the check amount field. Enter each account# and amount from the setup balances provided by your accountant. Enter credits with a minus sign. When all account #s and amounts are entered, the Distribution field should be zero. If it is not zero, enter the amount that is in the Distribution field into the owner's equity account. (ABC's standard equity account is 401). Press F9 to save the entry. The next step is to enter any transactions that took place after the setup balances were calculated that are not in * ~PgDn~ $ equity account # (*) $ adjustment entries in ledger (*) W }*fa 040602 21600410 * ~PgUp~ the computer. This would include any checks that were not printed by the computer. Enter these into the check ledger, usually F10, - (dash), 3. Enter the check #, date, vendor code and amount. Enter the disbursement (account# and amount). Remember to use F9 to save each entry. Ledger entries MUST be in order by months. For example, Check # 100 must not be in May if Check # 99 has a June date. Make entries for any other transactions, such as bank charges, interest, payments automatically deducted from your account, etc. Enter all deposits made to your bank account since the date of the setup balances. Enter an adjustment entry for the sales for each month since the date of the setup balances. $ bank charges (*) $ interest (*) $ payments automatically deducted (*) $ deposits (*) W }*g 950425 }Gh W }*ha 040602 21600410 Macro Screen (*) The Macro Screen is accessed from the F10 screen by pressing the apostrophe key (') twice. Enter the macro name or use F7 and F8 to page through existing macros. Press Alt+E to display the macro key strokes in the bottom part of the screen. This allows you to edit the macro. You can edit the macro by adding or subtracting key strokes. Put braces around special key strokes, such as {Space} {Enter} {Tab} {Alt+A} {Ctrl+G} {F10} or {Shift+Up}. Do not use braces for letters, numbers, or symbols, as B5%. Do not leave spaces between the keystrokes and other characters in the macro. Press F9 to return the cursor to the top part of the screen and save any changes you may have made to the macro. (If you do not want to save changes made to the macro, press F10, instead of F9, and press apostrophe (') twice to return to the Macro Screen.) * ~PgDn~ $ edit macro with Alt+E (*) $ Alt+E for macro editing (*) $ view macro key strokes (*) W }*haa 040602 21600410 * ~PgUp~ You can duplicate a macro by pressing Alt+M when your cursor is in the top part of the screen. Enter the name of the new macro and make any desired changes to the Screen, User and Description fields. Press Ctrl+D, then F9 to save the new macro. Macros can be deleted with Shift+F9 if the cursor is in the top part of the screen. Following is a description of each of the fields which can be used on the Macro Screen. MACRO NAME - Enter the letter(s) or number(s) which will be used to activate your macro. Often only one character is used in order to save time when starting the macro. * ~PgDn~ $ duplicate macro (*) $ macro duplicating (*) $ macro name field (*) $ macro name setup (*) W }*hb 040602 21600410 * ~PgUp~ Note: Some planning needs to be done when Macro Names are selected. When you try to activate a macro with a name of 2 or more characters and there is another macro (of the same Type) with a shorter name that is identical to the beginning character(s) of the longer macro, the shorter macro will be activated instead of the longer one. For example, if F and F1 are the names of same Type macros, only F will work, or if R12 and R1 are the names of same Type macros, only R1 will work. See Setting Up Macros in your manual for further help. TYPE - See Macro Types in your manual for detailed help. SCREEN - Enter the Screen where the Macro is used. If this is a Global or User Macro, or in other words a Macro that can be used in various screens, let this field blank. * ~PgDn~ $ macro screen field (*) W }*hc 040602 21600410 * ~PgUp~ USER - Enter the User number if this is a User Macro. A User Macro is a macro which is setup to be used only on one terminal in the computer system. The User Number is displayed in the bottom left corner of the F10 screen. DESCRIPTION - Enter a description of the macro, what the macro does. $ macro user field (*) $ macro description field (*) W }*k 040602 21600410 Message Screen - Use of (*) To access the Message Screen, press F10 and then a period. The codes used in the Entered By and For fields should be setup in the Salesman (S) screen. In a multi-user system, each user should enter their code in the Entered By field of the terminal that they use. This code appears on each new record until it is changed. To send a message to another terminal in your system, enter the user's code in the For field, type the message and press F9 to save and send the message. The terminal of the user will beep if or when it is turned on. * ~PgDn~ $ period screen (*) $ dot screen (*) $ messages between terminals (*) $ communicating between terminals (*) $ codes in message screen (*) W }*ka 040312 21600410 * ~PgUp~ Just to the left of the Call Is From title is a field where you can specify C for Customer, V for Vendor or N for Name. By default, the system uses the Customer screen. To get detailed help for each field on the message screen, press F1 when the cursor is on the field. W }*l 031029 21600410 Laser Printer Compatibility (*) Invoices, Orders, Quotes, Statements, Checks, Labels and Reports can be printed on Laser Printers. ABC Accounting currently supports the following Laser Printer Drivers: # HP LaserJet IIP Okidata OL400 & 400e # HP LaserJet III Okidata OL-1200 Another feature is laser overlay. ABC can customize the layout of your invoices, orders, statements and Word Processor documents. The design is created in Corel Draw and a conversion program is used for overlay macro generation. This prepares the design for storage in the printer memory. * ~PgDn~ W }*la 031029 21600410 * ~PgUp~ The best conversion program we found is: FORMS ELECTRIC, V1.2 PCL from Visual Software, 15 Cleardene, Dorking, Surrey RH4 2BY, United Kingdom. # Telephone & Fax: +44 1306 742 425 # Internet: http//www.visual.co.uk/ # E-mail: geddes@visual.co.uk # CompuServe: 100023,1167 W }*lb 041008 21600410 * ~PgUp~ The best conversion program we found is: FORMS ELECTRIC, V1.2 PCL from Visual Software, 15 Cleardene, Dorking, Surrey RH4 2BY, United Kingdom. # Telephone & Fax: +44 1306 742 425 # Internet: http//www.visual.co.uk/ # E-mail: geddes@visual.co.uk # CompuServe: 100023,1167 * ~PgUp~ W }*maa 040120 21600410 Macro Setup (*) A macro can store a sequence of keystrokes (up to 255) and recall it for you with only two keystrokes. Suppose you decided to put a multiplier of 85 in all of your Inventory records. A lot of time could be saved by setting up a macro to do this. Here are the steps to set up such a macro. 1. Put your cursor on the Multiplier field and press Ctrl+G to identify the Multiplier field #. It is # 5. 2. Go to the first Inventory record that needs a multiplier of 85 and press F7. 3. Press Shift+F4. The message "Enter macro name" should appear. ~PgDn~ $ setting up macros W }*mac 040826 21600410 * ~PgUp~ 4. Type a letter or number. For this example, use 5. Press Enter. 5. The message "Enter macro description" appears. Type MULTIPLIER 85. 6. Press Enter. The message "Recording macro 5 . . ." should appear. This means the computer will now record each keystroke you make. 7. Press F8 to load the next Inventory item. 8. Press Ctrl+G. Type F5. Press Enter to put the cursor in the Multiplier field. 9. Type 85. Press Enter. Press F9 to save the record. * ~PgDn~ $ Enter macro description (*) $ Recording macro . . . (*) W }*mae 040524 21600410 * ~PgUp~ 10. Press Shift+F4 to let the computer know you are done recording the macro. 11. Press F4; then press 5 to run your macro. It will automatically put a multiplier of 85 in the record after the one you are currently on any time you use the macro. Here's a macro to go through the Inventory screen changing the Cost. 1. Put your cursor on the Cost field and press Ctrl+G to identify the Cost field number. It is field # 8. 2. Go to the first Inventory item that needs the Cost changed and press F7. * ~PgDn~ W }*mag 040312 21600410 * ~PgUp~ 3. Press Shift+F4. The message "Enter macro name" should appear. 4. Type a letter or number. For this example, use 6. Press Enter. 5. The message "Enter macro description" appears. Type COST UPDATE. This description will be displayed on the Macro Menu. 6. Press Enter. The message "Recording macro 6 . . ." should appear. This means the computer is now recording each keystroke you make. 7. Press F8 to load the next Inventory item. 8. Press Ctrl+G, type F8. Press Enter to put the cursor in the Cost field. ~PgDn~ W }*mai 040602 21600410 * ~PgUp~ 9. Press Ctrl+Underline (_) to pause at this field. Type new price. Press Enter. 10. Press F9 to save. Then press F8 to go to the next record. 11. Press Shift+F4 to show that you are done recording the macro. 12. Now any time you want to use the macro, press F4 and then 6. Macros may be set up the same way on any screen of the ABC Accounting program. The Macro menu displays available macros on the screen. You can view all macros by pressing apostrophe (') twice from the F10 screen. Pressing F6 on Macro Name will list the macros. Also Report # 6-32, MACRO LIST, will print your Macros. * ~PgDn~ $ 6-32 report (*) $ macro list report (*) W }*mak 040602 21600410 Macro Types (*) ~PgUp~ A macro, by default, is a LOCAL macro, meaning it can only be used on the screen (such as C screen) and computer where it was made, unless you specify another kind of macro when you are setting it up. To make a USER macro, meaning it can be used on any screen by one user, type a ^U when you are asked for the macro name. Then the computer asks for the USER Macro name. To make a SCREEN macro, meaning it can be used on one screen by any timeshare or network user, type a ^S when asked for the macro name. The computer then asks for the SCREEN Macro name. To make a GLOBAL macro, meaning it can be used on any screen by any timeshare/network user, type a ^G when asked for the macro name. Then the computer asks for the GLOBAL Macro name. ~PgDn~ $ local macro (*) $ user macro (*) $ screen macro (*) $ global macro (*) W }*mam 040602 21600410 * ~PgUp~ Here are some other rules about macros: 1. A macro cannot contain more than 255 keystrokes. 2. When using Ctrl+G in a macro, use the Field # (F followed by a number) instead of the location # to help make your macros compatible with future updates. Field #s will not work in repeating lines. Try using other cursor positioning keys such as Shift+Up and Shift+Down. 3. A Macro Name may be up to six letters or symbols, but with a longer name, you save less keystrokes and time. Use ONLY a single DIGIT (0-9) if you are making a looping macro, which is one that repeats itself. 4. If you enter two different macros using the same Macro Name, the second entry will replace the first. (See exception following). ~PgDn~ $ macro rules (*) W }*mao 040312 21600410 * ~PgUp~ Since there are four different types of macros, you could have up to four macros with the same Macro Name, as long as they are different types. In such cases, when you enter F4 and the Macro Name, the computer uses the following priorities to decide which macro to run (with 1 being the highest priority): # (1) Local......(2) Screen......(3) User......(4) Global For example, suppose you had four macros named T: a global macro, a user macro for user 1, a screen macro for screen W, and a local macro for user 1 on screen W. Whenever user 1 presses F4/T on screen W, the local macro would run. If the same user presses F4/T on any other screen, the user macro would run. If any other user presses F4/T on screen W, the screen macro would run. If they press F4/T on any other screen, the global macro would run. W }*n 031029 }Vsa W }*o 040312 21600410 W }*p 030804 21600410 Encryption - Word Processor Records (*) Any document written in the ABC Word Processor can be encrypted so that unauthorized persons can not read or delete what is written. To encrypt a document, press Alt+E and enter the password. The password can be letters, symbols or a word of your choice. You need to reenter the password to verify it. To unencrypt an encrypted document, press Alt+E and enter the password. DON'T FORGET YOUR PASSWORD!! It could take hours of costly programmer time to figure out what your password was. W }*r 031121 }C00h Default Records - Setup (*) W }*s 040602 21600410 New Company Setup (*) # Getting Acquainted with the Keyboard Become familiar with using the F10 key and then a Screen letter to go to different screens. Experiment with using the Up and Down arrow keys to move to different fields. Learn to use F1 to get help on a specific field and Shift+F1 to display information about the screen you're on. To get help on reports, go to a specific report screen, type the report # and press F1. Always use F9 to save information you have entered on the screen. This returns the cursor to the first field of the current screen and you can immediately enter a new record, if you wish, by typing a new code on top of the former code. * ~PgDn~ $ keyboard familiarity (*) W }*sa 040603 21600410 * ~PgUp~ # New Company Setup Press the F10 key and then # to go to the Setup Screen. Enter the company name and address in the appropriate fields. Since the General Ledger chart of accounts is used in practically all other modules, this is the next thing to set up. Consult with your accountant. You may be able to use the account numbers which have been entered for your convenience. To add new G/L numbers or change any that are there, press F10 and then G. Press~ G ~for detailed help on setting up G/L accounts. The same information can be found by pressing F10, G, Shift+F1, selecting Questions, and then option N. * ~PgDn~ $ account setup (*) $ general ledger setup (*) $ add general ledger numbers (*) $ setup screen (*) G }Gh W }*sab 040603 21600410 * ~PgUp~ Now you need to make a decision as to what module or modules to get on line first. If you are planning to do only General Ledger on your computer, you are ready to enter vendor information into the V screen and enter financial data into the General Ledger. Press~ N ~for help on setting up New vendors. Press~ F ~for help on entering Financial data in the General Ledger. # Accounts Receivable Setup Accounts Receivable (Customer Invoicing) can be used without setting up inventory. You will manually enter item descriptions and prices directly onto the invoice. The computer maintains customer balances and prints invoices. With this method you do not get the benefits of automatic pricing, sales history, inventory stock tracking, and such like. * ~PgDn~ $ accounts receivable setup (*) $ set up accounts receivable (*) N }Vs F }*f W }*sb 040602 21600410 * ~PgUp~ (If you use the preinstalled General Ledger, skip this paragraph.) On the # screen, enter the A/R Account #, A/R Discount Account #, and the A/R Prepayments Account #. If your chart of accounts does not include the discount or prepayments account number, use the A/R account number. On the & screen, enter the A/R Defaults in the first column. Enter Customer information on the C screen. If you have decided to start using the Accounts Receivable module with inventory items, enter the inventory information on the Inventory (I) screen. On the Inventory (I) screen, enter an item with a code of PB and the description Prior Balance. Enter a sales G/L account number to which to apply current customer's open balances. Do not enter a list price. On the Receivable Invoice (R) screen, enter an invoice for each customer * ~PgDn~ $ accounts receivable module (*) W }*sba 040603 21600410 * ~PgUp~ that has an open balance. Enter the item code PB, ship quantity of 1, and sell price of the open balance amount. This will tell the computer what each customer's balance is. (An alternate method would be to enter all open invoices with actual date and amount.) Enter any customer prepayments (that have not been invoiced). # Inventory Setup To get the full benefits of the Inventory module, enter each item into the I screen. Be sure to put the proper G/L sale account # on each item. Check with your manufacturers for price lists on diskette. If this is available, contact ABC about transferring these to your program. This can save you having to type all the information by hand. For detailed help on entering Inventory items, press~ I ~. Or press F10, I, Shift+F1, Q for questions, and then H. ~PgDn~ $ inventory setup (*) $ inventory module (*) I }Ih W }*sc 040602 21600410 # Accounts Payable Setup ~PgUp~ Accounts Payable can be done with or without inventory items. To track purchase history and stock quantities you will need to use inventory. The alternative is to enter G/L account numbers on the invoices. (If you use the preinstalled General Ledger, skip this paragraph.) On the # screen, enter the A/P Account #, Inventory Start and End Account #s, and Purchase Start and End Account #s. If Payroll and A/P will be using the same check ledger, enter the Payroll & A/P Ledger #. On the A/P and A/R Setup (&) screen, enter the A/P Defaults in the center column. Enter Vendor information on the Vendor (V) screen, and if you have decided to start using the Accounts Payable module with inventory items, enter the Inventory information on the Inventory (I) screen. * ~PgDn~ $ accounts payable setup (*) $ accounts payable module (*) W }*sd 040603 21600410 * ~PgUp~ Press~ V ~for help with setting up Vendors and press~ I ~ for help with setting up Inventory items. Enter any A/P invoices you currently have open. This is done on the Bill Entry (B) screen. Press~ A ~for detailed help on entering A/P Bills. Payroll can be set up any time after the G/L chart of accounts is entered. Consult with the dealer from whom you purchased the ABC system to determine the best setup procedure for you and your company. V }Vs I }Ih A }Bh W }*taa 040602 21600410 Procedures for Entry & Editing Moving From Screen to Screen (*) You can switch screens at almost any point within the program by pressing F10. The Selection screen will appear. Press a single character to select the screen you want. You don't have to wait to make a selection until the computer is finished displaying the Selection screen. If you know the initial of the screen you wish to access, you may simply press F10 and the letter without pause. While there are a few cases in which yo can go from one screen to another without losing unsaved data, you should make a practice of saving any information with F9 before moving to another screen. Following are a number of examples of times you will want to save data before moving to another screen. * ~PgDn~ $ selection screen (*) $ F10 (*) $ saving data (*) W }*tab 040525 21600410 * ~PgUp~ 1. Printing a report that uses one of the files being entered. For example, a customer listing will affect the data on the Customer (C) screen. 2. Going into a screen which references another file. For example, going into the Receivable Invoice (R) screen will erase any unsaved information on the Customer (C) screen. Entering a receivable invoice can change the information on the Customer (C) screen, the Zip Code (Z) screen, the Inventory (I) screen, the Job (J) screen and the G/L Accounts (G) screen. 3. Pressing F10 in the Check Writing (/) screen, will clear out any invoice numbers on the screen. If you want to save them, press F9 before pressing F10. * ~PgDn~ W }*tac 040312 21600410 * ~PgUp~ 4. Pressing F10 in the Report Generator screen. To return to this screen after leaving it, you will need to go through the appropriate report selection screen and reselect the report. 5. Switching between the Invoice and Workorder or Quote modes of Accounts Receivable. If you have not saved an invoice, workorder or quote and you switch to another A/R mode, the computer alerts you and asks if you want to convert the information to the new mode. If you press N, you will lose whatever had not been saved with F9. 6. Switching between ledgers when entering G/L checks without saving them. You must press F9 before switching to a different ledger if you desire to save your entry. W }*tb 040602 21600410 Procedures for Entry & Editing - Loading a Record (*) The first field on a screen is usually the record code or reference number. This is the field the computer uses to reference the record. To load a record, simply enter its code here. To see a list of the records that are in the computer, press F6. You can use the Up or Down arrows and Page Up and Page Down to move through the list. Or usually you can do a search by pressing Ctrl+F and typing a search word. Highlight the record that you want to load, and press Enter. To exit the Lookup (F6) screen, press F5, or Esc. If the code is alpha-numeric, like Item Code or Customer code, it is not always necessary to enter the complete code. If you enter part of a code, the computer will find the first code that begins with the entered code. This is called a partial match. * ~PgDn~ $ loading records (*) $ bringing up a record (*) $ opening an existing record (*) $ finding a record (*) $ record code used to load record (*) W }*tba 040826 21600410 * ~PgUp~ If changes have been made to the currently loaded record since you saved it, and you are moving to another record or screen without having saved, the computer will ask, "Save before proceeding? Yes/No/Cancel" If you do not want to lose the changes you made to the record, press Y for to save. Y (for yes) or F9 are the only keys that will save the record. N instructs the computer Not to save the record. Pressing C cancels the action. F7 - Loads the previous record in any screen. F8 - Loads the next record in any screen. Alt+B - Searches back and loads the previous record for a particular customer or vendor. This works in the Bill Entry, Deposit, Ledger, Receivable Invoice, Time Card Entry, Purchase Order, Material and Payroll Entry screens. * ~PgDn~ $ Alt+B to index back through records (*) $ save work message (*) $ saving your work (*) $ Save before . . . (*) W }*tbb 040603 21600410 * ~PgUp~ Shift+F7 - Indexes backwards in many different fields. For instance, with the cursor on the Zip Code field in the Customer (C) screen, you can index backward by Zip code, instead of by Customer code. With the cursor on the Location field of the Inventory (I) screen, you can page backward through the Inventory screen by physical location instead of by Inventory code. Alt+F - Indexes forward and loads the next record for a particular customer or vendor. This works in the Bill Entry, Deposit, Ledger, Receivable Invoice, Time Card Entry, Purchase Order, Material and Payroll Entry screens. $ Alt+F to index (*) W }*tbc 031029 21600410 * ~PgUp~ In the Inventory (I) screen: Vendor, New Item#, Print Code, Vendor field # 1, Group, Location and Stock fields. In the Job (J) screen: Customer #, Phone # and End date. In the Names (N) screen: Attention, Address, Zip, Telephone # and Print Code. In the Invoice, Order or Quote (R) screen: Slip #, Order or Quote #, Ship Via and Bill Code. In the Salesman (S) screen: Salesman Name. In the Vendor (V) screen: Attention, Address, Zip, Print Code, Phone #, Fax #, Salesperson Phone and Salesperson Fax #. * ~PgDn~ W }*tbd 031029 21600410 * ~PgUp~ In the Zip Code (Z) screen: City. In the Inventory Serial Number ('F) screen: Inventory #, Serial # and Location Code. F3 - Indexes forward in the same fields that F2 indexes backwards. For example, you can index forward by Zip code in the Customer (C) screen, or index forward by location in the Inventory (I) screen. The cursor must be on the field you wish to index. W }*tc 040602 21600410 Procedures for Entry & Editing Moving from Field to Field (*) Pressing the Enter key moves the cursor to the next most commonly used field. This means that some fields that are seldom used will be skipped over. The arrow keys move the cursor from field to field. The Down Arrow advances the cursor to the next field. The Up Arrow moves the cursor back to the previous field. In repeating fields, the side arrows move from left to right across the fields while the up and down arrows move the cursor from top to bottom. The Tab key moves the cursor from field to field and will not skip over less commonly used fields. The mouse is convenient for quickly moving the cursor to fields that are not successive. * ~PgDn~ $ moving through fields (*) $ enter key (*) $ tab key (*) $ arrow leys (*) $ mouse use (*) $ restricted fields (*) W }*tca 040602 21600410 * ~PgUp~ The cursor will automatically skip over restricted fields, like Stock Quantity on the Inventory screen. In the repeating fields of the Assembly (A) screen, Bill Entry (B) screen, Purchase Orders (O) screen, Employee (E) screen, Category (K) screen, Ledger (L) screen, Receivable Invoice & Order or Quote (R) screen, Deposit (D) screen, Material (M) screen, Time Card Entry (T) screen, Paycheck Entry (P) screen and Word Processor (W) screen you may jump the cursor to the beginning or end by using Shift+Up arrow or Shift+Down arrow. Hold down the Shift key and press the Up arrow to move to the first repeating field. Hold down the Shift key and press the Down arrow key to move to the next available repeating field. $ repeating fields (*) W }*td 040602 21600410 Procedures for Entry & Editing Editing Data Within a Field (*) As soon as you start typing data into a field, the data that was there before disappears. Before you press Enter, if you want to restore the original data to that field, press Ctrl+Z. Ctrl+Z will work even after you get off the field as long as you have not made a change to another field and moved on. To only make a small change to the data entered in a field, you will not want to get rid of what is already there. In this case, use the right or left arrows to move your cursor to the point you would like to make changes and enter the change. To change the initial letter in a field, press the right arrow key and then the left arrow key. This alerts the computer to the fact that you want to edit (rather than change) the information in that field. * ~PgDn~ $ editing a field (*) W }*tda 040602 21600410 * ~PgUp~ There are two edit modes: Insert and Overstrike. In Insert mode, the entered character is inserted at the cursor, pushing all the characters from that point to the right. In Overstrike mode, the entered character overwrites the character that was there before. Press the Insert key to switch back and forth between Insert and Overstrike modes. The mode you choose will remain in effect until you press Insert again, or until you exit the program. When you press Insert, the computer displays the current mode at the bottom left-hand corner of the screen, except on the Word Processor, the mode is constantly shown in the top right-hand corner of the screen. * ~PgDn~ $ insert mode (*) $ overstrike mode (*) W }*tdb 040602 21600410 * ~PgUp~ Press Delete to delete the character at the cursor. Press Backspace to delete the character to the left of the cursor. If the cursor is to the right of the last character in the field, Delete works like Backspace, except in the Word Processor. To clear a field, hold down Delete until all the characters are deleted. You can also press the Space Bar. When you press Enter, the computer accepts the new data, advances to the next field and exits the edit mode. $ delete key (*) $ backspace key (*) W }*te 040602 21600410 Procedures for Entry & Editing - Saving a Record (*) Saving a record tells the computer to place it on the hard drive so that it may be retrieved by the record code at some later time. Without saving the record, the computer will forget the entry. To save a record, press F9. Sometimes, when you press F9 you are given some options. You need to choose one of the options in order for the record to be saved. For example, when you press F9 on an invoice, some of your options are; P to print the invoice, D to record the payment on the deposit screen, B to record the payment on the deposit screen and print the invoice, Enter to save the invoice without printing it. * ~PgDn~ $ saving a record (*) $ F9 (*) W }*tea 040602 21600410 * ~PgUp~ Sometimes, when you press F9, you are given a message that indicates something must be changed or added to the record before it can be saved. For example, to save a record on the Bill Entry (B) screen, you must have a Vendor Invoice Number, and the Invoice Amount at the top of the screen must agree with the total of all the lines in the bottom part of the screen. $ message box (*) W }*tf 040826 21600410 Procedures for Entry & Editing - Deleting a Record (*) Press Shift+F9 to delete a record. The computer will ask for confirmation before deleting. If you attempt to delete a record that contains account balances or that is referenced by some other record, the computer will give you a message alerting you of that and will not delete the record. For example, if you press Shift+F9 on the Customer (C) screen record of someone who has invoices in the computer, paid or unpaid, the computer beeps and gives this message, "Invoice entered for this Customer. Will NOT delete." $ deleting records (*) $ Invoice entered for . . . (*) $ Order entered for . . . (*) $ Will not delete (*) W }*tg 040602 21600410 Procedures for Entry & Editing - Background Posting (*) Whenever a record is saved or deleted, the computer automatically updates all related records. This is called background posting because you don't see it happening and the operator can keep on typing while it takes place. Because posting takes place in the background, it will not automatically update the screens that already have the affected records loaded at the time posting takes place. For example, if you enter an invoice and then switch to the Inventory (I) screen, the currently loaded item will still show the old stock quantity. To view the new stock quantity for this item, first load a different item, then reload the original item. You may use the F7 and F8 keys to reload an item. Fields that are updated by posting are usually restricted, which means they cannot be manually changed or saved. $ posting (*) $ posted fields (*) W }*th 040602 21600410 Procedures for Entry & Editing Setting Up Default Records (*) Suppose you have certain information that is always the same for nearly every customer you enter. You can set up a record with this information entered, so that you don't need to enter it each time. This is called a default record. To set up a default record, enter a quote (") for the Code and the information you want to default. For example, for a customer, you may enter Customer Type Credit Limit, Late Charge, Tax Status and Terms. Press F9 to save the record. After a default record has been set up, the default information will automatically display each time you enter a new code. You may then add any new information and make necessary changes to the default information. * ~PgDn~ $ default records (*) W }*tha 031029 21600410 * ~PgUp~ Default records may be set up in the following screens: Customer (C), Inventory (I), Quoted Price (Q), Salesman (S), Vendor (V) and Zipcode (Z). W }*ti 040602 21600410 Procedures for Entry & Editing Entering Uppercase Fields (*) Many fields, including record codes, are uppercase fields. To enter data into an uppercase field, it is not necessary to press Shift or Caps Lock. All entered letters will automatically be uppercase. We suggest using Caps Lock when entering Name and Address information because the US Postal Service prefers that. $ uppercase fields (*) $ caps lock (*) W }*tj 040602 21600410 Procedures for Entry & Editing Entering Numeric Fields (*) There are several kinds of numeric fields; reference numbers, integer, money (which is 2-place), 4-place, 6-place and floating decimal point. You can tell which kind you are entering by the way the computer formats your number after you press Enter. A reference number is a whole number from 1 to 999999. An integer field has no decimal places, a money field has two decimal places, a 4-place field has four and a 6-place field has six. A floating place field may have zero, two, four or six, depending how many are entered. To enter a negative number, use a hyphen or minus sign (-). Do not use a plus sign (+) to enter a positive number; simply enter the number without any sign. Do not use negative numbers for reference numbers. $ numeric fields (*) $ reference number fields (*) $ integer fields (*) $ money fields (*) $ 4-place decimal fields (*) $ 6-place decimal fields (*) $ floating decimal point fields (*) $ negative numbers, how to enter (*) $ positive numbers, how to enter (*) W }*tk 040602 21600410 Procedures for Entry & Editing - Keyboard Functions (*) The functions keys, F1 through F10, perform standard functions throughout the program. These functions are explained in the pages that follow. Some screens have special functions which are accessed with the Alt, Ctrl or Shift keys. These functions are listed under "Keyboard Functions for ____ Screen", in your manual. They are also found by pressing Shift+F1 on that particular screen. To use an Alt function, hold down Alt and press the desired key. If you have several Alt key commands to use at one time, you can hold down the Alt key and press the desired keys without letting go of the Alt key. The Ctrl key and the Shift key work the same way. Press Shift+F1 in any screen to display information about that screen. * ~PgDn~ $ keyboard functions (*) $ Shift+F1 (*) $ Ctrl function (*) $ Alt function (*) $ Shift function (*) W }*tka 040826 21600410 * ~PgUp~ Press F1 on almost any field to display information about that field. To get help on reports, type the report number and press F1 immediately, or press F1 while in the report generator screen. NOTE: As changes are made to the program, the F1 and Shift+F1 screens will be updated more frequently than the manual; therefore some current documentation that is not in the manual may appear on the F1 screens. On some computers the Help key may be used the same as the F1 key. $ F1 function *(*) $ Help key (*) W }*tla 040602 21600410 Procedures for Entry & Editing - Entering Dates (*) There are several acceptable ways to enter a date. If you are entering a date into a blank field, you must specify the month, day and year - in that order. You can use any of three different characters or delimiters to separate the month, day and year: the hyphen (-), the slash (/) or the backslash (\). If you wish, you can leave out the delimiters and just enter the numerals. To do this, enter one or two digits for the month, followed by two digits for the day, followed by two or four digits for the year. Here are some acceptable ways to enter July 4, 1997: # 7/4/97 70497 7/04/97 # 7-4-97 070497 07041997 ~PgDn~ $ date entry (*) W }*tlb 031029 21600410 * ~PgUp~ If you are changing a date that has already been entered, you only need to enter the parts of the date that will change. To change the day only, enter one or two digits. To change the month and the day, enter three or four digits or enter the month and day with a delimiter between them. You can also enter the date with delimiters, and leave out the parts you do not want to change. Some examples follow: # 5 Change the day to 5. # 805 Change month and day to August 5. # 1205 Change month and day to December 5. # 125 Change month and day to January 25. # 8-5 Change month and day to August 5. # 8- Change month to August. # --97 Change year to 1997. W }*tm 040602 21600410 Procedures for Entry & Editing Importance of Accurate Date Entry (*) It is important that dates - especially the system date - be entered accurately, because they determine important recordkeeping functions. For example, the entry date of a receivable invoice determines finance charges and the discount date of a payable invoice determines whether the discount is taken when the check is printed. Because dates are used to determine automatic rolling functions, a change of month or G/L period can have significant effects on data. For this reason, a password is always required when changing G/L period of the system date. Try to avoid switching back and forth between months. End-of-month operations should be complete before you enter any data for the new month. $ date entry (*) $ system date (*) W }*tn 040602 21600410 Procedures for Entry & Editing - Global Functions (*) Global Functions is the term used to describe functions that work identically in most screens of the program. Following is a list of global functions and how they perform: Note: on some screens, these commands are used for a special function other than what is documented here. These are documented with their special functions for the individual screen. ~Shift+F3~ Pressing this key combination activates the calculator at the bottom left corner of the screen. This calculator works like an adding machine. Following are the keys the calculator uses and their functions: * ~PgDn~ $ global functions, definition (*) $ Shift+F3 (*) $ calculator (*) W }*tnaa 040521 21600410 * ~PgUp~ # + adds or totals - subtracts / divides # * multiplies ) clears ( exits calculator # = totals or equals While using the calculator, you may press Shift+F3 again to transfer your total to the current entry field and exit the calculator. * ~PgDn~ W }*tnad 030805 21600410 * ~PgUp~ 1. Go to the Customer (C) screen and pull up a customer you wish to put on the list. With this customer's record on the screen, press Ctrl+W. The computer sets up a record on the Word Processor called CLIST, (if there was no such record already). A message will appear at the bottom of the screen verifying that this code was put on the Word Processor list. Pull up each customer you wish to appear on this list and press Ctrl+W on each record. 2. You can view the list in the Word Processor (W) screen by pressing F10 and W. Make any needed alterations there. 3. You can now run various reports for this list of customers. Any report that generates from the Customer (C) screen can be run for this list of customers. The only exception would be a report that is sorted in the background. You can tell which screen a report generates * ~PgDn~ W }*tnag 031029 21600410 * ~PgUp~ from by selecting the report and entering the report generator screen. It will say Printing __________ from file ___. If this says it is printing from file C, you can run the report for the Word Processor CLIST. 4. In the report generator screen, you must tell the computer to use the Word list. To do this, type apostrophe (') followed by CLIST on the line that says "Starting at." When you press Enter the cursor will skip the line that says "Ending with" and jump to the line that says "When ready, press P)rinter, S)creen or W)ord Processor..." If the cursor does not jump to the last line, but goes to the "Ending with" line, the report is sorted in the background and cannot run from your Word list. This Ctrl+W command can be used in any screen, (except the Word Processor (W) screen and the Employee (E) screen), to make a list on the Word Processor screen. * ~PgDn~ W }*tnb 040602 21600410 * ~PgUp~ ~Ctrl+W~ Places the record on a Word Processor list. This command has a very wide range of possibilities. Let's look at an example to give you an idea how it works and what its advantages are. Let's say we have about a dozen customers we wish to run several reports on. Instead of running separate reports for each of these customers, Ctrl+W will allow you to run the reports for all the customers at once using a list on the Word Processor (W) screen. Follow these steps: * ~PgDn~ $ Ctrl+W (*) $ word processor list (*) W }*tnba 040826 21600410 * ~PgUp~ 1. Go to the Customer (C) screen and pull up a customer you wish to put on the list. With this customer's record on the screen, press Ctrl+W. The computer sets up a record on the Word Processor called CLIST, (if there was no such record already). A message will appear at the bottom of the screen verifying that this code was put on the Word Processor list. Pull up each customer you wish to appear on this list and press Ctrl+W on each record. 2. You can view the list in the Word Processor (W) screen by pressing F10 and W. Make any needed alterations there. 3. You can now run various reports for this list of customers. Any report that generates from the Customer (C) screen can be run for this list of customers. The only exception would be a report that is sorted in the background. You can tell which screen a report generates * ~PgDn~ $ CLIST (*) $ Placed on Word file C list (*) W }*tnbb 040602 21600410 * ~PgUp~ from by selecting the report and entering the report generator screen. It will say Printing __________ from file ___. If this says it is printing from file C, you can run the report for the Word Processor CLIST. 4. In the report generator screen, you must tell the computer to use the Word list. To do this, type apostrophe (') followed by CLIST on the line that says "Starting at." When you press Enter the cursor will skip the line that says "Ending with" and jump to the line that says "When ready, press P)rinter, S)creen or W)ord Processor..." If the cursor does not jump to the last line, but goes to the "Ending with" line, the report is sorted in the background and cannot run from your Word list. This Ctrl+W command can be used in any screen, (except the Word Processor (W) screen and the Employee (E) screen), to make a list on the Word Processor screen. * ~PgDn~ $ CLIST on report generator (*) $ W list on report generator (*) W }*tnc 040602 21600410 * ~PgUp~ ~Ctrl+D~ Duplicate a record. This command is probably used mostly in the Inventory (I) screen, the Job (J) screen and the Assembly (A) screen. Suppose you have a number of inventory items to enter that are the same except for the code and the color of the item. It can be very time consuming to enter all the information for each item when they are so nearly alike. With the Ctrl+D command you can duplicate the record; then make the few necessary changes. Follow these steps to duplicate a record: 1. Enter the code and all the information for one of the items and save it. 2. Type in the code for the next item and press Enter. * ~PgDn~ $ Ctrl+D (*) $ duplicating records (*) W }*tnd 040603 21600410 * ~PgUp~ 3. Press Ctrl+D. The computer will ask you to enter the code of the data to duplicate. Enter the code for the record you just saved and press Enter. The computer displays the record with everything the same except the code. 4. You may now make the necessary changes and save the record. This procedure may be used in any screen, but note that this duplication does not change posted records. For example, if you would change a code in the Inventory (I) screen, the posted data, such as Stock quantity, purchases and sales would be under the old code and not under the new code. ~Shift+F4~ Set up a macro. Press~ M ~for help on Setting up Macros. The same information is found by pressing F10, *, Shift+F1, selecting Questions, and then option M. ~PgDn~ M }*m W }*tnea 040602 21600410 * ~PgUp~ ~Ctrl+T~ Dial Phone. This option allows you to dial the phone # of the customer, vendor, employee or person listed in the Names screen from your keyboard. You must have a modem properly installed, the Modem Options ('O) screen properly configured and phone numbers correctly entered for this to work. When you press Ctrl+T on the Bill Entry (B) , Purchase Order (O) or Vendor (V) screens, the computer looks for the first phone number in the Vendor screen of the currently loaded vendor, and dials it. When you press Ctrl+T on the Receivable Invoice (R), Make Workorder (M), Quote (Q), Deposit (D) or Customer (C) screens, the computer looks for the first phone number in the Customer screen of the currently loaded customer and dials it. * ~PgDn~ $ Ctrl+T (*) $ telephone dialing via computer (*) W }*tneb 031029 21600410 * ~PgUp~ If you press Ctrl+T when you are in the Employee (E) screen, the Job (J) screen or the Names (N) screen, the computer dials the first phone number it finds for the currently loaded record. If the number you want to dial is not the first phone number in the record, you must place the cursor on the field that has the phone number you want to dial. If the field has several phone numbers, place your cursor at the beginning of the phone number you want to dial before you press Ctrl+T. W }*u 040602 21600410 Printing a Report (*) To select a report submenu, press F10 and one of the numbers shown below. # 1 - Inventory Reports # 2 - Accounts Payable Reports # 3 - Accounts Receivable Reports # 4 - G/L and Payroll Reports # 5 - Job Costing Reports # 6 - Utility Reports # 7 - Custom Made, Special User Reports # 8 - Special Utility Reports # 9 - Special User Reports When you select one of the above report screens, you will be shown a list of report numbers that you can select from. For help with a report, type the report number and press F1. To run the report, type the report number and press Enter. ~PgDn~ $ reports, general information (*) $ running reports (*) * Or press the Space Bar to see the same information on your screen. $ job costing reports (*) W }*ua 040603 21600410 * ~PgUp~ Sometimes you will have a number of options to choose from at the bottom of the screen. Choose the desired option by typing the capital letter that is part of the option or by pressing Enter for the default option. Sometimes additional information is requested. Follow the instructions given at the bottom of the screen. Most of these report's numbers bring you to a Report Generator screen. For help on the Report Generator screen press~ R ~. The same information is found by selecting any report and then pressing Shift+F1 on the Report Generator screen. R }r* W }*v 040525 21600410 * Version 5 Features (*) * * 1. Lookups with Word Search. On most code fields, such as * Customer code or Inventory item # there is a Lookup * feature. By hitting F6 when the cursor is on one of those * fields, a window pops up listing existing codes with their * names, descriptions, or other information. A number of * options are given at the top of the window. Most of these * can be used with an Alt key (Alt+C, Alt+U, Alt+D, Ctrl+F). * Or use a mouse (click on it with the left button.) The * Page Up, Page Down, Up arrow and Down arrow keys can also * be used to look for a code. Hit the Enter key to select * the code where the cursor is. Over 200 fields in the ABC * program have this Lookup feature. * * Most of the Lookup screens have a Search option. Pressing * Ctrl+F displays this message at the bottom of the screen: * "Enter Search Word(s)". Type the word, words or a part of * a word that you are looking for and press Enter. The * W }*va 031029 21600410 * computer scans the file and lists the records that contain * the Search Word(s) that you specified. Being specific with * your search word speeds up the search process, for * example, using Keyboard as your search word instead of * Key. On Customer, Vendor, Employee and Name code searches, * you can use part of the telephone number as your search * "word". * * 2. Message Boxes. Many of the messages that displayed at * the bottom of the screen now open a message box in the * center. These messages are easier to read. The box is * removed when you acknowledge it with a keystroke. * * 3. Help Buttons. The function of the F1 and Shift+F1 keys * were reversed. Pressing F1 gives you specific Field Help. * Pressing Shift+F1 gives you General Screen Help. Pressing * the F11 key works the same as Shift+F1 except on the Word * Processor. (See # 5 below.) * W }*vb 031029 21600410 * 4. Mouse Support. Version 5 is mouse-aware. Clicking the * right mouse button gets you to the F10 Selection Screen. * From here, selections can be made by clicking on the * appropriate screen letter or number. When you're in an * entry screen you can quickly position the cursor on any * field by simply clicking on it. The second click will open * the Lookup Screen if it is available on that field. * Selections can be made from the Lookup Screen with a mouse * click. * * 5. Wide W screen. The Word Processor screen can scroll * sideways as well as up and down. The F12 key moves you to * the right and F11 to the left, giving you a total of 190 * spaces instead of 80. This feature allows you to have more * columns in spreadsheets as well as more flexibility in * word processing. * W }*vc 031029 21600410 * 6. Better Document Formatting. Pressing Alt+B at the * beginning of a document and Alt+F at the end gave you the * option to format the document to the width you specified. * This feature has been retained in Version 5 with an * additional option. When you "Enter width to format" you * can now specify what the left margin should be. Separate * the 2 numbers with a comma. For example, 70,5 would give * you lines 70 spaces long with left and right margins of 5 * spaces. 70,10 would give you lines 70 spaces long, a left * margin of 10 spaces and no right margin. (The two numbers * added together must not exceed 80.) If a left margin * number is specified, the original document to be formatted * does not have to aligned at the left side of the screen. W }*vd 031029 21600410 * 7. Smarter Terminals. For all multi-user situations, there * now are color options for the terminals as well as mouse * support. A color monitor is required (preferably VGA) to * use the color options. Mouse support requires more * computer power than without. * * 8. Startup Macros. A macro can be set up to automatically * run at startup to customize the environment of each * workstation. * * 9. Windows and OS/2 Compatibility. A version is available * that lets you run under Windows 3.1 enhanced mode or OS/2. * For more information, call ABC at (717)865-4089. * W }*w 031029 21600410 * Version 6 Features (*) * * Electronic Imaging ~ J ~ * * Word Processor Document Encryption ~ P ~ * * Macro Editing Screen ~ H ~ * * Message Screen ~ K ~ * * Laser Printer Compatibility ~ L ~ * * Multiple Sales Tax on Invoices ~ C ~ * * Exporting to Dos File ~ Y ~ * * Windows 95, Windows 3.1, and OS/2 Compatibility~ O ~ * * Bits & Pieces, Odds & Ends ~ Z ~ * * W }*x 031029 21600410 * Version 7 Features (*) * * Here is a list of features and changes introduced in ABC * Accounting, Version 7. * * Expanded Terms Field on V, O and B screens * Payment of A/P Bills by Serial # * Load Next or Previous Image * Faxing Reports, Documents, Invoices & P.O's * Inactive and Obsolete Inventory Options * Simpler Mode Switching, Invoices to Orders * Freight Included in Inventory Value * More Help Screen Information * Phone Dialing Allows International #'s * Hyper-text Documents with Browser * W }*xa 040525 21600410 * New Report Generator with Alt+X * Automatic System Date Update * New Check Writing Screen * Partial Payment of A/P Bills * Vendor Prepayments * Alternate Parts Lookup * Tracking Use Tax * Auto Load Cash Customer * Payments on A/R Orders * Print from Lookup Screens * Windows 95 Network Terminals W }*xaa 031029 21600410 * Key Changes and New Keys: * * - Lookup changed from F5 to F6, Delete changed from F6 to * Shift+F9. * * - Parts Lookup (Manufacturer List) changed from Shift+F5 * to Shift+F6. * * - To exit one level of Parts Lookup, use Escape. * * - To exit Parts Lookup completely, use F5, Shift+F5, Alt+C * or F9. * * - Total cost of Invoice, use F9 then "=" * * * More detailed information on the listed features is given * on the following pages. * W }*xab 031121 }B04a W }*xac 031121 }B04aa W }*xad 031121 }B04b W }*xae 031121 }B04ba W }*xaf 031121 }B04bab W }*xag 031121 }B04c W }*xah 031121 }B04ca W }*xai 031121 }B04d W }*xaj 031121 }B04da W }*xak 031121 }B09r W }*xal 031121 }In W }*xam 031121 }Ina W }*xan 031121 }I03md W }*xv8 031029 21600410 * Version 8 Features (*) * * Extensive help screen revisions with clickable links * Allows no-discount items on A/P bills * More options for moving PO items to A/P bills * Separate laser printer forms for workorders, proposals, * and invoices * Multiple level part number supersession * Printing parts diagrams on laser printer * Transaction list importing from Partsmart * Automatic entry of sequential serial numbers * Transfer customer order to a purchase order * Enhancements on lookup searches * More extensive database testing with Report # 8-13 * Stop reports with Ctrl+C * Report headings include option number that selects report * * Others... * W }*y 040528 21600410 Exporting Data (*) Option 42 on the 8 screen exports data from your ABC Accounting program to a comma-delimited file. This can be read by most popular spreadsheets and databases. You will need to know the file character and how many fields to export. A list of file character and field definitions is included in Appendix A of the ABC Accounting Reference Guide. The exported data will have the file character as the first field in each record. Files that have repeating fields, such as the A/R Invoice file, will export a separate record for each set of repeating fields. Posted fields will be exported as a separate record with an exclamation point (!) appended to the left of the file character. * ~PgDn~ $ 8-42 report (*) W }*ya 031029 21600410 * ~PgUp~ The file definitions do not specify repeating fields. Some of the most common files are as follows: # B file, 20 non-repeating, 12 repeating # D file, 10 non-repeating, 10 repeating # O file, 40 non-repeating, 20 repeating # R file, 30 non-repeating, 12 repeating W }*z 040317 21600410 * Bits & Pieces, Odds & Ends - Version 6 (*) * * Home Key * * Previously the Home key activated a calculator at the * bottom of the screen. Now, the Home key places the Cursor * at the beginning of a line or field. As before, the End * key places the Cursor just after the last character of a * line or field. If the line or field is full, End places * the Cursor on the last character. * * Shift+F3 * * Pressing the Shift+F3 key activates and deactivates the * calculator, taking the place of the Home key. * * W }*za 040317 21600410 * * Check Lineup * * Previously there was need to adjust the first check when * printing with an Okidata printer. Version 6 has changed * this. Form Feed places the check at the proper place to * start printing. This works for Ledger checks, Payroll * checks and Account Payable checks. * * W }+51A 961204 Window Manufacturing Formula (+) Page 1 ABC MANUFACTURING - Enter a formula to specify the quantity and dimensions of the window part just above it. When the computer calculates parts, it will provide the following variables for the formula to use: * # A: window width H: grid color # B: window height I: grid info # C: color J: options # D: glass type K: list price from inventory # E: glass coating L: list price of previous item (with type) # F: screen/vent M: quantity ordered # G: grid type N: Job class The purpose of the formula is to specify any or all of the following variables: # N: job class T: type # P: price X: width or length of part(s) # Q: quantity Y: height of part(s) (only with 2 dimensions) # R: color A, B, P, Q, X, and Y are numeric variables. Others are alphanumeric. The color and type are added to the item code. continued... W }+51B 961125 Window Manufacturing Formula (+) Page 2 Variables the formula does not specify will take the following values: # 1=Q 0=X 0=Y 0=P R and T will be blank Whenever a formula yields a zero quantity, that part is not included with that window. If P is set to a non-zero value, it will supersede the inventory price. Whenever you enter a formula, the computer will analyze it for errors and issue a "Compile Error" if it finds any. If there are none, the formula conforms to the rules, but this does not necessarily mean that it is correct. The best way to test a formula is to enter an order that uses it. Recommendation: Keep your calculations in a formula to a minimum. It is preferable to use color, type and quantity to set prices. Any price set in the formula will not have a discount applied after the formula is calculated. It is preferable to have the color, type and/or quantity determine the price. Using L (list price of previous item) is fine. * continued...... W }+51C 030805 Window Manufacturing Formula (+) Page 3 A formula is a series of commands. Each command may perform an operation on the accumulator or on a variable. The accumulator, similar to that of an adding machine, is a temporary holding place for a calculated value. A variable is designated with a single upper-or-lower-case letter. This makes a total of 52 available. A constant is a fixed number such as 36 or -2.75. An alpha-numeric string can be used for a constant if enclosed in quotes. Commands may be separated by spaces or commas (,) to make the formula more readable and avoid confusion. You may append a remark to a formula by using a semicolon (;) as shown. # 2-T=QC=XB-4=Y.75=Z ;These two formulas are equivalent. # 2-T=Q C=X B-4=Y .75=Z ;Anything beyond the semicolon is ignored. Operations are performed from left to right. Parentheses are not available. You may use lower-case variables to avoid the need for parentheses as shown. # (A*3)+(B*4)=Y ;<-- This won't work. # A*3=h B*4+h=Y ;<-- Use this method instead. * continued... W }+51D 030805 Window Manufacturing Formula (+) Page 4 Following is a list of the commands available. An argument may be a variable name or a constant. Alphabetic commands may be upper or lower case. ARITHMETIC OPERATORS (MUST BE FOLLOWED BY AN ARGUMENT) # + Add argument to accumulator # - Subtract argument from accumulator # * Multiply accumulator by argument # / Divide accumulator by argument ARITHMETIC OPERATORS (NO ARGUMENT) # # Round accumulator to nearest integer (1) # $ Round accumulator to nearest hundredth (.01) # ab Convert accumulator to its absolute value VARIABLE ASSIGNMENT OPERATORS (MUST BE FOLLOWED BY A VARIABLE NAME) # = Total (save accumulator in variable and clear accumulator) # ~ Subtotal (save accumulator in variable without clearing acc.) # ` Tally to (add accumulator to variable and clear accumulator) * continued... W }+51E 961125 Window Manufacturing Formula (+) Page 5 COMPARE COMMANDS (MUST BE FOLLOWED BY AN ARGUMENT) Each of these initiates a comparison and puts the argument into the accumulator: # if If # an And # or Or RELATIONAL OPERATORS (MUST BE FOLLOWED BY AN ARGUMENT) Each of these compares the accumulator with the argument, sets the condition to true or false, and clears the accumulator. If a relational operator is used without a compare command, "if" is assumed. # eq Equal (may be used with or without a compare command) # = Equal (may be used only with a compare command) # < Less than # > Greater than # <= or =< Less than or equal # >= or => Greater than or equal # <> or >< Not equal * continued... W }+51F 030730 Window Manufacturing Formula (+) Page 6 LOGIC FLOW COMMANDS (NO ARGUMENT) Each of these determines whether commands after them will execute, based on the result of a previous comparison. # th Then (Execute only if true) # el Else (Execute only if false) # al Always (Execute regardless of condition) MISCELLANEOUS INFORMATION When no command is specified, + is assumed, as shown. * # +1=Q ;These 2 formulas are equivalent. # 1=Q To load an alpha-numeric string into the accumulator, use & instead of +. Division by zero yields a zero result. Special rounding can be done with multiplication and division, as shown: # A*8#/8=X ;Round A to nearest 1/8th, put result in X. # A/12#*12=X ;Round A to nearest dozen, put result in X. * continued... W }+51G 961204 Window Manufacturing Formula (+) Page 7 If you need more than one line for a formula, you can use several lines. Each line must have an item number, but if you zero the quantity on all lines except the last one, only that last line will appear in the results. Use lower-case variables to hold the results of calculations until the last line, as these variables are cleared only at the beginning of a formula record, not between lines. String search command: # in Instring - searches argument for string in accumulator, sets # the condition flag true or false, and puts location found in # accumulator. W }+51H 040528 Window Manufacturing Production Codes (+) For Plant Production Order and job progress tracking, use these job class codes on the Inventory (I) screen for the window parts. * # FH Frame Height BL Balancer # FW Frame Width SLI Slider track inner # GLL Glass - Lower SLO Slider track outer # GLU Glass - Upper ST Screen track # SCH Screen Height SRH Sash retainer height # SCW Screen Width SRW Sash retainer width # SH Sash Height SW Sash Width # SHL Sash Height - Lower SWL Sash Width - Lower # SHU Sash Height - Upper SWU Sash Width - Upper # PR special class for production items used by Report # 9-6, JOB # PROGRESS REPORT. Job class can also be set in formula on + screen. Program Width/Length on parts with only one dimension, even if it is the height of the window. $ 9-6 report (+) W }+51I 040524 For Payroll and Job Progress Report: 1. Set up kategories in K screen for each item that is to appear on the paycheck. Use a labor type M, Amount/Tax 006, Hrs/Unt/Wg 031, and Calculate# #23. 2. Set up items in Inventory (I) screen for each item to be tracked in job progress. This can be a more detailed breakdown than the items in payroll. Each item must have the pay rate in the cost field, a Job Class PR (production), and a labor kategory from #1 above. 3. Put the inventory items from #2 above in the formula for each window style setup. This allows you to customize the quantity required for each style. Employees enter items completed into the U screen. Print Report # 9-6 for job progress. W }-01)*a 031121 Financial - Ledger Selection (-) W }-01a 040602 21600410 Ledger Accounts (-) This is a list of the Ledgers which have been set up in your system. Ledger 1, Computer Entries, is where the computer makes entries automatically - such as Payroll Adjustments and Sales Adjustments. You may view Ledger 1, but do not attempt to enter anything in it. Ledger 2, Adjustment Entries, is used to enter beginning balances and other entries which do not involve the exchange of cash such as accruals. Ledger 3 is usually set up as the main bank account. Ledgers 4 to 7 are additional ledgers available for your use. Ledgers 3 - 7 are set up on the # screen. * ~PgDn~ $ computer ledger entries (-) $ adjustment ledger entries (-) $ bank account ledger (-) $ computer entries (-) $ ledger entries (-) W }-01b 031029 21600410 * ~PgUp~ If you press F10 and then L, the Ledger that you were in most recently will be displayed. By pressing F10 and then the dash, (-), you can select another ledger. The idea of all this is to save one key stroke when you go to the Ledger screen. W }.(*a 031121 Utilities - Message Screen (.) File Load Edit Tools Macro Help W }.(Ea 030930 M13360303 * ~EDIT Help . . .~ * copy text ~Ctrl+C~ * paste text ~Ctrl+V~ * cut text ~Ctrl+X~ * undo changes ~Ctrl+Z~ * Divide message line ~Alt+D~ * MOVE CURSOR * to beginning field ~Home~ * to end of field ~End~ * up a page ~PgUp~ * down a page ~PgDn~ * back to first message ~Shift+Up~ * to first blank msg line~Shift+Dn~ E }.*e W }.(Fa 030916 M12260303 * ~FILE Help . . .~ * New record ~Ctrl+N~ * close lookup ~F5~ * close all lookups~Shift+F5~ * open lookup ~F6~ * alternate lookup ~Shift+F6~ * save record ~F9~ * delete record ~Shift+F9~ * selection screen ~F10~ * go to menu bar ~Shift+F10~ * Exit one level ~Esc~ * exit ABC ~Alt+F4~ W }.(Ha 040604 M03310303 * using ABC Help ~ H ~ * Field help, current entry~ I ~ * Using the message screen ~ U ~ * U }*k I }R*i H }R*h W }.(La 030729 M10310303 * ~LOAD Help . . .~ * messages in order ~Alt+L~ * prev message for cust~Alt+B~ * next message for cust~Alt+F~ * Previous customer ~Alt+P~ * Next customer ~Alt+N~ * prev message for user ~F7~ * next message for user ~F8~ * index previous ~Shift+F7~ * index next ~Shift+F8~ L }.*l W }.(Ta 030827 M06320303 * ~TOOLS Help . . .~ * Find (search) ~Ctrl+F~ * put on Word processor~Ctrl+W~ * Y in finished field ~Alt+E~ * messages from company ~Alt+H~ * undone user messages ~Alt+T~ O }.*o W }.*a 040604 21600410 * MESSAGE SCREEN KEYBOARD FUNCTIONS * * ~EDIT Help . . .~ ~FILE Help . . .~ * Copy text ~Ctrl+C~ New record ~Ctrl+N~ * paste text ~Ctrl+V~ close lookup ~F5~ * cut text ~Ctrl+X~ close all lookups~Shift+F5~ * Divide message line ~Alt+D~ open lookup ~F6~ * to beginning field ~Home~ alternate lookup ~Shift+F6~ * to end of field ~End~ save record ~F9~ * up a page ~PgUp~ delete record ~Shift+F9~ * down a page ~PgDn~ ~LOAD Help . . .~ * to first message ~Shift+Up~ messages in order ~Alt+L~ * to first blank msg ~Shift+Dn~ prev msg for cust ~Alt+B~ * ~TOOLS Help . . .~ next msg for cust ~Alt+F~ * Find (search) ~Ctrl+F~ Previous customer ~Alt+P~ * put on Word processor~Ctrl+W~ Next customer ~Alt+N~ * Y in finished field ~Alt+E~ ~QUESTIONS about . . .~ * messages from company ~Alt+H~ FIELD Help~ I ~ * undone user messages ~Alt+T~ Using ABC Help~ H ~ * I }R*i L }.*l Q }.*q T }.*t F }.*f E }.*e H }R*h W }.*ea 031207 21600410 Edit Help (.) ~Ctrl+C~ copies text. Place your cursor on the field that contains the text you wish to copy and press Ctrl+C. Then move your cursor to the field you want your information copied to and use use the paste (Ctrl+V) function. ~Ctrl+V~ pastes text. Any text that has been copied (with Ctrl+C) or cut (with Ctrl+X) may be pasted into any other field by using the Ctrl+V function. Simply place your cursor in the field you want to copy the information to and press Ctrl+V. ~Ctrl+X~ cuts text. Place your cursor on the field you want the text removed from and press Ctrl+X. The text will disappear. If you want to replace this text in another field, simply move your cursor to that field and use the paste (Ctrl+V) function. * ~PgDn~ W }.*eb 040602 21600410 * ~PgUp~ ~Ctrl+Z~ Undo present changes to line cursor is on. ~Alt+D~ Divide message line like word processor ~Home~ Moves the cursor to the beginning field on the screen from any location. ~End~ Moves the cursor to the end of a field. ~Shift+Up arrow~ This moves the cursor to the first message. ~Shift+Down arrow~ This moves the cursor to the line just below the last message line. If the line is blank, it places the cursor on the top line. $ Alt+D (.) W }.*f 031207 21600410 File Help (.) ~Ctrl+N~ Clears the screen and loads the next available reference number. This does not save or unsave any record. # ~F5~ Exit Lookup ~Shift+F5~ Close All Lookups # # ~F6~ Open Lookup ~Shift+F6~ Alternate Lookup # # ~F9~ Save Record ~Shift+F9~ Delete Record # # ~F10~ Selection Screen ~Shift+F10~ Go to Menu Bar # # ~Esc~ Exit One Level ~Alt+F4~ Exit ABC W }.*l 040602 21600410 Load Help (.) ~Alt+B~ loads previous message for customer. ~Alt+P~ loads Previous customer. ~Alt+F~ loads next message for customer. ~Alt+N~ loads Next customer. ~Alt+L~ loads messages for user in the order received. ~F7~ loads previous message for user (person in the For field). ~F8~ loads next message for user (person in the For field). Shift+F7 or Shift+F8 indexes back and front in Name field. $ message screen hot keys $ dot screen hot keys $ period screen hot keys $ hot keys (.) W }.*q 040603 21600410 * Questions (.) * * Using the Message Screen~ U ~ * U }*k W }.*t 040603 21600410 Tools Help (.) ~Ctrl+F~ accesses a search engine, enabling you to find words, phrases and/or numbers. Press Ctrl+F. Then enter the information you want to find. The computer will search all records on the file for that information. ~Ctrl+W~ Put the currently loaded message # on a Word Processor list. To see the list, press F10, W, Ctrl+N (to clear screen), and then type .LIST. For more information, press~ W ~. ~Alt+E~ Mark the message with Y in the finished field. ~Alt+H~ Report to list all messages from current company. ~Alt+T~ Report to list unfinished messages for user. $ Alt+E (.) $ Alt+H (.) $ Alt+T (.) W }*tnb W }.00a 031029 08520615 Reference # (.0) The computer automatically updates the reference numbers. If you enter a prior reference number, the message with that number is displayed. You can use F7 and F8 to page through the existing messages. W }.02a 031029 19600510 Code (.2) If the person who called had been entered previously on the Customer, Vendor or Name screen, their data is displayed when you enter their Code in this field. By default the computer searches the Customer screen first for a code that matches the code entered in the Code field. If it does not find a matching code in the Customer screen, it searches the Vendor screen and then the Names screen. If no matching code is found in any one of those files, the code that you typed disappears, and you have to try again. If you do not want the computer to search the Customer screen, put a V or an N in the field to the right of the 'Call Is From' field. The computer will then restrict its search to the Vendor or Name screen. W }.22a 040826 10520515 Entered By (.22) Enter the code of the person who entered the message. Codes are set up on the Salesman (S) screen. If you try to enter a Code that has not been set up on the Salesman screen, the computer displays the message, "Not a Valid Salesman Code." $ Not a Valid Salesman Code (.) W }.23a 040317 10520515 Name (.23) Enter the name of the person who called. If you are looking for a previous message from someone, you can enter their name in this field and press F7 to search back through previous messages for that Name. Use F8 to go forward by Name. W }.24a 040520 13520515 For (.24) Enter the code of the person who the message is for. These codes are set up on the Salesman (S) screen. If you enter a code that was not set up, a lookup screen appears with a list of the codes that have been set up. F11 or Alt+A allows you to page back through the messages that are for one particular person. F12 or Alt+Z pages forward through the messages that are for one particular person. W }.26a 040520 15520615 Finished (.26) When a message is first entered into the computer, there is an N in this field. This means that the message has Not been finished or attended to. When the message has been read by the person it is for, or otherwise taken care of, it can be marked with a Y by pressing Alt+E from anywhere on the message screen. Simply changing the N to Y manually will not necessarily turn off the beeper. Use the Alt+E method for consistent tracking of messages. W }.J10a 040317 14600510 Company (.1010) This field can indicate Customer, Vendor or Name. By default the computer searches the Customer screen first for a code that matches the code entered in the Code field. If it does not find a matching code in the Customer screen, it searches the Vendor screen and then the Names screen. If no matching code is found in any one of those files, the code that you typed disappears, and you have to try again. If you do not want the computer to search the Customer screen, put a V or an N in this field so that the computer searches the Vendor screen or the N