home *** CD-ROM | disk | FTP | other *** search
/ NetNews Usenet Archive 1992 #27 / NN_1992_27.iso / spool / comp / dcom / telecom / 12028 < prev    next >
Encoding:
Internet Message Format  |  1992-11-17  |  7.2 KB

  1. Path: sparky!uunet!caen!zaphod.mps.ohio-state.edu!news.acns.nwu.edu!telecom-request
  2. Date: Tue, 17 Nov 1992  20:43:04 EST
  3. From: FZC@CU.NIH.GOV
  4. Newsgroups: comp.dcom.telecom
  5. Subject: DBASE Program to Convert Area Codes
  6. Reply-To: TDARCOS@MCIMAIL.COM
  7. Message-ID: <telecom12.859.6@eecs.nwu.edu>
  8. Organization: TELECOM Digest
  9. Sender: Telecom@eecs.nwu.edu
  10. Approved: Telecom@eecs.nwu.edu
  11. X-Submissions-To: telecom@eecs.nwu.edu
  12. X-Administrivia-To: telecom-request@eecs.nwu.edu
  13. X-Telecom-Digest: Volume 12, Issue 859, Message 6 of 7
  14. Lines: 198
  15.  
  16. There are a lot of places using DBASE or its clones to handle database
  17. work, so I thought I'd include the program I use to convert our
  18. organization's database whenever an area code splits.  It's generic
  19. enough that I can run it against our database and update all changed
  20. records.  I thought other people might be able to use it.
  21.  
  22.  
  23. Paul Robinson
  24.  
  25.  
  26. The following is a procedure in DBASE that I wrote to convert
  27. telephone numbers from one area code to another.  Some people on the
  28. list may be able to use it, so here it is.  This was created for a
  29. government agency so it is in the public domain.
  30.  
  31.  
  32.      --- File CONVPHN.DBF --- Cut here ---
  33.  
  34. * DBASE III PROGRAM TO CONVERT TELEPHONE NUMBERS
  35. * WHICH ARE CONVERTED FROM AN OLD AREA CODE NUMBER TO THE
  36. * NEW ONE.  ALSO CHECKS THAT STATES LISTED FOR SPECIFIC
  37. * ADDRESSES ARE VALID. INACCURATE NUMBERS ARE NOT CHANGED.
  38. *
  39. * REQUIRES THE PRE-CREATED "PHONETAB" DATABASE FILE WHICH
  40. * CONTAINS ALL THE PREFIXES WHICH ARE CHANGING.  THIS IS
  41. * A DBASE FILE CONSISTING OF THE OLD AREA CODE AND PREFIX
  42. * AND THE NEW AREA CODE AND PREFIX REPLACING IT.  THE PREFIX
  43. * MAY BE THE SAME OR IT MAY BE DIFFERENT.
  44. *
  45. * BASED ON ORIGINAL PROGRAM BY PAUL W. ROBINSON, 8/9/90, 9/11/90
  46. * WHICH CHANGED NUMBERS IN THE NATIONAL CAPITAL AREA AND IGNORED
  47. * NON 703 VIRGINIA NUMBERS
  48. *
  49. * THE NEED FOR THIS PROGRAM OCCURRED WHEN AT&T ANNOUNCED AN
  50. * IMMEDIATE CHANGE TO CERTAIN TEXAS AND NEW JERSEY AREA CODES,
  51. * AND THUS PHONE NUMBERS IN SOME EXCHANGES NEEDED TO BE CHANGED
  52. * THIS WILL ALSO BE OF USE WHEN THE NEW 410 AREA CODE COMES INTO
  53. * EFFECT IN MARYLAND.
  54. *
  55. * THIS REQUIRES YOU MAKE A DATA BASE LISTING THE OLD NUMBERS BY
  56. * OLD AREA CODE AND PREFIX, AND THE NEW NUMBERS REPLACING THOSE BY
  57. * AREA CODE AND PREFIX.  THIS CAN BE DONE WITH A SIMPLE TEXT
  58. * FILE MERGED INTO A DATA BASE USING THE IMPORT FUNCTION.
  59. * THIS FILE MUST BE CALLED 'PHONETAB', IT CARRIES 3 FIELDS:
  60. * 'OLD', 'AC', 'PFX'  AND MUST BE INDEXED ON 'OLD'
  61. * TO FILE 'AC'.
  62. *
  63. * IT IS ASSUMED THE FILE TO BE EDITED 'HOME' IS INDEXED USING
  64. * 'NAME', AND CONTAINS THE FIELD OF 'STATE' AND 'PHONE' WHERE
  65. * PHONE CONTAINS 12 DIGITS NPA-NXX-XXXX IF THE NUMBER IS OUT
  66. * OF THE AREA CODE.
  67. *
  68. * PAUL W ROBINSON  E-Mail: TDARCOS@MCIMAIL.COM   6-MAY-1991
  69. * This program is in the Public Domain.
  70. *
  71.  
  72. CLEAR
  73. STORE .F. TO DEBUG
  74. SET TALK OFF
  75. SET ECHO OFF
  76.  
  77. SET PRINT OFF
  78. STORE         '$MDDCVATNALAKAZARCACOCTDEFLGAHIIDILINIAKS'   TO STATES
  79. STORE  STATES+'KYLAMEMAMIMNMSMOMTNENVNHNJNMNYNCNDOHOKOR' TO STATES
  80. STORE  STATES+'PARISCSDTXUTVTWAWVWIWYCZ' TO STATES
  81. * NOTE: TENNESSEE (TN) MUST APPEAR EARLY BECAUSE OTHERWISE IT
  82. *       WILL BE ERRONEOUSLY FOUND BETWEEN MONTANA (MT)
  83. *       AND NEBRASKA (NE)
  84.  
  85. * ADD OUR OWN ABBREVIATIONS FOR SPECIAL CASES
  86. STORE  STATES+'**Z1Z2Z3Z4Z5Z6Z7Z8Z9' TO STATES
  87.  
  88. SELECT 3
  89. USE PHONETAB INDEX AC
  90. GO TOP
  91. SELECT 2
  92. USE HOME INDEX  NAME, XPHONE
  93. GO TOP
  94. DO WHILE .NOT. EOF()
  95.  
  96. * CHECK THAT THE STATE NAME IS OKAY.
  97.  
  98.     STORE TRIM(STATE)      TO S
  99.     STORE TRIM(HOME_PHONE) TO P
  100.     STORE '   '            TO NPA
  101.     STORE '   '            TO NXX
  102.     STORE '    '           TO XXXX
  103.     STORE '      '         TO L
  104.     I = AT(S,STATES)/2
  105.     IF I<>INT(I) .OR. I<1
  106.       IF .NOT. DEBUG
  107.          SET PRINT ON
  108.       ENDIF
  109.       ? '***BAD STATE NAME:'
  110.       DISPLAY
  111.       SET PRINT OFF
  112.     ELSE
  113. * STATE NAME IS OKAY, CHECK AREA CODE
  114.      IF LEN(P)=12
  115.        STORE LEFT(P,3) TO NPA
  116.        STORE SUBSTR(P,5,3) TO NXX
  117.        STORE RIGHT(P,4) TO XXXX
  118.        STORE NPA+NXX TO L
  119.        SELECT 3
  120.        GO TOP
  121.        FIND &L
  122.        IF .NOT. EOF()
  123.           STORE STR(AC,3)  TO NPA
  124.           STORE STR(PFX,3) TO NXX
  125.           STORE NPA+'-'+NXX+'-'+XXXX TO P
  126.           SELECT 2
  127.           IF .NOT. DEBUG
  128.              SET PRINT ON
  129.           ENDIF
  130.           ?  '  CHANGING RECORD '
  131.           DISPLAY
  132.           REPLACE HOME_PHONE WITH P
  133.           ?  '  TO '
  134.           DISPLAY
  135.           SET PRINT OFF
  136.        ENDIF
  137.      ENDIF
  138.    ENDIF
  139.    SET ECHO OFF
  140.    SET TALK OFF
  141.    SELECT 2
  142.    SKIP
  143. ENDDO
  144. CLOSE ALL
  145.  
  146.    --- Cut here
  147.  
  148. The following shows the format of the DBF file PHONETAB.  After
  149. creating this file, you will need to do "INDEX ON OLD TO AC" in order
  150. to index this file to make the above procedure work.
  151.  
  152.  . display structure
  153. Structure for database: C:phonetab.dbf
  154. Number of data records:     376
  155. Date of last update   : 11/16/92
  156. Field  Field Name  Type       Width    Dec
  157.     1  OLD         Numeric        6
  158.     2  AC          Numeric        3
  159.     3  PFX         Numeric        3
  160. ** Total **                      13
  161.  
  162. Now the first three and last three records of the PHONETAB.DBF file.
  163.  
  164.     OLD  AC PFX
  165.  301205 410 205
  166.  301208 410 208
  167.  301221 410 221
  168.  
  169.  - Circa 370 records deleted
  170.  
  171.  301996 410 996
  172.  301997 410 997
  173.  301998 410 998
  174.  301999 410 999
  175.  
  176. The following is the complete set of codes which have changed
  177. from Area Code 301 to 410.
  178.  
  179. List of Prefixes changed from 301-xxx to 410-xxx
  180.  
  181.   205  208  221  222  224  225  226  228  232  233  234  235  237  239
  182.   242  243  244  247  250  252  254  255  256  257  260  263  265  266
  183.   267  268  269  272  273  275  276  278  280  281  282  284  285  287
  184.   288  289  290  291  296  298  307  312  313  316  319  321  323  325
  185.   326  327  328  329  332  333  335  337  338  339  342  343  346  347
  186.   348  351  352  354  355  356  357  358  360  361  362  363  364  366
  187.   367  368  370  374  376  377  378  379  381  382  383  385  388  389
  188.   391  392  393  396  397  398  425  426  429  430  433  435  437  438
  189.   440  442  444  446  448  450  451  452  455  456  457  458  461  462
  190.   465  466  467  471  472  476  477  479  482  483  484  485  486  488
  191.   489  494  515  521  522  523  524  525  526  527  528  529  531  532
  192.   533  534  535  536  537  538  539  541  542  543  544  546  547  548
  193.   549  550  551  553  554  556  557  558  560  561  562  563  566  569
  194.   573  574  575  576  578  581  583  584  586  591  592  594  597  602
  195.   605  612  613  623  624  625  626  628  631  632  633  634  635  636
  196.   637  638  639  641  642  643  644  646  647  648  651  653  655  658
  197.   659  661  664  665  666  667  668  669  671  672  673  674  675  676
  198.   677  679  682  683  684  685  686  687  691  692  693  712  719  720
  199.   721  723  726  727  728  730  732  734  740  741  742  744  745  747
  200.   748  749  750  751  752  754  755  756  757  758  760  761  764  765
  201.   766  768  771  775  778  780  781  783  784  785  787  788  789  792
  202.   793  795  796  798  799  808  820  821  822  823  825  827  828  830
  203.   832  833  835  836  837  838  841  848  849  850  857  859  860  861
  204.   866  867  873  875  876  877  879  880  882  883  885  886  887  889
  205.   892  893  896  906  920  922  923  928  931  938  939  941  943  944
  206.   945  947  955  956  957  960  962  964  965  966  968  969  971  974
  207.   978  979  987  988  991  992  993  995  996  997  998  999
  208.  
  209.  
  210. Paul Robinson -- TDARCOS@MCIMAIL.COM
  211. #INCLUDE <Standard\disclaimers.h>
  212.  
  213.