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

231 lines
4.3 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 erfind */
# define ERFINDUNG 36
## char erfindung[37];
char v_erf[ERFINDUNG + 1];
# define ERFINDER 20
## char erfinder[21];
char v_erfinder[ERFINDER + 1];
# define JAHR 9
## char jahr[10];
char v_jahr[JAHR + 1];
# define LAND 12
## char land[13];
char v_land[LAND + 1];
f_init(frame)
register char *frame;
{
erfinder[0] = 0;
jahr[0] = 0;
land[0] = 0;
MMclr_value(frame);
MMvalue(frame);
}
f_retrieve(frame)
register char *frame;
{
register int cnt;
key++;
f_init(frame);
cnt = 0;
## use (shared erfind)
## retrieve erfind $erfindung == erfindung
## (
## erfindung = $erfindung,
## erfinder = $erfinder,
## jahr = $jahr,
## land = $land
## )
## {
cnt++;
key = 0;
MMset_value(frame, erfindung, 0);
MMset_value(frame, erfinder, 0);
MMset_value(frame, jahr, 0);
MMset_value(frame, land, 0);
MMvalue(frame);
## endretrieve
## }
## commit
if (!cnt)
MMerror(" SATZ NICHT VORHANDEN ");
}
f_append(frame)
register char *frame;
{
register int cnt;
## use (exclusive erfind)
cnt = 0;
## retrieve erfind $erfindung == erfindung
## {
cnt++;
## endretrieve
## }
if (!cnt)
{
key = 0;
## append erfind
## (
## $erfindung = erfindung,
## $erfinder = erfinder,
## $jahr = jahr,
## $land = land
## )
## commit
}
MMerror(cnt? " SATZ VORHANDEN ": " SATZ ANGEFUEGT ");
}
f_delete(frame)
register char *frame;
{
register int cnt;
if (key)
{
MMerror(text);
return;
}
## use (exclusive erfind)
## retrieve erfind $erfindung == erfindung
## {
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 erfind)
cnt = 0;
## retrieve erfind $erfindung == erfindung
## {
cnt++;
## replace
## (
## $erfinder = erfinder,
## $jahr = jahr,
## $land = land
## )
## 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, "----------------------------------------------------------- E R F I N D");
form = MMalloc(&frame, 3, 1, 9, (char *) 0);
MMout_field(form, "ERFINDUNG");
form = MMalloc(&frame, 3, FIELD, ERFINDUNG, v_erf);
MMval_field(form, NF);
MMvarc(form, erfindung, (char *) 0);
form = MMalloc(&frame, 3, FIELD, ERFINDUNG, v_erf);
MMin_field(form, NF, NF, 0);
MMvarc(form, erfindung, (char *) 0);
form = MMalloc(&frame, 5, 1, 8, (char *) 0);
MMout_field(form, "ERFINDER");
form = MMalloc(&frame, 5, FIELD, ERFINDER, v_erfinder);
MMval_field(form, NF);
MMvarc(form, erfinder, (char *) 0);
form = MMalloc(&frame, 5, FIELD, ERFINDER, v_erfinder);
MMin_field(form, NF, NF, 0);
MMvarc(form, erfinder, (char *) 0);
form = MMalloc(&frame, 6, 1, 4, (char *) 0);
MMout_field(form, "JAHR");
form = MMalloc(&frame, 6, FIELD, JAHR, v_jahr);
MMval_field(form, NF);
MMvarc(form, jahr, (char *) 0);
form = MMalloc(&frame, 6, FIELD, JAHR, v_jahr);
MMin_field(form, NF, NF, 0);
MMvarc(form, jahr, (char *) 0);
form = MMalloc(&frame, 7, 1, 4, (char *) 0);
MMout_field(form, "LAND");
form = MMalloc(&frame, 7, FIELD, LAND, v_land);
MMval_field(form, NF);
MMvarc(form, land, (char *) 0);
form = MMalloc(&frame, 7, FIELD, LAND, v_land);
MMin_field(form, NF, NF, 0);
MMvarc(form, land, (char *) 0);
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 erfind
MMform(frame);
## close erfind
MMfree(&frame);
MMexit_form(1);
return (0);
}