Listing: 1 IMPLEMENTATION MODULE SalesReps; 2 (* 3 * ModBase 4 * Release 3.0 5 * (c) Copyright 1986 - 1991 PMI 6 * P.O. Box 8402 7 * Green Bay Wi 53308 8 * All Rights Reserved 9 * by Ed Ross 10 *) 11 12 FROM DBFInvoice IMPORT OpenInvoiceDBF,CloseInvoiceDBF,MoveInvoiceFromDBF, 13 InvoiceRec,InvoiceDBF; 14 FROM GenLists IMPORT NewList,GenList,ListLength,ListInsert,GetElmt, 15 DisposeList,GetElmtAdr,ListDelete,ListInsertAdr,SortList; 16 FROM ListUtils IMPORT TextFileToList,TextListToFile; 17 FROM StrConv IMPORT RealToStr,CardinalToStr; 18 FROM StrEdit IMPORT CAPstr,DeleteRightJustified, 19 CrunchBlanks,Center,Append; 20 FROM Customer IMPORT GetCustName,GetCustSalesRepCom,GetCustSalesRep; 21 FROM DBFCustomer IMPORT OpenCustomerDBF,FindCustomerByCin,CustomerRec, 22 MoveCustomerFromDBF; 23 FROM DBFInvoice IMPORT OpenInvoiceDBF; ***** ^ duplicate identifier ***** ^ duplicate identifier 24 FROM PMIGlobals IMPORT Config,PMIScreens,Today,TodayStr; 25 FROM DspFiles IMPORT OpenDisplayFile; 26 FROM DBUtils IMPORT GetDateRange; 27 FROM DBStuff IMPORT MakeKey; 28 FROM HandleIO IMPORT OpenFile,FileExists,CloseHandle; 29 FROM PrinterUtils IMPORT SetupDisplayLine,DisplayLine,RemoveDisplayLine, 30 AddPrintElemt,PrintDisplayLine,ClearDisplayLine; 31 FROM PosUtils IMPORT Equal; 32 FROM DateFunctions IMPORT Date,DateToStr,CompareDates,Comparison; 33 FROM ModBase3 IMPORT ReadDBRec,Deleted,NumberRecords; 34 FROM StringIO IMPORT WriteStr,WriteEol,PrintMessage; 35 FROM SYSTEM IMPORT ADDRESS,ADR; 36 FROM NumTypes IMPORT Real8; 37 FROM ScrnUtl2 IMPORT CloseDisplayFrame,GetEdField; 38 FROM VWindows IMPORT ClearPart, CurrentWindow, SetCursorHeight; 39 FROM ScrnTypes IMPORT DisplayFrame,InitDisplayFrame,AFrameName,DisplayFile; 40 FROM FramePainter IMPORT ShowDisplayFrame,RedrawField; 41 FROM ControlUtils IMPORT Control,AddEditorField; 42 FROM VEditor IMPORT AnEdControlRec,InitEdRec; 43 FROM LowLevel IMPORT Fill; 44 FROM M2Strings IMPORT CompareStr,Length,Assign; 45 VAR 46 MainList : GenList; 47 SalesRepList : GenList; 48 PrtHand : CARDINAL; 49 Environ : ARRAY[0..60] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 50 51 PROCEDURE SortBySalesRep(Inv1 : ADDRESS; Size1 : CARDINAL; 52 Inv2 : ADDRESS; Size2 : CARDINAL): INTEGER; 53 (* sort list of invoices by sales rep, by customer, by invdate*) 54 VAR 55 I1,I2 : POINTER TO InvoiceRec; ***** ^ not supported yet 56 Comp : Comparison; 57 BEGIN 58 I1 := Inv1; ***** ^ not supported yet ***** ^ not supported yet 59 I2 := Inv2; ***** ^ not supported yet ***** ^ not supported yet 60 RETURN CompareStr(I1^.SALESMAN,I2^.SALESMAN); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 61 END SortBySalesRep; ***** ^ not supported yet 62 63 PROCEDURE SortByInvNbr(Inv1 : ADDRESS; Size1 : CARDINAL; 64 Inv2 : ADDRESS; Size2 : CARDINAL): INTEGER; 65 (* sort list of invoices by sales rep, by customer, by invdate*) 66 VAR 67 I1,I2 : POINTER TO InvoiceRec; ***** ^ not supported yet 68 Comp : Comparison; 69 BEGIN 70 I1 := Inv1; ***** ^ not supported yet ***** ^ not supported yet 71 I2 := Inv2; ***** ^ not supported yet ***** ^ not supported yet 72 RETURN CompareStr(I1^.INVOICE,I2^.INVOICE); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 73 END SortByInvNbr; ***** ^ not supported yet 74 75 76 PROCEDURE SortByCustNbr(Inv1 : ADDRESS; Size1 : CARDINAL; 77 Inv2 : ADDRESS; Size2 : CARDINAL): INTEGER; 78 (* sort list of invoices by sales rep, by customer, by invdate*) 79 VAR 80 I1,I2 : POINTER TO InvoiceRec; ***** ^ not supported yet 81 Comp : Comparison; 82 BEGIN 83 I1 := Inv1; ***** ^ not supported yet ***** ^ not supported yet 84 I2 := Inv2; ***** ^ not supported yet ***** ^ not supported yet 85 RETURN CompareStr(I1^.CUSTID,I2^.CUSTID); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 86 END SortByCustNbr; ***** ^ not supported yet 87 88 89 PROCEDURE GetMainList(); 90 (* read through the invoices and get those that are closed and within the 91 specified date range*) 92 VAR 93 BeginDate,EndDate : Date; 94 Invoice : InvoiceRec; 95 L,NumOfRecs : LONGINT; 96 97 BEGIN 98 BeginDate := Today; ***** ^ not supported yet ***** ^ not supported yet 99 BeginDate.day := 1; ***** ^ not supported yet ***** ^ not supported yet 100 EndDate := Today; ***** ^ not supported yet ***** ^ not supported yet 101 GetDateRange(BeginDate,EndDate,PMIScreens); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 102 OpenInvoiceDBF(FALSE); ***** ^ not supported yet ***** ^ not supported yet 103 NewList(MainList); ***** ^ not supported yet ***** ^ not supported yet 104 NumOfRecs := NumberRecords(InvoiceDBF); ***** ^ not supported yet ***** ^ not supported yet 105 FOR L := 1 TO NumOfRecs DO 106 ReadDBRec(InvoiceDBF,L); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 107 IF NOT Deleted(InvoiceDBF) ***** ^ not supported yet ***** ^ not supported yet 108 THEN 109 MoveInvoiceFromDBF(Invoice); ***** ^ not supported yet ***** ^ not supported yet 110 CrunchBlanks(Invoice.SALESMAN); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 111 IF Length(Invoice.SALESMAN) > 1 (* only grab the ones with salesrep*) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 112 THEN 113 IF (CompareDates(Invoice.INVDATE,BeginDate) = DateGreater) AND ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier 114 (CompareDates(Invoice.INVDATE,EndDate) = DateLess) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier 115 THEN 116 ListInsert(Invoice,2,MainList,1); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 117 END; 118 END; 119 END; (* if deleted *) 120 END; (* end of loop *) 121 SortList(MainList,SortBySalesRep); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 122 END GetMainList; ***** ^ not supported yet 123 124 125 PROCEDURE MakeSubList(SalesRep: ARRAY OF CHAR); ***** ^ not supported yet 126 (* Return a list of invoices for this sales rep - 127 make the list from main list *) 128 129 VAR 130 N : CARDINAL; 131 Inv : POINTER TO InvoiceRec; ***** ^ not supported yet 132 Size,Code : CARDINAL; 133 SalesMan : ARRAY[0..10] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 134 Cust : CustomerRec; 135 BEGIN 136 NewList(SalesRepList); ***** ^ not supported yet ***** ^ not supported yet 137 MakeKey(SalesRep); ***** ^ not supported yet ***** ^ not supported yet 138 FOR N := 1 TO ListLength(MainList) DO ***** ^ not supported yet ***** ^ not supported yet 139 GetElmtAdr(MainList,N,Inv,Size,Code); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 140 MakeKey(Inv^.SALESMAN); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 141 MakeKey(Inv^.INVOICE); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 142 IF Equal(SalesRep,Inv^.SALESMAN) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 143 THEN 144 ListInsert(Inv^,2,SalesRepList,1); (* insert in sublist*) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 145 END; 146 END; (* end for *) 147 SortList(SalesRepList,SortByInvNbr); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 148 END MakeSubList; ***** ^ not supported yet 149 150 151 152 153 154 PROCEDURE PrintHeader(SalesRep : ARRAY OF CHAR; Page : CARDINAL); ***** ^ not supported yet 155 VAR 156 Line : ARRAY[0..80] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 157 Str: ARRAY[0..10] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 158 BEGIN 159 WriteStr(PrtHand,12C); ***** ^ not supported yet ***** ^ not supported yet 160 Line := 'Sales Commission Report'; ***** ^ not supported yet ***** ^ not supported yet 161 Center(Line,80); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 162 WriteEol(PrtHand,Line); ***** ^ not supported yet ***** ^ not supported yet 163 Assign( SalesRep,Line ); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 164 Center(Line,80); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 165 WriteEol(PrtHand,Line); ***** ^ not supported yet ***** ^ not supported yet 166 Assign( TodayStr,Line); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 167 Append(Line,' Page '); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 168 CardinalToStr(Page,4,Str); ***** ^ not supported yet ***** ^ not supported yet 169 Append(Line,Str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 170 Center(Line,80); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 171 WriteEol(PrtHand,Line); ***** ^ not supported yet ***** ^ not supported yet 172 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 173 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 174 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 175 WriteEol(PrtHand, ***** ^ not supported yet 176 ' Cust Invoice Date Net Com % Commission'); ***** ^ not supported yet 177 WriteEol(PrtHand, ***** ^ not supported yet 178 '----------------------------------------------------------------'); ***** ^ not supported yet 179 180 181 182 END PrintHeader; ***** ^ not supported yet 183 184 PROCEDURE ReportSalesRep(SalesRep: ARRAY OF CHAR); ***** ^ not supported yet 185 VAR 186 CurrentCustNbr : ARRAY[0..15] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 187 CurrentCustName , 188 LastCust : ARRAY[0..60] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 189 Inv : POINTER TO InvoiceRec; ***** ^ not supported yet 190 J, Size,Code : CARDINAL; 191 CommPerCent : Real8; 192 CustomerTotal : Real8; 193 RepTotal : Real8; 194 LineNbr : CARDINAL; 195 Line : DisplayLine; 196 Page : CARDINAL; 197 B : BOOLEAN; 198 Commision : Real8; 199 Str : ARRAY[0..10] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 200 BEGIN 201 (* * * * * * * print output should look like this * * * * *** * * * 202 123456789012345678901234567890123456789012345678901234567890123456789012345 203 1 2 3 4 5 6 7 204 Customer Name Number Commission Rate xx.xx% 205 Cust Nbr Invoice Date Net Amount Comm % Commission 206 xxxxxxxxx xxxxxxxxxx xx-xx-xx xxxxxxx.xx xx.xx xxxxxx.xx 207 *) 208 209 MakeSubList(SalesRep); (* a list of all invoices sorted by client id*) ***** ^ not supported yet ***** ^ not supported yet 210 IF ListLength(SalesRepList) = 0 ***** ^ not supported yet ***** ^ not supported yet 211 THEN DisposeList(SalesRepList); ***** ^ not supported yet ***** ^ not supported yet 212 RETURN; 213 END; 214 GetElmtAdr(SalesRepList,1,Inv,Size,Code); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 215 RepTotal := 0.0; ***** ^ not supported yet 216 Page := 1; 217 LineNbr := 0; 218 PrintHeader(SalesRep,Page); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 219 CustomerTotal := 0.0; ***** ^ not supported yet 220 RepTotal := 0.0; ***** ^ not supported yet 221 SetupDisplayLine(Line,90); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 222 FOR J := 1 TO ListLength(SalesRepList) DO ***** ^ not supported yet ***** ^ not supported yet 223 INC(LineNbr); ***** ^ undeclared identifier ***** ^ not supported yet 224 IF LineNbr > 50 225 THEN 226 LineNbr := 1; 227 INC(Page); ***** ^ undeclared identifier ***** ^ not supported yet 228 PrintHeader(SalesRep,Page); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 229 END; 230 231 GetElmtAdr(SalesRepList,J,Inv,Size,Code); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 232 AddPrintElemt(Line,Inv^.CUSTID,'S',2,8,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 233 AddPrintElemt(Line,Inv^.INVOICE,'S',10,8,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 234 AddPrintElemt(Line,Inv^.INVDATE,'D',20,8,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 235 AddPrintElemt(Line,Inv^.INVNET,'R',30,10,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 236 GetCustName(Inv^.CUSTID,CurrentCustName); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 237 GetCustSalesRepCom(CommPerCent); ***** ^ not supported yet ***** ^ not supported yet 238 CommPerCent := CommPerCent / 100.0; ***** ^ not supported yet ***** ^ not supported yet 239 AddPrintElemt(Line,CommPerCent,'%',45,5,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 240 AddPrintElemt(Line,CommPerCent * Inv^.INVNET,'R',60,10,'L'); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 241 PrintDisplayLine(Line,PrtHand); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 242 ClearDisplayLine(Line); ***** ^ not supported yet ***** ^ not supported yet 243 RepTotal := RepTotal + (CommPerCent * Inv^.INVNET); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 244 END; (* end of sales rep invoice list *) 245 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 246 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 247 WriteStr(PrtHand,'Total commission for Sales Rep '); ***** ^ not supported yet ***** ^ not supported yet 248 WriteStr(PrtHand,SalesRep); ***** ^ not supported yet ***** ^ not supported yet 249 WriteStr(PrtHand,': $'); ***** ^ not supported yet ***** ^ not supported yet 250 RealToStr(RepTotal,2,10,Str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 251 WriteEol(PrtHand, Str); ***** ^ not supported yet ***** ^ not supported yet 252 253 254 (* write a list of the customers for the sales rep *) 255 SortList(SalesRepList,SortByCustNbr); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 256 WriteStr(PrtHand,12C); ***** ^ not supported yet ***** ^ not supported yet 257 WriteStr(PrtHand,' Customers for '); ***** ^ not supported yet ***** ^ not supported yet 258 WriteStr(PrtHand,SalesRep); ***** ^ not supported yet ***** ^ not supported yet 259 WriteEol(PrtHand,''); ***** ^ not supported yet ***** ^ not supported yet 260 LineNbr := 1; 261 LastCust := ''; ***** ^ not supported yet ***** ^ incompatible assignment 262 FOR J := 1 TO ListLength(SalesRepList) DO ***** ^ not supported yet ***** ^ not supported yet 263 GetElmtAdr(SalesRepList,J,Inv,Size,Code); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 264 GetCustName(Inv^.CUSTID,CurrentCustName); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 265 IF NOT Equal(LastCust,CurrentCustName) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 266 THEN 267 268 WriteStr(PrtHand,Inv^.CUSTID); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 269 WriteStr(PrtHand,' '); ***** ^ not supported yet ***** ^ not supported yet 270 WriteEol(PrtHand,CurrentCustName); ***** ^ not supported yet ***** ^ not supported yet 271 LastCust := CurrentCustName; ***** ^ not supported yet ***** ^ not supported yet 272 END; 273 END; 274 RemoveDisplayLine(Line); ***** ^ not supported yet ***** ^ not supported yet 275 276 END ReportSalesRep; ***** ^ not supported yet 277 278 PROCEDURE ParseName(VAR Name : ARRAY OF CHAR; Str: ARRAY OF CHAR); ***** ^ not supported yet ***** ^ not supported yet 279 VAR 280 J : CARDINAL; 281 BEGIN 282 Fill(ADR(Name),SIZE(Name),0); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ undeclared identifier ***** ^ not supported yet ***** ^ not supported yet 283 J := 0; 284 LOOP 285 IF J > Length(Str) ***** ^ not supported yet ***** ^ not supported yet 286 THEN EXIT; 287 END; 288 IF J > SIZE(Name) ***** ^ undeclared identifier ***** ^ not supported yet 289 THEN EXIT; 290 END; 291 IF Str[J] = ' ' ***** ^ not supported yet ***** ^ not supported yet 292 THEN EXIT; 293 END; 294 Name[J] := Str[J]; ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 295 INC(J); ***** ^ undeclared identifier ***** ^ not supported yet 296 END; (* end loop *) 297 CAPstr(Name); ***** ^ not supported yet ***** ^ not supported yet 298 END ParseName; ***** ^ not supported yet 299 300 PROCEDURE GetSalesReps(); 301 (* read a list of the sales reps into the linked sales rep list *) 302 VAR J : CARDINAL; 303 Code : CARDINAL; 304 L : LONGINT; 305 TheList : GenList; 306 Str : ARRAY[0..80] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 307 SalesRep : ARRAY[0..15] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 308 EM : CARDINAL; 309 BEGIN 310 311 EM := OpenFile(PrtHand,Config.ReportPrt); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 312 SalesRep := 'SalesRep.txt'; (* temp till file open *) ***** ^ not supported yet ***** ^ not supported yet 313 NewList(TheList); ***** ^ not supported yet ***** ^ not supported yet 314 EM := TextFileToList(SalesRep,TheList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 315 GetMainList(); ***** ^ not supported yet ***** ^ not supported yet 316 FOR J := 1 TO ListLength(TheList) DO ***** ^ not supported yet ***** ^ not supported yet 317 GetElmt(TheList,J,Str,Code); (* get the string*) ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 318 ParseName(SalesRep,Str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 319 ReportSalesRep(SalesRep); ***** ^ not supported yet ***** ^ not supported yet 320 END; 321 DisposeList(TheList); ***** ^ not supported yet ***** ^ not supported yet 322 EM := CloseHandle(PrtHand); ***** ^ not supported yet ***** ^ not supported yet 323 END GetSalesReps; ***** ^ not supported yet 324 325 326 PROCEDURE CreateEditSalesReps(); 327 (* sales reps are stored in a simple text file, one sales rep per line 328 Any information after the reps invoice name is kept but ignored 329 in the processing *) 330 VAR 331 TheList : GenList; 332 DF : DisplayFrame; 333 FileHandle : CARDINAL; 334 EditorRec : AnEdControlRec; 335 Str : ARRAY[0..15] OF CHAR; ***** ^ not supported yet ***** ^ not supported yet 336 EM : CARDINAL; 337 BEGIN 338 NewList(TheList); ***** ^ not supported yet ***** ^ not supported yet 339 Str := 'SalesRep.Txt'; ***** ^ not supported yet ***** ^ not supported yet 340 IF FileExists(Str) ***** ^ not supported yet ***** ^ not supported yet 341 THEN 342 EM := TextFileToList(Str,TheList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 343 END; 344 InitEdRec(EditorRec); ***** ^ not supported yet ***** ^ not supported yet 345 InitDisplayFrame(DF,CurrentWindow); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 346 AddEditorField(DF,TheList,EditorRec); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 347 Control(DF); ***** ^ not supported yet ***** ^ not supported yet 348 GetEdField(DF,'',TheList); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 349 EM := TextListToFile(TheList,Str); ***** ^ not supported yet ***** ^ not supported yet ***** ^ not supported yet 350 351 END CreateEditSalesReps; ***** ^ not supported yet 352 PROCEDURE ProduceCommissions(); 353 BEGIN 354 355 OpenCustomerDBF(TRUE); ***** ^ not supported yet ***** ^ not supported yet 356 GetSalesReps(); ***** ^ not supported yet ***** ^ not supported yet 357 END ProduceCommissions; ***** ^ not supported yet 358 END SalesReps. ***** ^ not supported yet 396 errors