#!/home/onyx/bin/onyx

# an example from :

#---------------------+------------------------------+-------------------------+
#     FORTH EDV       |         Stephan Forth        |  Martin-Luther-Str. 5   |
# Beratung + Schulung |                              |  55131 Mainz, Germany   |
#                     | stephan@forthdv.pfm-mainz.de |  voice: +49 6131 572610 |
#---------------------+------------------------------+-------------------------+

database tele%gawk;

# -----------------------------------------------------------------------------

table save
        name    char    20,
        tel     char    20;

table telefon
        name    char    20,
        tel     char    20;

# -----------------------------------------------------------------------------

program Telefonliste;

menu mask Abfrage by telefon
	"",
	" Name   : $ ",
	" Teleon : $ ",
	"";
fields
	 name:suche_name,
	 tel:suche_tel;

transaction suche_name {
	if not telefon.name then break;

	set save.name = $telefon.name;

	import telefon from
		select	name,tel
		from	telefon
		where	name like "$telefon.name";

	if not valid telefon
	then 
		set telefon.name = $save.name;
	}

transaction suche_tel {
	if not telefon.tel then break;

	set save.name = $telefon.name;
	set save.tel = $telefon.tel;

	import telefon from
		select	name,tel
		from	telefon
		and	tel  like "$telefon.tel";

	if not valid telefon
	then 
		set telefon.name = $save.name;
	and
		set telefon.tel = $save.tel;
	}

menu transaction Speichern {
	if not telefon.name then break;
	if not telefon.tel then break;

	if valid telefon
	then
		update	telefon
		where	name = "$telefon.name"
		set     tel  = "$telefon.tel";
	else
		insert into telefon ( name, tel )
		values ( "$telefon.name",
			 "$telefon.tel"
                       );

	validate telefon;
	}
