Questo modello di applicazione di una macro visualizza un elenco di nomi di impiegati da cui l'utente può ottenere ulteriori informazioni su un singolo impiegato selezionando il nome sull'elenco. La macro utilizza l'ambiente di linguaggio SQL per eseguire un'interrogazione nella tabella EMPLOYEE sul nome dell'impiegato e sulle informazioni su una voce specifica.
%{************************ Sample Macro *****************************
* FileName = sqlsamp1.d2w *
* Descrizione: *
* Questo file di macro di Net.Data richiede... *
* - Alla tabella EMPLOYEE di creare un elenco di selezione *
* degli impiegati da visualizzare su un browser *
* - Alla tabella EMPLOYEE di ottenere altre informazioni *
* su un singolo impiegato *
* *
********************************************************************%}
%{***************************************************************************
* Include per DEFINE globali - *
****************************************************************************%}
%INCLUDE "sqlsamp1.hti" *
%{****************************************************************************
* Funzione: queryDB Ambiente di linguaggio: SQL *
* Descrizione: Esegue un'interrogazione su una tabella designata dalla *
* variabile myTable e crea un elenco di selezione dal risultato. Il valore *
* di myTable è specificato nel file di inclusione sqlsamp1.hti. *
****************************************************************************%}
%FUNCTION(DTW_SQL) queryDB() {
SELECT * FROM $(myTable)
%MESSAGE {
-204: {<p><b>ERROR -204: Table $(myTable) not found. </b>
<p>Be sure the correct include file is being used.</b>
%} : exit
+default: "WARNING $(RETURN_CODE)" : continue
-default: "Unexpected ERROR $(RETURN_CODE)" : exit
%}
%REPORT {
<select name=emp_name>
%ROW{
<option>$(V2)
%}
</select>
%}
%}
%{****************************************************************************
* Funzione: fname Ambiente di linguaggio: SQL *
* Descrizione: Esegue un'interrogazione su una tabella designata da myTable *
* per altre informazioni sull'impiegato identificato dalla *
* variabile emp_name. *
******************************************************************************%}
%FUNCTION(DTW_SQL) fname(){
SELECT EMPNME, PHONENO, JOB FROM $(myTable) WHERE EMPNME='$(emp_name)'
%MESSAGE {
-204: "Error -204: Table not found "
-104: "Error -104: Syntax error"
100: "Warning 100: No records" : continue
+default: "Warning $(RETURN_CODE)" : continue
-default: "Unexpected SQL error" : exit
%}
%}
%{***************************************************************************
* Blocco HTML: INPUT Titolo: DQS (Dynamic Query Selection) *
* *
* Descrizione: Esegue un'interrogazione alla tabella EMPLOYEE per creare *
* una selezione degli impiegati da visualizzare su un browser *
****************************************************************************%}
%HTML(INPUT) {
<html>
<head>
<title>Generate Employee Selection List</title>
</head>
<body>
<h3>$(exampleTitle)</h3>
<p>Questo esempio esegue un'interrogazione a una tabella ed utilizza
il risultato per creare
un elenco di selezione utilizzando un blocco <em>%REPORT</em>.
< hr>
<form method="post" action="report">
@queryDB()<input type="submit" value="Select Employee">
</form>
< hr>
</body>
</html>
%}
%{***************************************************************************
* Blocco HTML: REPORT *
* Descrizione: Esegue un'interrogazione alla tabella EMPLOYEE per ottenere *
* su un singolo impiegato *
****************************************************************************%}
%HTML(REPORT) {
<html>
<head>
<title>Obtain Employee Information</title>
</head>
<body>
<h3>You selected employee name = $(emp_name)</h3>
<p>Here is the information for that employee:
<PRE>
@fname()
</PRE>
<hr><a href="input">Return to previous page</a>
</body>
</html>
%}
%{ End of Net.Data macro 1 %}
===========================================================================
%{**************************** Include File *********************************
* NomeFile = sqlsamp1.hti *
* Descrizione: *
* Questo file di inclusione fornisce DEFINE globali per la macro *
* sqlsamp1.d2w di Net.Data. *
****************************************************************************%}
%define {
emp_name =""
reposition = sign
exampleTitle = "Sample Macro"
myTable = "MRZ.EMPLOYEE"
%}
%{ End of include file %}
|