/* MakeDummyData.p 06/21/06 dps */ DEFINE VARIABLE ifname1 AS CHARACTER NO-UNDO. DEFINE VARIABLE ifname2 AS CHARACTER NO-UNDO. DEFINE VARIABLE ifname3 AS CHARACTER NO-UNDO. DEFINE VARIABLE ifname4 AS CHARACTER NO-UNDO. DEFINE VARIABLE ifname5 AS CHARACTER NO-UNDO. DEFINE VARIABLE ifname6 AS CHARACTER NO-UNDO. DEFINE VARIABLE ofname AS CHARACTER NO-UNDO. DEFINE VARIABLE i AS INTEGER. DEFINE VARIABLE ss AS INTEGER INITIAL 100000001 NO-UNDO. DEFINE VARIABLE empstat AS CHARACTER INITIAL "DIS,CUR,DTH,CUR,TRM,CUR" NO-UNDO. DEFINE VARIABLE temp AS CHARACTER NO-UNDO. DEFINE TEMP-TABLE pf LIKE FiPartLoad. DEFINE TEMP-TABLE zips NO-UNDO FIELD state AS CHARACTER FIELD fromzip AS INTEGER FIELD tozip AS INTEGER INDEX KEY state. DEFINE STREAM istrm1. DEFINE STREAM istrm2. DEFINE STREAM istrm3. DEFINE STREAM istrm4. DEFINE STREAM istrm5. DEFINE STREAM istrm6. DEFINE STREAM ostrm. ASSIGN ifname1 = "C:\Documents and Settings\dps\My Documents\LastNames.dat" ifname2 = "C:\Documents and Settings\dps\My Documents\MaleFirstNames.dat" ifname3 = "C:\Documents and Settings\dps\My Documents\FemaleFirstNames.dat" ifname4 = "C:\Documents and Settings\dps\My Documents\Streets.dat" ifname5 = "C:\Documents and Settings\dps\My Documents\Cities.dat" ifname6 = "C:\Documents and Settings\dps\My Documents\StateZips.dat" ofname = "C:\Documents and Settings\dps\My Documents\DummyData.txt". INPUT STREAM istrm1 FROM VALUE(ifname1). INPUT STREAM istrm2 FROM VALUE(ifname2). INPUT STREAM istrm3 FROM VALUE(ifname3). INPUT STREAM istrm4 FROM VALUE(ifname4). INPUT STREAM istrm5 FROM VALUE(ifname5). INPUT STREAM istrm6 FROM VALUE(ifname6). OUTPUT STREAM ostrm TO VALUE(ofname). REPEAT: CREATE zips. IMPORT STREAM istrm6 DELIMITER "," state fromzip tozip. END. DELETE zips. INPUT STREAM istrm6 CLOSE. DO i = 1 TO 20000 ON ENDKEY UNDO, RETRY: CREATE pf. IMPORT STREAM istrm1 pf.LastName ^ ^ ^ NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: i = i - 1. INPUT STREAM istrm1 CLOSE. INPUT STREAM istrm1 FROM VALUE(ifname1). IMPORT STREAM istrm1 pf.LastName ^ ^ ^ NO-ERROR. END. IF i MOD 2 = 1 THEN DO: IMPORT STREAM istrm2 pf.FirstName ^ ^ ^ NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: i = i - 1. INPUT STREAM istrm2 CLOSE. INPUT STREAM istrm2 FROM VALUE(ifname2). IMPORT STREAM istrm2 pf.FirstName ^ ^ ^ NO-ERROR. END. pf.Gender = "M". END. ELSE DO: IMPORT STREAM istrm3 pf.FirstName ^ ^ ^ NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: i = i - 1. INPUT STREAM istrm3 CLOSE. INPUT STREAM istrm3 FROM VALUE(ifname3). IMPORT STREAM istrm3 pf.FirstName ^ ^ ^ NO-ERROR. END. pf.Gender = "F". END. IMPORT STREAM istrm4 UNFORMATTED temp NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: i = i - 1. INPUT STREAM istrm4 CLOSE. INPUT STREAM istrm4 FROM VALUE(ifname4). IMPORT STREAM istrm4 UNFORMATTED temp NO-ERROR. END. pf.Addrss1 = STRING(RANDOM(1,9999)) + " " + temp. IMPORT STREAM istrm5 UNFORMATTED temp NO-ERROR. IF ERROR-STATUS:ERROR THEN DO: i = i - 1. INPUT STREAM istrm5 CLOSE. INPUT STREAM istrm5 FROM VALUE(ifname5). IMPORT STREAM istrm5 UNFORMATTED temp NO-ERROR. END. ASSIGN pf.City = CAPS(ENTRY(1, temp)) pf.State = ENTRY(2, temp). FIND zips WHERE zips.state = pf.state NO-ERROR. ASSIGN pf.Zip5 = STRING(RANDOM(zips.fromzip,zips.tozip), "99999") WHEN AVAILABLE zips pf.DOB = 01/01/1940 + RANDOM(1,14500) pf.DOE = pf.DOB + RANDOM(7300,9300) pf.DOH = pf.DOE pf.SSNumber = STRING(ss, "999999999") pf.PartNumber = pf.SSNumber pf.EffDate = TODAY pf.Country = "USA" pf.EmployStatus = IF (pf.DOH < TODAY - 7320 OR pf.DOB < TODAY - 23735) AND RANDOM(1,100) > 80 THEN "RET" ELSE ENTRY(RANDOM(1,6), empstat) pf.TerminationDate = IF pf.EmployStatus = "RET" AND pf.DOH + 7310 < TODAY THEN pf.DOH + 7310 ELSE IF CAN-DO("DIS,DTH,TRM", pf.EmployStatus) THEN pf.DOH + RANDOM(100,TODAY - pf.DOH) ELSE ? pf.ProgName = "PartLoad.p" pf.CreatedBy = "PartLoad.p" pf.LoadType = "PartLoad" pf.CreatedDate = TODAY pf.CreatedTime = TIME ss = ss + 1 NO-ERROR. EXPORT STREAM ostrm pf. DELETE pf. END. /* do i */ OUTPUT STREAM ostrm CLOSE. /* end of program */