HP Data Entry and Forms Management System (VPLUS) Reference Manual (32209-90024)
Appendix A 419
SAMPLE PROGRAMS
SPL
$PAGE
<< INITIALIZE COMAREA; IS ALL 0’S TO START >>
COM’LANGUAGE := SPL’LANG;
COM’COMAREALEN := COMAREALEN;
<< SET COM’LABEL’OPTION TO 1 TO ENABLE FUNCTION KEY LABEL >>
<< SUPPORT FOR TERMINALS SUPPORTING FUNCTION KEY LABELS >>
COM’LABEL’OPTION := 1;
<< Set form storage buffer size (2626 terminal only) to 4 >>
COM’FORM’STOR’SIZE := 4;
BATCH := TRUE; << INIT >>
PRINT’TO’TERM (PRODUCT’ID, %60); << ENTRY IDENTIFICATION >>
WHILE TRUE DO
BEGIN
DO << UNTIL COM’STATUS = 0 >>
BEGIN
COM’STATUS := 0;
PRINT’TO’TERM (GET’FF’NAME, %320);
READ’LEN := READ’FROM’TERM (FILENAME, FILENAMELEN);
IF READ’LEN = 0 THEN << ALL DONE >>
TERMINATE;
VOPENFORMF (COMAREA, FILENAME);
IF COM’STATUS <> 0 THEN
WRITE’MSG; << WRITES VERRMSG >>
END
UNTIL COM’STATUS = 0; << KEEP GOING TILL OK >>
<< NOW, OPEN BATCH FILE >>
PRINT’TO’TERM (GET’BF’NAME, %320);
READ’LEN := READ’FROM’TERM (FILENAME, FILENAMELEN);
IF READ’LEN = 0 OR FILENAME = " " THEN << NO BATCH FILE! >>
BATCH := FALSE << ALL OK >>
ELSE
BEGIN
VOPENBATCH (COMAREA, FILENAME);
IF COM’STATUS <> 0 THEN
IF COM’STATUS = VERSIONS’DIFF OR
COM’STATUS = DIF’FF THEN
BEGIN
PRINT’TO’TERM ((IF COM’STATUS=DIF’FF THEN DIF’FF’WARN
ELSE VERS’DIF’WARN), 0);
PRINT’TO’TERM (Y’TO’CONT, %320);
READ’LEN := READ’FROM’TERM (MESSAGE,BUF, 1);
IF READ’LEN > 0 THEN
IF READ’LEN=1 AND (MESSAGE’BUF = "Y" OR
MESSAGE’BUF = "y") THEN
COM’STATUS := 0; << GO AHEAD >>
END
ELSE << IS REAL ERROR >>
WRITE’MSG;
END;