0001 SETERR GENERROR
0010 REM 0 "SOENTINI - 10/20/2021 - ENTER SALES ORDER - Initialization"
0011 REM "AUTHOR - LPL, PES, DJB,MLS"
0012 REM PTS : *11906,*12951
0015 REM 0 - (COPYRIGHT) 0015-0022
0016 REM  Standards 8.0
0019 REM  OPEN SYSTEMS (R) Accounting Software
0020 REM  Copyright (c)1982 - 2013 Open Systems Holdings Corp.
0021 REM  All Rights Reserved
0022 REM  OPEN SYSTEMS is a registered trademark of Open Systems Holdings Corp.
0023 IF JUL(0,0,0)<>JUL(2016,11,02) IF STBL("RCCSTNAM",ERR=*NEXT)="ORION" THEN LET GUI=0,OSGUI$="",A$=STBL("GUI","OFF");REM RRW/RCG TEMP UNTIL GUI MODS DONE 072016
0024 LET INHOUSE=0,INHOUSE=NUM(STBL("INHOUSE",ERR=0025),ERR=0025)
0025 PRECISION NUM(STBL("-DOLL"))
0030 IF POS("CJ"=STBL("CAPPS"),2) AND O2$(5,1)="1" THEN LET CJINST=1; REM "CJC"
0035 IF POS("BA"=STBL("CAPPS"),2) AND O2$(15,1)="1" THEN LET BAINST=1
0040 LET WKSDATE=NUM(STBL("JULDATE")),E5=WKSDATE; REM "workstation date"
0045 LET E2$="New     Picked  VerifiedCreditedInvoicedBackord New RMA Quote   Rcvd RMA"
0046 IF X0$="A" THEN LET ORDTYPE=1,TRANTYPE=1,E0=1,E1=1,ORD_CRED_FLAG=1,E1$=" Orders "; REM "New"
0047 IF X0$="B" THEN LET ORDTYPE=1,TRANTYPE=2,E0=1,E1=3,ORD_CRED_FLAG=1,E1$=" Orders "; REM "Shipped"
0048 IF X0$="E" THEN LET ORDTYPE=1,TRANTYPE=3,E0=3,E1=1,ORD_CRED_FLAG=1,E1$=" Change Orders "; REM "Change Orders"
0049 IF X0$="D" THEN LET ORDTYPE=1,TRANTYPE=4,E0=2,E1=3,ORD_CRED_FLAG=1,E1$=" Verify Orders "; REM "Verify Orders"
0050 IF X0$="Q" THEN LET ORDTYPE=1,TRANTYPE=5,E0=1,E1=8,ORD_CRED_FLAG=1,E1$=" Quotes "; REM "Quotes"
0051 IF X0$="R" THEN LET ORDTYPE=2,TRANTYPE=1,E0=1,E1=7,ORD_CRED_FLAG=-1,E1$=" RMA "; REM "New RMA"
0052 IF X0$="F" THEN LET ORDTYPE=2,TRANTYPE=2,E0=4,E1=9,ORD_CRED_FLAG=-1,E1$=" Received RMA "; REM "Received RMA"
0053 IF X0$="ER" THEN LET ORDTYPE=2,TRANTYPE=3,X0$="E",E0=3,E1=1,ORD_CRED_FLAG=-1,E1$=" Change RMA "; REM Change RMAs"
0054 IF X0$="DR" THEN LET ORDTYPE=2,TRANTYPE=4,X0$="D",E0=2,E1=9,ORD_CRED_FLAG=-1,E1$=" Receive Goods to RMA "; REM Receive Items to an RMA
0055 IF X0$="W" THEN LET ORDTYPE=3,TRANTYPE=1; REM "New Blanket"
0056 IF X0$="X" THEN LET ORDTYPE=3,TRANTYPE=2; REM "Edit Blanket"
0057 IF X0$="Y" THEN LET ORDTYPE=3,TRANTYPE=3; REM "Release Blanket"
0058 IF X0$="Z" THEN LET ORDTYPE=3,TRANTYPE=4; REM "Credit Blanket"
0059 REM IF X0$="A" THEN LET E0=1,E1=1,ORD_CRED_FLAG=1,E1$=" Orders "; REM "NEW"
0060 REM IF X0$="B" THEN LET E0=1,E1=3,ORD_CRED_FLAG=1,E1$=" Orders "; REM "SHIPPED"
0061 REM IF X0$="D" THEN LET E0=2,E1=3,ORD_CRED_FLAG=1,E1$=" Verify Orders "
0062 REM IF X0$="E" THEN LET E0=3,E1=1,ORD_CRED_FLAG=1,E1$=" Change Orders "
0063 REM IF X0$="F" THEN LET X2=0,E0=4,E1=4,ORD_CRED_FLAG=-1,E1$=" Miscellaneous Credits "
0064 REM IF X0$="Q" THEN LET E0=1,E1=8,ORD_CRED_FLAG=1,E1$=" Orders "; REM  "Quotes"
0065 REM IF X0$="Z" THEN LET E0=6,E1=9,ORD_CRED_FLAG=-1,E1$=" RMA "
0066 LET TITLE$=E1$; GOSUB PROMPTS
0070 IF POS(X0$="DE") THEN LET TASK$="EH" ELSE LET TASK$="NH"
0075 CALL "GENGETOP.PUB","SO",MSG$,DO2$
0090 LET YDISABLE$="DS",INIT=1
0099 IF GUI THEN PRINT (OSGUI.CHAN)'TITLE'(100,"Opening files..."), ELSE PRINT 'SF'+'BACKGR'+STBL("FBKG"),STBL("FTXT"),@(2,22),"Opening files...",
0100 REM 100,4  "Open Files"
0104 LET F0=70,F$="OSSQ"; GOSUB GENOPEN
0108 LET F0=31,OSCN=31,F$="OSCN",TASK=2; GOSUB GENOPEN; DIM OSCN$:TPL$; REM "Country Code File"
0112 LET F0=12,F$="RMES"+STBL("CID"),TASK=2,GENOPEN.CRYP=1; GOSUB GENOPEN; DIM RMES$:TPL$; LET TASK=0,GENOPEN.CRYP=0
0116 LET F0=13,F$="OSST",TASK=0; GOSUB GENOPEN; REM "State File"
0120 IF BAINST THEN LET F0=33,F$="BACD"+STBL("CID"),TASK=2,GENOPEN.CRYP=1; GOSUB GENOPEN; DIM BACD$:TPL$; LET TASK=0,GENOPEN.CRYP=0
0124 IF O2$(1,1)="1" THEN LET F0=1,F$="GLMA"+STBL("CID"); GOSUB GENOPEN
0128 LET F0=6,F$="ARCU"+STBL("CID"); TASK=2; GOSUB GENOPEN; DIM ARCU$:TPL$; DIM CCFF$:GENOPEN.CFF$,CCFV$:GENOPEN.CFV$; LET TASK=0; REM "Customers"
0132 IF O2$(49,1)="1" AND O2$(13,1)="1" THEN LET F0=32,F$="ARCU"+STBL("CID")+".UD",TASK=0; GOSUB GENOPEN; LET TASK=1,F$="ARCU_UD"; GOSUB GENOPEN; DIM ARCUUD$:TPL$; LET TASK=0
0136 IF O2$(47,1)="1" AND O2$(13,1)="1" THEN LET F0=73,F$="ARCU"+STBL("CID")+".EM",TASK=0; GOSUB GENOPEN; LET TASK=1,F$="ARCU_EM"; GOSUB GENOPEN; DIM ARCUEM$:TPL$; LET TASK=0
0140 LET F0=16,F$="ARCT"+STBL("CID"); GOSUB GENOPEN; REM "SOTHx CONTROL FILE"
0144 LET F0=20,F$="ARCT"+STBL("CID"); GOSUB GENOPEN; REM "SOTHx CONTROL FILE for record locking purposes"
0148 LET F0=18,RMGC=18,F$="RMGC"+STBL("CID"); GOSUB GENOPEN; REM "GROUP CODES"
0152 LET F0=17,F$="ARSR"+STBL("CID"); GOSUB GENOPEN; DIM SRCFF$:GENOPEN.CFF$,SRCFV$:GENOPEN.CFV$; REM "Sales Reps"
0156 LET F0=19,F$="ARCR"+STBL("CID"),GENOPEN.CRYP=1,TASK=2; GOSUB GENOPEN; LET GENOPEN.CRYP=0; DIM ARCR$:TPL$,CRCFF$:GENOPEN.CFF$,CRCFV$:GENOPEN.CFV$; LET TASK=0; REM "Cash Receipts"
0160 LET F0=5,F$="SOTD"+STBL("CID"); GOSUB GENOPEN; DIM TDCFF$:GENOPEN.CFF$,TDCFV$:GENOPEN.CFV$; REM "Detail Order"
0164 LET F0=37,F$="SOTH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SOTH$:TPL$,THCFF$:GENOPEN.CFF$,THCFV$:GENOPEN.CFV$; LET TASK=0; REM "Detail Header"
0168 IF O2$(54,1)="1" THEN LET F0=27,F$="SORI"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SORI$:TPL$
0172 LET F0=28,F$="SORC"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SORC$:TPL$
0176 LET F0=29,F$="OSSE",TASK=2; GOSUB GENOPEN; DIM OSSE$:TPL$; LET TASK=0
0180 LET F0=23,F$="ARGL"+STBL("CID"); GOSUB GENOPEN; DIM GLCFF$:GENOPEN.CFF$,GLCFV$:GENOPEN.CFV$; REM "GL Codes File"
0184 LET F0=22,F$="ARSH"+STBL("CID"); GOSUB GENOPEN; DIM SHCFF$:GENOPEN.CFF$,SHCFV$:GENOPEN.CFV$; REM "Shipping Codes File"
0188 LET F0=24,F$="ARTC"+STBL("CID"); GOSUB GENOPEN; DIM TCCFF$:GENOPEN.CFF$,TCCFV$:GENOPEN.CFV$; REM "Terms Code File"
0192 LET F0=26,F$="ARDC"+STBL("CID"); GOSUB GENOPEN; DIM DCCFF$:GENOPEN.CFF$,DCCFV$:GENOPEN.CFV$; REM "Distribution Codes File"
0196 LET F0=30,F$="SOTB",TASK=2; GOSUB GENOPEN; DIM XXTB$:TPL$; LET TASK=0; REM "Table file
0200 LET F0=21,F$="SOLS"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SOLS$:TPL$; LET TASK=0; DIM LSCFF$:GENOPEN.CFF$,LSCFV$:GENOPEN.CFV$; REM "SO Serial Item file"
0204 LET F0=25,F$="ARPY"+STBL("CID"); GOSUB GENOPEN; DIM PCFF$:GENOPEN.CFF$,PCFV$:GENOPEN.CFV$; REM "MOP file"
0208 LET F0=11,F$="ARSA"+STBL("CID"); GOSUB GENOPEN; DIM SCFF$:GENOPEN.CFF$,SCFV$:GENOPEN.CFV$; REM "Ship to Addresses"
0212 LET F0=69,F$="ARCM"+STBL("CID"),TASK=2,ARCM=F0,GENOPEN.CRYP=1; GOSUB GENOPEN; DIM ARCM$:TPL$; LET TASK=0,GENOPEN.CRYP=0; REM "----- Credit Card File"
0214 LET F$="SOTA"+STBL("CID"),F0=80,TASK=2; GOSUB GENOPEN; DIM XXTA$:TPL$
0216 IF O2$(2,1)<>"1" THEN GOTO 0336
0220 CALL "GENGETOP.PUB","IN",MSG$,UO2$; DIM MSG$(0); LET UO2$(10,1)=O2$(18,1)
0224 LET F0=2,F$="INVE"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INVE$:TPL$
0228 LET F0=40,F$="INLO"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INLO$:TPL$
0232 LET F0=41,F$="INLD"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INLD$:TPL$
0236 LET F0=42,F$="INAI"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INAI$:TPL$
0240 LET F0=43,F$="INQT"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INQT$:TPL$
0244 LET F0=44,F$="INUM"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INUM$:TPL$
0248 IF O2$(11,1)+O2$(21,1)+UO2$(5,1)="111" THEN LET F0=45,F$="INXT"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INXT$:TPL$
0252 LET F0=48,F$="INHS"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INHS$:TPL$
0256 REM IF UO2$(8,1)="1" THEN LET F0=49,F$="INLH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INLH$:TPL$
0260 LET F0=50,F$="INLP"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INLP$:TPL$
0264 LET F0=51,F$="INLT"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INLT$:TPL$
0268 LET F0=52,F$="INPP"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INPP$:TPL$
0272 LET F0=53,F$="INPS"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INPS$:TPL$
0276 LET F0=54,F$="INQL"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INQL$:TPL$
0280 REM IF UO2$(9,1)="1" THEN LET F0=55,F$="INSH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INSH$:TPL$
0284 LET F0=56,F$="INSN"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INSN$:TPL$
0288 LET F0=57,F$="INUP"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INUP$:TPL$
0292 LET F0=58,F$="INCL"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INCL$:TPL$
0296 LET F0=59,F$="INCA"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INCA$:TPL$
0300 LET F0=60,F$="INGL"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM INGL$:TPL$
0304 LET F0=85,F$="RMPH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM RMPH$:TPL$; LET TASK=0,GENINPUT.RMPH=85
0308 LET F0=86,F$="RMPL"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM RMPL$:TPL$; LET TASK=0,GENINPUT.RMPL=86
0312 DIM TPL$(0)
0316 DROP "INUPD.PUB",ERR=0320
0320 ADDR "INUPD.PUB",ERR=GENERROR
0324 DROP "INITEM.PUB",ERR=0328
0328 ADDR "INITEM.PUB",ERR=GENERROR
0332 CALL "INUPDSET.PUB",FILE[ALL],INUPD1$,INUPD2$,INUPD3$,"SOLS",MSG$
0336 LET TASK=0
0340 IF O2$(5,1)="1" THEN IF CJINST THEN LET F$="CJBS"+STBL("CID") ELSE LET F$="JOBS"+STBL("CID") FI; LET F0=9; GOSUB GENOPEN; REM "CJC"
0344 IF O2$(11,1)="1" THEN LET F0=4,F$="SODE"+STBL("CID"); GOSUB GENOPEN
0348 IF O2$(57,1)="1" OR O2$(59,1)="1" OR O2$(60,1)="1" THEN LET F$="RMRA"+STBL("CID"),F0=87,TASK=2; GOSUB GENOPEN; DIM RMRA$:TPL$; LET TASK=0
0352 CALL "GENGETOP.PUB","RM",MSG$,RMO2$
0356 IF RMO2$(7,1)="1" THEN IF O2$(57,1)="1" OR O2$(59,1)="1" OR O2$(60,1)="1" THEN LET F$="RMRH"+STBL("CID"),F0=89,TASK=2; GOSUB GENOPEN; DIM RMRH$:TPL$; LET TASK=0
0360 LET F$="OSSE",F0=88,TASK=2; GOSUB GENOPEN; DIM OSSE$:TPL$; LET TASK=0
0364 LET F0=15,F$="ARBT"+STBL("CID"); GOSUB GENOPEN
0368 IF O2$(15,1)="1" THEN LET F0=14,F$="RMBA"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM RMBA$:TPL$
0372 IF O2$(30,1)="1" THEN LET KITON=1 ELSE LET KITON=0
0376 IF KITON THEN LET F0=36,SOKT=36,F$="SOKT"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SOKT$:TPL$; DIM KTCFF$:GENOPEN.CFF$,KTCFV$:GENOPEN.CFV$
0380 IF KITON THEN LET F0=34,BKMD=34,F$="BKMD"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM BKMD$:TPL$
0384 IF KITON THEN LET F0=38,BKMH=38,F$="BKMH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM BKMH$:TPL$
0388 IF KITON THEN LET F0=39,BKMH2=39,F$="BKMH"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM BKMH2$:TPL$
0392 LET TASK=0; DIM TPL$(0)
0396 LET F0=35,RMCD=35,F$="RMCD"+STBL("CID"); GOSUB GENOPEN; REM TAX CLASSES
0400 LET F0=61,RMTH=61,F$="RMTH"+STBL("CID"); GOSUB GENOPEN; REM TAX HEADER
0404 LET F0=62,RMTD=62,F$="RMTD"+STBL("CID"); GOSUB GENOPEN; REM TAX DETAIL
0408 IF O2$(11,1)="1" THEN LET F0=63,F$="SOBD"+STBL("CID"); GOSUB GENOPEN
0412 LET F0=64,F$="SOBH"+STBL("CID"); GOSUB GENOPEN
0416 LET F0=65,F$="SOBL"+STBL("CID"); GOSUB GENOPEN
0420 IF KITON THEN LET F0=66,F$="SOBK"+STBL("CID"); GOSUB GENOPEN
0424 LET F0=67,F$="SOBS"+STBL("CID"); GOSUB GENOPEN
0428 IF O2$(45,1)="1" THEN LET F0=68,SOTR=F0,F$="SOTR"+STBL("CID"),TASK=2; GOSUB GENOPEN; DIM SOTR$:TPL$; DIM TPL$(0)
0432 LET F0=81,F$="SOTH"+STBL("CID"),TASK=0; GOSUB GENOPEN; REM "2nd open for duplicate po checking to preserve knum"
0436 LET F0=82,F$="ARHI"+STBL("CID"),TASK=0; GOSUB GENOPEN; DIM HCFF$:GENOPEN.CFF$,HCFV$:GENOPEN.CFV$
0500 REM 500,5
0501 CALL "SOENTINI.HOOKS"+"::FILE_OPENS",ERR=*NEXT;REM SP001-SP999
0505 LET DOPR=NUM(STBL("-DOLL")),QTPR=NUM(STBL("-IQTY")),UCPR=NUM(STBL("-INUC")),UPPR=NUM(STBL("-INUP")),MXPR=MAX(DOPR,QTPR,UCPR,UPPR,4)
0510 LET M2$="-"+STBL("+DOLL")
0515 DIM BLANKET_CONTEXT[1:16]
0520 DIM T90[7]; LET ONLINEINV$="NO"; REM "ON-LINE INVOICE TOTALS"
0525 DIM T9Q[7]; REM "ON-LINE QUOTE TOTALS"
0530 DIM TOT[10]; REM "order totals"
0535 DEF FND$(D)=DATE(D:STBL("DATEMASK"))
0540 LET MCOST$="-"+STBL("+INUC"),MDOLL$="-"+STBL("+DOLL"),MQTY$="-"+STBL("+IQTY"),MPRICE$="-"+STBL("+INUP")
0545 IF GUI THEN PRINT (OSGUI.CHAN)'TITLE'(100,"Building tables..."), ELSE PRINT 'SF',STBL("FTXT"),@(2,22),FILL(40),@(2,22),"Building tables...",
0550 DROP "GENLINE.PUB",ERR=0555
0555 ADDR "GENLINE.PUB",ERR=GENERROR
0560 CHKREST: LET RESTART=0; GOSUB RESTART; IF RESTART THEN GOTO CHKREST
0565 CHKALL: LET RESTART=0; GOSUB TEST_ALL
0600 REM 600 "----- Define template for inquiry"
0610 IF O2$(2,1)<>"1" THEN GOTO 0899
0620 DIM INGET$(0); CALL "INITEM.PUB",FILE[ALL],"","",INGET$,"","",OSGUI$,GENINPUT$
0630 DIM INGET$:FATTR(INGET$)
0640 LET INGET$="SOYY            YN YYN  "+FILL(20)+$0A$+"ADSK"+$0A$+$0A$+$0A$+$0A$+$0A$+"ITEM"+$0A$+$0A$+$0A$
0899 REM 0 - (SOFIL) 0899-0969
0900 XXTB: IOLIST T0$,T1,T1$,T2$,T3$,T4$,T2; REM "all application tables"
0902 OSCN: IOLIST CN0$,CN1$,CN2$,CN3$
0911 ARCRXXX: IOLIST CR0$,CR1$,CR1[ALL],CR2$,CR3$,CR2[ALL],CR4$,CR5$,CR6$,CRCFF$,CRCFV$
0913 ALTGLMAXXX: IOLIST G0$,G1$,G0; REM "GLMAx SHORT FORM FOR EDITING"
0920 ARHIXXX: IOLIST H0$,H1$,H2$,H3$,H4$,H1,H2,H3,H4,H5,H6,H7,H8,H9,H0,H5$,H6$,H9[ALL],H7$,H10,H8$,HCFF$,HCFV$
0921 ARCTXXX: IOLIST CTKEY$,CTSEQ$,CTORD$,CTBAT$
0922 ARSAXXX: IOLIST S0$,S1$,S2$,S3$,S4$,SCFF$,SCFV$
0923 ARINXXX: IOLIST N0$,N1$,N1[ALL],N2$,N3$,NCFF$,NCFV$
0925 SOTDXXX: IOLIST TD0$,TD0,TD1$,TD1[ALL],TD2$,TD3$,TD2[ALL],TD3,TD4$,TD5$,TD4,TD5[ALL],TD6$,TD7$,TD8$,TD9$,TD10$,TD11$,TD12$,TD6[ALL],TD13$,TD14$,TDCFF$,TDCFV$
0926 ARCUXXX: IOLIST C0$,C1$,C2$,C3$,C4$,C5$,C1[ALL],C2[ALL],C3,C4,C8$,C5[ALL],C6,C9$,C7,C6$,C7$,C10$[ALL],C11$,C12$,C8,CCFF$,CCFV$
0927 RMGCXXX: IOLIST GC0$,GC1$,GC2$,GC3$,GC4$,GC5$,GC6$,GC7$,GC8$[ALL],GC9$[ALL],GC10$[ALL],GC11$[ALL],GCCFF$,GCCFV$
0928 ARBTXXX: IOLIST BC0$,BC1$,BC2$,BC3$[ALL],BC4$,BC1,BC2,BC3
0929 SOSLXXX: IOLIST WW$,W0,W0$
0931 ARSRXXX: IOLIST SR0$,SR1$,SR2$,SR3$,SR4$,SR0[ALL],SR1[ALL],SR2[ALL],SR3,SR4[ALL],SR5$,SRCFF$,SRCFV$
0932 SODEXXX: IOLIST DKEY$,DDESC$
0933 RMCDXXX: IOLIST RCD0$,RCD1$,RCD1[ALL],RCDCFF$,RCDCFV$
0934 ARPYXXX: IOLIST P0$,P1$,P1,P2$,P2[ALL],P3$,P3,P4,P4$,P5$,PCFF$,PCFV$
0935 ARDCXXX: IOLIST DC0$,DC1$,DC2$,DCCFF$,DCCFV$
0936 ARDEXXX: IOLIST DKEY$,DDESC$
0937 ARFCXXX: IOLIST FC0$,FC1$,FC1[ALL],FCCFF$,FCCFV$
0938 ARGLXXX: IOLIST GL0$,GL1$,GL2$,GLCFF$,GLCFV$
0939 ARSHXXX: IOLIST SH0$,SH1$,SH2$,SH3$,SH4$,SHCFF$,SHCFV$
0940 ARHSXXX: IOLIST HS0$,HS1[ALL],HS2[ALL],HS1$,HS2$,HSCFF$,HSCFV$
0941 ARHDXXX: IOLIST HD0$,HD1$
0942 ARTCXXX: IOLIST TC0$,TC1$,TC2$,TC1[ALL],TCCFF$,TCCFV$
0943 SOLSXXX: IOLIST LS0$,LS1$,LS2$,LS3$,LS4$,LS1[ALL],LS5$,LS6$,LS7$,LSCFF$,LSCFV$
0948 SOKTXXX: IOLIST KT0$,KT1$,KT2$,KT3$,KT4$,KT5$,KT1[ALL],KT6$,KT2[ALL],KTCFF$,KTCFV$
0949 SOKHXXX: IOLIST KH0$,KH1$,KH2$,KH3$,KH4$,KH5$,KH6$,KH1[ALL],KH2,KH7$,KH3[ALL],KH8$,KHCFF$,KHCFV$
0955 SORLXXX: IOLIST RL0$,RL0,RL1$,RL1[ALL],RL2$,RL3$,RL2[ALL],RL3,RL4$,RL5$,RL4,RL5[ALL],RL6$,RL7$,RL8$,RL9$,RL10$,RL11$,RL12$,RL6[ALL],RLCFF$,RLCFV$
0956 SOTHXXX: IOLIST TH0$,TH0,TH1$,TH1[ALL],TH2$,TH3$,TH2[ALL],TH3,TH4$,TH5$,TH4,TH5[ALL],TH6$,TH7$,TH8$,TH9$,TH10$,TH11$,TH12$,TH13$,TH6[ALL],TH14$,TH15$,TH7,THCFF$,THCFV$
0957 SORHXXX: IOLIST RH0$,RH0,RH1$,RH1[ALL],RH2$,RH3$,RH2[ALL],RH3,RH4$,RH5$,RH4,RH5[ALL],RH6$,RH7$,RH8$,RH9$,RH10$,RH11$,RH12$,RH6[ALL],RHCFF$,RHCFV$
0959 JOBSXXX: IOLIST B0$,B1$,B2$,B3$,B0[ALL],B4$,B5$,B1[ALL],B2[ALL],B6$,B3,B4,B7$,B5[ALL],B6[ALL],B7[ALL],B8[ALL],B8$,B9$,B10$,B11$,B12$,BCFF$,BCFV$; REM "JOBS FILE"
0960 ARCMXXX: IOLIST CM0$,CM1$,CM2$,CM3$,CM4$,CM5$,CMCFF$,CMCFV$
0962 SOBDXXX: IOLIST BD0$,BD1$
0964 SOBHXXX: IOLIST BH0$,BH0,BH1$,BH1[ALL],BH2$,BH3$,BH2[ALL],BH3,BH4$,BH5$,BH4,BH5[ALL],BH6$,BH7$,BH8$,BH9$,BH10$,BH11$,BH12$,BH13$,BH6[ALL],BH7[ALL],BH8[ALL],BH14$,BHCFF$,BHCFV$
0966 SOBKXXX: IOLIST BK0$,BK1$,BK2$,BK3$,BK4$,BK5$,BK1[ALL],BK6$,BK2[ALL],BKCFF$,BKCFV$
0968 SOBLXXX: IOLIST BL0$,BL0,BL1$,BL1[ALL],BL2$,BL3$,BL2[ALL],BL3,BL4$,BL5$,BL4,BL5[ALL],BL6$,BL7$,BL8$,BL9$,BL10$,BL11$,BL12$,BL6[ALL],BLCFF$,BLCFV$
0969 SOBSXXX: IOLIST BS0$,BS1$,BS2$,BS1,BS2[ALL],BSCFF$,BSCFV$
1000 REM 1000 "----- Read in Field Stop table for the current menu selection"
1010 DIM FLD[17],CCFF$:FATTR(CCFF$),CCFV$:FATTR(CCFV$),SRCFF$:FATTR(SRCFF$),SRCFV$:FATTR(SRCFV$),SCFF$:FATTR(SCFF$),SCFV$:FATTR(SCFV$),PCFF$:FATTR(PCFF$),PCFV$:FATTR(PCFV$)
1020 REM "QN=new orders, QS=shipped+cash, QV=verify, QC=change, QR=returns"
1030 LET QE=0
1040 LET TERMID$=FID(0)+FILL(4),TERMID$=TERMID$(1,4)
1050 LET X=POS(X0$="ABDEFQKRFMS"),X$="NSVCRNKRRRR"
1060 LET QTAB$="Q"+X$(X,1)
1070 LET T0$="Q"+X$(X,1)+TERMID$+FILL(2)
1080 LET CCID$=STBL("CID")+FILL(3-LEN(STBL("CID")))
1090 READ (FILE[30],KEY=T0$,DOM=1110,ERR=GENERROR)IOL=XXTB
1100 GOTO 1230
1110 LET T0$="Q"+X$(X,1)+CCID$+FILL(3)
1120 READ (FILE[30],KEY=T0$,DOM=1140,ERR=GENERROR)IOL=XXTB
1130 GOTO 1230
1140 LET T0$="Q"+X$(X,1)+FILL(6)
1150 READ (FILE[30],KEY=T0$,DOM=1170,ERR=GENERROR)IOL=XXTB
1160 GOTO 1230
1170 REM "no table found so stop at all fields"
1180 FOR I=0 TO 17
1190 LET FLD[I]=1
1200 NEXT I
1210 LET QE=-1
1220 GOTO 1300
1230 REM "build array from table"
1240 FOR I=0 TO 17
1250 LET FLD$=CVS(T3$(13+I*24,12),7)
1260 IF LEN(FLD$)>0 THEN LET FLD$=FLD$(1,1)
1270 LET FLD[I]=POS(FLD$="ET")
1280 NEXT I
1290 IF POS("Q"=CVS(T3$(13+15*24,12),7))>0 THEN LET QE=1
1300 REM "build defaults"
1310 LET BATCH$=FILL(6),GLCODEDF$=FILL(2)
1320 LET T0$="DF"+TERMID$+FILL(2)
1330 READ (FILE[30],KEY=T0$,DOM=1350,ERR=GENERROR)IOL=XXTB
1340 GOTO 1400
1350 LET T0$="DF"+CCID$+FILL(3)
1360 READ (FILE[30],KEY=T0$,DOM=1380,ERR=GENERROR)IOL=XXTB
1370 GOTO 1400
1380 LET T0$="DF"+FILL(6)
1390 READ (FILE[30],KEY=T0$,DOM=1430,ERR=GENERROR)IOL=XXTB
1400 LET GLCODEDF$(1,2)=T3$(61,2)
1410 IF O2$(10,1)="1" THEN LET X$=CVS(T3$(13,12),3)+FILL(6),BATCH$=X$(1,6)
1420 IF O2$(52,1)="1" THEN LET DISCTYPEDF$=CVS(T3$(109,12),3)+FILL(1),DISCTYPEDF$=DISCTYPEDF$(1,1)
1428 CALL"SOENTINI.HOOKS::MORE_TB_DEFAULTS",ERR=*NEXT, FILE[ALL]
1430 REM "end of defaults"
1440 REM "READ G/L # TABLE"
1450 DIM G$(12)
1460 LET T0$="ARGL"+CCID$+" "
1470 LET F0=30; READ (FILE[F0],KEY=T0$,DOM=1490,ERR=GENERROR)IOL=XXTB
1480 GOTO 1500
1490 LET F0=30; READ (FILE[F0],KEY=T0$(1,4)+FILL(4),DOM=1510,ERR=GENERROR)IOL=XXTB
1500 LET G$=T3$(61,12)
1510 REM "BUILD TERMS TABLE"
1520 LET TERMS$="    Reg Prox"
1530 REM "INITIALIZE VARIABLES"
1540 DIM T0$(0),T1$(0),T2$(0),T3$(0); REM "reclaim table space"
1550 DIM LO0$(6)
1560 REM "Period Conversion"
1570 LET X$=STBL("DATE")
1580 LET YDISABLE$="XPJSD"; GOSUB GENPC; IF O9$="" THEN GOTO QUIT
1590 GOSUB GENPC1
1600 LET G1=X,GLYR=YEAR; IF LOCKFLAG OR INVALIDYEAR THEN LET G1=0,GLYR=0 FI; DIM O9$(0)
1610 IF O2$(1,1)="1" THEN LET F0=1,F$="GLMA"+STBL("CID"); GOSUB GENOPEN
1620 IF GUI THEN PRINT (OSGUI.CHAN)'TITLE'(100,""), ELSE PRINT @(2,22),STBL("FTXT"),FILL(70),
1630 REM "exit initialization"
1640 LET P8$="SOENTHDR"
1650 LET WKSDATE=NUM(STBL("JULDATE")),E5=WKSDATE; REM "workstation date"
1660 LET T$="",C8$=STBL("CID"),C9$="",FIN$="",FID$=""
1670 IF E0=1 OR E0=4 THEN IF O2$(6,1)="1" THEN LET AUTO_GENERATE_FLAG=1; REM "GENERATE ORDER #"
1680 IF O2$(18,1)<>"1" AND O2$(2,1)="1" THEN LET SHOWCOST=0 ELSE LET SHOWCOST=1
1681 CALL"SOACCESS.HOOKS",ERR=*NEXT,FILE[ALL],"SC",SPACCESS;IF SPACCESS=0 SHOWCOST=0;REM RRW/RCG SP
1690 DIM TBID$(0),TBTITLE$(0),TBTYPE$(0),T0$(0),T1$(0),T2$(0),A$(0),PROG$(0)
1700 REM *** KITTING INSTALLED? ***
1710 IF KITON=0 THEN GOTO 1800
1720 LET HAVEKIT=0
1730 READ RECORD(FILE[BKMH],KEY="K",KNUM=2,DOM=1740,END=1800)
1740 LET Z$=KEY(FILE[BKMH],END=1800)
1750 IF Z$(1,1)="K" THEN LET HAVEKIT=1
1800 REM 1800 "----- Build CAUTHxxx Amount"
1810 IF BAINST=0 THEN GOTO DONE_AUTH
1820 LET KEY$="CAUTH"+STBL("CID")+FILL(3-LEN(STBL("CID"))),AUTHAMT=0
1830 READ_AUTH: READ RECORD(FILE[30],KEY=KEY$,DOM=NO_AUTH)XXTB$; GOTO FOUND_AUTH
1840 NO_AUTH: IF AUTHREAD=0 THEN LET AUTHREAD=1,KEY$="CAUTH   "; GOTO READ_AUTH ELSE GOTO DONE_AUTH
1850 FOUND_AUTH: LET AUTHAMT=NUM(XXTB.ENT$(1,12))
1860 DONE_AUTH:
1870 RUN "ARVER"
5000 REM 0 - (ARRESTART) 5000-5220
5010 RESTART:
5020 LET PARAM=0,RESTART=0,TERMID$=FID(0)+FILL(4),TERMID$=TERMID$(1,4)
5030 CALL "ARRESTRT.PUB",FILE[15],FILE[12],"",TERMID$,MSG$,PICKS$,PARAM,RESTART
5040 IF RESTART=0 THEN GOTO 5100
5050 LET X9$=MSG$,O7=1; GOSUB GENERROR
5100 RETURN
5110 TEST_ALL:
5120 LET PARAM=1
5130 LET RESTART=0
5140 CALL "ARRESTRT.PUB",FILE[15],FILE[12],"",TERMID$,MSG$,PICKS$,PARAM,RESTART
5150 IF RESTART=0 THEN GOTO 5220
5180 LET X9$=MSG$,X8$="Press Enter to Continue",YDISABLE$="JSDX",RESTART=1
5200 GOSUB GENERROR
5210 IF Y$<>"E" THEN GOTO 5180
5220 RETURN
7500 REM 7500 "----- Display Prompts"
7510 PROMPTS:
7520 IF GUI THEN GOTO GUI_PROMPTS
7530 GOSUB BOX
7540 PRINT 'SB',STBL("FTXT")
7550 PRINT @(3,1),"Sold to:",@(51),"Loc ID",
7560 IF O2$(10,1)="1" THEN PRINT @(60),"Batch ID",
7570 PRINT @(3,2),"Ship to:",@(60),"Order No",
7580 LET IJK$="Item/Job ID"
7590 PRINT @(3,4),IJK$,@(30),"Qty Ordered Units ",@(52),"Unit Price",@(68),"Ext Price",
7600 PRINT @(6,5),"Description",@(30),"Qty Shipped",
7610 PRINT @(59,16),"Entry (    of    )",
7620 PRINT @(7,18),"Subtotal",@(18),"Freight+CC Fee",@(36),"Sales Tax",@(50),"Prepayment",@(70),"Net Due"
7630 RETURN
7900 REM 7900 "----- Display Boxes"
7910 BOX:
7920 PRINT 'BACKGR',STBL("FBKG"),STBL("FBX"),'DEFAULT',
7930 PRINT 'CS','SB','BOX'(0,0,80,24),'GS',
7940 PRINT @(0,3),"6",'BOX'(1,3,78,0),@(79,3),"7",
7950 PRINT @(0,17),"6",'BOX'(1,17,78,0),@(79,17),"7",
7960 PRINT @(0,20),"6",'BOX'(1,20,78,0),@(79,20),"7",
7970 PRINT @(61,17),"9",'BOX'(61,18,0,2),@(61,20),"8",'GE'
7980 PRINT 'SB',STBL("FTTL"),@(INT((77-LEN(TITLE$))/2),0),TITLE$
7990 LET TITLE$=""
8000 RETURN
8300 REM 0 - (GENOPEN) 8300-8345
8305 GENOPEN: REM "08/10/2007 General file OPEN routine"
8310 LET GENOPEN_MSG$="",YSAVE$=YDISABLE$,YDISABLE$="XSJPUD",Y$=""
8315 CALL "GENOPEN.PUB",FILE[ALL],F$,F0,TASK,TPL$,GENOPEN_MSG$,Y$,GENOPEN$
8320 IF Y$="M" THEN GOTO 9990
8330 IF POS("Unavailable"=GENOPEN_MSG$) THEN LET X9$=GENOPEN_MSG$; GOSUB GENERROR; IF GENOPEN.RET$<>"" THEN GOTO GENOPEN_DONE ELSE LET YDISABLE$=YSAVE$,YSAVE$=""; GOTO GENOPEN
8335 IF GENOPEN_MSG$<>"" THEN LET O7=1,X9$=GENOPEN_MSG$; GOSUB GENERROR; GOTO 9990
8340 GENOPEN_DONE:
8345 LET YDISABLE$=YSAVE$,YSAVE$=""; RETURN
8400 REM 0 - (GENERROR) 8400-8452
8401 GENERROR: REM "02/21/89 - GENERAL ERROR ROUTINE"
8405 IF O7=0 AND X9$="" AND X8$="" THEN LET O7=-3
8410 CALL "GENERROR.PUB",X9$,X8$,ERR,TCB(5),O7,Y$,TCB(10),X1$(1),F$(1),PROGID$,FILE[ALL],YDISABLE$,PGM(-2),X$,X4,MX8,MX9,OSGUI$
8420 ON POS(Y$="XMSLR") GOTO 8450,8452,9990,8452,8490,8499
8450 RETURN
8452 LET SPREC=TCB(14); RESET; PRECISION SPREC; SETERR GENERROR
8454 IF Y$="X" THEN GOTO 8470
8456 IF Y$="S" THEN GOTO 8480
8460 REM "8470=BR ON X, 8480=BR ON S, 8490=L "
8470 GOTO QUIT
8480 GOTO QUIT
8490 REM 0 - (GENERROR2) 8490-8499
8491 CALL "GENPSCR.PUB"
8492 LET Y$=""
8495 RETURN
8499 RETRY
9400 REM 0 - (GENPC) 9400-9448
9401 GENPC: REM "04/31/2009 - Read Period Conversion Table"
9410 LET SELECTION=0; GOTO 9440
9420 GENPC1: REM "9500 Section does Conversion - Date to Period"
9427 LET SELECTION=1,DATE$=X$,LOCKFLAG=0,INVALIDYEAR=0; GOTO 9440
9430 GENPC2: REM "This Section does Conversion - Period to Dates"
9435 LET SELECTION=2,PERIOD=X,BEGDATE=-1,ENDDATE=-1,LOCKFLAG=0,INVALIDYEAR=0
9440 CALL "GENPC.PUB",FILE[ALL],SELECTION,DATE$,O9$,BEGDATE,ENDDATE,PERIOD,PPY,YEAR,APP$,LOCKFLAG,INVALIDYEAR,RMPH$,RMPL$,MSG$
9442 IF SELECTION=1 THEN LET X=PERIOD
9444 IF CVS(MSG$,3)<>"" THEN LET X9$=MSG$,MSG$=""; GOSUB GENERROR
9448 RETURN
9990 REM 0 - "----- Return to Menu"
9991 QUIT:
9995 RUN O1$
9999 END
10000 REM 0 - (GENNUM) 10000-10008
10002 DEF FNNUM$(XX,XX1$)
10003 LET XX$=STR(XX:XX1$,ERR=10005); GOTO 10006
10005 LET XX1=LEN(XX1$); IF POS(XX1$(XX1,1)="-)") THEN LET XX1=XX1-1 FI; LET XX$=FILL(XX1,"*"),XX$=XX$+FILL(LEN(XX1$)-LEN(XX$))
10006 RETURN XX$
10008 FNEND
17500 REM 17500 "----- GUI Prompts and Box"
17510 GUI_PROMPTS:
17520 LET OSGUI.SCRNID$="SOENT.BRC",OSGUI.WIND_ID[1]=1,OSGUI.CONTEXT_POINTER=1
17525 CALL "SOENTINI.HOOKS"+"::REPLACE_ARC_1",ERR=*NEXT;REM SP000-SP999 USE ALTERNATE .ARC FILE
17530 GOSUB ASSIGN_COLUMN_HEADINGS; LET MSG$=""; CALL "GENGURES.PUB",FILE[ALL],OSGUI$,MSG$; IF CVS(MSG$,3)<>"" THEN LET X9$=MSG$,O7=1; GOSUB GENERROR; GOTO QUIT
17540 CALL "GENGUFNC.PUB::BUILD_MENU_STRINGS",MENUHLP$,MENU1$
17550 CALL "GENGUFNC.PUB::BUILD_HLE_MENU",MENUHLE$
17560 CALL "GENINFO.PUB::GET_GUI_INFO_MENU",MENUINFO$,O2$
17570 LET INV_MENU$=""; IF O2$(2,1)="1" THEN CALL "GENGUFNC.PUB::BUILD_ITEM_LOOKUP_MENU_STRINGS",INV_MENU$
17580 LET MENU$=MENU1$+MENUHLE$+MENUINFO$+MENUHLP$; PRINT (OSGUI.CHAN)'SETMENU',MENU$
17590 PRINT (OSGUI.CHAN)'SHOW'(0)
17600 GOSUB GUI_BUTTONS
17602 CALL "SOENTINI.HOOKS"+"::EXTRA_GUI_CONTROLS",ERR=*NEXT; REM add extra gui controls for populating later
17610 RETURN
18500 REM 18500,5 "----- Setup Button Keys for HLE's
18505 GUI_BUTTONS:
18510 IF GUI THEN DIM BUTTON_KEYS$[1:8,1:2]; LET BUTTON_KEYS$[1,1]="9000",BUTTON_KEYS$[1,2]=$0D$,BUTTON_KEYS$[2,1]="9010",BUTTON_KEYS$[2,2]="A",BUTTON_KEYS$[3,1]="9020",BUTTON_KEYS$[3,2]="H",BUTTON_KEYS$[4,1]="9030",BUTTON_KEYS$[4,2]="T",BUTTON_KEYS$[5,1]="9040",BUTTON_KEYS$[5,2]="V",BUTTON_KEYS$[6,1]="9050",BUTTON_KEYS$[6,2]="G",BUTTON_KEYS$[7,1]="9060",BUTTON_KEYS$[7,2]="O",BUTTON_KEYS$[8,1]="9070",BUTTON_KEYS$[8,2]="N"
18515 RETURN
19200 REM 19200, 5 "----- Assign column heading Values"
19205 ASSIGN_COLUMN_HEADINGS:
19210 NUMGRIDS=2
19215 LET OSGUI.HEADINGS$[1]="Item/Job ID",OSGUI.HEADINGS$[2]="Qty Ordered",OSGUI.HEADINGS$[3]="Units",OSGUI.HEADINGS$[4]="Unit Price",OSGUI.HEADINGS$[5]="Ext Price",OSGUI.HEADINGS$[6]="     Description",OSGUI.HEADINGS$[7]="Qty Shipped",OSGUI.HEADINGS$[8]=" ",OSGUI.HEADINGS$[9]=" ",OSGUI.HEADINGS$[10]=" "
19220 LET OSGUI.ALIGN[1]=0,OSGUI.ALIGN[2]=1,OSGUI.ALIGN[3]=0,OSGUI.ALIGN[4]=1,OSGUI.ALIGN[5]=1,OSGUI.ALIGN[6]=0,OSGUI.ALIGN[7]=1,OSGUI.ALIGN[8]=0,OSGUI.ALIGN[9]=1,OSGUI.ALIGN[10]=1
19225 LET OSGUI.HEADER_ID[1]=7110,OSGUI.GRID_ID[1]=7010,OSGUI.HEADER_ID[2]=7100,OSGUI.GRID_ID[2]=7000, OSGUI.GRIDS=NUMGRIDS
19230 RETURN