{"aaData": [["EXPENDABLE PHYSICAL COUNT", "
\n ::RGY/WASHINGTON-ISC@ALTOONA,PA - Expendable Physical count IRL program\n ::inventory file on barcode reader, the quantity is appended to the end\n.LP1Q :: LP1Q\nC#2=V(4) ::Define current quatity of part\nG$3="T".MUL ::If operator is "T", multiply numbers\nG$3="U".MIN ::If operator is a "U", subtract numbers\nG$3="".PLUS ::If no operator exists, then goto add number\n.SET :: SET\nC$0=#2 ::Define current Qty\nDV(4)=$0 ::Define current Qty into local variable file\nG.ENTER ::Go back and get next inventory record\n ::\n ::of the record. For example: If 'IE58589 322 18' would be inventory\n.MUL :: MUL\nD#3=#3*#4 ::Multiply second number entered and first number entered\nD#2=#2+#3 ::Add Muliplication to current Qty\nG.SET ::Go and set new quantity\n ::\n.MIN :: MIN\nD#2=#2-#3 ::Subtract second number enter from current qty\nD#2=#2+#4 ::Add first number enter to current qty\nG.SET ::Go and set new quantity\n ::\n ::point 58589, part number 322 with a physical count of 18.\n.PLUS :: PLUS\nD#2=#2+#3 ::Add second number entered to current qty\nD#2=#2+#4 ::Add first number entered to current qty\nG.SET ::Go and set new quantity\n ::\n.STORE :: STORE\nQV(2)="" ::Quit provided no record\nSV(4)="".NOQTY ::If not quantity, warn user\nD$1=$0 ::Store record into scratch variable\nD$0=V(2)+" " ::Create record with quantity\n ::\nD$0=$0+V(4) :: (cont)\nRI ::Store quanatity into inventory file\nD$0=$1 ::Restore record\nDV(2)="" ::Initialize record\nDV(4)="" ::Initialize quantity\nQ ::Quit subroutine\n ::\n.RECORD :: RECORD\nS.STORE\nDV(2)=$0 ::Store record into scratch variable\nOI(1000,20) ::Initialize a inventory file\nDV(4)="" ::Reset QTY\nG.ENTER ::Goto entry of next record\n ::\n.REVDEL :: REVDEL\nS.CLR ::Clear screen\nP"How far back do" ::Ask user how many records to go back\nP"you want to go" :: (cont)\nP"(0 to quit) ? " :: (cont)\nD$0="" ::Initialize input string\nN1,2 ::User input of 1 or 3 numerics\nOV(5,20) ::Initialize a variable file\nG$0="0".START ::If input is a 0, go back to main menu\nC#2=$0 ::Put input into numeric variable\nH#1=I ::Put number of records in inventory file into variable\nD#2=#1-#2 ::Define the record to start display\nS.CLR ::Clear screen\n.LP2 :: LP2\nG#2=#1.EOTRAN ::If all records displayed, ask which record to delete\nC$2=#2 ::Setup display of record\nD$0=$2+") " :: (cont)\nD$0=$0+I(#2) :: (cont)\n ::\nP$0 ::Show record to user\nW3 ::Wait three seconds to allow viewing of record\nD#2=#2+1 ::Increment record counter\nG.LP2 ::Goo get next record\n.EOTRAN :: EOTRAN\nP"*** END ***" ::Display to user End of Records\nW5 ::Wait five seconds for user review of display\nS.CLR ::Clear screen\nP"Which record do you" ::Asj user shich record to delete\nP"want to delete" :: (cont)\n.BEG :: BEG\nP"(0 to quit) ? " :: (cont)\nD$0="" ::Initialize input string\nN1,2,3 ::Allow user input of 1,2 or 3 numberics\nG$0="0".START ::If user enters a 0, go back to main menu\nC#1=$0 ::Define input as a number\n.ASK1 :: ASK1\nS.CLR ::Clear screen\nC$0=#1 ::Setup display of record before deletion\nD$0="*** Record "+$0 :: (cont)\nD$0=$0+" ***" :: (cont)\nP"\\e[2JCurrent Program" ::Show user program name\nP$0 ::Print display of record\nPI(#1) :: (cont)\nP"Are you ..." ::Ask user for verification before deletion\nP"... sure (Y/N) ?" :: (cont)\nD$0="" ::Initialize input string\nA1 ::Allow user input of one character only\nG$0=".".START ::If input a period, go back to main menu\nG$0="N".REVDEL ::If input a "N", then ask which record again\nG$0="Y".DELREC ::If input a "Y", go delete record\nB00 ::Sound beep two times\nP"is Expendable" :: (cont)\nS.CLR ::Clear screen\nP"*** Error, enter" ::Tell user a Y or N must be entered\nP"a Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ASK1 ::Go back and ask "ok to delete" question\n ::\n.DELREC :: DELREC\nDI(#1)="*Deleted*" ::Set record in inventory file to null to show deletion\nS.CLR ::Clear screen\nP" " ::Tell user the record has been deleted\n ::Version 3.01, 5/30/90\nP"Physical Count." :: (cont)\nP"* Record Deleted *" :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.REVDEL ::Go back and ask what records to view for deletion\n ::\n.XMIT :: XMIT\nD$0="PRCPH" ::Define data identifier\nXMP,$0 ::Send data idnetifier to host system\nXMP,I ::Transmit the inventory file to external device\nH#1=I ::Find how many records exist in inventory file\nC$0=#1 ::Set string variable to number of records\nP"Id: PRCPH" ::Print program identifier\nD$0="***END***^"+$0 ::Setup End of file message\nXMP,$0 ::Send end of file message to external device\n ::\n.ASK :: ASK\nS.CLR ::Clear screen\nP"Data xmitted, do" ::Display confirmation of transmission message\nP"you want to purge" :: (cont)\nP"the file (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::Allow user input\nW5 ::Wait five seconds to allow view of message\nG$0="Y".PUR ::If user input is a "Y", go and purge inventory file\nG$0="N".START ::If user input is a "N", go back to main menu\nG$0=".".START ::If user input is a ".", go back to main menu\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ASK ::Go back and ask purge question\n.PUR :: PUR\nH#1=I ::Set reg 1 to current rec # in invent file\nHI=0 ::Purge of inventory file\nHV=0 ::Purge of local variable file\nB0 ::Sound beep one time\nP"** File Purged **" ::Inform user of purged file\nW3 ::Wait three seconds to allow view of message\nG.BEG ::Go back to begining of program\n ::\n.DEL :: DEL\nDV(4)="" ::Initialize Qty\nG.ENTER ::Go back to enter inventory record\nG#1>0.DAT ::If data alread exist in ivent. file warn user\n ::\n.CLR :: CLR\nP"\\e[2J" ::Clear screen escape sequence\nQ ::Quit subroutine\n ::\n.NOREC :: NOREC\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print error message\nP"part number first." :: (cont)\nS.CLR ::Clear screen\nW5 ::Wait five seconds to allow view of message\nG.ENTER ::Go back to enter inventory record\n ::\n.WARN :: WARN\nB0 ::Sound beep\nP"\\e[2J**** WARNING ****" ::Clear screen andprint warning message\nP"Data file is almost" :: (cont)\nP"full. Please XMIT" :: (cont)\nP"data and purge file." :: (cont)\nW3 ::Wait three seconds to allow view of message\nP"Please enter ..." ::Ask user for ID\nQ ::Quit subroutine\n ::\n.NOQTY :: NOQTY\nB00 ::Sound beep two times\nP"\\e[2JWARNING: No qty" ::Print warning message\nP"was entered for" :: (cont)\nP"part #:" :: (cont)\nPV(2) ::Print part #\nW5 ::Wait five seconds to allow view of message\nQ ::Quit subroutine\nP"file ID: " :: (cont)\n ::\n.STOP :: STOP\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Sorry, data file is" ::Print error message\nP"FULL, you must XMIT" :: (cont)\nP"and purge file." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.START ::Go back to main menu\n ::\nA ::User input of user ID\n.DAT :: DAT\nS.CLR ::Clear screen\nB00 ::Sound beep two times\nP"*** WARNING ***" ::Print warning message of existing data\nP"Data exists on" :: (cont)\nP"this barcode reader." :: (cont)\nW5 ::Wait five seconds to allow view of message\nP"The first record in" ::Display first record to user\nP"this file" :: (cont)\nD$0="is: "+I(0) ::Setup display of first record\nD$0="ID"+$0 ::Set first record to be ID\nP$0 ::Print first record\nW5 ::Wait five seconds to allow view of message\nS.CLR ::Clear screen\nP"Do you want to" ::Query user to purge existing file\nP"purge this file ..." :: (cont)\nP"... (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::User input\nG$0="Y".PUR ::If user input is a "Y", go and purge files\nG$0="N".START ::If user input a "N", go to main menu\n ::\nRI ::Store first record into inven file\nG$0=".".START ::If user input is a ".", go to main menu\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.DAT ::Go back to existing data question\n ::\nE ::End of program\n ::\n.START :: START\nP"\\e[2J1. Enter Inventory" ::Clear screen and print menu\nP"2. Transmit Data" :: (cont)\nP"3. Review/Delete" :: (cont)\nP"Enter (1-3): " :: (cont)\nD$0="" ::Initialize input string\nA ::User input of option\nG$0="1".ENTER ::If Enter Inventory selected, goto entry of invent.\n ::V(2) = Record\nG$0="2".XMIT ::If transmit option selected, goto transmit data\nG$0="3".REVDEL ::If Review/Delete option selected, goto review and del record\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print message of invalid input\nP"number from 1-3." :: (cont)\nW5 ::Wait 5 seconds to allow view of message\nG.START ::Go back and display main menu\n ::\n.ENTER :: ENTER\n ::V(4) = Quantity\nH#1=I ::Set regist 1 to Num. of rec. in inven file\nG#1>995.STOP ::If invent. file full, do not allow anymore entries\nS#1>985.WARN ::If invent. file almost full, warn user\nD$0="\\e[2J IE: "+V(2) ::Display current record\nP$0 :: (cont)\nD$0="QTY: "+V(4) ::Display Quantity\nP$0 :: (cont)\nP" # " ::Display input symbol for invent.\nD$0="" ::Initialize input variable\nA ::Allow user input of next invent. record\n ::\nG$0="F1".DEL ::If input is the function key 1, delete record a start over\nS$0=".".STORE ::Store record\nG$0=".".START ::If input a ".", goto back to main menu\nD$1=$0M2,1 ::Get code type of entry\nG$1="IE".RECORD ::If code is "IE", goto entry of new record\nG$0="".ENTER ::If return entered, don't accept input\nGV(2)="".NOREC ::If qty entered with no record, goto error message\nD#1=0 ::Initialize character counter\nD#3=0 ::Initialize second number of Qty string\nD#4=0 ::Initialize first number of Qty string\n ::The barcode label (record) contains the inventory point with the \nD$1="" ::Initialize current character (CC) of Qty string\nD$2="" ::Initialize current string of Qty string\nD$3="" ::Initialize operand of Qty string\n.LP1 :: LP1\nD#1=#1+1 ::Increment character counter by 1\nD$1=$0M1,#1 ::Define CC of Qty string\nG$1="".LP1Q ::If CC of Qty string is null, then end of Qty string and Quit\nC#5=$1 ::Evaluate if CC is a number\nCV(0)=#5 :: (cont)\nGV(0)=$1.NUM ::If CC a number, goto save number\n ::expendable item number. For example: IE585883 38383. The user wands the\nG$1="T".OPR ::If CC a "T", goto save operand string\nG$1="U".OPR ::If CC a "U", goto save operand string\n.ERROR ::If CC not a number or operand, then display invalid input\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, unkown" ::Print error message\nP"operation in entry." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ENTER ::Goto entry of next Inventory record\n.NUM :: NUM\n ::label and then enters quantity. When the record is stored into the\nD$2=$2+$1 ::Define current string of Qty string\nC#3=$2 ::Define second number of Qty string\nG.LP1 ::Go back and get next character of Qty string\n.OPR :: OPR\nG[$3]>0.ERROR ::If a operator alread exists, go to error message\nD$3=$1 ::Define operator string\nC#4=$2 ::Set first number of Qty string to current string\nD$2="" ::Initialize current string\nG.LP1 ::Go back and get next character\n ::\n\n
\n4f134t^^\n412351246w13413\n4f134\n134f13e\nt\nt\n\n
\n::RGY/WASHINGTON-ISC@ALTOONA,PA - Expendable Usuage IRL program\n::inventory file on barcode reader, the quantity is appended to the end\n.LP1Q :: LP1Q\nC#2=V(4) ::Define current quatity of part\nG$3="T".MUL ::If operator is "T", multiply numbers\nG$3="U".MIN ::If operator is a "U", subtract numbers\nG$3="".PLUS ::If no operator exists, then goto add number\n.SET :: SET\nC$0=#2 ::Define current Qty\nDV(4)=$0 ::Define current Qty into local variable file\nG.ENTER ::Go back and get next inventory record\n ::\n::of the record. For example: If 'IE58589 322 18' would be inventory\n.MUL :: MUL\nD#3=#3*#4 ::Multiply second number entered and first number entered\nD#2=#2+#3 ::Add Muliplication to current Qty\nG.SET ::Go and set new quantity\n ::\n.MIN :: MIN\nD#2=#2-#3 ::Subtract second number enter from current qty\nD#2=#2+#4 ::Add first number enter to current qty\nG.SET ::Go and set new quantity\n ::\n::point 58589, part number 322 with a usuage of 18.\n.PLUS :: PLUS\nD#2=#2+#3 ::Add second number entered to current qty\nD#2=#2+#4 ::Add first number entered to current qty\nG.SET ::Go and set new quantity\n ::\n.STORE :: STORE\nQV(2)="" ::Quit provided no record\nSV(4)="".NOQTY ::If not quantity, warn user\nD$1=$0 ::Store record into scratch variable\nD$0=V(2)+" " ::Create record with quantity\n::\nD$0=$0+V(4) :: (cont)\nRI ::Store quanatity into inventory file\nD$0=$1 ::Restore record\nDV(2)="" ::Initialize record\nDV(4)="" ::Initialize quantity\nQ ::Quit subroutine\n ::\n.RECORD :: RECORD\nS.STORE\nDV(2)=$0 ::Store record into scratch variable\nOI(1000,20) ::Initialize a inventory file\nDV(4)="" ::Reset QTY\nG.ENTER ::Goto entry of next record\n ::\n.REVDEL :: REVDEL\nS.CLR ::Clear screen\nP"How far back do" ::Ask user how many records to go back\nP"you want to go" :: (cont)\nP"(0 to quit) ? " :: (cont)\nD$0="" ::Initialize input string\nN1,2 ::User input of 1 or 3 numerics\nOV(5,20) ::Initialize a variable file\nG$0="0".START ::If input is a 0, go back to main menu\nC#2=$0 ::Put input into numeric variable\nH#1=I ::Put number of records in inventory file into variable\nD#2=#1-#2 ::Define the record to start display\nS.CLR ::Clear screen\n.LP2 :: LP2\nG#2=#1.EOTRAN ::If all records displayed, ask which record to delete\nC$2=#2 ::Setup display of record\nD$0=$2+") " :: (cont)\nD$0=$0+I(#2) :: (cont)\n ::\nP$0 ::Show record to user\nW3 ::Wait three seconds to allow viewing of record\nD#2=#2+1 ::Increment record counter\nG.LP2 ::Goo get next record\n.EOTRAN :: EOTRAN\nP"*** END ***" ::Display to user End of Records\nW5 ::Wait five seconds for user review of display\nS.CLR ::Clear screen\nP"Which record do you" ::Asj user shich record to delete\nP"want to delete" :: (cont)\n.BEG :: BEG\nP"(0 to quit) ? " :: (cont)\nD$0="" ::Initialize input string\nN1,2,3 ::Allow user input of 1,2 or 3 numberics\nG$0="0".START ::If user enters a 0, go back to main menu\nC#1=$0 ::Define input as a number\n.ASK1 :: ASK1\nS.CLR ::Clear screen\nC$0=#1 ::Setup display of record before deletion\nD$0="*** Record "+$0 :: (cont)\nD$0=$0+" ***" :: (cont)\nP"\\e[2JCurrent Program" ::Show user program name\nP$0 ::Print display of record\nPI(#1) :: (cont)\nP"Are you ..." ::Ask user for verification before deletion\nP"... sure (Y/N) ?" :: (cont)\nD$0="" ::Initialize input string\nA1 ::Allow user input of one character only\nG$0=".".START ::If input a period, go back to main menu\nG$0="N".REVDEL ::If input a "N", then ask which record again\nG$0="Y".DELREC ::If input a "Y", go delete record\nB00 ::Sound beep two times\nP"is Expendable Usage" :: (cont)\nS.CLR ::Clear screen\nP"*** Error, enter" ::Tell user a Y or N must be entered\nP"a Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ASK1 ::Go back and ask "ok to delete" question\n ::\n.DELREC :: DELREC\nDI(#1)="*Deleted*" ::Set record in inventory file to null to show deletion\nS.CLR ::Clear screen\nP" " ::Tell user the record has been deleted\n::Version 3.01, 5/30/90\n ::Blank line\nP"* Record Deleted *" :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.REVDEL ::Go back and ask what records to view for deletion\n ::\n.XMIT :: XMIT\nD$0="PRCUS" ::Define data identifier\nXMP,$0 ::Send data idnetifier to host system\nXMP,I ::Transmit the inventory file to external device\nH#1=I ::Find how many records exist in inventory file\nC$0=#1 ::Set string variable to number of records\nP"Id: PRCUS" ::Print program identifier\nD$0="***END***^"+$0 ::Setup End of file message\nXMP,$0 ::Send end of file message to external device\n ::\n.ASK :: ASK\nS.CLR ::Clear screen\nP"Data xmitted, do" ::Display confirmation of transmission message\nP"you want to purge" :: (cont)\nP"the file (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::Allow user input\nW5 ::Wait five seconds to allow view of message\nG$0="Y".PUR ::If user input is a "Y", go and purge inventory file\nG$0="N".START ::If user input is a "N", go back to main menu\nG$0=".".START ::If user input is a ".", go back to main menu\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ASK ::Go back and ask purge question\n.PUR :: PUR\nH#1=I ::Set reg 1 to current rec # in invent file\nHI=0 ::Purge of inventory file\nHV=0 ::Purge of local variable file\nB0 ::Sound beep one time\nP"** File Purged **" ::Inform user of purged file\nW3 ::Wait three seconds to allow view of message\nG.BEG ::Go back to begining of program\n ::\n.DEL :: DEL\nDV(4)="" ::Initialize Qty\nG.ENTER ::Go back to enter inventory record\nG#1>0.DAT ::If data alread exist in ivent. file warn user\n ::\n.CLR :: CLR\nP"\\e[2J" ::Clear screen escape sequence\nQ ::Quit subroutine\n ::\n.NOREC :: NOREC\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print error message\nP"part number first." :: (cont)\nS.CLR ::Clear screen\nW5 ::Wait five seconds to allow view of message\nG.ENTER ::Go back to enter inventory record\n ::\n.WARN :: WARN\nB0 ::Sound beep\nP"\\e[2J**** WARNING ****" ::Clear screen andprint warning message\nP"Data file is almost" :: (cont)\nP"full. Please XMIT" :: (cont)\nP"data and purge file." :: (cont)\nW3 ::Wait three seconds to allow view of message\nP"Please enter ..." ::Ask user for ID\nQ ::Quit subroutine\n ::\n.NOQTY :: NOQTY\nB00 ::Sound beep two times\nP"\\e[2JWARNING: No qty" ::Print warning message\nP"was entered for" :: (cont)\nP"part #:" :: (cont)\nPV(2) ::Print part #\nW5 ::Wait five seconds to allow view of message\nQ ::Quit subroutine\nP"file ID: " :: (cont)\n ::\n.STOP :: STOP\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Sorry, data file is" ::Print error message\nP"FULL, you must XMIT" :: (cont)\nP"and purge file." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.START ::Go back to main menu\n ::\nA ::User input of user ID\n.DAT :: DAT\nS.CLR ::Clear screen\nB00 ::Sound beep two times\nP"*** WARNING ***" ::Print warning message of existing data\nP"Data exists on" :: (cont)\nP"this barcode reader." :: (cont)\nW5 ::Wait five seconds to allow view of message\nP"The first record in" ::Display first record to user\nP"this file" :: (cont)\nD$0="is: "+I(0) ::Setup display of first record\nD$0="ID"+$0 ::Set first record to be ID\nP$0 ::Print first record\nW5 ::Wait five seconds to allow view of message\nS.CLR ::Clear screen\nP"Do you want to" ::Query user to purge existing file\nP"purge this file ..." :: (cont)\nP"... (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::User input\nG$0="Y".PUR ::If user input is a "Y", go and purge files\nG$0="N".START ::If user input a "N", go to main menu\n::\nRI ::Store first record into inven file\nG$0=".".START ::If user input is a ".", go to main menu\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.DAT ::Go back to existing data question\n ::\nE ::End of program\n ::\n.START :: START\nP"\\e[2J1. Enter Inventory" ::Clear screen and print menu\nP"2. Transmit Data" :: (cont)\nP"3. Review/Delete" :: (cont)\nP"Enter (1-3): " :: (cont)\nD$0="" ::Initialize input string\nA ::User input of option\nG$0="1".ENTER ::If Enter Inventory selected, goto entry of invent.\n::V(2) = Record\nG$0="2".XMIT ::If transmit option selected, goto transmit data\nG$0="3".REVDEL ::If Review/Delete option selected, goto review and del record\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print message of invalid input\nP"number from 1-3." :: (cont)\nW5 ::Wait 5 seconds to allow view of message\nG.START ::Go back and display main menu\n ::\n.ENTER :: ENTER\n::V(4) = Quantity\nH#1=I ::Set regist 1 to Num. of rec. in inven file\nG#1>995.STOP ::If invent. file full, do not allow anymore entries\nS#1>985.WARN ::If invent. file almost full, warn user\nD$0="\\e[2J IE: "+V(2) ::Display current record\nP$0 :: (cont)\nD$0="QTY: "+V(4) ::Display Quantity\nP$0 :: (cont)\nP" # " ::Display input symbol for invent.\nD$0="" ::Initialize input variable\nA ::Allow user input of next invent. record\n::\nG$0="F1".DEL ::If input is the function key 1, delete record a start over\nS$0=".".STORE ::Store record\nG$0=".".START ::If input a ".", goto back to main menu\nD$1=$0M2,1 ::Get code type of entry\nG$1="IE".RECORD ::If code is "IE", goto entry of new record\nG$0="".ENTER ::If return entered, don't accept input\nGV(2)="".NOREC ::If qty entered with no record, goto error message\nD#1=0 ::Initialize character counter\nD#3=0 ::Initialize second number of Qty string\nD#4=0 ::Initialize first number of Qty string\n::The barcode label (record) contains the inventory point with the \nD$1="" ::Initialize current character (CC) of Qty string\nD$2="" ::Initialize current string of Qty string\nD$3="" ::Initialize operand of Qty string\n.LP1 :: LP1\nD#1=#1+1 ::Increment character counter by 1\nD$1=$0M1,#1 ::Define CC of Qty string\nG$1="".LP1Q ::If CC of Qty string is null, then end of Qty string and Quit\nC#5=$1 ::Evaluate if CC is a number\nCV(0)=#5 :: (cont)\nGV(0)=$1.NUM ::If CC a number, goto save number\n::expendable item number. For example: IE585883 38383. The user wands the\nG$1="T".OPR ::If CC a "T", goto save operand string\nG$1="U".OPR ::If CC a "U", goto save operand string\n.ERROR ::If CC not a number or operand, then display invalid input\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, unkown" ::Print error message\nP"operation in entry." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.ENTER ::Goto entry of next Inventory record\n.NUM :: NUM\n::label and then enters quantity. When the record is stored into the\nD$2=$2+$1 ::Define current string of Qty string\nC#3=$2 ::Define second number of Qty string\nG.LP1 ::Go back and get next character of Qty string\n.OPR :: OPR\nG[$3]>0.ERROR ::If a operator alread exists, go to error message\nD$3=$1 ::Define operator string\nC#4=$2 ::Set first number of Qty string to current string\nD$2="" ::Initialize current string\nG.LP1 ::Go back and get next character\n ::\n\n
\n ::RGY/ISC-Washington@Altoona, Pa\n ::has been performed. Set up to hold as\nS.CLR\nP"1. Record PMI"\nP"2. Transmit Data" :: (cont)\nP"3. Review/Delete" :: (cont)\nP"ENTER (1-3):"\nA ::User input of option\nG$0="1".ENTER ::ENTER is entry tag for PMI\nG$0="2".XMIT ::XMIT is entry tag for transmit\nG$0="3".REVDEL ::REVDEL is entry tag for deletion\nB00 ::Sound beep two times\n ::many as 1000 records.\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print message of invalid input\nP"number from 1-3, or" :: (cont)\nP"turn TRAKKER off."\nW5 ::Wait 5 seconds to allow view of message\nG.START ::Go back and display main menu\n ::\n ::Entries at this point should look like:\n :: SP21-110, or\n :: 688 EE6798, or maybe\n ::As always, first record is a user\n :: 7832 EE659098\n ::Anything else needs to be rejected.\n.ENTER :: ENTER\nH#1=P ::Set regist 1 to Num. of rec. in PMI file\nG#1>995.STOP ::If PMI file full, do not allow anymore entries\nS#1>985.WARN ::If PMI file almost full, warn user\nD$0="\\e[2JRM: "+V(2) ::Clear screen and display Room number\nP$0 :: (cont)\nD$0="ID: "+V(3) ::Display current identifier\nP$0 :: (cont)\n ::specified identifier. Main purpose is\nP"...Reader ready...\\r\\n" ::Display input symbol for PMI\nD$0="" ::Initialize input variable\nA ::Allow user input of next equip id\nDV(1)=$0 ::For safe keeping\nG$0=".".START ::If input is ".", goto main menu\nD$1=$0L2 ::First 2 char of input\nG$1="SP".LOC ::Location label\nG$0="F4".NOLBL ::Process item without barcode label\nD#1=[$0] ::Is this a PM number?\nS#1>8.PMN ::Maybe so, go check\n ::to safeguard against inadvertent file\nGV(5)="PM".ENTPM ::It was a PM number\nS.PARSE ::What is it? Should be EE label.\nSV(5)="??".HLP1 ::Not what we expected, print help and\nGV(5)="??".ENTER ::try again\n.ENTPM ::Tag to skip parsing\nGV(2)="".NOLOC ::Have EE label, but no open loc\nGV(5)="PM".PMR ::PM number and open loc; record\nGV(4)=V(5).PMR ::EE label and open loc; record\nGV(5)=V(6).PMR ::alternate station number\nGV(5)=V(7).PMR ::second alternate\n ::purges. We suggest that user enter\nGV(5)=V(8).PMR ::third alternate\nGV(5)=V(9).PMR ::fourth alternate\nGV(5)=V(10).PMR ::fifth alternate\nGV(5)=V(14).PMR ::sixth alternate\nGV(5)=V(15).PMR ::seventh alternate\nGV(5)=V(16).PMR ::eighth alternate\n.RPT ::In case we need to repeat\nS.CLR ::exception message\nP"WARNING...EE label"\nB01\n ::something like 'PM'-initials-date\nD$1="is from VAMC "+V(5) ::Show foreign station\nP$1\nP"Cannot process." ::Next screen\nP"<ENTER> to cont..."\nA ::Any char OK\nS.CLR\nG.ENTER ::Abort and move on\n ::\n.PMR :: PMR\nSV(5)="PM".CLR5 ::Dispense with flag\n ::(ex: PM-SAW-9-12-90). If unit times\nDV(3)=V(1) ::Move IEN for safe keeping\nD$0="\\e[2JRM: "+V(2) ::Display current info\nP$0\nD$0="ID: "+V(3)\nP$0\nP"Enter P for PASS or" ::PASS/FAIL\nP"F for FAIL: " ::Explicit action\nD$0="" ::required\nA1\nG$0="P".PMRP\n ::out for inactivity or is turned off,\nG$0="F".PMRF\nG.PMR\n.PMRP :: PMRP\nGV(1)="F4".PMRP0\nD$0=V(1) ::Device PASSED\nRP ::Store EE number\n.PMRP0\nS.CLR\nP"Press F1 for detail" ::Get time and material\nP"or ENTER to cont..." ::if desired\n ::this record will be displayed at\nD$0=""\nA\nG$0="F1".PMRP1\nG$0="".ENTER ::No t&m desired\nB11101 ::Error condition (minor)\nG.PMRP\n.PMRP1\nS.CLR\nP"Time (hrs): " ::Enter time\nD$0=""\n ::DH/ISC-Washington@Hampton, Va\n ::power up time.\nA ::Can't do pattern match\nDV(1)=$0\nP"Are you sure? Y//" ::So we get confirmation\nD$0=""\nA\nG$0="".PMRP11\nG$0="Y".PMRP11\nG$0="YES".PMRP11\nG.PMRP1\n ::\n ::\n.PMRP11\nD$0="TIME:"+V(1)\nRP ::Store time spent\n.PMRP12\nS.CLR\nP"Materials ($): " ::Enter materials\nD$0=""\nA ::Again, no type check\nDV(1)=$0\nP"Are you sure? Y//" ::so we confirm\n ::The Variable file (V) is a small file\nD$0=""\nA\nG$0="".PMRP13\nG$0="Y".PMRP13\nG$0="YES".PMRP13\nG.PMRP12\n.PMRP13\nD$0="MATRL:"+V(1)\nRP ::Store material cost\nDV(5)=""\n ::used for scratch variables since\n ::\n.PMRP14 ::Condition Code\nS.CLR\nP"Condition code (LN,"\nP"G, or P):"\nD$0=""\nA\nG$0="".PMRP15\nG$0="L".PMRPN\nG$0="l".PMRPN\n ::IRL limits numeric and string registers.\nG$0="N".PMRPN\nG$0="n".PMRPN\nG$0="LN".PMRPN\nG$0="Ln".PMRPN\nG$0="ln".PMRPN\nG$0="G".PMRPG\nG$0="g".PMRPG\nG$0="P".PMRPP\nG$0="p".PMRPP\nS.CLR\n ::V(0) is a scratch variable\nP"Must press LN (Like"\nP"New), G (Good), P"\nP"(Poor), or ENTER."\nW 3\nG.PMRP14\n ::\n.PMRPN ::Condition is LIKE NEW\nS.CLR\nP"LIKE NEW Condition."\nP"Correct? Y//"\n ::V(1) is a scratch variable\nD$0=""\nA\nG$0="".PMRPN1\nG$0="Y".PMRPN1\nG$0="y".PMRPN1\nG.PMRP14\n.PMRPN1 ::Set the value\nD$0="CODE:1"\nRP\nG.PMRP15\n ::V(2) the last location entered\n ::\n.PMRPG ::Condition is GOOD\nS.CLR\nP"GOOD condition."\nP"Correct? Y//"\nD$0=""\nA\nG$0="".PMRPG1\nG$0="Y".PMRPG1\nG$0="y".PMRPG1\n ::V(3) the last equipment number entered\nG.PMRP14\n.PMRPG1 ::Set the value\nD$0="CODE:2"\nRP\nG.PMRP15\n ::\n.PMRPP ::Condition is POOR\nS.CLR\nP"POOR Condition."\nP"Correct? Y//"\n ::V(4) contains station number\nD$0=""\nA\nG$0="".PMRPP1\nG$0="Y".PMRPP1\nG$0="y".PMRPP1\nG.PMRP14\n.PMRPP1\nD$0="CODE:3"\nRP\n ::\n ::SAB/OIFO-Washington@Hampton, VA\n ::V(5) station number on EE label\n.PMRP15\nS.WORK\nG.ENTER\n ::\n.WORK ::Manual entry of WORK PERFORMED\nS.CLR\nP"WORK PERFORMED:"\nP"(120 char max)"\nP"(Optional)\\r\\n"\nD$0=""\n ::V(6) alternate station number\nA\nQ$0=""\nDV(11)="" ::Record up to three\nDV(12)="" ::forty char segments\nDV(13)=""\nDV(11)=$0L40\nDV(12)=$0M40,41\nDV(13)=$0M40,81\n.WORKC ::Confirmation\nD$0=""\n ::V(7) another alternate station number\nP"Are you sure? Y//"\nA\nD$1=$0L1\nG$1="".WORKF\nG$1="Y".WORKF\nG$1="y".WORKF\nG.WORK\n.WORKF ::File WORK PERFORMED\nD$0=V(11)\nRP\n ::V(8) another alternate station number\nQV(12)=""\nD$0=V(12)\nRP\nQV(13)=""\nD$0=V(13)\nRP\nQ\n ::\n.PMRF :: PMRF\nGV(1)="F4".PMRF0\n ::V(9) another alternate station number\nD$0=V(1) ::Device FAILED\nRP ::Store EE number\n.PMRF0\nD$0="FAILED"\nRP ::and store a flag\n.PMRF1\nS.CLR\nP"Describe problem" ::Get a brief statement of\nP"(40 char max):\\r\\n" ::the problem. This will\nD$0="" ::become the basis for a\n ::V(10) another alternate station number\nA ::corrective action work\nDV(1)=$0 ::order.\nS.CLR\nD$0=V(1) ::Truncate to 40 char\nP$0\nP"Are you sure? Y//" ::Confirmation\nD$0=""\nA\nG$0="".PMRF2\nG$0="Y".PMRF2\n ::V(11) scratch variable\nG$0="YES".PMRF2\nB10111\nG.PMRF1\n.PMRF2\nD$0=V(1)\nRP ::Store problem description\n.PMRF3 ::Get time\nS.CLR\nP"Time (hrs): " ::Enter hours\nD$0=""\n ::V(12) scratch variable\nA\nDV(1)=$0\nP"Are you sure? Y//" ::Data validation check\nD$0=""\nA\nG$0="".PMRF31\nG$0="Y".PMRF31\nG$0="YES".PMRF31\nG.PMRF3\n.PMRF31\n ::V(13) scratch variable\nD$0="TIME:"+V(1) ::Store time spent in\nRP ::FAILing device\nG.ENTER\n ::\n.NOLOC :: NOLOC\nB1101 ::Audible signal\nS.CLR ::EE label scanned before\nP"PMI process must" ::location\nP"begin with location"\nP"label."\n ::V(14) another alternate station number\nP"Press <ENTER>..."\nA ::Accept any char\nG.ENTER ::Try again\n ::\n.NOLBL :: NOLBL\nGV(2)="".NOLOC ::No open loc; can't proceed\nS.CLR ::Get text description of\nP"Enter MODEL NUMBER:\\r\\n" ::items without barcode\nD$0=""\nA ::labels\n ::1.9.2001\n ::V(15) another alternate station number\nG$0="^".NLABRT ::User abort\nD$2=$0 ::Temp save of mod in $2\nS.CLR\nP"Enter SERIAL NUMBER:" ::Get serial #\nD$0=""\nA\nG$0="^".NLABRT ::User abort\nG$0="".NLABRT\nD$3=$0 ::Temp save of s/n in $3\n.DESC ::Item description\n ::V(16) last of eight possible alternate\nS.CLR\nP"Enter DESCRIPTION:\\r\\n" ::Free text description\nA ::40 char max because of fixed\nD#0=[$0] ::record size\nG#0<41.NOLBL1\nS.CLR ::Clear screen for\nP"ERROR Description" ::error message\nP"may not exceed 40"\nP"characters."\nP"Press <ENTER>..." ::Wait for user resp\n :: station numbers\nA ::Take anything\nG.DESC ::Try again\n.NOLBL1 ::Continue\nD$1=$0 ::Shuffle the string\nD$0="MOD:"+$2 ::registers and file\nRP ::user inputs\nD$0="S/N:"+$3\nRP\nD$0=$1\nRP ::Filing complete\n ::F(0) is 39 char formatter\nG.PMR ::Pass or fail\n.NLABRT ::Jump here to skip filing\nG.ENTER ::End of program segment\n ::\n.PMN :: PMN\nD$1=$0M1,5 ::Is this really a PM number?\nG$1="-".PMN1 ::Apparently so\nQ ::Not PM number, return\n.PMN1 ::Assume NNNN-NNNN is PM#\nDV(5)="PM" ::Set flag\n ::\nDV(0)="" ::Add prefix\nDV(0)=V(1)\nDV(1)=""\nDV(1)="PM#:"+V(0)\nQ ::Return\n ::\n.REVDEL :: REVDEL\nH#1=P ::Get last\nD#1=#1-1 ::record number\n.LP10\nOP(1000,40) ::Initialize PMI file\nG#1=1.START ::Can't go above first LOCATION\nS.CLR\nC$1=#1 ::Display\nD$0=$1+") " ::last\nD$0=$0+P(#1) ::record\nDF(0)=$0 ::Truncate to\nD$0=F(0) ::39 char\nP$0\nP"(D)elete, (Q)uit,"\nP"or (C)ontinue..."\nOV(17,40) ::Initialize variable file\nD$0="" ::Clear input buffer\nA1 ::Single character entry\nG$0="D".LP20 ::Deletion\nG$0="Q".START ::Back to main menu\nG$0="C".LP30 ::Next previous record\nP"Error. Must enter"\nP"D, Q, or C."\nP"To proceed, please"\nP"press <ENTER>..."\nD$0=""\nOF(1,39) ::Truncation in REV/DEL\nA ::Take anything\nG.LP10 ::Ask again\n.LP20 ::Actual deletion\nS.CLR\nP"Deleting record"\nD$0="number "+$1\nD$0=$0+"..."\nP$0\nW5\nDP(#1)="*****"\n ::\nP"(Q)uit or (C)ont?" ::Get instruction\nD$0=""\nA1 ::Get one character\nG$0="C".LP25 ::Continue review\nG.START ::Back to main menu\n.LP25 :: LP25\nD#1=#1-1 ::Move file pointer\nG.LP10 ::Back to display\n.LP30 :: LP30\nD#1=#1-1 ::Move file pointer\n.BEG :: BEG\nG.LP10 ::End REVIEW/DELETE\n ::\n.XMIT :: XMIT\nD$0="ENPM" ::Define data identifier\nXMP,$0 ::Transmit data identifier to host system\nXMP,P ::Transmit PMI file to host device\nH#1=P ::Find how many records exist in PMI file\nC$0=#1 ::Set string variable to Number of Records\nD$0="***END***^"+$0 ::Setup End of File message\nXMP,$0 ::Send End of File message to external device\n ::\nDV(4)="" ::Initialize station number\n.ASK :: ASK\nS.CLR ::Clear screen\nP"Data xmitted, do" ::Display confirmation of transmission message\nP"you want to purge" :: (cont)\nP"the file (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::Allow user input\nG$0="Y".PUR ::If "Y", purge inventory file\nG$0="N".START ::If user input is a "N", go back to main menu\nG$0=".".START ::If user input is a ".", go back to main menu\nDV(6)="" ::and alternates\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW3 ::Wait 5 seconds to allow view of message\nG.ASK ::Go back and ask purge question\n ::\n.PUR :: PUR\nHP=0 ::Purge of PMI file\nHV=0 ::Purge of local variable file\nDV(7)=""\nB0 ::Sound beep one time\nP"** File Purged **" ::Inform user of purged file\nW3 ::Wait three seconds to allow view of message\nG.BEG ::Go back to begining of program\n ::\n.CLR :: CLR\nP"\\e[2J" ::Clear screen escape sequence\nD$0="" ::Clear input register\nQ ::Quit subroutine\n ::\nDV(8)=""\n.WARN :: WARN\nB0 ::Sound beep\nP"\\e[2J**** WARNING ****" ::Clear screen and print warning message\nP"Data file is almost" :: (cont)\nP"full. Please XMIT" :: (cont)\nP"data and purge file." :: (cont)\nW3 ::Wait three seconds to allow view of message\nQ ::Quit subroutine\n ::\n.STOP :: STOP\nDV(9)=""\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Sorry, data file is" ::Print error message\nP"FULL, you must XMIT" :: (cont)\nP"and purge file." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.START ::Go back to main menu\n ::\n.DAT :: DAT\nS.CLR ::Clear screen\nDV(10)=""\nB00 ::Sound beep two times\nP"*** WARNING ***" ::Print warning message of existing data\nP"Data exists on" :: (cont)\nP"this barcode reader." :: (cont)\nW5 ::Wait five seconds to allow view of message\nS.CLR\nP"The file ID is:" ::Display first record to user\nD$0=P(0) ::Setup display of first record\nP$0 ::Print first record\nW5 ::Wait five seconds to allow view of message\nDV(14)=""\nS.CLR ::Clear screen\nP"Do you want to" ::Query user to purge existing file\nP"purge this file ..." :: (cont)\nP"... (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::User input\nG$0="Y".PUR ::If user input is a "Y", go and purge files\nG$0="N".START ::If user input is a "N", go to main menu\nG$0=".".START ::If user input is a ".", go to main menu\nB00 ::Sound beep two times\nDV(15)=""\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.DAT ::Go back a existing data question\n ::\n.LOC :: LOC\n ::Process location label in $0\nSV(2)="".NLOC ::No location presently open\nSV(2)=$0.CLOC ::Loction is open\nDV(16)=""\nG$0="".LOCQ ::All is well\nP"ERROR Must close" ::Display error\nB1101 ::message and sound alarm\nPV(2)\nP"before you may open"\nP$0\nW10 ::10 sec to read\n.LOCQ ::Exit from subroutine\nG.ENTER ::Next read\n.NLOC :: NLOC\nDV(4)=|ENSTA| ::Pass station # from DHCP\nDV(2)=$0 ::Store new current location\nRP ::Add new loc to file\nD$0="" ::All OK flag back to LOC\nQ\n.CLOC :: CLOC\nDV(2)="" ::Close current location\nD$0="" ::All OK flag back to LOC\nDV(3)="" ::Clear last EE for new loc\nQ\nG.ENTER\n ::Preventive Maintenance (PM) Program\nD$3=|ENEMP| ::Pass PM Inspector\n ::\n.PARSE :: PARSE\nDV(5)=""\nD#1=0 ::Initialize character count\n.FNDBL ::Look for space\nD#1=#1+1 ::Increment counter\nD$1=$0M1,#1 ::Examine current char position\nG$1="".PARS1 ::Must not be any spaces\nG$1=" ".PARS1 ::That's more like it\nG.FNDBL ::Keep looping\nDV(6)=|ENSTA(1)| ::Pass alternate station number(s)\n.PARS1\nS$1="".ERR1 ::Can't be right\nS$1=" ".PARS2 ::Continue\nQ ::Return control to segment ENTER\n ::\n.PARS2 :: PARS2 (2ND LEVEL)\nD#2=[$0] ::Length of label\nD#3=#1+1 ::Start of second piece\nD#4=#2-#1 ::Length of second piece\nD$1=$0M#4,#3 ::Set $1 to second piece\nDV(7)=|ENSTA(2)| ::<space> if null\nD$2=$1L2 ::Application code\nG$2="EE".PARS3 ::Application code should be EE\nDV(5)="??" ::Error condition\nG.PARS4\n.PARS3 ::Where we want to be\nD#3=#1-1 ::Length of station number\nDV(5)=$0L#3 ::Store station number from label\n.PARS4 ::Re-entry from error condition\nQ ::Return control to PARSE, passing param V(5)\n ::\nDV(8)=|ENSTA(3)|\n.ERR1 :: ERR1\nDV(5)="??" ::Flag error for segment .ENTER\nQ\n ::\n.HLP1 :: HLP1\nS.CLR ::Called from .ENTER if input\nGV(1)="?".HLP12 ::is a question\nP"** INVALID ENTRY **" ::or is questionable\nB1010 ::Audible signal\nP"Press <ENTER> to"\nDV(9)=|ENSTA(4)|\nP"continue, or enter"\nP"'?' for help."\nD$0=""\nA ::User response\nG$0="".HLP1Q ::Help declined\nD$0=$0L1 ::Look at first char\n.HLP12 ::'?' to begin with\nSV(1)="?".HLP2 ::More help\nS$0="?".HLP2 ::Show help text\n.HLP1Q ::Exit subroutine\nDV(10)=|ENSTA(5)|\nQ\n ::\n.HLP2 :: HLP2\nD$0=V(2) ::Ck for location\nG$0="".HLP3\nP"Expecting equipment" ::Expanded help\nP"id (ex:688 EE9372),"\nP"PM #, or special"\nP"function key F4."\nW10 ::10 sec to read\nDV(14)=|ENSTA(6)|\nP"Will also accept"\nD$0=V(2) ::Display current\nP$0 ::location\nP"to close location"\nP"or '.' to exit."\nW10\nQ\n :: HLP3\n.HLP3\nS.CLR ::No location\nDV(15)=|ENSTA(7)|\nP"PMI process must"\nP"begin with a"\nP"location label."\nW10\nQ\n.CLR5 ::Clear var\nDV(5)=""\nQ\n ::\nE ::End of program\nDV(16)=|ENSTA(8)|\nH#1=P ::Set reg 1 to current rec # in PMI file\n ::File P set up to contain as many as\nG#1>0.DAT ::If data alread exist in PMI file warn user\nS.CLR ::Clear screen\nP"Please enter ..." ::Ask user for file ID\nP"file ID: " :: (cont)\nD$0=""\nA ::User input of user ID\nD$0="ID "+$0 ::Force an entry\nRP ::Store file ID into PMI file\nDV(2)="" ::Initialize V(2)\nDV(3)="" ::and V(3)\n ::File P will hold the identifiers (IEN's)\nS.CLR\nP"Station number:" ::Display only\nPV(4) ::Alternates not shown\nP"To continue, please"\nP"press ENTER..."\nA ::Continue\nD$0=""\n ::\n.TEC :: TEC\nS.CLR ::Disp name of tech\n ::of equipment for which a PM inspection\nP"PM Inspector is:"\nP$3\nD$0=$3\nRP ::File Inspector\nP"Please press ENTER."\nA ::Proceed\nD$0=""\n ::\n ::\n.START :: START\n\n
\n ::RGY/ISC-Washington@Altoona, Pa\n ::many as 1000 records.\n ::Entries at this point should look like:\n :: SP21-110, or\n :: 688 EE6798, or maybe\n :: 7832 EE659098\n ::Anything else needs to be rejected.\n.ENTER :: ENTER\nH#1=I ::Set regist 1 to Num. of rec. in INV file\nG#1>995.STOP ::If INV file full, no more entries\nS#1>985.WARN ::If INV file almost full, warn user\nD$0="\\e[2JRM: "+V(2) ::Clear screen and display Room number\n ::As always, first record is a user\nP$0 :: (cont)\nD$0="ID: "+V(3) ::Display current identifier\nP$0 :: (cont)\nP"...Reader ready...\\r\\n" ::Display input symbol for INV\nD$0="" ::Initialize input variable\nA ::Allow user input of next equip id\nDV(1)=$0 ::For safe keeping\nG$0=".".START ::If input is ".", goto main menu\nD$1=$0L2 ::First 2 char of input\nG$1="SP".LOC ::Location label\n ::specified identifier. Main purpose is\nG$0="F4".NOLBL ::Process item without barcode label\nD#1=[$0] ::Is this a PM number?\nS#1>8.PMN ::Maybe so, go check\nGV(5)="PM".ENTPM ::It was a PM number\nS.PARSE ::What is it? Should be EE label.\nSV(5)="??".HLP1 ::Not what we expected, print help and\nGV(5)="??".ENTER ::try again\n.ENTPM ::Tag to skip parsing\nGV(2)="".NOLOC ::Have EE label, but no open loc\nGV(5)="PM".RECNX ::PM number and open loc; record\n ::to safeguard against inadvertent file\nGV(4)=V(5).RECNX ::EE label and open loc; record\nGV(5)=V(6).RECNX ::Alternate station #\nGV(5)=V(7).RECNX ::Second alternate station #\nGV(5)=V(8).RECNX ::Third alternate station #\nGV(5)=V(9).RECNX ::Fourth alternate station #\nGV(5)=V(10).RECNX ::Fifth alternate station #\nGV(5)=V(11).RECNX ::Sixth alternate station #\nGV(5)=V(12).RECNX ::Seventh alternate station #\nGV(5)=V(13).RECNX ::Eighth alternate station #\n.RPT ::In case we need to repeat\n ::purges. We suggest that user enter\nS.CLR ::exception message\nP"WARNING...EE label"\nB01\nD$1="is from VAMC "+V(5) ::Show foreign station\nP$1\nP"To continue, press" ::Next screen\nP"<ENTER>..."\nA ::Any char OK\nS.CLR\nP"Enter '1' to accept"\n ::something like 'NX'-initials-date\nPV(1)\nP"or '2' to reject it."\nA1 ::Input 1 char\nG$0="1".RECNX ::Add to file\nG$0="2".ENTER ::Ignore it\nG.RPT ::Repeat the question\n ::\n.RECNX :: RECNX\n ::Add EE number to I\nDV(3)=V(1) ::Update variable\n ::(ex: NX-SAW-9-12-90). If unit times\nD$0=V(1) ::Restore register\nRI ::File EE number\nDV(5)="" ::Clear reg\nG.ENTER ::Next scan\n ::\n.NOLOC :: NOLOC\nB1101 ::Audible signal\nS.CLR ::EE label scanned before\nP"Inventory process" ::location\nP"must begin with"\n ::out for inactivity or is turned off,\nP"location label."\nP"Press <ENTER>..."\nA ::Accept any char\nG.ENTER ::Try again\n ::\n.NOLBL :: NOLBL\nGV(2)="".NOLOC ::No open loc; can't proceed\nS.CLR ::Get text description of\nP"Enter MODEL NUMBER:\\r\\n" ::items without barcode\nD$0=""\n ::this record will be displayed at\nA ::labels\nG$0="^".NLABRT ::User abort\nD$2=$0 ::Temp save of mod in $2\nS.CLR\nP"Enter SERIAL NUMBER:" ::Get serial #\nD$0=""\nA\nG$0="^".NLABRT ::User abort\nG$0="".NLABRT\nD$3=$0 ::Temp save of s/n in $3\n ::power up time.\n.DESC ::Item description\nS.CLR\nP"Enter DESCRIPTION:\\r\\n" ::Free text description\nA ::40 char max because of fixed\nD#0=[$0] ::record size\nG#0<41.NOLBL1\nS.CLR ::Clear screen for\nP"ERROR Description" ::error message\nP"may not exceed 40"\nP"characters."\n ::DH/ISC-Washington@Hampton, Va\n ::\nP"Press <ENTER>..." ::Wait for user resp\nA ::Take anything\nG.DESC ::Try again\n.NOLBL1 ::Continue\nD$1=$0 ::Shuffle the string\nD$0="MOD:"+$2 ::registers and file\nRI ::user inputs\nD$0="S/N:"+$3\nRI\nD$0=$1\n ::The Variable file (V) is a small file\nRI ::Filing complete\n.NLABRT ::Jump here to skip filing\nG.ENTER ::End of program segment\n ::\n.PMN :: PMN\nD$1=$0M1,5 ::Is this really a PM number?\nG$1="-".PMN1 ::Apparently so\nQ ::Not PM number, return\n.PMN1 ::Assume NNNN-NNNN is PM#\nDV(5)="PM" ::Set flag\n ::used for scratch variables since\nDV(0)="" ::Add prefix\nDV(0)=V(1)\nDV(1)=""\nDV(1)="PM#:"+V(0)\nQ ::Return\n ::\n.REVDEL :: REVDEL\nH#1=I ::Get last\nD#1=#1-1 ::record number\n.LP10\n ::IRL limits numeric and string registers.\nG#1=0.START ::Can't go above first LOCATION\nS.CLR\nC$1=#1 ::Display\nD$0=$1+") " ::content of\nD$0=$0+I(#1) ::current record\nDF(0)=$0 ::Truncate to\nD$0=F(0) ::40 char\nP$0\nP"(D)elete, (Q)uit," ::Get instructions\nP"or (C)ontinue..."\n ::V(0) is a scratch variable\nD$0="" ::Clear input buffer\nA1\nG$0="D".LP20 ::Deletion\nG$0="Q".START ::Back to main menu\nG$0="C".LP30 ::Next record\nP"Error. Must enter"\nP"D, Q, or C."\nP"To proceed, please"\nP"press <ENTER>..."\nD$0=""\n ::V(1) is a scratch variable\nA\nG.LP10\n.LP20 ::Physical deletion\nS.CLR\nP"Deleting record"\nD$0="number "+$1\nD$0=$0+"..."\nP$0\nW5\nDI(#1)="*****" ::Deletion marker\n ::V(2) the last location entered\nP"(Q)uit or (C)ont?" ::Get instructions\nD$0=""\nA1\nG$0="C".LP25 ::Continue\nG.START ::Back to main menu\n.LP25 :: LP25\nD#1=#1-1 ::Move file pointer\nG.LP10\n.LP30 :: LP30\nD#1=#1-1 ::Move file pointer\n ::V(3) the last equipment number entered\nG.LP10\n ::\n.XMIT :: XMIT\nD$0="ENNX" ::Define data identifier\nXMP,$0 ::Transmit data identifier to host system\nXMP,I ::Transmit INV file to host device\nH#1=I ::Find how many records exist in INV file\nC$0=#1 ::Set string variable to Number of Records\nD$0="***END***^"+$0 ::Setup End of File message\nXMP,$0 ::Send End of File message to external device\n ::V(4) contains station number\nYMN;1 ::Clear data buffer\n.ASK :: ASK\nS.CLR ::Clear screen\nP"Data xmitted, do" ::Display confirmation of transmission message\nP"you want to purge" :: (cont)\nP"the file (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::Allow user input\nG$0="Y".PUR ::If "Y", purge inventory file\nG$0="N".START ::If user input is a "N", go back to main menu\n ::V(5) station number on EE label\nG$0=".".START ::If user input is a ".", go back to main menu\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW3 ::Wait 5 seconds to allow view of message\nG.ASK ::Go back and ask purge question\n ::\n.PUR :: PUR\nHI=0 ::Purge of INV file\n ::SAB/OIFO-Washington@Hampton, VA\n ::V(6) alternate station number\nHV=0 ::Purge of local variable file\nB0 ::Sound beep one time\nP"** File Purged **" ::Inform user of purged file\nW3 ::Wait three seconds to allow view of message\nG.BEG ::Go back to begining of program\n ::\n.CLR :: CLR\nP"\\e[2J" ::Clear screen escape sequence\nD$0="" ::Clear input register\nQ ::Quit subroutine\n ::V(7) another alternate station number\n ::\n.WARN :: WARN\nB0 ::Sound beep\nP"\\e[2J**** WARNING ****" ::Clear screen and print warning message\nP"Data file is almost" :: (cont)\nP"full. Please XMIT" :: (cont)\nP"data and purge file." :: (cont)\nW3 ::Wait three seconds to allow view of message\nQ ::Quit subroutine\n ::\n ::V(8) another alternate station number\n.STOP :: STOP\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Sorry, data file is" ::Print error message\nP"FULL, you must XMIT" :: (cont)\nP"and purge file." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.START ::Go back to main menu\n ::\n.DAT :: DAT\n ::V(9) another alternate station number\nS.CLR ::Clear screen\nB00 ::Sound beep two times\nP"*** WARNING ***" ::Print warning message of existing data\nP"Data exists on" :: (cont)\nP"this barcode reader." :: (cont)\nW5 ::Wait five seconds to allow view of message\nS.CLR\nP"The file ID is:" ::Display file ID to user\nD$0=I(0) ::Setup display of file ID\nP$0 ::Print file id\n ::V(10) another alternate station number\nW5 ::Wait five seconds to allow view of message\nS.CLR ::Clear screen\nP"Do you want to" ::Query user to purge existing file\nP"purge this file ..." :: (cont)\nP"... (Y/N) ? " :: (cont)\nD$0="" ::Initialize input variable\nA ::User input\nG$0="Y".PUR ::If user input is a "Y", go and purge files\nG$0="N".START ::If user input is a "N", go to main menu\nG$0=".".START ::If user input is a ".", go to main menu\n ::V(11) another alternate station number\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"Please enter a " ::Display error message\nP"Y or N." :: (cont)\nW5 ::Wait five seconds to allow view of message\nG.DAT ::Go back a existing data question\n ::\n.LOC :: LOC\n ::Process location label in $0\nSV(2)="".NLOC ::No location presently open\n ::V(12) another alternate station number\nSV(2)=$0.CLOC ::Location is open\nG$0="".LOCQ ::All is well\nP"ERROR Must close" ::Display error\nB1101 ::message and sound alarm\nPV(2)\nP"before you may open"\nP$0\nW10 ::10 sec to read\n.LOCQ ::Exit from subroutine\nG.ENTER ::Next read\n ::V(13) last of eight possible alternate\n.NLOC :: NLOC\nDV(2)=$0 ::Store new current location\nRI ::Add new loc to file\nD$0="" ::All OK flag back to LOC\nQ\n.CLOC :: CLOC\nDV(2)="" ::Close current location\nD$0="" ::All OK flag back to LOC\nDV(3)="" ::Clear last EE for new loc\nQ\n :: station numbers\nG.ENTER\n ::\n.PARSE :: PARSE\nDV(5)=""\nD#1=0 ::Initialize character count\n.FNDBL ::Look for space\nD#1=#1+1 ::Increment counter\nD$1=$0M1,#1 ::Examine current char position\nG$1="".PARS1 ::Must not be any spaces\nG$1=" ".PARS1 ::That's more like it\n ::F(0) is 39 char formatter\nG.FNDBL ::Keep looping\n.PARS1\nS$1="".ERR1 ::Can't be right\nS$1=" ".PARS2 ::Continue\nQ ::Return control to segment ENTER\n ::\n.PARS2 :: PARS2 (2ND LEVEL)\nD#2=[$0] ::Length of label\nD#3=#1+1 ::Start of second piece\nD#4=#2-#1 ::Length of second piece\n ::1.9.2001\n ::\nD$1=$0M#4,#3 ::Set $1 to second piece\nD$2=$1L2 ::Application code\nG$2="EE".PARS3 ::Application code should be EE\nDV(5)="??" ::Error condition\nG.PARS4\n.PARS3 ::Where we want to be\nD#3=#1-1 ::Length of station number\nDV(5)=$0L#3 ::Store station number from label\n.PARS4 ::Re-entry from error condition\nQ ::Return control to PARSE, passing V(5)\nOI(1000,40) ::Initialize INV file\n ::\n.ERR1 :: ERR1\nDV(5)="??" ::Flag error for segment .ENTER\nQ\n ::\n.HLP1 :: HLP1\nS.CLR ::Called from .ENTER if input\nGV(1)="?".HLP12 ::is a question\nP"** INVALID ENTRY **" ::or is questionable\nB1010 ::Audible signal\nOV(14,40) ::Initialize variable file\nP"Press <ENTER> to"\nP"continue, or enter"\nP"'?' for help."\nD$0=""\nA ::User response\nG$0="".HLP1Q ::Help declined\nD$0=$0L1 ::Look at first char\n.HLP12 ::'?' to begin with\nSV(1)="?".HLP2 ::More help\nS$0="?".HLP2 ::Show help text\nOF(1,39) ::Truncation in REV/DEL\n.HLP1Q ::Exit subroutine\nQ\n ::\n.HLP2 :: HLP2\nD$0=V(2) ::Ck for location\nG$0="".HLP3\nP"Expecting equipment" ::Expanded help\nP"id (ex:688 EE9372),"\nP"PM #, or special"\nP"function key F4."\n ::\nW10 ::10 sec to read\nP"Will also accept"\nD$0=V(2) ::Display current\nP$0 ::location\nP"to close location"\nP"or '.' to exit."\nW10\nQ\n :: HLP3\n.HLP3\n.BEG :: BEG\nS.CLR ::No location\nP"Inv. process must"\nP"begin with a"\nP"location label."\nW10\nQ\n ::\nE ::End of program\nDV(4)=""\nDV(4)=|ENSTA|\nDV(6)="" ::Initialize alternate station\nDV(6)=|ENSTA(1)|\n ::\nDV(7)="" ::numbers\nDV(7)=|ENSTA(2)|\nDV(8)=""\nDV(8)=|ENSTA(3)|\nDV(9)=""\nDV(9)=|ENSTA(4)|\nDV(10)=""\nDV(10)=|ENSTA(5)|\nDV(11)=""\nDV(11)=|ENSTA(6)|\n ::Equipment Inventory Program\nDV(12)=""\nDV(12)=|ENSTA(7)|\nDV(13)=""\nDV(13)=|ENSTA(8)|\nS.CLR\nP"STATION NUMBER:"\nPV(4) ::Alternates not shown\nP"To continue, please"\nP"press <ENTER>..."\nA\n ::File I will hold the identifiers (IEN's)\nD$0=""\nH#1=I ::Set reg 1 to current rec # in INV file\nG#1>0.DAT ::If data already exists, warn user\nS.CLR ::Clear screen\nP"Please enter ..." ::Ask user for file ID\nP"file ID: " :: (cont)\nA ::User input of file ID\nD$0="ID "+$0 ::Force an entry\nRI ::Store file ID into INV file\nDV(2)="" ::Initialize V(2)\n ::of equipment which has been physically\nDV(3)=""\n ::\n.START :: START\nS.CLR\nP"1. Take Inventory"\nP"2. Transmit Data" :: (cont)\nP"3. Review/Delete" :: (cont)\nP"ENTER (1-3):"\nA ::User input of option\nG$0="1".ENTER ::ENTER is entry tag for INV\n ::located. Set up to hold as\nG$0="2".XMIT ::XMIT is entry tag for transmit\nG$0="3".REVDEL ::REVDEL is entry tag for deletion\nB00 ::Sound beep two times\nS.CLR ::Clear screen\nP"*** Error, enter a" ::Print message of invalid input\nP"number from 1-3, or" :: (cont)\nP"turn TRAKKER off."\nW5 ::Wait 5 seconds to allow view of message\nG.START ::Go back and display main menu\n ::\n\n