|
[x]
Posted via EE Mobile
|
||
Search, ask, and monitor your questions on the go with EE Mobile. Visit Experts Exchange from your mobile device and never be out of touch again. |
||
| 03/27/2009 at 09:52PM PDT, ID: 24273253 |
|
[x]
Attachment Details
|
||
|
[x]
The Solution Rating System
|
||
With so many solutions, how can you tell which solutions are most likely to help you and which ones are not? To provide you with a tool to use, we rate our solutions based on various elements that most accurately determine if a solution is a quality solution. To explain what factors affect the solution rating, here are the elements we take into consideration when formulating our solution rating.
Your Input Matters If you have any suggestions that you would like to make for our rating system, please ask a question in the Suggestions Zone of Community Support. Thank you! |
||
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 96: 97: 98: 99: 100: 101: 102: 103: 104: 105: 106: 107: 108: 109: 110: 111: 112: 113: 114: 115: 116: 117: 118: 119: 120: 121: 122: 123: 124: 125: 126: 127: 128: 129: 130: 131: 132: 133: 134: 135: 136: 137: 138: 139: 140: 141: 142: 143: 144: 145: 146: 147: 148: 149: 150: 151: 152: 153: 154: 155: 156: 157: 158: 159: 160: 161: 162: 163: 164: 165: 166: 167: 168: 169: 170: 171: 172: 173: 174: 175: 176: 177: 178: 179: 180: 181: 182: 183: 184: 185: 186: 187: 188: 189: 190: 191: 192: 193: 194: 195: 196: 197: 198: 199: 200: 201: 202: 203: 204: 205: 206: 207: 208: 209: 210: 211: 212: 213: 214: 215: 216: 217: 218: 219: 220: 221: 222: 223: 224: 225: 226: 227: 228: 229: 230: 231: 232: 233: 234: 235: 236: 237: 238: 239: 240: 241: 242: 243: 244: 245: 246: 247: 248: 249: 250: 251: 252: 253: 254: 255: 256: 257: 258: 259: 260: 261: 262: 263: 264: 265: 266: 267: 268: 269: 270: 271: 272: 273: 274: 275: 276: 277: 278: 279: 280: 281: 282: 283: 284: 285: 286: 287: 288: 289: 290: 291: 292: 293: 294: 295: 296: 297: 298: 299: 300: 301: 302: 303: 304: 305: 306: 307: 308: 309: 310: 311: 312: 313: 314: 315: 316: 317: 318: 319: 320: 321: 322: 323: 324: 325: 326: 327: 328: 329: 330: 331: 332: 333: 334: 335: 336: 337: 338: 339: 340: 341: 342: 343: 344: 345: 346: 347: 348: 349: 350: 351: 352: 353: 354: 355: 356: 357: 358: 359: 360: 361: 362: 363: 364: 365: 366: 367: 368: 369: 370: 371: 372: 373: 374: 375: 376: 377: 378: 379: 380: 381: 382: 383: 384: 385: 386: 387: 388: 389: 390: 391: 392: 393: 394: 395: 396: 397: 398: 399: 400: 401: 402: 403: 404: 405: 406: 407: 408: 409: 410: 411: 412: 413: 414: 415: 416: 417: 418: 419: 420: 421: 422: 423: 424: 425: |
IDENTIFICATION DIVISION.
PROGRAM-ID. VNDBLD01.
*------------------------------------------------
* Create an Empty Vendor File.
*------------------------------------------------
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VENDOR-FILE
ASSIGN TO "vendor"
ORGANIZATION IS INDEXED
RECORD KEY IS VENDOR-NUMBER
ACCESS MODE IS DYNAMIC.
DATA DIVISION.
FILE SECTION.
FD VENDOR-FILE
LABEL RECORDS ARE STANDARD.
01 VENDOR-RECORD.
05 VENDOR-NUMBER PIC 9(5).
05 VENDOR-NAME PIC X(30).
05 VENDOR-ADDRESS-1 PIC X(30).
05 VENDOR-ADDRESS-2 PIC X(30).
05 VENDOR-CITY PIC X(20).
05 VENDOR-STATE PIC X(2).
05 VENDOR-ZIP PIC X(10).
05 VENDOR-CONTACT PIC X(30).
05 VENDOR-PHONE PIC X(15).
WORKING-STORAGE SECTION.
PROCEDURE DIVISION.
PROGRAM-BEGIN.
OPEN OUTPUT VENDOR-FILE.
CLOSE VENDOR-FILE.
PROGRAM-DONE.
STOP RUN.
-----------------------------------------
IDENTIFICATION DIVISION.
PROGRAM-ID. VNDMNT01.
*---------------------------------
* Add, Change, Inquire and Delete
* for the Vendor File.
*---------------------------------
ENVIRONMENT DIVISION.
INPUT-OUTPUT SECTION.
FILE-CONTROL.
SELECT VENDOR-FILE ASSIGN TO "vendor"
ORGANIZATION IS INDEXED
RECORD KEY IS VENDOR-NUMBER
ACCESS MODE IS DYNAMIC.
DATA DIVISION.
FILE SECTION.
FD VENDOR-FILE
LABEL RECORDS ARE STANDARD.
01 VENDOR-RECORD.
05 VENDOR-NUMBER PIC 9(5).
05 VENDOR-NAME PIC X(30).
05 VENDOR-ADDRESS-1 PIC X(30).
05 VENDOR-ADDRESS-2 PIC X(30).
05 VENDOR-CITY PIC X(20).
05 VENDOR-STATE PIC X(30).
05 VENDOR-ZIP PIC X(10).
05 VENDOR-CONTACT PIC X(30).
05 VENDOR-PHONE PIC X(15).
WORKING-STORAGE SECTION.
77 MENU-PICK PIC 9.
88 MENU-PICK-IS-VALID VALUES 0 THRU 4.
77 THE-MODE PIC X(7).
77 WHICH-FIELD PIC 9.
77 OK-TO-DELETE PIC X.
77 RECORD-FOUND PIC X.
77 VENDOR-NUMBER-FIELD PIC 99999.
PROCEDURE DIVISION.
PROGRAM-BEGIN.
PERFORM OPENING-PROCEDURE.
PERFORM MAIN-PROCESS.
PERFORM CLOSING-PROCEDURE.
PROGRAM-DONE.
STOP RUN.
OPENING-PROCEDURE.
OPEN I-O VENDOR-FILE.
CLOSING-PROCEDURE.
CLOSE VENDOR-FILE.
MAIN-PROCESS.
PERFORM GET-MENU-PICK.
PERFORM MAINTAIN-THE-FILE
UNTIL MENU-PICK = 0.
*---------------------------------
* MENU
*---------------------------------
GET-MENU-PICK.
PERFORM DISPLAY-THE-MENU.
PERFORM GET-THE-PICK.
PERFORM MENU-RETRY
UNTIL MENU-PICK-IS-VALID.
DISPLAY-THE-MENU.
PERFORM CLEAR-SCREEN.
DISPLAY " PLEASE SELECT:".
DISPLAY " ".
DISPLAY " 1. ADD RECORDS".
DISPLAY " 2. CHANGE A RECORD".
DISPLAY " 3. LOOK UP A RECORD".
DISPLAY " 4. DELETE A RECORD".
DISPLAY " ".
DISPLAY " 0. EXIT".
PERFORM SCROLL-LINE 8 TIMES.
GET-THE-PICK.
DISPLAY "YOUR CHOICE (0-4)?".
ACCEPT MENU-PICK.
MENU-RETRY.
DISPLAY "INVALID SELECTION - PLEASE RE-TRY.".
PERFORM GET-THE-PICK.
CLEAR-SCREEN.
PERFORM SCROLL-LINE 25 TIMES.
SCROLL-LINE.
DISPLAY " ".
MAINTAIN-THE-FILE.
PERFORM DO-THE-PICK.
PERFORM GET-MENU-PICK.
DO-THE-PICK.
IF MENU-PICK = 1
PERFORM ADD-MODE
ELSE
IF MENU-PICK = 2
PERFORM CHANGE-MODE
ELSE
IF MENU-PICK = 3
PERFORM INQUIRE-MODE
ELSE
IF MENU-PICK = 4
PERFORM DELETE-MODE.
*---------------------------------
* ADD
*---------------------------------
ADD-MODE.
MOVE "ADD" TO THE-MODE.
PERFORM GET-NEW-VENDOR-NUMBER.
PERFORM ADD-RECORDS
UNTIL VENDOR-NUMBER = ZEROES.
GET-NEW-VENDOR-NUMBER.
PERFORM INIT-VENDOR-RECORD.
PERFORM ENTER-VENDOR-NUMBER.
MOVE "Y" TO RECORD-FOUND.
PERFORM FIND-NEW-VENDOR-RECORD
UNTIL RECORD-FOUND = "N" OR
VENDOR-NUMBER = ZEROES.
FIND-NEW-VENDOR-RECORD.
PERFORM READ-VENDOR-RECORD.
IF RECORD-FOUND = "Y"
DISPLAY "RECORD ALREADY ON FILE"
PERFORM ENTER-VENDOR-NUMBER.
ADD-RECORDS.
PERFORM ENTER-REMAINING-FIELDS.
PERFORM WRITE-VENDOR-RECORD.
PERFORM GET-NEW-VENDOR-NUMBER.
ENTER-REMAINING-FIELDS.
PERFORM ENTER-VENDOR-NAME.
PERFORM ENTER-VENDOR-ADDRESS-1.
PERFORM ENTER-VENDOR-ADDRESS-2.
PERFORM ENTER-VENDOR-CITY.
PERFORM ENTER-VENDOR-STATE.
PERFORM ENTER-VENDOR-ZIP.
PERFORM ENTER-VENDOR-CONTACT.
PERFORM ENTER-VENDOR-PHONE.
*---------------------------------
* CHANGE
*---------------------------------
CHANGE-MODE.
MOVE "CHANGE" TO THE-MODE.
PERFORM GET-VENDOR-RECORD.
PERFORM CHANGE-RECORDS
UNTIL VENDOR-NUMBER = ZEROES.
CHANGE-RECORDS.
PERFORM GET-FIELD-TO-CHANGE.
PERFORM CHANGE-ONE-FIELD
UNTIL WHICH-FIELD = ZERO.
PERFORM GET-VENDOR-RECORD.
GET-FIELD-TO-CHANGE.
PERFORM DISPLAY-ALL-FIELDS.
PERFORM ASK-WHICH-FIELD.
ASK-WHICH-FIELD.
DISPLAY "ENTER THE NUMBER OF THE FIELD".
DISPLAY "TO CHANGE (1-8) OR 0 TO EXIT".
ACCEPT WHICH-FIELD.
IF WHICH-FIELD > 8
DISPLAY "INVALID ENTRY".
CHANGE-ONE-FIELD.
PERFORM CHANGE-THIS-FIELD.
PERFORM GET-FIELD-TO-CHANGE.
CHANGE-THIS-FIELD.
IF WHICH-FIELD = 1
PERFORM ENTER-VENDOR-NAME.
IF WHICH-FIELD = 2
PERFORM ENTER-VENDOR-ADDRESS-1.
IF WHICH-FIELD = 3
PERFORM ENTER-VENDOR-ADDRESS-2.
IF WHICH-FIELD = 4
PERFORM ENTER-VENDOR-CITY.
IF WHICH-FIELD = 5
PERFORM ENTER-VENDOR-STATE.
IF WHICH-FIELD = 6
PERFORM ENTER-VENDOR-ZIP.
IF WHICH-FIELD = 7
PERFORM ENTER-VENDOR-CONTACT.
IF WHICH-FIELD = 8
PERFORM ENTER-VENDOR-PHONE.
PERFORM REWRITE-VENDOR-RECORD.
*---------------------------------
* INQUIRE
*---------------------------------
INQUIRE-MODE.
MOVE "DISPLAY" TO THE-MODE.
PERFORM GET-VENDOR-RECORD.
PERFORM INQUIRE-RECORDS
UNTIL VENDOR-NUMBER = ZEROES.
INQUIRE-RECORDS.
PERFORM DISPLAY-ALL-FIELDS.
PERFORM GET-VENDOR-RECORD.
*---------------------------------
* DELETE
*---------------------------------
DELETE-MODE.
MOVE "DELETE" TO THE-MODE.
PERFORM GET-VENDOR-RECORD.
PERFORM DELETE-RECORDS
UNTIL VENDOR-NUMBER = ZEROES.
DELETE-RECORDS.
PERFORM DISPLAY-ALL-FIELDS.
MOVE "X" TO OK-TO-DELETE.
PERFORM ASK-TO-DELETE
UNTIL OK-TO-DELETE = "Y" OR "N".
IF OK-TO-DELETE = "Y"
PERFORM DELETE-VENDOR-RECORD.
PERFORM GET-VENDOR-RECORD.
ASK-TO-DELETE.
DISPLAY "DELETE THIS RECORD (Y/N)?".
ACCEPT OK-TO-DELETE.
IF OK-TO-DELETE = "y"
MOVE "Y" TO OK-TO-DELETE.
IF OK-TO-DELETE = "n"
MOVE "N" TO OK-TO-DELETE.
IF OK-TO-DELETE NOT = "Y" AND
OK-TO-DELETE NOT = "N"
DISPLAY "YOU MUST ENTER YES OR NO".
*---------------------------------
* Routines shared by all modes
*---------------------------------
INIT-VENDOR-RECORD.
MOVE SPACE TO VENDOR-RECORD.
MOVE ZEROES TO VENDOR-NUMBER.
ENTER-VENDOR-NUMBER.
DISPLAY " ".
DISPLAY "ENTER VENDOR NUMBER OF THE VENDOR" .
DISPLAY "TO " THE-MODE " (1-99999)".
DISPLAY "ENTER 0 TO STOP ENTRY".
ACCEPT VENDOR-NUMBER-FIELD.
*OR ACCEPT VENDOR-NUMBER-FIELD WITH CONVERSION.
MOVE VENDOR-NUMBER-FIELD TO VENDOR-NUMBER.
GET-VENDOR-RECORD.
PERFORM INIT-VENDOR-RECORD.
PERFORM ENTER-VENDOR-NUMBER.
MOVE "N" TO RECORD-FOUND.
PERFORM FIND-VENDOR-RECORD
UNTIL RECORD-FOUND = "Y" OR
VENDOR-NUMBER = ZEROES.
*---------------------------------
* Routines shared Add and Change
*---------------------------------
FIND-VENDOR-RECORD.
PERFORM READ-VENDOR-RECORD.
IF RECORD-FOUND = "N"
DISPLAY "RECORD NOT FOUND"
PERFORM ENTER-VENDOR-NUMBER.
ENTER-VENDOR-NAME.
DISPLAY "ENTER VENDOR NAME".
ACCEPT VENDOR-NAME.
ENTER-VENDOR-ADDRESS-1.
DISPLAY "ENTER VENDOR ADDRESS-1".
ACCEPT VENDOR-ADDRESS-1.
ENTER-VENDOR-ADDRESS-2.
DISPLAY "ENTER VENDOR ADDRESS-2".
ACCEPT VENDOR-ADDRESS-2.
ENTER-VENDOR-CITY.
DISPLAY "ENTER VENDOR CITY".
ACCEPT VENDOR-CITY.
ENTER-VENDOR-STATE.
DISPLAY "ENTER VENDOR STATE".
ACCEPT VENDOR-STATE.
ENTER-VENDOR-ZIP.
DISPLAY "ENTER VENDOR ZIP".
ACCEPT VENDOR-ZIP.
ENTER-VENDOR-CONTACT.
DISPLAY "ENTER VENDOR CONTACT".
ACCEPT VENDOR-CONTACT.
ENTER-VENDOR-PHONE.
DISPLAY "ENTER VENDOR PHONE".
ACCEPT VENDOR-PHONE.
*---------------------------------
* Routines shared by Change,
* Inquire and Delete
*---------------------------------
DISPLAY-ALL-FIELDS.
DISPLAY " ".
PERFORM DISPLAY-VENDOR-NUMBER.
PERFORM DISPLAY-VENDOR-NAME.
PERFORM DISPLAY-VENDOR-ADDRESS-1.
PERFORM DISPLAY-VENDOR-ADDRESS-2.
PERFORM DISPLAY-VENDOR-CITY.
PERFORM DISPLAY-VENDOR-STATE.
PERFORM DISPLAY-VENDOR-ZIP.
PERFORM DISPLAY-VENDOR-CONTACT.
PERFORM DISPLAY-VENDOR-PHONE.
DISPLAY " ".
DISPLAY-VENDOR-NUMBER.
DISPLAY " VENDOR NUMBER: " VENDOR-NUMBER.
DISPLAY-VENDOR-NAME.
DISPLAY "1. VENDOR NAME: " VENDOR-NAME.
DISPLAY-VENDOR-ADDRESS-1.
DISPLAY "2. VENDOR ADDRESS-1: " VENDOR-ADDRESS-1.
DISPLAY-VENDOR-ADDRESS-2.
DISPLAY "3. VENDOR ADDRESS-2: " VENDOR-ADDRESS-2.
DISPLAY-VENDOR-CITY.
DISPLAY "4. VENDOR CITY: " VENDOR-CITY.
DISPLAY-VENDOR-STATE.
DISPLAY "5. VENDOR STATE: " VENDOR-STATE.
DISPLAY-VENDOR-ZIP.
DISPLAY "6. VENDOR ZIP: " VENDOR-ZIP.
DISPLAY-VENDOR-CONTACT.
DISPLAY "7. VENDOR CONTACT: " VENDOR-CONTACT.
DISPLAY-VENDOR-PHONE.
DISPLAY "8. VENDOR PHONE: " VENDOR-PHONE.
*---------------------------------
* File I-O Routines
*---------------------------------
READ-VENDOR-RECORD.
MOVE "Y" TO RECORD-FOUND.
READ VENDOR-FILE RECORD
INVALID KEY
MOVE "N" TO RECORD-FOUND.
*or READ VENDOR-FILE RECORD WITH LOCK
* INVALID KEY
* MOVE "N" TO RECORD-FOUND.
*or READ VENDOR-FILE RECORD WITH HOLD
* INVALID KEY
* MOVE "N" TO RECORD-FOUND.
WRITE-VENDOR-RECORD.
WRITE VENDOR-RECORD
INVALID KEY
DISPLAY "RECORD ALREADY ON FILE".
REWRITE-VENDOR-RECORD.
REWRITE VENDOR-RECORD
INVALID KEY
DISPLAY "ERROR REWRITING VENDOR RECORD".
DELETE-VENDOR-RECORD.
DELETE VENDOR-FILE RECORD
INVALID KEY
DISPLAY "ERROR DELETING VENDOR RECORD".
|
Advertisement