cat > script.c <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
# include  <mscc.h>

extern	long	atol ();

static	void	moneycvt ( char	*string);

int	msmain (argc, argv)
	int	argc;
	char	**argv;
{
	addr	loans_desc, pers_desc, lrec_desc, prec_desc, newrec_desc,
		pname_desc, lname_desc, date_desc, amount_desc,
		qual, first_qual, second_qual;
	char	*pname_value, *date_value, *amount_value, value[20];
	long	sum, amount, interest, newamount;


	loans_desc = mropen (argv[1], "loans", 'u');	
	pers_desc = mropen (argv[1], "personnel", 'r');	

	lrec_desc = mrmkrec (loans_desc);
	newrec_desc = mrmkrec (loans_desc);
	prec_desc = mrmkrec (pers_desc);
	pname_desc = mrngeta (pers_desc, "name");
	lname_desc = mrngeta (loans_desc, "name");
	amount_desc = mrngeta (loans_desc, "amount");
	date_desc = mrngeta (loans_desc, "date");
	amount_value = mrspv (amount_desc);
	pname_value = mrspv (pname_desc);
	date_value = mrspv (date_desc);

	first_qual = mrgetbegin (ADDRNIL, prec_desc, ADDRNIL);
	while (mrget (first_qual))
	{
		mrcopyv (prec_desc, pname_desc, pname_value);

		printf ("\n\nMonthly Statement for %s:\n\n", pname_value);
		printf (" Loan        Date Made        Interest  Total\n");
		fflush (stdout);

		sum = 0;
		qual = mrqcon ("=", lname_desc, 
			mrcvtv (lname_desc, pname_value));
		second_qual = mrgetbegin (qual, lrec_desc, ADDRNIL); 
		while (mrget (second_qual))
		{
			mrcopyv (lrec_desc, amount_desc, amount_value);
			mrcopyv (lrec_desc, date_desc, date_value);
			moneycvt (amount_value);
			amount = atol (amount_value);
			
			interest = ( amount * 2 + 50 ) / 100;
			newamount = amount + interest;
			sum = sum + newamount;

			printf ("$%3ld.%02ld  %17s     $%3ld.%02ld  $%3ld.%02ld\n", 
				amount / 100, amount % 100, date_value,
				interest / 100, interest % 100,
				newamount / 100, newamount % 100);
			fflush (stdout);

			mrcopyr (newrec_desc, lrec_desc);

			sprintf (value, "%8ld.%02ld",
				newamount / 100, newamount % 100);
			mrputvs (newrec_desc, amount_desc, value);

			mrput (newrec_desc, lrec_desc);
		}
		mrgetend (second_qual);

		if (sum > 0)
			printf ("\nTotal now owing: $%3ld.%02ld\n",
				sum / 100, sum % 100);
		else
			printf ("\nNo loans outstanding. \n");
		fflush (stdout);
	}
	mrgetend (first_qual);

	mrfree (pname_value);
	mrfree (date_value);
	mrfree (amount_value);
	mrfrrec (lrec_desc);
	mrfrrec (newrec_desc);
	mrfrrec (prec_desc);

	mrclose (loans_desc);
	mrclose (pers_desc);

	mscall (argv[1], "select from loans");
	mscall (argv[1], "select from personnel");
	return (0);
}

static	void	moneycvt ( char	*string)
{
	char	c, *newstring;

	newstring = string;
	for (newstring = string; (c = *string++) != '\0'; )
		if (c != '$' && c != '*' && c != ' '&&
		    c != ',' && c != '.')
			*newstring++ = c;
	*newstring = c;
}
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.c
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'


Monthly Statement for Kilroy:

 Loan        Date Made        Interest  Total
$250.00  16 February  1981     $  5.00  $255.00

Total now owing: $255.00


Monthly Statement for Jones:

 Loan        Date Made        Interest  Total
$ 33.95   7 February  1981     $  0.68  $ 34.63
$ 25.00   3 April     1981     $  0.50  $ 25.50
$300.00  12 August    1981     $  6.00  $306.00

Total now owing: $366.13


Monthly Statement for Mosca:

 Loan        Date Made        Interest  Total
$150.00   2 February  1981     $  3.00  $153.00
$200.00   4 May       1981     $  4.00  $204.00

Total now owing: $357.00


Monthly Statement for Waldislaw:

 Loan        Date Made        Interest  Total

No loans outstanding. 


Monthly Statement for Peterson:

 Loan        Date Made        Interest  Total
$ 50.00   6 June      1981     $  1.00  $ 51.00

Total now owing: $ 51.00


Monthly Statement for Scarlatti:

 Loan        Date Made        Interest  Total

No loans outstanding. 
name                                    date        amount

Mosca                       2 February  1981       $153.00
Jones                       7 February  1981        $34.63
Kilroy                     16 February  1981       $255.00
Wladislaw                  27 February  1981        $55.00
Jones                       3 April     1981        $25.50
Mosca                       4 May       1981       $204.00
Wladislaw                  12 May       1981        $25.00
Peterson                    6 June      1981        $51.00
Wladislaw                  25 June      1981        $75.00
Jones                      12 August    1981       $306.00
name             char2                 char3                      sint  number        phone              date1               date2     date3     date4      date5       date6       date7       date8  credit_limit         dollar2

Kilroy             kilroy              Kilroy                        1      10      4269681   2 February  1981  February   2, 1981  02/02/81  02/02/81   2 Feb 81  Feb  2, 81  02/02/1981  02/02/1981       $500.00   $******500.00
Jones             Jones                  jone s                      3       3      6672951  22 January   1981  January   22, 1981  01/22/81  22/12/81  22 Jan 81  Jan 22, 81  01/22/1981  22/01/1981       $500.00   $******500.00
Mosca              Mosca               Mosca                         5       5      5442243  27 December  1980  December  27, 1980  12/27/80  27/12/80  27 Dec 80  Dec 27, 80  12/27/1980  27/12/1980       $750.00   $******750.00
Waldislaw        waldislaw             W a l d i s l a w             7      17      7236073  30 November  1980  November  30, 1980  11/30/80  30/11/80  30 Nov 80  Nov 30, 80  11/30/1980  30/11/1980       $200.00   $******200.00
Peterson            Peterson            p eterson                    9     888      9786060  20 May       1981  May       20, 1981  05/20/81  20/05/81  20 May 81  May 20, 81  05/20/1981  20/05/1981       $250.00   $******250.00
Scarlatti         Scarlatti              scar l atti                11     177      9617363   2 February  1982  February   2, 1982  02/02/82  02/02/82   2 Feb 82  Feb  2, 82  02/02/1982  02/02/1982       $100.00   $******100.00
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Calculate interest on loans at 2%, print it out and update database.
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
