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

int	msmain (argc, argv)
	int	argc;
	char	**argv;
{
	addr	loans_desc, name_desc, date_desc,
		amount_desc, record_desc, qual, qualifier, low_limit;
	char	*name_value, *date_value, *amount_value;

	mscall (argv[1], "lock level on loans is record");

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

	record_desc = mrmkrec (loans_desc);
	name_desc = mrngeta (loans_desc, "name");
	date_desc = mrngeta (loans_desc, "date");
	amount_desc = mrngeta (loans_desc, "amount");
	name_value = mrspv (name_desc);
	date_value = mrspv (date_desc);
	amount_value = mrspv (amount_desc);

	printf ("Employees Owing Between $50 and $200\n\n");
	printf (" Name       Date                   Amount\n");
	fflush (stdout);

	printf ("calling mrtrstart ()\n");
	mrtrstart ();
	printf ("return from  mrtrstart ()\n");

	low_limit = mrcvtv2 (amount_desc, "$50.00");
	qual = mrqrng (amount_desc, low_limit, 'e',
			mrcvtv (amount_desc, "$200.00"), 'i');
	qualifier = mrgetbegin (qual, record_desc, ADDRNIL);
	while (mrget (qualifier))
	{
		mrcopyv (record_desc, name_desc, name_value);
		mrcopyv (record_desc, date_desc, date_value);
		mrcopyv (record_desc, amount_desc, amount_value);
		printf ("%-12s%17s%12s\n", name_value, 
				date_value, amount_value);
		fflush (stdout);
	}
	mrgetend (qualifier);

	printf ("calling mrtrcommit ()\n");
	mrtrcommit ();
	printf ("return from  mrtrcommit ()\n");

	mrfree (name_value);
	mrfree (date_value);
	mrfree (amount_value);
	mrfrrec (record_desc);

	mrclose (loans_desc);
	return 0;
}
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 script.c
cat > stdout <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Employees Owing Between $50 and $200

 Name       Date                   Amount
calling mrtrstart ()
return from  mrtrstart ()
Mosca        2 February  1981     $150.00
Wladislaw   27 February  1981      $55.00
Mosca        4 May       1981     $200.00
Wladislaw   25 June      1981      $75.00
calling mrtrcommit ()
return from  mrtrcommit ()
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 stdout
cat > tag <<'+-+-+-+-+-END-OF-FILE-+-+-+-+-+'
Select those employees owing more than $50 up to and including $200.
(with transaction and record level locking)
+-+-+-+-+-END-OF-FILE-+-+-+-+-+
chmod 644 tag
