You are on page 1of 4

0004 PROGRAM TRAINER.

TEST
0005 CRT "TRAINER FILE DATA MANIPULATION MENU"
0006 CRT "********************"
0007 CRT "1. INSERT"
0008 CRT "2. DISPLAY"
0009 CRT "3. UPDATE"
0010 CRT "4. DELETE"
0011 CRT "5. EXIT"
0012 INPUT Y.CHOICE
0013 R.TRAINER=''
0014 OPEN "TRAINER1" TO F.TRAINER1 THEN
0015 ELSE CRT"UNABLE TO OPEN"
0016
0017 BEGIN CASE
0018 CASE Y.CHOICE=1
0019 GOSUB INSERT
0020 CASE Y.CHOICE=2
0021 GOSUB DISPLAY
0022 CASE Y.CHOICE=3
0023 GOSUB UPDATE
0024 CASE Y.CHOICE=4
0025 GOSUB DELETE
0026 CASE Y.CHOICE=5
0027 EXIT(1)
0028
0029 CASE 1
0030 CRT "INVALID CHOICE"
0031 EXIT(1)
0032 END CASE
0033 RETURN
0034
0035 INSERT:
0036 CRT "INSERT BLOCK"
0037 * R.TRAINER=''
0038 CRT"INPUT USER ID"
0039 INPUT Y.ID
0040
0041 CRT"INPUT USER NAME"
0042 INPUT Y.NAME
0043 R.TRAINER<-1>=Y.NAME
0044
0045 CRT"INPUT USER CLAS"
0046 INPUT Y.CLASSIFICATION
0047 R.TRAINER<-1>=Y.CLASSIFICATION
0048
0049 CRT"INPUT USER REGION"
0050 INPUT Y.RESIGN
0051 R.TRAINER<-1>=Y.RESIGN
0052
0053 CRT"INPUT USER COURSES(COMMA SEPARATED):"
0054 INPUT Y.COURSES
0055 Y.COUNT=DCOUNT(Y.COURSES,",")
0056 FOR I=1 TO Y.COUNT
0057 Y.FLD=FIELD(Y.COURSES,',',I,1)
0058 R.TRAINER<4,-1>=Y.FLD
0059 NEXT I
0060
0061 WRITE R.TRAINER TO F.TRAINER1, Y.ID SETTING V.ERR ON ERROR
0062 CRT "RECORD NOT FOUND"
0063 END
0064 RETURN
0065 DISPLAY:
0066 CRT "DISPLAY BLOCK"
0067 CRT"INPUT USER ID PLS:"
0068 INPUT Y.ID
0069 READ R.TRAINER FROM F.TRAINER1,Y.ID SETTING V.ERR ELSE
0070 CRT "UNABLE TO READ"
0071 END
0072 CRT "NAME: ":R.TRAINER<1>
0073 CRT "CLASSIFICATION" :R.TRAINER<2>
0074 CRT "RESIGN: ":R.TRAINER<3>
0075 CRT "COURSES: ":R.TRAINER<4>
0076 RETURN
00770078 UPDATE:
0079 CRT "UPDATE BLOCK"
0080 CRT "YOU WANT TO UPDATE... GIVE THE ID"
0081 INPUT Y.ID
0082 READU R.TRAINER FROM F.TRAINER1, Y.ID LOCKED
0083 CRT "LOCKED BY PORT":SYSTEM(43):"-RETRYING"
0084 END ELSE
0085 CRT "RECORD DOES NOT EXIST"
0086 END
0087 Y.OPERATION= 'Y'
0088 LOOP
0089 WHILE Y.OPERATION EQ 'Y' DO
0090 CRT "ENTER THE FIELD NO. & THE NEW VALUE DELIMITED BY_"
0091 CRT" 1.NAME 2.CLASSIFICATION 3.RESIGN 4.COURSES"
0092 CRT"COURSES DELIMITED WITH ','"
0093 INPUT Y.FN.FV
0094 Y.FIELD.NUM = FIELD(Y.FN.FV,'_',1,1)
0095 Y.FIELD.VALUE = FIELD(Y.FN.FV,'_',2,1)
0096 IF Y.FIELD.NUM NE 4 THEN
0097 R.TRAINER<Y.FIELD.NUM>=Y.FIELD.VALUE
0098 END
0099 ELSE
0100 R.TRAINER<4>=''
0101 Y.COUNT=DCOUNT(F.FIELD.VALUE,',')
0102 FOR I=1 TO Y.COUNT
0103 Y.CD=FIELD(Y.FIELD.VALUE,',',I,1)
0104 R.TRAINER<4,-1>=Y.CD
0105 NEXT I
0106 END
0107 CRT"DO YOU WISH UPDATE ANOTHER FIELD? Y/N"
0108 INPUT Y.OPERATION
0109 REPEAT
0110 WRITE R.TRAINER TO F.TRAINER1,Y.ID SETTING V.ERR
0111 CRT"RECORD NOT WRITTEN"
0112 * END
0113 RETURN
0114
0115 DELETE:
0116 CRT "DELETE BLOCK"
0117 INPUT Y.ID
0118 DELETE F.TRAINER1, Y.ID SETTING Y.ERRRR ON ERROR
0119 CRT"UNABLE TO DELETE RECORD"
0120 CRT"REASON: ":Y.ERR.VAR
0121 END
PROGRAM TRAINER.TEST2
$INSERT ..\T24_BP I_COMMON
$INSERT ..\T24_BP I_EQUATE
*F.TRAINER=''
OPEN "TRAINER1" TO F.TRAINER THEN
CRT "OPEN SUCCESSFUL"
END ELSE
CRT "UNABLE OPEN"
END
SELECT.STATEMENT ='SELECT TRAINER1 WITH CLASSIFICATION EQ TECH'
* EXECUTE SELECT.STATEMENT RTNLIST KEY.LIST
CALL EB.READLIST(SELECT.STATEMENT, KEY.LIST,'',Y.REC,V.ERROR)
LOOP
REMOVE Y.ID FROM KEY.LIST SETTING POS
* CRT "POSITION : ":POS
WHILE Y.ID:POS
CRT "ID : ":Y.ID
DIM Y.MAT.REC(10)
MATREAD Y.MAT.REC FROM F.TRAINER, Y.ID ELSE
CRT "UNABLE TO READ"
END
Y.COURSES=Y.MAT.REC(4)
CRT "COURSE : ":Y.COURSES
Y.COUNT=DCOUNT(Y.COURSES,@VM)
CRT "COUNT : ":Y.COUNT
IF Y.COUNT GT 5 THEN
Y.MAT.REC(5)<1>= 'SENIOR'
END ELSE
Y.MAT.REC(5)<1>= 'JUNIOR'
END
MATWRITE Y.MAT.REC ON F.TRAINER, Y.ID
REPEAT
* RETURN
STOP

0004 SUBROUTINE M.CUST.RTN


0005 ****************************
0006 * THIS ROUTINE FOR DISPLAY CUSTOMER INFO
0007 * AUTHOR: IMRAN
0008 * DATE:14.03.2017
0009 * INCOMING : CUSTOMER ID
0010 * OUTCOMING : CUSTOMER RECORD
0011 *****************************
0012
0013 $INSERT ..\T24_BP I_COMMON
0014 $INSERT ..\T24_BP I_EQUATE
0015 $INSERT ..\T24_BP I_F.CUSTOMER
0016 * DEBUG
0017 GOSUB INIT
0018 GOSUB OPENFILES
0019 GOSUB PROCESS
0020 RETURN
0021
0022 INIT:
0023 FN.CUSTOMER='F.CUSTOMER'
0024 F.CUSTOMER=''
0025 * Y.CUS.ID=111435
0026 R.CUSTOMER=''
0027 Y.MNEMONIC=''
0028 CUS.ERR=''
0029 RETURN
0030
0031 OPENFILES:
0032 CALL OPF(FN.CUSTOMER,F.CUSTOMER)
0033 RETURN
0034
0035 PROCESS:
0036 CRT "PLZ INPUT ID :"
0037 INPUT Y.CUS.ID
0038 CALL F.READ(FN.CUSTOMER, Y.CUS.ID, R.CUSTOMER, F.CUSTOMER, CUS.ERR)
0039 Y.MNEMONIC = R.CUSTOMER<EB.CUS.MNEMONIC>
0040 CRT "CUST ID :":Y.CUS.ID
0041 CRT "MNEMONIC :":Y.MNEMONIC
0042 CRT "ALL DATA :":R.CUSTOMER
0043
0044 Y.COUNT=COUNT(R.CUSTOMER,@FM)
0045 CRT "NO. OF FM ":Y.COUNT
0046
0047 Y.COUNT1=COUNT(R.CUSTOMER,@VM)
0048 CRT "NO. OF VM ":Y.COUNT1
0049
0050 Y.COUNT2=COUNT(R.CUSTOMER,@SM)
0051 CRT "NO. OF SM ":Y.COUNT2
0052 RETURN
0053 END

SEL.CMD="SELECT FBNK.ACCOUNT WITH CUSTOMER EQ ":Y.CUS:" AND CATEGORY


SEL.LIST=''
CALL EB.READLIST(SEL.CMD,SEL.LIST,'',NO.REC,SEL.ERR)
Y.CUR.COUNT=DCOUNT(SEL.LIST,FM)

You might also like