contents.gifindex.gifprev1.gifnext1.gif

Oscars Sample

The CGI program, "oscars," is designed to return the names of actors and actresses who won Oscar awards in a specified year. It is written completely in ACUCOBOL-GT. Notice the definition of external form items in the working storage section of this program. Notice also that the ACCEPT statement in the main logic section ACCEPTs these external form items, and that the DISPLAY statement defines the HTML templates to be used: "HTML-header-form," "HTML-footer-form," and "body-para." The contents of these templates follows.

identification division.

program-id. oscars.
remarks.
working-storage section.
01 cgi-form is external-form.
05 y1996 pic x(5) is identified by "y1996".
05 y1995 pic x(5) is identified by "y1995".
05 y1994 pic x(5) is identified by "y1994".
05 y1993 pic x(5) is identified by "y1993".
05 y1992 pic x(5) is identified by "y1992".

01 cgi-form-table redefines cgi-form.
05 cgi-year pic x(5) occurs 5 times.

01 html-header-form is external-form identified by "header".
05 opening-message pic x(40).

01 html-body-form is external-form identified by "body".
05 ryear pic x(5).
05 html-oscar-info.
10 rmovie pic x(25).
10 ractor pic x(42).
10 ractress pic x(42).

01 html-footer-form is external-form identified by "footer".
05 closing-message pic x(40).

01 movie-values.
05 1996-oscar.
10 movie pic x(25) value "THE ENGLISH PATIENT".
10 actor pic x(42) value "Geoffrey Rush SHINE".
10 actress pic x(42) value "Frances McDormand FARGO".
05 1995-oscar.
10 movie pic x(25) value "BRAVEHEART".
10 actor pic x(42) value "Nicolas Gage LEAVING LAS VEGAS".
10 actress pic x(42) value "Susan Sarandon DEAD MAN WALKING".
05 1994-oscar.
10 movie pic x(25) value "FORREST GUMP".
10 actor pic x(42) value "Tom Hanks FORREST GUMP".
10 actress pic x(42) value "Jessica Lange BLUE SKY".
05 1993-oscar.
10 movie pic x(25) value "SCHINDLERS'S LIST".
10 actor pic x(42) value "Tom Hanks PHILADELPHIA".
10 actress pic x(42) value "Holly Hunter THE PIANO".
05 1992-oscar.
10 movie pic x(25) value "UNFORGIVEN".
10 actor pic x(42) value "Al Pacino SCENT OF A WOMAN".
10 actress pic x(42) value "Emma Thompson HOWARDS END".

01 movie-table redefines movie-values occurs 5 times.
05 oscar-winners.
10 best-movie pic x(25).
10 best-actor pic x(42).
10 best-actress pic x(42).
01 various-counters.
05 idx-1 pic 99 value 1.

procedure division.
main-logic.
accept cgi-form.
if cgi-form = space
move "You did not select any years!" to opening-message
display html-header-form
move "Back up and try again." to closing-message
else
move "Acucorp CGI in action." to opening-message
display html-header-form
perform display-body-para
move "THE END." to closing-message
end-if.
display html-footer-form.
stop run.

display-body-para.
perform varying idx-1 from 1 by 1 until idx-1 > 12
if cgi-year(idx-1) = space
continue
else
move cgi-year(idx-1) to ryear
move movie-table(idx-1) to html-oscar-info
display html-body-form
end-if
end-perform.
Header.htm
<HTML><HEAD><TITLE>ACUCOBOL-GT CGI Header</TITLE></HEAD>
<BODY>
<H2>%%opening-message%%</H2>
<CENTER><H1>Oscar Winners</H1>
<HR>
<TABLE border cellspacing=0 cellpadding=5>
<TR>
<TH colspan=4 align=center>Your Selections</TH>
</TR>
<TR align=center>
<TH>Year</TH>
<TH>Best Movie</TH>
<TH>Best Actor</TH>
<TH>Best Actress</TH>
</TR>
Footer.htm
</TABLE>
</CENTER>
<H2>%%closing-message%%</H2>
<HR>
<P>The information you requested was processed by the ACUCOBOL-GT CGI program.
<BR>Following the CGI standard, ACUCOBOL-GT 4.0 was able to send <BR>the requested data items to the appropriate templates and <BR>return the completed HTML document back to you.</P>
</BODY></HTML>
Body.htm
<TR align=center>
<TD>%%ryear%%</TD>
<TD>%%rmovie%%</TD>
<TD>%%ractor%%</TD>
<TD>%%ractress%%</TD>
</TR>
Oscar.htm
<HTML>
<HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=windows-1252">
<META NAME="Generator" CONTENT="Microsoft Word 97">
<TITLE>ACUCOBOL-GT CGI Example</TITLE>
<META NAME="Template" CONTENT="C:\PROGRAM FILES\MICROSOFT OFFICE\OFFICE\html.dot">
</HEAD>
<BODY LINK="#0000ff" VLINK="#800080">
<H2>ACUCOBOL-GT CGI Example using ACUCOBOL-GT 4.0.</H2>
<H3>This example shows how easily you can use ACUCOBOL-GT 4.0 to act as a CGI program. <BR>
User input is transferred from the following HTML page to a ACUCOBOL-GT 4.0 program running <BR>
on the web server. The appropriate output is returned.</H3>
<P><HR></P>
<H1 ALIGN="CENTER">Oscar Trivia</H1>
<P>Select a year(s)and press the Submit Query button. <BR>
The Best Picture, Best Actor and Best Actress for each year selected will be returned. </P>
<FORM ACTION="http://your_server_name/Scripts/oscars.acu" METHOD="post">
<P>Year: </P>
<P>
<INPUT TYPE="checkbox" NAME="y1996" VALUE="1996">
1996
<INPUT TYPE="checkbox" NAME="y1995" VALUE="1995">
1995
<INPUT TYPE="checkbox" NAME="y1994" VALUE="1994">
1994
<INPUT TYPE="checkbox" NAME="y1993" VALUE="1993">
1993
<INPUT TYPE="checkbox" NAME="y1992" VALUE="1992">
1992
<P>
<INPUT TYPE="submit" VALUE="Submit Query" >
</P></FORM></BODY>
</HTML>
See Also
int90002.gif Hello User Sample
int90002.gif Substituting an URL Sample