Professional Documents
Culture Documents
(Nofile Enquiry)
Nội dung
Giáo trình T24 - Tạo truy vấn NOFILE 2 03/08/2007 Banking Solutions
1
Yêu cầu bắt buộc (Prerequisites)
Giáo trình T24 - Tạo truy vấn NOFILE 3 03/08/2007 Banking Solutions
Khi thông tin đòi hỏi từ nhiều ứng dụng T24 (không thể được liên
kết qua ứng dụng ENQUIRY)
Khi có những tính toán và điều phức tạp, liên quan đến nhiều ứng
dụng trong T24
Không có mối liên hệ giữa các bảng - không thể được liên kết trong ENQUIRY
Việc tính toán phức tạp không được hỗ trợ bởi ứng dụng ENQUIRY
Routine
Giáo trình T24 - Tạo truy vấn NOFILE 4 03/08/2007 Banking Solutions
2
Cách thiết lập trong ứng dụng ENQUIRY
Trường hợp này – Đòi hỏi nhiều hơn một ứng dụng
Giáo trình T24 - Tạo truy vấn NOFILE 5 03/08/2007 Banking Solutions
Giáo trình T24 - Tạo truy vấn NOFILE 6 03/08/2007 Banking Solutions
3
Thiết lập một truy vấn NOFILE
Giáo trình T24 - Tạo truy vấn NOFILE 7 03/08/2007 Banking Solutions
Ngân hàng yêu cầu một báo cáo có như dạng sau:
Báo cáo Khách hàng
Ngày : <Ngày hiện tại> Người tạo : <Mã số của người tao báo cáo>
Số Khách hàng: <Mã Khách hàng>
Số tài khoản Doanh số Có Doanh số Nợ Lãi Có Lãi
Nợ
XXXXXX XXXXXX XXXXXX XXXXXX
XXXXXX
XXXXXX XXXXXX XXXXXX XXXXXX
XXXXXX
XXXXXX XXXXXX XXXXXX XXXXXX
XXXXXX
Một khách hàng, tại một thời điểm bất kì, muốn biết số tổng của:
Doanh số Có ghi trước (Tiền trả cho khách hàng vào một ngày trong
tương lai)
Doanh số Nợ ghi trước (Tiền khách hàng phải trả vào một ngày trong
tương lai)
Số lãi cộng dồn trả cho khách hàng
Số lãi cộng dồn khách hàng phải trả
Giáo trình T24 - Tạo truy vấn NOFILE 8 03/08/2007 Banking Solutions
4
Các bảng liên quan
Giáo trình T24 - Tạo truy vấn NOFILE 9 03/08/2007 Banking Solutions
AC1FMAC2FMAC3FMAC4
Xử lí ID kế tiếp FST1FMFST2FMFST3
AcIdFMCoCodeFMLCYAmtFMTranCodeFMCusIDFM……………….
Giáo trình T24 - Tạo truy vấn NOFILE 10 03/08/2007 Banking Solutions
5
Giải pháp 1 – Thuật toán
CrIntDateFMCrNoOfDaysFMCrIntRateFMCrIntAmtFMCrIntCategFM…..TotalInterest
PrFstDateFMPrLstDtFMDrIntDateFMDrNoOfDaysFM..TotalInterest
Giáo trình T24 - Tạo truy vấn NOFILE 11 03/08/2007 Banking Solutions
SUBROUTINE E.NOF.CUS.AC.DET(AC.DET.ARR)
GOSUB INITIALISATION
GOSUB OPEN.FILES
GOSUB PROCESS
RETURN
Giáo trình T24 - Tạo truy vấn NOFILE 12 03/08/2007 Banking Solutions
6
Routine cho truy vấn NOFILE (tt.)
*--------------*
INITIALISATION:
*--------------*
FN.CUSTOMER.ACCOUNT = 'F.CUSTOMER.ACCOUNT'
F.CUSTOMER.ACCOUNT = ''
FN.ACCT.ENT.FWD = 'F.ACCT.ENT.FWD'
F.ACCT.ENT.FWD = ''
FN.STMT.ENTRY = 'F.STMT.ENTRY'
F.STMT.ENTRY = ''
FN.ACCR.ACCT.CR = 'F.ACCR.ACCT.CR'
F.ACCR.ACCT.CR = ''
FN.ACCR.ACCT.DR = 'F.ACCR.ACCT.DR'
F.ACCR.ACCT.DR = ''
RETURN
Giáo trình T24 - Tạo truy vấn NOFILE 13 03/08/2007 Banking Solutions
*----------*
OPEN.FILES:
*----------*
CALL OPF(FN.CUSTOMER.ACCOUNT,F.CUSTOMER.ACCOUNT)
CALL OPF(FN.ACCT.ENT.FWD,F.ACCT.ENT.FWD)
CALL OPF(FN.ACCR.ACCT.CR,F.ACCR.ACCT.CR)
CALL OPF(FN.STMT.ENTRY,F.STMT.ENTRY)
CALL OPF(FN.ACCR.ACCT.DR,F.ACCR.ACCT.DR)
RETURN
*-------*
PROCESS:
*-------*
CALL F.READ(FN.CUSTOMER.ACCOUNT,CUSTOMER.ID,CUS.ACC.REC,F.CUSTOMER.ACCOUNT,CUS.ACC.R.ERR)
Giáo trình T24 - Tạo truy vấn NOFILE 14 03/08/2007 Banking Solutions
7
Routine cho truy vấn NOFILE (tt.)
LOOP
WHILE AC.ID:AC.POS
GOSUB CALC.ENT.FWD
GOSUB CALC.ACCR.INT
AC.DET.ARR<-1> = AC.ID:"*":CR.AMT:"*":DR.AMT:"*":CR.TOT.INT:"*":DR.TOT.INT
REPEAT
RETURN
Giáo trình T24 - Tạo truy vấn NOFILE 15 03/08/2007 Banking Solutions
*------------*
CALC.ENT.FWD:
*------------*
LOOP
REMOVE ACCT.ENT.ID FROM ACCT.ENT.REC SETTING ACCT.ENT.POS
WHILE ACCT.ENT.ID:ACCT.ENT.POS
CALL F.READ(FN.STMT.ENTRY,ACCT.ENT.ID,STMT.ENTRY.REC,F.STMT.ENTRY,STMT.ENTRY.R.ERR)
ACCT.ENT.AMT = STMT.ENTRY.REC<AC.STE.AMOUNT.LCY>
IF ACCT.ENT.AMT LT 0 THEN
DR.AMT += ABS(ACCT.ENT.AMT)
END ELSE
CR.AMT += ACCT.ENT.AMT
END
Giáo trình T24 - Tạo truy vấn NOFILE 16 03/08/2007 Banking Solutions
8
Routine cho truy vấn NOFILE (tt.)
REPEAT
RETURN
*-------------*
CALC.ACCR.INT:
*-------------*
CR.TOT.INT = AC.CR.REC<IC.ACRCR.TOTAL.INTEREST>
CALL F.READ(FN.ACCR.ACCT.DR,AC.ID,AC.DR.REC,F.ACCR.ACCT.DR,ACCT.DR.R.ERR)
DR.TOT.INT = AC.DR.REC<IC.ACRDR.TOTAL.INTEREST>
RETURN
END
Giáo trình T24 - Tạo truy vấn NOFILE 17 03/08/2007 Banking Solutions
Giáo trình T24 - Tạo truy vấn NOFILE 18 03/08/2007 Banking Solutions
9
Bản ghi STANDARD SELECTION (tt.)
Routine Type
Selection Type
Giáo trình T24 - Tạo truy vấn NOFILE 19 03/08/2007 Banking Solutions
Giáo trình T24 - Tạo truy vấn NOFILE 20 03/08/2007 Banking Solutions
10
Bản ghi ENQUIRY
Giáo trình T24 - Tạo truy vấn NOFILE 21 03/08/2007 Banking Solutions
Trước khi kết quả truy vấn được hiển thị, do ta có định nghĩa trường lựa
chọn nên nó sẽ được hiển thị để nhập vào giá trị CUSTOMER ID
Giáo trình T24 - Tạo truy vấn NOFILE 22 03/08/2007 Banking Solutions
11
Kết quả
Giáo trình T24 - Tạo truy vấn NOFILE 23 03/08/2007 Banking Solutions
Truy vấn NOFILE dùng một chương trình để truy cập nhiều ứng
dụng và hiển thị các thông tin theo yêu cầu người dùng
Một bản ghi STANDARD.SELECTION phải được tạo với ID có
dạng NOFILE.xxxxxxx để hệ thống bỏ qua việc kiểm tra lỗi
FILE.CONTROL
Bản ghi STANDARD.SELECTION được tạo sẽ được sử dụng bởi
truy vấn NOFILE gồm có các trường ảo
– Loại Routine – Những trường này sẽ có dạng tự định nghĩa ‘R’
– Loại Selection – Những trường này sẽ có dạng tự định nghĩa ‘S’
Giáo trình T24 - Tạo truy vấn NOFILE 24 03/08/2007 Banking Solutions
12
Tóm lại (2)
Trường Selection sau khi được định nghĩa, có thể được truy cập
trong chương trình qua các biến COMMON như D.FIELDS và
D.RANGE.AND.VALUES đã được khai báo trong
I_ENQUIRY.COMMON
Một chương trình được viết cho truy vấn NOFILE phải trả về một
tham số
F <kí hiệu ngắt>,<vị trí đầu>,<số phần tử> - được dùng để lấy số
liệu trả về từ chương trình cho ENQUIRY
Giáo trình T24 - Tạo truy vấn NOFILE 25 03/08/2007 Banking Solutions
Giáo trình T24 - Tạo truy vấn NOFILE 26 03/08/2007 Banking Solutions
13