quote " 1 1 1 Boolean Character Left False 1 10 1 UnsignedDecimal Character Left False 80 1 1 String Character Left False 200 1 1 String Character Left False 1 1 1 Boolean Character Left False 10 1 1 String Character Left False 1 1 1 Boolean Character Left False order_date 10 1 1 DateTime Character DD/MM/CCYY Left False 5 1 1 UnsignedDecimal Long Integer 0 Left False 5 1 1 UnsignedDecimal Integer Left False part id Part ID 3 1 1 String Character Left False group Group ID 1 1 1 String Character Left False 1 1 1 String Character Left False 25 1 1 String Character Left False desc Description 8 1 1 UnsignedDecimal Single Precision Number 2 Left 0 False price Price 10 1 1 Date Date DD/MM/CCYY Left False True True stocksql False False False part_id Ascending group_id Ascending desc Ascending 3 1 Part Id Text True Ascending 2 Description Text False None 3 Price Text False None 2 1 Group Id Text True Ascending 2 Description Text False None CLEAR TABLE parts CLEAR CONTAINER frame_main CLEAR TABLE groups CLEAR CONTAINER frame_main DISPLAY ALL CLEAR TABLE groups SCREEN Groups CONTAINER frame_main SOURCE groups_include DISPLAY ALL MESSAGE "Group can be updated." CLEAR TABLE parts SCREEN Parts CONTAINER frame_main SOURCE parts_include DISPLAY ALL MESSAGE "Part can be updated." RESPONSE DATAREF V-Response LET V-Response = "<html><head><title>Listje</title></head><body><h1>LIST</h1><p>1 2 3 ... it works</p></body></html>" RESPONSE TXT "buf" CLEAR TEXTDOC "buf" TEXT APPEND "buf" VALUE "<html>" NEWLINE() TEXT APPEND "buf" VALUE "<head><title>List</title></head>" NEWLINE() TEXT APPEND "buf" VALUE "<body>" NEWLINE() TEXT APPEND "buf" VALUE "<h1>LIST</h1>" NEWLINE() TEXT APPEND "buf" VALUE "<p>1 2 3 hello there!!</p>" NEWLINE() TEXT APPEND "buf" VALUE "<p>and the next line</p>" NEWLINE() TEXT APPEND "buf" VALUE "<p>" NEWLINE() TEXT APPEND "buf" VALUE WEBPARAMETER("aa") NEWLINE() TEXT APPEND "buf" VALUE "</p>" NEWLINE() TEXT APPEND "buf" VALUE "</body>" NEWLINE() TEXT APPEND "buf" VALUE "</html>" NEWLINE() LIST GET parts VALUE G-part_id.Search COLNO 1 DISPLAY entry_filter IF G-part_id.Search = "*" ERROR "Please enter a valid Part Id." RETURN ENDIF IF G-part_id.Search = "" ERROR "Please enter a valid Part Id." RETURN ENDIF LET F-part_id.parts = G-part_id.Search LET V-Accept = "Y" CONTROL commit CALL PartsApply CLEAR TABLE parts CLEAR CONTAINER frame_main CALL GroupsApply CLEAR TABLE groups CLEAR CONTAINER frame_main LIST GET groups VALUE G-group_id.Search COLNO 1 DISPLAY entry_filter IF G-group_id.Search = "*" ERROR "Please enter a valid Group Id." RETURN ENDIF IF G-group_id.Search = "" ERROR "Please enter a valid Group Id." RETURN ENDIF LET F-group_id.groups = G-group_id.Search LET V-Accept = "Y" CONTROL commit SQL DISCONNECT stock CONTROL logout CLEAR LISTSTORE parts SQL QUERY stock COMMAND "SELECT * FROM Parts" DATAMODEL Parts IF SQLSTATUS() <> 0 RETURN ENDIF FOREACH Parts LET L-price = M-price.Parts LIST APPEND parts VALUE CLIP(M-part_id.Parts) CLIP(M-desc.Parts) CLIP(L-price) ENDFOR DISPLAY part_search_list LET V-Accept = "N" LET G-group_id.Search = "*" SCREEN GroupSearch IF V-Accept = "Y" DISPLAY group_id ENDIF CLEAR LISTSTORE groups SQL QUERY stock COMMAND "SELECT * FROM Groups" DATAMODEL Groups IF SQLSTATUS() <> 0 RETURN ENDIF FOREACH Groups LIST APPEND groups VALUE CLIP(M-group_id.Groups) CLIP(M-desc.Groups) ENDFOR DISPLAY group_search_list LET V-IsPresent_groups = "N" DATAMODEL SELECT Groups TABLE groups CONDITION "where group_id = '" F-group_id.groups "'" IF DATAMODELSTATUS() <> 0 ERROR "Can not read Group." RETURN ENDIF IF SQLRETURN() = 0 LET V-IsPresent_groups = "N" LET L-group_id = F-group_id.groups CLEAR RECORD groups LET F-group_id.groups = L-group_id DISPLAY ALL MESSAGE "New Group can be inserted." ELSE LET V-IsPresent_groups = "Y" FOREACH Groups LET R-groups = O-Groups BREAK ENDFOR DISPLAY ALL MESSAGE "Group can be updated." ENDIF LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer LET L-group_id = WEBPARAMETER("group_id") CALL W_Header TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><H3>Modify Group</H3>" NEWLINE() SQL CONNECT stock SQL QUERY stock COMMAND "select * from Groups where group_id = '" L-group_id "'" DATAMODEL Groups IF SQLSTATUS() <> 0 TEXT APPEND V-WBuffer VALUE "<tr><td>" "<b>Group not on file.</b>" "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() CALL W_Footer SQL DISCONNECT stock RETURN ENDIF IF SQLRETURN() > 0 FOREACH Groups LET R-groups = O-Groups BREAK ENDFOR TEXT APPEND V-WBuffer VALUE "<B>Group ID : " F-group_id.groups "</B>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WGrpMod2>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=hidden name=group_id size=20 maxlength=5 value=" L-group_id "></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Description:</p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=text name=desc size=20 maxlength=25 value='" F-desc.groups "'></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=submit value=Save...></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</form>" NEWLINE() ELSE TEXT APPEND V-WBuffer VALUE "<tr><td>" "<b>Group not on file.</b>" "</td></tr>" NEWLINE() ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() CALL W_Footer SQL DISCONNECT stock LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer LET L-part_id = WEBPARAMETER("part_id") CALL W_Header SQL CONNECT stock SQL QUERY stock COMMAND "select * from Parts where part_id = '" L-part_id "'" DATAMODEL Parts IF SQLSTATUS() <> 0 TEXT APPEND V-WBuffer VALUE "<tr><td>" "<b>Part not on file.</b>" "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() CALL W_Footer SQL DISCONNECT stock RETURN ENDIF IF SQLRETURN() > 0 FOREACH Parts LET R-parts = O-Parts BREAK ENDFOR TEXT APPEND V-WBuffer VALUE "<B>Part ID : " F-part_id.parts "</B>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartMod2>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=hidden name=part_id size=20 maxlength=5 value=" L-part_id "></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Description:</p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=text name=desc size=20 maxlength=25 value='" F-desc.parts "'></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Group:</p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=text name=group_id size=20 maxlength=5 value='" F-group_id.parts "'></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Price:</p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=text name=price size=20 maxlength=10 value='" F-price.parts "'></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Stock:</p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=text name=stock size=20 maxlength=5 value='" F-stock.parts "'></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p><input type=submit value=Save...></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</form>" NEWLINE() ELSE TEXT APPEND V-WBuffer VALUE "<tr><td>" "<b>Part not on file.</b>" "</td></tr>" NEWLINE() ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() CALL W_Footer SQL DISCONNECT stock SQL CONNECT stock SCREEN Main SQL DISCONNECT stock CONTROL exit LET L-part_id = WEBPARAMETER("part_id") LET L-desc = WEBPARAMETER("desc") LET L-group_id = WEBPARAMETER("group_id") LET L-price = WEBPARAMETER("price") LET L-stock = WEBPARAMETER("stock") SQL CONNECT stock SQL ACTION stock COMMAND "update Parts set " C-quote "desc" C-quote " ='" CLIP(L-desc) "' ,group_id='" L-group_id "',price='" L-price "',stock= '" CLIP(L-stock) "' where part_id ='" L-part_id "'" SQL DISCONNECT stock CALL WPartDet LET L-group_id = WEBPARAMETER("group_id") LET L-desc = WEBPARAMETER("desc") SQL CONNECT stock SQL ACTION stock COMMAND "update Groups set " C-quote "desc" C-quote " ='" L-desc "' where group_id = '" L-group_id "'" SQL DISCONNECT stock CALL WGrpDet LET V-Accept = "N" LET G-part_id.Search = "*" SCREEN PartSearch IF V-Accept = "Y" DISPLAY part_id ENDIF LET V-IsPresent_parts = "N" DATAMODEL SELECT Parts TABLE parts CONDITION "where part_id = '" F-part_id.parts "'" IF DATAMODELSTATUS() <> 0 ERROR "Can not read Part." RETURN ENDIF IF SQLRETURN() = 0 LET V-IsPresent_parts = "N" LET L-part_id = F-part_id.parts CLEAR RECORD parts LET F-part_id.parts = L-part_id DISPLAY ALL MESSAGE "New Part can be inserted." ELSE LET V-IsPresent_parts = "Y" FOREACH Parts LET R-parts = O-Parts BREAK ENDFOR DISPLAY ALL MESSAGE "Part can be updated." ENDIF IF V-IsPresent_groups = "N" ERROR "No group loaded." RETURN ENDIF ERROR "Are you sure you want to remove group: " CLIP(F-group_id.groups) "?" SEVERITY Question IF ERRORRETURN() <> 0 RETURN ENDIF LET O-Groups = R-groups DATAMODEL REMOVE Groups IF DATAMODELSTATUS() <> 0 ERROR "Error removing Groups." RETURN ENDIF LET V-IsPresent_groups = "N" CLEAR RECORD groups DISPLAY ALL MESSAGE "Group has been removed." IF V-IsPresent_parts = "N" ERROR "No part loaded." RETURN ENDIF ERROR "Are you sure you want to remove part: " CLIP(F-part_id.parts) "?" SEVERITY Question IF ERRORRETURN() <> 0 RETURN ENDIF LET O-Parts = R-parts DATAMODEL REMOVE Parts IF DATAMODELSTATUS() <> 0 ERROR "Error removing Parts." RETURN ENDIF LET V-IsPresent_parts = "N" CLEAR RECORD parts DISPLAY ALL MESSAGE "Part has been removed." LET L-start_date = "10/02/2005" ERROR L-start_date RETURN IF V-IsPresent_parts = "Y" COMMENT SQL ACTION stock COMMAND "update Parts set " C-quote "desc" C-quote " ='" F-desc.parts "' ,group_id='" F-group_id.parts "',price='" F-price.parts "',stock= '" F-stock.parts "' where part_id ='" F-part_id.parts "'" LET O-Parts = R-parts DATAMODEL UPDATE Parts ELSE COMMENT SQL ACTION stock COMMAND "insert into Parts values ( '" F-part_id.parts "','" F-desc.parts "','" F-group_id.parts "','" F-price.parts "','" F-stock.parts "' )" LET O-Parts = R-parts DATAMODEL APPEND Parts ENDIF IF DATAMODELSTATUS() <> 0 ERROR "Error updating Parts." COMMENT ERROR SQLINFO() RETURN ENDIF MESSAGE "Part has been updated." LET V-IsPresent_parts = "Y" IF V-IsPresent_parts = "Y" LET O-Parts = R-parts DATAMODEL UPDATE Parts ELSE LET O-Parts = R-parts DATAMODEL APPEND Parts ENDIF IF DATAMODELSTATUS() <> 0 ERROR "Error updating Parts." COMMENT ERROR SQLINFO() RETURN ENDIF MESSAGE "Part has been updated." LET V-IsPresent_parts = "Y" IF V-IsPresent_groups = "Y" LET O-Groups = R-groups DATAMODEL UPDATE Groups ELSE LET O-Groups = R-groups DATAMODEL APPEND Groups ENDIF IF DATAMODELSTATUS() <> 0 ERROR "Error updating Groups." RETURN ENDIF MESSAGE "Group has been updated." LET V-IsPresent_groups = "Y" TEXT APPEND V-WBuffer VALUE "<HTML><HEAD><TITLE>Stock</TITLE><link rel='stylesheet' type='text/css' href='/prolinga-web/css/stock.css'>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<META HTTP-EQUIV='pragma' CONTENT='no-cache'>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</HEAD><BODY topmargin=0 leftmargin=0>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><TBODY>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD class=appnheader width=100% height=58><P class=appntitle>Stock Application</P></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TR><TD colspan=2>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TABLE><TR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WMain&format=HTML>Main</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartLst&group_id=ALL&format=HTML>Parts List</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartDet&format=HTML>Part Detail</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpLst&format=HTML>Groups List</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpDet&format=HTML>Group Detail</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartRep&format=HTML>Parts Report</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpRep&format=HTML>Groups Report</A></TD>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TR></TABLE>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TD></TR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TD colspan= 2 vAlign=top>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<!--End header-->" NEWLINE() 2008-03-10T12:14:57Z TEXT APPEND V-WBuffer VALUE "<!--Start footer--></TD></TR><TR><TD colspan=2 align=right bgcolor='#FFFFFF'><HR>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<P class=xsmall><A HREF=http://www.prolinga.org>ProLinga</A> Web Demonstration Application. </P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<P class=xxsmall>" DATE() "&nbsp;-&nbsp;" TIME() "</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TD></TR></TABLE></BODY></HTML>" NEWLINE() 2008-03-10T12:15:25Z LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer CALL W_Header TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Groups</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>List of Groups</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr class=tableheader><td>Group Id</td><td>Description</td></tr>" NEWLINE() LET L-WAlternate = "N" SQL CONNECT stock SQL QUERY stock COMMAND "select * from groups" DATAMODEL Groups IF SQLSTATUS() = 0 FOREACH Groups IF L-WAlternate = "Y" TEXT APPEND V-WBuffer VALUE "<tr class=row>" NEWLINE() LET L-WAlternate = "N" ELSE TEXT APPEND V-WBuffer VALUE "<tr class=rowalt>" NEWLINE() LET L-WAlternate = "Y" ENDIF TEXT APPEND V-WBuffer VALUE "<td><A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpDet&group_id=" M-group_id.Groups "&format=HTML>" M-group_id.Groups "</A></td>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<td>" M-desc.Groups "</td></tr>" NEWLINE() ENDFOR ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</td></tr></TABLE>" NEWLINE() SQL DISCONNECT stock CALL W_Footer 2008-03-10T12:30:50Z LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer CALL W_Header TEXT APPEND V-WBuffer VALUE "<P class=functitle>Main<P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<P>Please select an option from the menu:<P>" NEWLINE() CALL W_Footer 2008-03-10T12:31:27Z LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer LET L-group_id = WEBPARAMETER("group_id") IF L-group_id = "" LET L-group_id = "ALL" ENDIF CLEAR TEXTDOC V-WBuffer CALL W_Header TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Parts</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Current Selection: <b> " L-group_id "</b></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartLst>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Selection:" NEWLINE() TEXT APPEND V-WBuffer VALUE "<select name=group_id><option selected>ALL</option>" NEWLINE() SQL CONNECT stock SQL QUERY stock COMMAND "select * from groups" DATAMODEL Groups IF SQLSTATUS() = 0 FOREACH Groups TEXT APPEND V-WBuffer VALUE "<option>" M-group_id.Groups "</option>" NEWLINE() ENDFOR ENDIF TEXT APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</form></TABLE>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td colspan=5 class=tabletitle>List of Parts</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr class=tableheader><td>Part Id</td><td>Description</td><td>Group</td><td>Price</td><td>Stock</td></tr>" NEWLINE() LET L-WAlternate = "Y" IF L-group_id = "ALL" SQL QUERY stock COMMAND "select * from parts order by part_id" DATAMODEL Parts ELSE SQL QUERY stock COMMAND "select * from parts where group_id = '" L-group_id "'" DATAMODEL Parts ENDIF IF SQLSTATUS() = 0 FOREACH Parts IF L-WAlternate = "Y" TEXT APPEND V-WBuffer VALUE "<tr class=row>" NEWLINE() LET L-WAlternate = "N" ELSE TEXT APPEND V-WBuffer VALUE "<tr class=rowalt>" NEWLINE() LET L-WAlternate = "Y" ENDIF TEXT APPEND V-WBuffer VALUE "<td><A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartDet&part_id=" M-part_id.Parts "&format=HTML>" M-part_id.Parts "</A></td>" NEWLINE() LET L-price = M-price.Parts TEXT APPEND V-WBuffer VALUE "<td>" M-desc.Parts "</td><td>" M-group_id.Parts "</td><td align='right'>" CLIPPED(L-price) "</td><td align='right'>" M-stock.Parts "</td></tr>" NEWLINE() ENDFOR ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</td></tr></TABLE>" NEWLINE() CALL W_Footer SQL DISCONNECT stock 2008-03-10T12:47:50Z LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer LET L-part_id = WEBPARAMETER("part_id") CALL W_Header TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Part Details</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartDet>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Enter an id to retrieve part details:" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input name=part_id size=12 maxlength=5 value=" L-part_id ">" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</form>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<HR>" NEWLINE() SQL CONNECT stock SQL QUERY stock COMMAND "select * from Parts where part_id = '" L-part_id "'" DATAMODEL Parts IF SQLSTATUS() <> 0 TEXT APPEND V-WBuffer VALUE "<P>Error accessing data.</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() CALL W_Footer SQL DISCONNECT stock RETURN ENDIF IF SQLRETURN() > 0 FOREACH Parts LET F-part_id.parts = M-part_id.Parts LET F-desc.parts = M-desc.Parts LET F-group_id.parts = M-group_id.Parts LET F-stock.parts = M-stock.Parts LET F-price.parts = M-price.Parts BREAK ENDFOR TEXT APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td vAlign='bottom'><B>" F-part_id.parts "</B>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>" "Description: " F-desc.parts "</td>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<td>" "<img src='/prolinga-web/images/cd.png'>" "</td></tr><tr><td>&nbsp;</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>" "Details" "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Group: " "</td><td class=cellul>" F-group_id.parts "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Price: " "</td><td class=cellul>" F-price.parts "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Stock: " "</td><td class=cellul>" F-stock.parts "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartMod&part_id=" F-part_id.parts "&format=HTML>Modify Part</A>" NEWLINE() ELSE TEXT APPEND V-WBuffer VALUE "<P>Part does not exist</P>" NEWLINE() ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() CALL W_Footer SQL DISCONNECT stock 2008-03-15T12:09:14Z LET V-WBuffer = "buf" RESPONSE TXT V-WBuffer CLEAR TEXTDOC V-WBuffer LET L-group_id = WEBPARAMETER("group_id") CALL W_Header TEXT APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Group Details</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WGrpDet>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>Enter an id to retrieve group details:" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input name=group_id size=12 maxlength=5 value=" L-group_id ">" NEWLINE() TEXT APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</form>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<HR>" NEWLINE() SQL CONNECT stock SQL QUERY stock COMMAND "select * from Groups where group_id = '" L-group_id "'" DATAMODEL Groups IF SQLSTATUS() <> 0 TEXT APPEND V-WBuffer VALUE "<P>Error accessing data.</P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() CALL W_Footer SQL DISCONNECT stock RETURN ENDIF IF SQLRETURN() > 0 FOREACH Groups LET F-group_id.groups = M-group_id.Groups LET F-desc.groups = M-desc.Groups BREAK ENDFOR TEXT APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td vAlign='bottom'><B>" F-group_id.groups "</B>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<p>" "Description: " F-desc.groups "</td>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<td>" "<img src='/prolinga-web/images/cd.png'>" "</td></tr><tr><td>&nbsp;</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>" "Details" "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<tr><td>" "No further details" "</td><td>" "</td></tr>" NEWLINE() TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() TEXT APPEND V-WBuffer VALUE "<A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpMod&group_id=" F-group_id.groups "&format=HTML>Modify Group</A>" NEWLINE() ELSE TEXT APPEND V-WBuffer VALUE "<P>Group does not exist</P>" NEWLINE() ENDIF TEXT APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() CALL W_Footer SQL DISCONNECT stock 2008-03-15T12:13:25Z Sizes Sizes Small Medium Large CHR LGH TBL True False groups record Groups Record. group_id desc part record Part Record. part_id desc group_id price stock TXT "buf" TEXTDOC "buf" APPEND "buf" VALUE "<html>" NEWLINE() APPEND "buf" VALUE "<head><title>List</title></head>" NEWLINE() APPEND "buf" VALUE "<body>" NEWLINE() APPEND "buf" VALUE "<h1>LIST</h1>" NEWLINE() APPEND "buf" VALUE "<p>1 2 3 hello there!!</p>" NEWLINE() APPEND "buf" VALUE "<p>and the next line</p>" NEWLINE() APPEND "buf" VALUE "<p>" NEWLINE() APPEND "buf" VALUE WEBPARAMETER("aa") NEWLINE() APPEND "buf" VALUE "</p>" NEWLINE() APPEND "buf" VALUE "</body>" NEWLINE() APPEND "buf" VALUE "</html>" NEWLINE() GET parts VALUE G-part_id.Search COLNO 1 entry_filter G-part_id.Search = "*" "Please enter a valid Part Id." G-part_id.Search = "" "Please enter a valid Part Id." F-part_id.parts = G-part_id.Search V-Accept = "Y" commit TABLE parts CONTAINER frame_main TABLE groups CONTAINER frame_main PartsApply TABLE parts CONTAINER frame_main GroupsApply TABLE groups CONTAINER frame_main ALL GET groups VALUE G-group_id.Search COLNO 1 entry_filter G-group_id.Search = "*" "Please enter a valid Group Id." G-group_id.Search = "" "Please enter a valid Group Id." F-group_id.groups = G-group_id.Search V-Accept = "Y" commit TABLE groups Groups CONTAINER frame_main SOURCE groups_include ALL "Group can be updated." TABLE parts Parts CONTAINER frame_main SOURCE parts_include ALL "Part can be updated." DATAREF V-Response V-Response = "<html><head><title>Listje</title></head><body><h1>LIST</h1><p>1 2 3 ... it works</p></body></html>" DISCONNECT stock logout LISTSTORE parts QUERY stock COMMAND "SELECT * FROM Parts" DATAMODEL Parts SQLSTATUS() <> 0 Parts L-price = M-price.Parts APPEND parts VALUE CLIP(M-part_id.Parts) CLIP(M-desc.Parts) CLIP(L-price) part_search_list V-Accept = "N" G-group_id.Search = "*" GroupSearch V-Accept = "Y" group_id LISTSTORE groups QUERY stock COMMAND "SELECT * FROM Groups" DATAMODEL Groups SQLSTATUS() <> 0 Groups APPEND groups VALUE CLIP(M-group_id.Groups) CLIP(M-desc.Groups) group_search_list V-IsPresent_groups = "N" SELECT Groups TABLE groups CONDITION "where group_id = '" F-group_id.groups "'" DATAMODELSTATUS() <> 0 "Can not read Group" SQLRETURN() = 0 V-IsPresent_groups = "N" L-group_id = F-group_id.groups RECORD groups F-group_id.groups = L-group_id ALL "New Group can be inserted." V-IsPresent_groups = "Y" Groups R-groups = O-Groups ALL "Group can be updated." V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer L-group_id = WEBPARAMETER("group_id") W_Header APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><H3>Modify Group</H3>" NEWLINE() CONNECT stock QUERY stock COMMAND "select * from Groups where group_id = '" L-group_id "'" DATAMODEL Groups SQLSTATUS() <> 0 APPEND V-WBuffer VALUE "<tr><td>" "<b>Group not on file.</b>" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() W_Footer DISCONNECT stock SQLRETURN() > 0 Groups R-groups = O-Groups APPEND V-WBuffer VALUE "<B>Group ID : " F-group_id.groups "</B>" NEWLINE() APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WGrpMod2>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=hidden name=group_id size=20 maxlength=5 value=" L-group_id "></p>" NEWLINE() APPEND V-WBuffer VALUE "<p>Description:</p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=text name=desc size=20 maxlength=25 value='" F-desc.groups "'></p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=submit value=Save...></p>" NEWLINE() APPEND V-WBuffer VALUE "</form>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td>" "<b>Group not on file.</b>" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() W_Footer DISCONNECT stock V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer L-part_id = WEBPARAMETER("part_id") W_Header CONNECT stock QUERY stock COMMAND "select * from Parts where part_id = '" L-part_id "'" DATAMODEL Parts SQLSTATUS() <> 0 APPEND V-WBuffer VALUE "<tr><td>" "<b>Part not on file.</b>" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() W_Footer DISCONNECT stock SQLRETURN() > 0 Parts R-parts = O-Parts APPEND V-WBuffer VALUE "<B>Part ID : " F-part_id.parts "</B>" NEWLINE() APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartMod2>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=hidden name=part_id size=20 maxlength=5 value=" L-part_id "></p>" NEWLINE() APPEND V-WBuffer VALUE "<p>Description:</p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=text name=desc size=20 maxlength=25 value='" F-desc.parts "'></p>" NEWLINE() APPEND V-WBuffer VALUE "<p>Group:</p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=text name=group_id size=20 maxlength=5 value='" F-group_id.parts "'></p>" NEWLINE() APPEND V-WBuffer VALUE "<p>Price:</p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=text name=price size=20 maxlength=10 value='" F-price.parts "'></p>" NEWLINE() APPEND V-WBuffer VALUE "<p>Stock:</p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=text name=stock size=20 maxlength=5 value='" F-stock.parts "'></p>" NEWLINE() APPEND V-WBuffer VALUE "<p><input type=submit value=Save...></p>" NEWLINE() APPEND V-WBuffer VALUE "</form>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td>" "<b>Part not on file.</b>" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() W_Footer DISCONNECT stock CONNECT stock Main DISCONNECT stock exit L-part_id = WEBPARAMETER("part_id") L-desc = WEBPARAMETER("desc") L-group_id = WEBPARAMETER("group_id") L-price = WEBPARAMETER("price") L-stock = WEBPARAMETER("stock") CONNECT stock ACTION stock COMMAND "update Parts set " C-quote "desc" C-quote " ='" L-desc "' ,group_id='" L-group_id "',price='" L-price "',stock= '" L-stock "' where part_id ='" L-part_id "'" DISCONNECT stock WPartDet L-group_id = WEBPARAMETER("group_id") L-desc = WEBPARAMETER("desc") CONNECT stock ACTION stock COMMAND "update Groups set " C-quote "desc" C-quote " ='" L-desc "' where group_id = '" L-group_id "'" DISCONNECT stock WGrpDet V-Accept = "N" G-part_id.Search = "*" PartSearch V-Accept = "Y" part_id V-IsPresent_parts = "N" SELECT Parts TABLE parts CONDITION "where part_id = '" F-part_id.parts "'" DATAMODELSTATUS() <> 0 "Can not read Part." SQLRETURN() = 0 V-IsPresent_parts = "N" L-part_id = F-part_id.parts RECORD parts F-part_id.parts = L-part_id ALL "New Part can be inserted." V-IsPresent_parts = "Y" Parts R-parts = O-Parts ALL "Part can be updated." V-IsPresent_groups = "N" "No group loaded." "Are you sure you want to remove group: " CLIP(F-group_id.groups) "?" SEVERITY Question ERRORRETURN() <> 0 O-Groups = R-groups REMOVE Groups DATAMODELSTATUS() <> 0 "Error removing Groups." V-IsPresent_groups = "N" RECORD groups ALL "Group has been removed." V-IsPresent_parts = "N" "No part loaded." "Are you sure you want to remove part: " CLIP(F-part_id.parts) "?" SEVERITY Question ERRORRETURN() <> 0 O-Parts = R-parts REMOVE Parts DATAMODELSTATUS() <> 0 "Error removing Parts." V-IsPresent_parts = "N" RECORD parts ALL "Part has been removed." L-start_date = "10/02/2005" L-start_date V-IsPresent_parts = "Y" O-Parts = R-parts UPDATE Parts O-Parts = R-parts APPEND Parts DATAMODELSTATUS() <> 0 "Error updating Parts." "Part has been updated." V-IsPresent_parts = "Y" V-IsPresent_parts = "Y" O-Parts = R-parts UPDATE Parts O-Parts = R-parts APPEND Parts DATAMODELSTATUS() <> 0 "Error updating Parts." "Part has been updated." V-IsPresent_parts = "Y" V-IsPresent_groups = "Y" O-Groups = R-groups UPDATE Groups O-Groups = R-groups APPEND Groups DATAMODELSTATUS() <> 0 "Error updating Groups." "Group has been updated." V-IsPresent_groups = "Y" APPEND V-WBuffer VALUE "<HTML><HEAD><TITLE>Stock</TITLE><link rel='stylesheet' type='text/css' href='/prolinga-web/css/stock.css'>" NEWLINE() APPEND V-WBuffer VALUE "<META HTTP-EQUIV='pragma' CONTENT='no-cache'>" NEWLINE() APPEND V-WBuffer VALUE "</HEAD><BODY topmargin=0 leftmargin=0>" NEWLINE() APPEND V-WBuffer VALUE "<TABLE width=100%><TBODY>" NEWLINE() APPEND V-WBuffer VALUE "<TR>" NEWLINE() APPEND V-WBuffer VALUE "<TD class=appnheader width=100% height=58><P class=appntitle>Stock Application</P></TD>" NEWLINE() APPEND V-WBuffer VALUE "</TR>" NEWLINE() APPEND V-WBuffer VALUE "<TR><TD colspan=2>" NEWLINE() APPEND V-WBuffer VALUE "<TABLE><TR>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WMain&format=HTML>Main</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartLst&group_id=ALL&format=HTML>Parts List</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartDet&format=HTML>Part Detail</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpLst&format=HTML>Groups List</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpDet&format=HTML>Group Detail</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartRep&format=HTML>Parts Report</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "<TD><IMG hspace=2 src='/prolinga-web/images/star.png'><A href=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpRep&format=HTML>Groups Report</A></TD>" NEWLINE() APPEND V-WBuffer VALUE "</TR></TABLE>" NEWLINE() APPEND V-WBuffer VALUE "</TD></TR>" NEWLINE() APPEND V-WBuffer VALUE "<TR>" NEWLINE() APPEND V-WBuffer VALUE "<TD colspan= 2 vAlign=top>" NEWLINE() APPEND V-WBuffer VALUE "<!--End header-->" NEWLINE() APPEND V-WBuffer VALUE "<!--Start footer--></TD></TR><TR><TD colspan=2 align=right bgcolor='#FFFFFF'><HR>" NEWLINE() APPEND V-WBuffer VALUE "<P class=xsmall><A HREF=http://www.prolinga.org>ProLinga</A> Web Demonstration Application. </P>" NEWLINE() APPEND V-WBuffer VALUE "<P class=xxsmall>" DATE() "&nbsp;-&nbsp;" TIME() "</P>" NEWLINE() APPEND V-WBuffer VALUE "</TD></TR></TABLE></BODY></HTML>" NEWLINE() V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer W_Header APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Groups</P>" NEWLINE() APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>List of Groups</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr class=tableheader><td>Group Id</td><td>Description</td></tr>" NEWLINE() L-WAlternate = "N" CONNECT stock QUERY stock COMMAND "select * from groups" DATAMODEL Groups SQLSTATUS() = 0 Groups L-WAlternate = "Y" APPEND V-WBuffer VALUE "<tr class=row>" NEWLINE() L-WAlternate = "N" APPEND V-WBuffer VALUE "<tr class=rowalt>" NEWLINE() L-WAlternate = "Y" APPEND V-WBuffer VALUE "<td><A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpDet&group_id=" M-group_id.Groups "&format=HTML>" M-group_id.Groups "</A></td>" NEWLINE() APPEND V-WBuffer VALUE "<td>" M-desc.Groups "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() APPEND V-WBuffer VALUE "</td></tr></TABLE>" NEWLINE() DISCONNECT stock W_Footer V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer W_Header APPEND V-WBuffer VALUE "<P class=functitle>Main<P>" NEWLINE() APPEND V-WBuffer VALUE "<P>Please select an option from the menu:<P>" NEWLINE() W_Footer V-WBuffer = "buf" TXT V-WBuffer L-group_id = WEBPARAMETER("group_id") L-group_id = "" L-group_id = "ALL" TEXTDOC V-WBuffer W_Header APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Parts</P>" NEWLINE() APPEND V-WBuffer VALUE "<p>Current Selection: <b> " L-group_id "</b></p>" NEWLINE() APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartLst>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() APPEND V-WBuffer VALUE "<p>Selection:" NEWLINE() APPEND V-WBuffer VALUE "<select name=group_id><option selected>ALL</option>" NEWLINE() CONNECT stock QUERY stock COMMAND "select * from groups" DATAMODEL Groups SQLSTATUS() = 0 Groups APPEND V-WBuffer VALUE "<option>" M-group_id.Groups "</option>" NEWLINE() APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() APPEND V-WBuffer VALUE "</form></TABLE>" NEWLINE() APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td colspan=5 class=tabletitle>List of Parts</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr class=tableheader><td>Part Id</td><td>Description</td><td>Group</td><td>Price</td><td>Stock</td></tr>" NEWLINE() L-WAlternate = "Y" L-group_id = "ALL" QUERY stock COMMAND "select * from parts order by part_id" DATAMODEL Parts QUERY stock COMMAND "select * from parts where group_id = '" L-group_id "'" DATAMODEL Parts SQLSTATUS() = 0 Parts L-WAlternate = "Y" APPEND V-WBuffer VALUE "<tr class=row>" NEWLINE() L-WAlternate = "N" APPEND V-WBuffer VALUE "<tr class=rowalt>" NEWLINE() L-WAlternate = "Y" APPEND V-WBuffer VALUE "<td><A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartDet&part_id=" M-part_id.Parts "&format=HTML>" M-part_id.Parts "</A></td>" NEWLINE() L-price = M-price.Parts APPEND V-WBuffer VALUE "<td>" M-desc.Parts "</td><td>" M-group_id.Parts "</td><td align='right'>" CLIPPED(L-price) "</td><td align='right'>" M-stock.Parts "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE>" NEWLINE() APPEND V-WBuffer VALUE "</td></tr></TABLE>" NEWLINE() W_Footer DISCONNECT stock V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer L-part_id = WEBPARAMETER("part_id") W_Header APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Part Details</P>" NEWLINE() APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WPartDet>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() APPEND V-WBuffer VALUE "<p>Enter an id to retrieve part details:" NEWLINE() APPEND V-WBuffer VALUE "<input name=part_id size=12 maxlength=5 value=" L-part_id ">" NEWLINE() APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() APPEND V-WBuffer VALUE "</form>" NEWLINE() APPEND V-WBuffer VALUE "<HR>" NEWLINE() CONNECT stock QUERY stock COMMAND "select * from Parts where part_id = '" L-part_id "'" DATAMODEL Parts SQLSTATUS() <> 0 APPEND V-WBuffer VALUE "<P>Error accessing data.</P>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() W_Footer DISCONNECT stock SQLRETURN() > 0 Parts F-part_id.parts = M-part_id.Parts F-desc.parts = M-desc.Parts F-group_id.parts = M-group_id.Parts F-stock.parts = M-stock.Parts F-price.parts = M-price.Parts APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td vAlign='bottom'><B>" F-part_id.parts "</B>" NEWLINE() APPEND V-WBuffer VALUE "<p>" "Description: " F-desc.parts "</td>" NEWLINE() APPEND V-WBuffer VALUE "<td>" "<img src='/prolinga-web/images/cd.png'>" "</td></tr><tr><td>&nbsp;</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>" "Details" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Group: " "</td><td class=cellul>" F-group_id.parts "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Price: " "</td><td class=cellul>" F-price.parts "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td class=cellul>" "Stock: " "</td><td class=cellul>" F-stock.parts "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() APPEND V-WBuffer VALUE "<A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WPartMod&part_id=" F-part_id.parts "&format=HTML>Modify Part</A>" NEWLINE() APPEND V-WBuffer VALUE "<P>Part does not exist</P>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() W_Footer DISCONNECT stock V-WBuffer = "buf" TXT V-WBuffer TEXTDOC V-WBuffer L-group_id = WEBPARAMETER("group_id") W_Header APPEND V-WBuffer VALUE "<TABLE width=100%><tr><td><P class=functitle>Group Details</P>" NEWLINE() APPEND V-WBuffer VALUE "<form method=post action=/prolinga-cgi/prolingaweb>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=service size=16 value=Runner>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=webcmd size=16 value=RunLogic>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=appn size=16 value=stock>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=name size=16 value=WGrpDet>" NEWLINE() APPEND V-WBuffer VALUE "<input type=hidden name=format size=16 value=HTML>" NEWLINE() APPEND V-WBuffer VALUE "<p>Enter an id to retrieve group details:" NEWLINE() APPEND V-WBuffer VALUE "<input name=group_id size=12 maxlength=5 value=" L-group_id ">" NEWLINE() APPEND V-WBuffer VALUE "<input type=submit value=Run...></p>" NEWLINE() APPEND V-WBuffer VALUE "</form>" NEWLINE() APPEND V-WBuffer VALUE "<HR>" NEWLINE() CONNECT stock QUERY stock COMMAND "select * from Groups where group_id = '" L-group_id "'" DATAMODEL Groups SQLSTATUS() <> 0 APPEND V-WBuffer VALUE "<P>Error accessing data.</P>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() W_Footer DISCONNECT stock SQLRETURN() > 0 Groups F-group_id.groups = M-group_id.Groups F-desc.groups = M-desc.Groups APPEND V-WBuffer VALUE "<TABLE width=100%>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td vAlign='bottom'><B>" F-group_id.groups "</B>" NEWLINE() APPEND V-WBuffer VALUE "<p>" "Description: " F-desc.groups "</td>" NEWLINE() APPEND V-WBuffer VALUE "<td>" "<img src='/prolinga-web/images/cd.png'>" "</td></tr><tr><td>&nbsp;</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td colspan=2 class=tabletitle>" "Details" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "<tr><td>" "No further details" "</td><td>" "</td></tr>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() APPEND V-WBuffer VALUE "<A HREF=/prolinga-cgi/prolingaweb?service=Runner&webcmd=RunLogic&appn=stock&name=WGrpMod&group_id=" F-group_id.groups "&format=HTML>Modify Group</A>" NEWLINE() APPEND V-WBuffer VALUE "<P>Group does not exist</P>" NEWLINE() APPEND V-WBuffer VALUE "</TABLE><P></P>" NEWLINE() W_Footer DISCONNECT stock True Search Part GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False 400 300 True False True False False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST True True False 0 True GTK_BUTTONBOX_END True True True gtk-cancel True GTK_RELIEF_NORMAL True -6 True True True True gtk-ok True GTK_RELIEF_NORMAL True -5 0 False True GTK_PACK_END 10 True False 0 True True GTK_POLICY_ALWAYS GTK_POLICY_ALWAYS GTK_SHADOW_NONE GTK_CORNER_TOP_LEFT True True True False False True 0 True True 10 True False 0 True Filter : False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True True True True 0 True * False 0 True True True True GTK_RELIEF_NORMAL True True 0.5 0.5 0 0 0 0 0 0 True False 2 True gtk-index 4 0.5 0.5 0 0 0 False False True _List True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False 0 False False 0 False True 0 True True False True About ... GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True True False 0 True GTK_BUTTONBOX_END True True True gtk-ok True GTK_RELIEF_NORMAL True -5 0 False True GTK_PACK_END True False 0 True <big><big><b>Stock 1.0</b></big></big> False True GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 15 False False True A demonstration application created by: False False GTK_JUSTIFY_LEFT False False 0.5 0.5 10 0 5 False False True The ProLinga Team False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 5 False False 0 False True False True Test GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER False 400 300 True True True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False 0 True 53 26 True True button1 True GTK_RELIEF_NORMAL True 136 88 0 True True True True 0 False False False True Groups GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True True GTK_POLICY_ALWAYS GTK_POLICY_ALWAYS GTK_SHADOW_NONE GTK_CORNER_TOP_LEFT True GTK_SHADOW_IN True False 0 5 True 2 3 False 0 0 True Group Id: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 0 1 fill True Description: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 1 2 fill True True True True 0 True * False 1 2 0 1 5 True True True True 0 True * False 1 2 1 2 5 True False 0 True True GTK_RELIEF_NORMAL True True gtk-jump-to 4 0.5 0.5 0 0 0 False False True True GTK_RELIEF_NORMAL True True gtk-find 4 0.5 0.5 0 0 0 False False 2 3 0 1 fill fill 0 True True 5 True False 0 True GTK_BUTTONBOX_START 0 True True True gtk-delete True GTK_RELIEF_NORMAL True 0 True True True GTK_BUTTONBOX_END 0 True True True gtk-cancel True GTK_RELIEF_NORMAL True True True True gtk-apply True GTK_RELIEF_NORMAL True True True True gtk-ok True GTK_RELIEF_NORMAL True 0 True True 0 False True False True Parts GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True True GTK_POLICY_ALWAYS GTK_POLICY_ALWAYS GTK_SHADOW_NONE GTK_CORNER_TOP_LEFT True GTK_SHADOW_IN True False 0 5 True 5 3 False 0 0 True Part Id: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 0 1 fill True Description: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 1 2 fill True Group Id: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 2 3 fill True Price: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 3 4 fill True Stock: False False GTK_JUSTIFY_LEFT False False 0 0.5 0 0 0 1 4 5 fill True True True True 0 True * False 1 2 0 1 5 True True True True 0 True * False 1 2 1 2 5 True True 1 0 False GTK_UPDATE_ALWAYS False False 0 1 99999 1 10 100 1 2 4 5 5 True True 1 2 False GTK_UPDATE_ALWAYS False False 0 0 99.99 0.01 1 10 1 2 3 4 5 True False 0 True True GTK_RELIEF_NORMAL True True gtk-jump-to 4 0.5 0.5 0 0 0 False False True True GTK_RELIEF_NORMAL True True gtk-find 4 0.5 0.5 0 0 0 False False 2 3 0 1 fill fill True 1 2 2 3 fill fill 0 True True 5 True False 0 True GTK_BUTTONBOX_START 0 True True True gtk-delete True GTK_RELIEF_NORMAL True 0 True True True GTK_BUTTONBOX_END 0 True True True gtk-cancel True GTK_RELIEF_NORMAL True True True True gtk-apply True GTK_RELIEF_NORMAL True True True True gtk-ok True GTK_RELIEF_NORMAL True 0 True True 0 False True False True Search Group GTK_WINDOW_TOPLEVEL GTK_WIN_POS_NONE False 400 300 True False True False False GDK_WINDOW_TYPE_HINT_DIALOG GDK_GRAVITY_NORTH_WEST True True False 0 True GTK_BUTTONBOX_END True True True gtk-cancel True GTK_RELIEF_NORMAL True -6 True True True gtk-ok True GTK_RELIEF_NORMAL True -5 0 False True GTK_PACK_END 10 True False 0 True True GTK_POLICY_ALWAYS GTK_POLICY_ALWAYS GTK_SHADOW_NONE GTK_CORNER_TOP_LEFT True True True False False True 0 True True 10 True False 0 True Filter : False False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False True True True True 0 True * False 0 True True True True GTK_RELIEF_NORMAL True True 0.5 0.5 0 0 0 0 0 0 True False 2 True gtk-index 4 0.5 0.5 0 0 0 False False True _List True False GTK_JUSTIFY_LEFT False False 0.5 0.5 0 0 0 False False 0 False False 0 False True 0 True True False True Stock Application GTK_WINDOW_TOPLEVEL GTK_WIN_POS_CENTER False 500 400 True False True False False GDK_WINDOW_TYPE_HINT_NORMAL GDK_GRAVITY_NORTH_WEST True False 0 True True _File True True _Logout True True gtk-quit True True _Maintenance True True _Parts True True _Groups True True _Help True True _About True 0 False False True GTK_SHADOW_OUT GTK_POS_LEFT GTK_POS_TOP True GTK_ORIENTATION_HORIZONTAL GTK_TOOLBAR_BOTH True True True _Parts True gtk-properties True True False False True True _Groups True gtk-preferences True True False False True True gtk-quit True True False False True 0 False True 5 True 0 0.5 GTK_SHADOW_ETCHED_IN 0 True True True True 0 False False False GroupsGDAstockGroups Table.Groups Table. groups group_id True Ascending
PartsGDAstockParts Table.Parts Table. parts part_id True Ascending desc False Ascending
string Response Accept WBuffer Toggle Y Toggle Y Toggle Y IsPresent IsPresent part_id group_id group_id desc any