P8000/WEGA/contrib/ingres/dbs/demo/form/k_personal.x

318 lines
5.8 KiB
Plaintext

## shared dt
# define NF ((int (*)()) 0) /* null function */
# define FIELD 22
int key = 1;
char *text = " KEIN AKTUELLER SATZ VORHANDEN ";
/* vars of relation personal */
# define NUM 4
## i2 num;
# define NAME 20
## char name[21];
char v_name[NAME + 1];
# define GEHALT 4
## i2 gehalt;
char v_gehalt[GEHALT + 1];
# define LEITER 4
## i2 leiter;
char v_leiter[LEITER + 1];
# define GEBDAT 4
## i2 gebdat;
char v_gebdat[GEBDAT + 1];
# define EINSTDAT 4
## i2 einstdat;
char v_einstdat[EINSTDAT + 1];
f_init(frame)
register char *frame;
{
name[0] = 0;
gehalt = 0;
leiter = 0;
gebdat = 0;
einstdat = 0;
MMclr_value(frame);
MMvalue(frame);
}
f_num(frame)
register char *frame;
{
if (num <= 0 || num > 9999)
{
MMerror(" NUM FALSCH ");
return (0);
}
return (1);
}
f_gehalt(frame)
register char *frame;
{
if (gehalt <= 0 || gehalt > 9999)
{
MMerror(" GEHALT FALSCH ");
return (0);
}
return (1);
}
f_leiter(frame)
register char *frame;
{
if (leiter < 0 || leiter > 9999)
{
MMerror(" LEITER FALSCH ");
return (0);
}
return (1);
}
f_gebdat(frame)
register char *frame;
{
if (gebdat <= 0 || gebdat > 9999)
{
MMerror(" GEBDAT FALSCH ");
return (0);
}
return (1);
}
f_einstdat(frame)
register char *frame;
{
if (einstdat <= 0 || einstdat > 9999)
{
MMerror(" EINSTDAT FALSCH ");
return (0);
}
return (1);
}
f_retrieve(frame)
register char *frame;
{
register int cnt;
key++;
f_init(frame);
cnt = 0;
## use (shared personal)
## retrieve personal $num == num
## (
## name = $name,
## gehalt = $gehalt,
## leiter = $leiter,
## gebdat = $gebdat,
## einstdat = $einstdat
## )
## {
cnt++;
key = 0;
MMset_value(frame, name, 0);
MMset_value(frame, &gehalt, 0);
MMset_value(frame, &leiter, 0);
MMset_value(frame, &gebdat, 0);
MMset_value(frame, &einstdat, 0);
MMvalue(frame);
## endretrieve
## }
## commit
if (!cnt)
MMerror(" SATZ NICHT VORHANDEN ");
}
f_append(frame)
register char *frame;
{
register int cnt;
## use (exclusive personal)
cnt = 0;
## retrieve personal $num == num
## {
cnt++;
## endretrieve
## }
if (!cnt)
{
key = 0;
## append personal
## (
## $num = num,
## $name = name,
## $gehalt = gehalt,
## $leiter = leiter,
## $gebdat = gebdat,
## $einstdat = einstdat
## )
## commit
}
MMerror(cnt? " SATZ VORHANDEN ": " SATZ ANGEFUEGT ");
}
f_delete(frame)
register char *frame;
{
register int cnt;
if (key)
{
MMerror(text);
return;
}
## use (exclusive personal)
## retrieve personal $num == num
## {
cnt++;
## delete
## endretrieve
## }
## commit
MMerror(cnt? " SATZ GELOESCHT ": " SATZ NICHT GELOESCHT ");
key++;
f_init(frame);
}
f_replace(frame)
register char *frame;
{
register int cnt;
if (key)
{
MMerror(text);
return;
}
## use (exclusive personal)
cnt = 0;
## retrieve personal $num == num
## {
cnt++;
## replace
## (
## $name = name,
## $gehalt = gehalt,
## $leiter = leiter,
## $gebdat = gebdat,
## $einstdat = einstdat
## )
## endretrieve
## }
## commit
MMerror(cnt? " SATZ ERSETZT ": " SATZ NICHT ERSETZT ");
}
amx(argc, argv)
int argc;
char *argv[];
{
register char *form;
char *frame;
extern char *MMalloc();
MMinit_form(1);
frame = (char *) 0;
form = MMalloc(&frame, 2, 1, 71, (char *) 0);
MMout_field(form, "------------------------------------------------------- P E R S O N A L");
form = MMalloc(&frame, 3, 1, 3, (char *) 0);
MMout_field(form, "NUM");
form = MMalloc(&frame, 3, FIELD, NUM, (char *) 0);
MMin_field(form, f_num, NF, 0);
MMvari2(form, &num, "%d");
form = MMalloc(&frame, 5, 1, 4, (char *) 0);
MMout_field(form, "NAME");
form = MMalloc(&frame, 5, FIELD, NAME, v_name);
MMval_field(form, NF);
MMvarc(form, name, (char *) 0);
form = MMalloc(&frame, 5, FIELD, NAME, v_name);
MMin_field(form, NF, NF, 0);
MMvarc(form, name, (char *) 0);
form = MMalloc(&frame, 6, 1, 6, (char *) 0);
MMout_field(form, "GEHALT");
form = MMalloc(&frame, 6, FIELD, GEHALT, v_gehalt);
MMval_field(form, NF);
MMvari2(form, &gehalt, "%d");
form = MMalloc(&frame, 6, FIELD, GEHALT, v_gehalt);
MMin_field(form, f_gehalt, NF, 0);
MMvari2(form, &gehalt, "%d");
form = MMalloc(&frame, 7, 1, 6, (char *) 0);
MMout_field(form, "LEITER");
form = MMalloc(&frame, 7, FIELD, LEITER, v_leiter);
MMval_field(form, NF);
MMvari2(form, &leiter, "%d");
form = MMalloc(&frame, 7, FIELD, LEITER, v_leiter);
MMin_field(form, f_leiter, NF, 0);
MMvari2(form, &leiter, "%d");
form = MMalloc(&frame, 8, 1, 6, (char *) 0);
MMout_field(form, "GEBDAT");
form = MMalloc(&frame, 8, FIELD, GEBDAT, v_gebdat);
MMval_field(form, NF);
MMvari2(form, &gebdat, "%d");
form = MMalloc(&frame, 8, FIELD, GEBDAT, v_gebdat);
MMin_field(form, f_gebdat, NF, 0);
MMvari2(form, &gebdat, "%d");
form = MMalloc(&frame, 9, 1, 3, (char *) 0);
MMout_field(form, "EINSTDAT");
form = MMalloc(&frame, 9, FIELD, EINSTDAT, v_einstdat);
MMval_field(form, NF);
MMvari2(form, &einstdat, "%d");
form = MMalloc(&frame, 9, FIELD, EINSTDAT, v_einstdat);
MMin_field(form, f_einstdat, NF, 0);
MMvari2(form, &einstdat, "%d");
form = MMalloc(&frame, 24, 2, 4, (char *) 0);
MMout_field(form, "SATZ");
form = MMalloc(&frame, 24, 13, 10, (char *) 0);
MMmen_field(form, f_retrieve, NF, " ANZEIGEN ");
form = MMalloc(&frame, 24, 28, 10, (char *) 0);
MMmen_field(form, f_append, NF, " ANFUEGEN ");
form = MMalloc(&frame, 24, 43, 10, (char *) 0);
MMmen_field(form, f_delete, NF, " LOESCHEN ");
form = MMalloc(&frame, 24, 58, 10, (char *) 0);
MMmen_field(form, f_replace, NF, " ERSETZEN ");
## open personal
MMform(frame);
## close personal
MMfree(&frame);
MMexit_form(1);
return (0);
}