James,
No one on earth (and that's no exaggeration...) can speak about R:Base as
comprehensively and eloquently as Razzak Memon!
I've never used Access and don't ever plan to, but I have been converting an
Oracle database into R:Base and just for grins, some simple Oracle code
follows so that you can compare the readability with what you are accustomed
to in R:Base:
CREATE OR REPLACE FUNCTION DA_GET_TOTAL_BILLING_AMOUNT(PARM_CARRIER NUMBER,
PARM_INBOX_STATE NUMBER) RETURN NUMBER IS
FOUND BOOLEAN;
WK_TOTAL DA_BILLING_ALLOCATION.BILLING_AMT%TYPE;
WK_BILLING_COUNT DA_BILLING_ALLOCATION.BILLING_AMT%TYPE;
WK_DA_FEE DA_BILLING_ALLOCATION.DA_FEE%TYPE;
CURSOR C_GET_AMOUNT(VAR_CARRIER NUMBER, VAR_INBOX_STATE
NUMBER) IS
SELECT SUM(A.BILLING_AMT),
COUNT(A.BILLING_AMT)
FROM DA_INVOICE_HEADER B,
DA_BILLING_ALLOCATION A, DA_INBOX C
WHERE C.INVOICE_ID = B.INVOICE_ID AND
B.INVOICE_ID = A.INVOICE_ID
AND B.CARRIER = VAR_CARRIER AND
C.INBOX_STATE = VAR_INBOX_STATE;
CURSOR C_GET_FRONTED_AMOUNT(VAR_CARRIER NUMBER) IS
SELECT SUM(A.FRONTED_AMT)
FROM DA_INVOICE_HEADER B,
DA_BILLING_ALLOCATION A, DA_INBOX C
WHERE C.INVOICE_ID = B.INVOICE_ID AND
B.INVOICE_ID = A.INVOICE_ID
AND B.CARRIER = VAR_CARRIER AND
C.INBOX_STATE = 6
AND A.FRONTED_AMT > 0;
CURSOR C_GET_DA_FEE(VAR_CARRIER NUMBER, VAR_INBOX_STATE
NUMBER) IS
SELECT DA_FEE
FROM DA_INVOICE_HEADER B,
DA_BILLING_ALLOCATION A, DA_INBOX C
WHERE C.INVOICE_ID = B.INVOICE_ID AND
B.INVOICE_ID = A.INVOICE_ID
AND B.CARRIER = VAR_CARRIER AND
C.INBOX_STATE = VAR_INBOX_STATE;
BEGIN
IF PARM_INBOX_STATE = 9 THEN
OPEN C_GET_FRONTED_AMOUNT(PARM_CARRIER);
FETCH C_GET_FRONTED_AMOUNT INTO WK_TOTAL;
FOUND := C_GET_FRONTED_AMOUNT%FOUND;
CLOSE C_GET_FRONTED_AMOUNT;
IF NOT FOUND THEN
WK_TOTAL := 0;
END IF;
ELSE
OPEN C_GET_DA_FEE(PARM_CARRIER,PARM_INBOX_STATE);
FETCH C_GET_DA_FEE INTO WK_DA_FEE;
CLOSE C_GET_DA_FEE;
OPEN C_GET_AMOUNT(PARM_CARRIER, PARM_INBOX_STATE);
FETCH C_GET_AMOUNT INTO WK_TOTAL, WK_BILLING_COUNT;
FOUND := C_GET_AMOUNT%FOUND;
CLOSE C_GET_AMOUNT;
IF NOT FOUND THEN
WK_TOTAL := 0;
ELSE
WK_TOTAL := WK_TOTAL - (WK_BILLING_COUNT *
WK_DA_FEE);
END IF;
END IF;
RETURN WK_TOTAL;
END DA_GET_TOTAL_BILLING_AMOUNT;
/
> -----Original Message-----
> From: [email protected] [mailto:[EMAIL PROTECTED] On Behalf Of james
> hageman
> Sent: Thursday, May 19, 2005 1:58 PM
> To: RBG7-L Mailing List
> Subject: [RBG7-L] - off topic
>
> I am finding myself being required to justify the use of Rbase instead
> of Access at this Univ. Apparently just saying it's way better, see for
> yourself doesn't cut it.
>
> I am looking for some help in examples of why Rbase is better and that
> is does use a real programming language and a list of major
> organizations that are using rbase. I know Razzak is doing work for the
> FBI and believe the US Navy. Others?
>
> Thanks much.
>
>
>
> James Hageman, CITA I
> University of Delaware Archives
> 002 Pearson Hall
> Newark ,DE 19716
> 302-831-3127
> [EMAIL PROTECTED]