detail.w 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291
  1. /*E4GL-W*/ {src/web/method/e4gl.i} {&OUT} '<!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML//EN">~n'.
  2. {&OUT} '<HTML>~n'.
  3. {&OUT} '<HEAD>~n'.
  4. {&OUT} '<META NAME="wsoptions" CONTENT="no-output">~n'.
  5. {&OUT} '<TITLE>AUFTRAEGE</TITLE>~n'.
  6. {&OUT} '<LINK REL="stylesheet" HREF="css/default.css" TYPE="text/css">~n'.
  7. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  8. /* Create an unnamed pool to store all the widgets created
  9. by this procedure. This is a good default which assures
  10. that this procedure's triggers and internal procedures
  11. will execute in this procedure's storage, and that proper
  12. cleanup will occur on deletion of the procedure. */
  13. CREATE WIDGET-POOL.
  14. /*Tag=</SCRIPT>*/
  15. {&OUT} '</HEAD>~n'.
  16. {&OUT} '<BODY BGCOLOR="#FFFF00">~n'.
  17. {&OUT} '<CENTER>~n'.
  18. {&OUT} '<!-- Report Title -->~n'.
  19. {&OUT} '<P><STRONG>AUFTRAEGE</STRONG><BR><BR></P>~n'.
  20. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  21. DEFINE VARIABLE SearchValue AS CHARACTER NO-UNDO.
  22. DEFINE VARIABLE CurrentRowids AS CHARACTER NO-UNDO.
  23. DEFINE VARIABLE BackRowids AS CHARACTER NO-UNDO.
  24. DEFINE VARIABLE TmpUrl AS CHARACTER NO-UNDO.
  25. DEFINE VARIABLE MaintOption AS CHARACTER NO-UNDO.
  26. DEFINE VARIABLE DelimiterField AS CHARACTER NO-UNDO.
  27. DEFINE VARIABLE JoinParam AS CHARACTER NO-UNDO.
  28. DEFINE VARIABLE FieldName AS CHARACTER NO-UNDO.
  29. DEFINE VARIABLE UseRowidsInLink AS LOGICAL NO-UNDO INITIAL yes.
  30. DEFINE VARIABLE UseNavigation AS LOGICAL NO-UNDO INITIAL yes.
  31. DEFINE VARIABLE UseSubmit AS LOGICAL NO-UNDO INITIAL yes.
  32. DEFINE VARIABLE UseReset AS LOGICAL NO-UNDO INITIAL yes.
  33. DEFINE VARIABLE UseAdd AS LOGICAL NO-UNDO INITIAL yes.
  34. DEFINE VARIABLE UseCancel AS LOGICAL NO-UNDO INITIAL yes.
  35. DEFINE VARIABLE UseDelete AS LOGICAL NO-UNDO INITIAL yes.
  36. DEFINE VARIABLE UseSearchForm AS LOGICAL NO-UNDO INITIAL no.
  37. DEFINE VARIABLE DataObject AS CHARACTER NO-UNDO INITIAL ''.
  38. DEFINE VARIABLE DataSourceHdl AS HANDLE NO-UNDO.
  39. /** Defines properties and starts the super procedure web2/wbdata.p */
  40. {src/web2/wbdata.i}
  41. setExternalTableList('').
  42. setForeignFieldList('').
  43. IF DataObject <> '' THEN DO:
  44. setAppService('').
  45. startDataObject(DataObject).
  46. DataSourceHdl = dynamic-function("getDataSource").
  47. END.
  48. ELSE DO:
  49. /** WebRep.p uses dynamic queries and buffers .
  50. You can use user variables instead of hardcoded values. */
  51. setBuffers('Aufko').
  52. setQueryWhere('FOR EACH Aufko NO-LOCK INDEXED-REPOSITION').
  53. setExternalJoinList('').
  54. setExternalWhereList('').
  55. END.
  56. /* The ForeignFieldList is the only way to link WebObjects that uses SDOs.
  57. * It overrides the use of ExternalJoinList and ExternalWhereList for queries.
  58. * The list consist of comma separated fields (with db.tablename or tablename)
  59. * and an optional parameter.
  60. * setForeignFieldList('order.custnum').
  61. * - This will add "order.custnum = " + get-field(custnum) to the where clause.
  62. * setForeignFieldList('order.custnum,cust#').
  63. * - This will add "order.custnum = " + get-field(cust#) to the where clause.
  64. * setForeignFieldList('order.custnum,cust#,order.salesrep')
  65. * - This will add "order.custnum = " + get-field(cust#) " and "
  66. "order.salesrep = " + get-field(salesrep) to the where clause.
  67. * Several lists of commaseparated fields may be separated with | to specify
  68. * different foreign fields for different external tables.
  69. * Example: Externaltable 1: customer and salesrep
  70. * Externaltable 2: customer
  71. * Externaltable 3: salesrep
  72. * setExternalTableList('customer,salesrep|customer|salesrep').
  73. * setForeignFieldList('order.custnum,order.salesrep|order.custnum|order.salesrep').
  74. */
  75. /* You can use user variables instead of hardcoded values also for columns */
  76. setColumns('Aufko.Firma,Aufko.Aufnr,Aufko.Knr').
  77. IF UseSearchForm THEN DO:
  78. /* Set the field to use for search.
  79. * Only one field supported
  80. * The field used in the searchForm has (name=SearchValue)
  81. * The corresponding data from searchValue will be used in the selection
  82. * criteria.
  83. * The operator will be GE */
  84. setSearchColumns('').
  85. /*Tag=</SCRIPT>*/
  86. {&OUT} '<FORM ACTION="' /*Tag=`*/ SelfURL /*Tag=`*/ '" METHOD="POST" NAME="SearchForm">~n'.
  87. {&OUT} ' <INPUT TYPE="hidden" NAME="Navigate" VALUE="Search">~n'.
  88. {&OUT} ' <P><STRONG>' /*Tag=`*/ columnLabel(ENTRY(1,getSearchColumns())) /*Tag=`*/ .
  89. {&OUT} ' <INPUT TYPE="text" SIZE="20" NAME="SearchValue" VALUE="' /*Tag=`*/ html-encode(get-field('searchValue')) /*Tag=`*/ '">~n'.
  90. {&OUT} ' <INPUT TYPE="submit" NAME="SubmitBtn" VALUE="Search">~n'.
  91. {&OUT} ' </STRONG></P>~n'.
  92. {&OUT} ' <HR>~n'.
  93. {&OUT} '</FORM>~n'.
  94. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  95. END. /* IF UseSearchForm THEN DO: */
  96. /* ProcessWebRequest gets the value for Navigate and SearchValue, opens the
  97. query and outputs the table. */
  98. RUN ProcessWebRequest.
  99. ASSIGN
  100. TmpUrl = url-format(?,getContextFields(),?)
  101. Delimiterfield = IF INDEX(TmpUrl,"?") > 0 THEN ? ELSE "?"
  102. TmpUrl = TmpUrl + url-field("CurrentRowids":U,getCurrentRowids(),DelimiterField)
  103. DelimiterField = IF INDEX(TmpUrl,"?") > 0 THEN ? ELSE "?".
  104. /* If we are using a SearchForm we must set the CurrentRowids value */
  105. IF UseSearchForm THEN DO:
  106. /*Tag=</SCRIPT>*/
  107. {&OUT} '<SCRIPT LANGUAGE="JavaScript">~n'.
  108. {&OUT} ' ~{ document.SearchForm.href = "' /*Tag=`*/ TmpUrl /*Tag=`*/ '"~; ~}~n'.
  109. {&OUT} '</SCRIPT>~n'.
  110. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  111. END. /* IF UseSearchForm THEN DO: */
  112. /*Tag=</SCRIPT>*/
  113. {&OUT} '<FORM ACTION="' /*Tag=`*/ TmpURL /*Tag=`*/ '" METHOD="POST" NAME="DetailForm"> ~n'.
  114. {&OUT} '<INPUT TYPE="hidden" NAME="Addmode" VALUE="' /*Tag=`*/ getUpdateMode() = 'Add':U /*Tag=`*/ '">~n'.
  115. {&OUT} '<TABLE BGCOLOR="#00FF00" BORDER="2" >~n'.
  116. {&OUT} ' <TR>~n'.
  117. {&OUT} ' <TD>~n'.
  118. {&OUT} ' <STRONG>' /*Tag=`*/ html-encode(columnLabel('Aufko.Firma')) /*Tag=`*/ '</STRONG>~n'.
  119. {&OUT} ' </TD> ~n'.
  120. {&OUT} ' <TD>~n'.
  121. {&OUT} ' <INPUT TEXT="submit" NAME="' /*Tag=`*/ columnHTMLName('Aufko.Firma') /*Tag=`*/ '" ~n'.
  122. {&OUT} ' VALUE="' /*Tag=`*/ html-encode(columnStringValue('Aufko.Firma')) /*Tag=`*/ '" ~n'.
  123. {&OUT} /*Tag=`*/ IF columnReadOnly('Aufko.Firma') THEN ' DISABLED ' ELSE '' /*Tag=`*/ .
  124. {&OUT} ' onMouseover="window.status=''' /*Tag=`*/ html-encode(columnHelp('Aufko.Firma')) /*Tag=`*/ '''~;return true"~n'.
  125. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  126. {&OUT} ' </TD> ~n'.
  127. {&OUT} ' </TR>~n'.
  128. {&OUT} ' <TR>~n'.
  129. {&OUT} ' <TD>~n'.
  130. {&OUT} ' <STRONG>' /*Tag=`*/ html-encode(columnLabel('Aufko.Aufnr')) /*Tag=`*/ '</STRONG>~n'.
  131. {&OUT} ' </TD> ~n'.
  132. {&OUT} ' <TD>~n'.
  133. {&OUT} ' <INPUT TEXT="submit" NAME="' /*Tag=`*/ columnHTMLName('Aufko.Aufnr') /*Tag=`*/ '" ~n'.
  134. {&OUT} ' VALUE="' /*Tag=`*/ html-encode(columnStringValue('Aufko.Aufnr')) /*Tag=`*/ '" ~n'.
  135. {&OUT} /*Tag=`*/ IF columnReadOnly('Aufko.Aufnr') THEN ' DISABLED ' ELSE '' /*Tag=`*/ .
  136. {&OUT} ' onMouseover="window.status=''' /*Tag=`*/ html-encode(columnHelp('Aufko.Aufnr')) /*Tag=`*/ '''~;return true"~n'.
  137. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  138. {&OUT} ' </TD> ~n'.
  139. {&OUT} ' <TD>&nbsp~;&nbsp~;</TD>~n'.
  140. {&OUT} ' <TD>~n'.
  141. {&OUT} ' <INPUT TYPE="button" NAME="LinkButton" VALUE=""~n'.
  142. {&OUT} ' onClick="window.open(''' /*Tag=`*/ urlLink('WebSpeed\welcome.html','') /*Tag=`*/ ''',''_self'')">~n'.
  143. {&OUT} ' </TD>~n'.
  144. {&OUT} ' </TR>~n'.
  145. {&OUT} ' <TR>~n'.
  146. {&OUT} ' <TD>~n'.
  147. {&OUT} ' <STRONG>' /*Tag=`*/ html-encode(columnLabel('Aufko.Knr')) /*Tag=`*/ '</STRONG>~n'.
  148. {&OUT} ' </TD> ~n'.
  149. {&OUT} ' <TD>~n'.
  150. {&OUT} ' <INPUT TEXT="submit" NAME="' /*Tag=`*/ columnHTMLName('Aufko.Knr') /*Tag=`*/ '" ~n'.
  151. {&OUT} ' VALUE="' /*Tag=`*/ html-encode(columnStringValue('Aufko.Knr')) /*Tag=`*/ '" ~n'.
  152. {&OUT} /*Tag=`*/ IF columnReadOnly('Aufko.Knr') THEN ' DISABLED ' ELSE '' /*Tag=`*/ .
  153. {&OUT} ' onMouseover="window.status=''' /*Tag=`*/ html-encode(columnHelp('Aufko.Knr')) /*Tag=`*/ '''~;return true"~n'.
  154. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  155. {&OUT} ' </TD> ~n'.
  156. {&OUT} ' </TR>~n'.
  157. {&OUT} '</TABLE>~n'.
  158. {&OUT} '<TABLE>~n'.
  159. /*Tag=<!--WSS*/ IF getUpdateMode() <> "Add":U AND UseAdd THEN /*Tag=-->*/
  160. {&OUT} ' <TD><INPUT TYPE="submit" NAME="MaintOption" VALUE="Add"></TD>~n'.
  161. /*Tag=<!--WSS*/ IF UseSubmit THEN /*Tag=-->*/
  162. {&OUT} ' <TD><INPUT TYPE="submit" NAME="MaintOption" VALUE="Submit"></TD>~n'.
  163. /*Tag=<!--WSS*/ IF getUpdateMode() = "Add":U AND UseCancel THEN /*Tag=-->*/
  164. {&OUT} ' <TD><INPUT TYPE="submit" NAME="MaintOption" VALUE="Cancel"></TD>~n'.
  165. /*Tag=<!--WSS*/ IF UseReset THEN /*Tag=-->*/
  166. {&OUT} ' <TD><INPUT TYPE="reset" NAME="MaintOption" VALUE="Reset"></TD>~n'.
  167. /*Tag=<!--WSS*/ IF getUpdateMode() <> "Add":U AND UseDelete THEN DO: /*Tag=-->*/
  168. {&OUT} ' <TD><INPUT TYPE="submit" NAME="MaintOption" VALUE="Delete"~n'.
  169. {&OUT} ' onClick="if (! confirm(''Delete this ' /*Tag=`*/ REPLACE(getDeleteTables(),',',' and ') /*Tag=`*/ ''')) return false~;"></TD>~n'.
  170. /*Tag=<!--WSS*/ END. /* IF MaintOption <> "Add":U AND UseDelete THEN DO: */ /*Tag=-->*/
  171. {&OUT} '</TABLE>~n'.
  172. {&OUT} '</FORM>~n'.
  173. {&OUT} '</CENTER>~n'.
  174. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  175. IF UseNavigation AND MaintOption <> 'Add':U THEN DO:
  176. /*Tag=</SCRIPT>*/
  177. {&OUT} '<DIV ALIGN="center"><CENTER>~n'.
  178. {&OUT} '<TABLE BORDER="2">~n'.
  179. {&OUT} ' <TR>~n'.
  180. {&OUT} ' <TD>~n'.
  181. {&OUT} ' <A HREF="' /*Tag=`*/ TmpUrl + url-field('Navigate','First',DelimiterField) /*Tag=`*/ '"~n'.
  182. {&OUT} ' onMouseover="window.status=''First''~;return true"~n'.
  183. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  184. {&OUT} ' <IMG SRC="' /*Tag=`*/ RootURL /*Tag=`*/ '/images/first-au.gif" BORDER="0" WIDTH="16"~n'.
  185. {&OUT} ' HEIGHT="16"></A>~n'.
  186. {&OUT} ' </TD>~n'.
  187. {&OUT} ' <TD>~n'.
  188. {&OUT} ' <A HREF="' /*Tag=`*/ TmpUrl + url-field('Navigate','Prev',DelimiterField) /*Tag=`*/ '"~n'.
  189. {&OUT} ' onMouseover="window.status=''Previous''~;return true"~n'.
  190. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  191. {&OUT} ' <IMG SRC="' /*Tag=`*/ RootURL /*Tag=`*/ '/images/prev-au.gif" BORDER="0" WIDTH="16"~n'.
  192. {&OUT} ' HEIGHT="16"></A>~n'.
  193. {&OUT} ' </TD>~n'.
  194. {&OUT} ' <TD>~n'.
  195. {&OUT} ' <A HREF="' /*Tag=`*/ TmpUrl + url-field('Navigate','Next',DelimiterField) /*Tag=`*/ '"~n'.
  196. {&OUT} ' onMouseover="window.status=''Next''~;return true"~n'.
  197. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  198. {&OUT} ' <IMG SRC="' /*Tag=`*/ RootURL /*Tag=`*/ '/images/next-au.gif" BORDER="0" WIDTH="16"~n'.
  199. {&OUT} ' HEIGHT="16"></A>~n'.
  200. {&OUT} ' </TD>~n'.
  201. {&OUT} ' <TD>~n'.
  202. {&OUT} ' <A HREF="' /*Tag=`*/ TmpUrl + url-field('Navigate','Last',DelimiterField) /*Tag=`*/ '"~n'.
  203. {&OUT} ' onMouseover="window.status=''Last''~;return true"~n'.
  204. {&OUT} ' onMouseout="window.status=''''~;return true">~n'.
  205. {&OUT} ' <IMG SRC="' /*Tag=`*/ RootURL /*Tag=`*/ '/images/last-au.gif" BORDER="0" WIDTH="16"~n'.
  206. {&OUT} ' HEIGHT="16"></A>~n'.
  207. {&OUT} ' </TD>~n'.
  208. {&OUT} ' </TR>~n'.
  209. {&OUT} '</TABLE>~n'.
  210. {&OUT} '</CENTER></DIV>~n'.
  211. /*Tag=<SCRIPT LANGUAGE="SpeedScript">*/
  212. END. /* IF UseNavigation THEN DO: */
  213. /* Show error messages */
  214. IF AnyMessage() THEN DO:
  215. FieldName = ShowDataMessages().
  216. /* Set focus if error in a specific field */
  217. IF FieldName <> "":U THEN
  218. HTMLSetFocus("document.DetailForm",FieldName).
  219. END.
  220. RUN destroyObject.
  221. /*Tag=</SCRIPT>*/
  222. {&OUT} '</BODY>~n'.
  223. {&OUT} '</HTML>~n'.
  224. /************************* END OF HTML *************************/
  225. /*
  226. ** File: detail.w
  227. ** Generated on: 2014-02-08 18:13:12
  228. ** By: WebSpeed Embedded SpeedScript Preprocessor
  229. ** Version: 2
  230. ** Source file: detail.html
  231. ** Options: no-output,wsoptions-found,web-object
  232. **
  233. ** WARNING: DO NOT EDIT THIS FILE. Make changes to the original
  234. ** HTML file and regenerate this file from it.
  235. **
  236. */
  237. /********************* Internal Definitions ********************/
  238. /* This procedure returns the generation options at runtime.
  239. It is invoked by src/web/method/e4gl.i included at the start
  240. of this file. */
  241. PROCEDURE local-e4gl-options :
  242. DEFINE OUTPUT PARAMETER p_version AS DECIMAL NO-UNDO
  243. INITIAL 2.0.
  244. DEFINE OUTPUT PARAMETER p_options AS CHARACTER NO-UNDO
  245. INITIAL "no-output,wsoptions-found,web-object":U.
  246. DEFINE OUTPUT PARAMETER p_content-type AS CHARACTER NO-UNDO
  247. INITIAL "text/html":U.
  248. END PROCEDURE.
  249. /* end */