XML e clrHtmlBuffer

22 views
Skip to first unread message

Gianluca

unread,
Feb 20, 2018, 2:52:13 AM2/20/18
to CGIDEV2 Italia
Buongiorno,
sto testando la creazione di XML mediante programmi RPGLE utilizzando le librerie CGIDEV2. Il meccanismo di creazione mi sembra abbastanza chiaro ma ho qualche difficoltà con la funzione clrHtmlBuffer, infatti anche dopo il suo richiamo sembra che le variabili nel buffer rimangano valorizzate, provo a spiegarmi con un esempio: 

Utilizzo il seguente Template XML FPA_Template_test.xml

/$Header
<?xml version="1.0" encoding="UTF-8"?>
/$Body
    <Dati>
        <Id1>/%Var1%/</Id1>
        <Id2>/%Var2%/</Id2>
    </Dati>

Utilizo la seguente porzione di codice per creare 2 file xml FPA_output1.xml e FPA_output2.xml


/free


clrHtmlBuffer();


getHtmlIfsMult( '/xmldemo/FPA_Template_test.xml');


wrtsection('Header');


updHtmlVar('Var1' : escape('Valore1'));


updHtmlVar('Var2' : escape('Valore2'));


wrtsection('Body');


WrtHtmlToStmf('/xmldemo/FPA_output1.xml': 819);


clrHtmlBuffer();


wrtsection('Header');


updHtmlVar('Var1' : escape('Valore1'));


// updHtmlVar('Var2' : escape('Valore2'));


wrtsection('Body');


WrtHtmlToStmf('/xmldemo/FPA_output2.xml': 819);


clrHtmlBuffer();


*inlr = *ON;


/end-free



Avendo commentato la riga che valorizza il campo Id2, nel file FPA_output2.xml mi aspetterei di trovare, nel campo Id2, il valore ** Missing Data ** , invece nonostante l'utilizzo della funzione clrHtmlBuffer() il campo contiene ancora "Valore1" inserito precedentemente.


La versione del sistema operativo è V7R2 e le libreire CGIDEV2 sono aggiornate.


Grazie in anticipo per eventuali suggerimenti.


Gianluca.

    





per...@easy400.net

unread,
Feb 20, 2018, 7:29:12 AM2/20/18
to cgidev2...@googlegroups.com

Salve.

 

Qualcosa qui è stato frainteso.

CLRHTMLBUFFER pulisce il buffer di output verso il client. Questo buffer contiene in modo statico tutte le WRTSECTION emesse dal programma, praticamente il piatto da servire in tavola quando si emette la section *FINI .

Le variabili impostate con UPDHTMLVAR, invece, sono presenti in memoria (sono in cucina) e disponibili per ogni WRTSECTION. Non esiste una funzione che le risetti tutte in un colpo. Per risettarle bisogna fare delle altre UPDHTMLVAR.

 

G.B. Perotti

--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "CGIDEV2 Italia" di Google Gruppi.
Per annullare l'iscrizione a questo gruppo e non ricevere più le sue email, invia un'email a cgidev2-itali...@googlegroups.com.
Per altre opzioni visita https://groups.google.com/d/optout.

Gianluca

unread,
Feb 20, 2018, 7:51:14 AM2/20/18
to CGIDEV2 Italia
Si, in effetti non avevo colto questa distinzione, grazie per il chiarimento e il celere riscontro.

Gianluca

Antonio Ventriglia

unread,
Feb 28, 2018, 3:31:12 AM2/28/18
to cgidev2...@googlegroups.com
Salve Dott.Perotti,
abbiamo fatto dei programmi che fanno da webservice che utilizziamo in alcuni pagine. Fanno il loro “mestiere”, nel senso che danno i risultati e funziona apparentemente tutto.
Infatti con dsplog ho questi errori:
image 
Non sono riuscito a trovare nulla per capire cosa sono e per eliminarli.
Mi puo aiutare?
Grazie
image[3].png

perotti

unread,
Feb 28, 2018, 6:15:25 AM2/28/18
to cgidev2...@googlegroups.com

Dovrei essere dentro alla sua macchina per sapere che cosa avviene.

Dato invece che è Lei che può entrarci – per esempio con visualizzazione di dettaglio dei messaggi di errore e recursione degli errori sotto debug – non Le resta che arrendersi all’ingrato destino del doverlo fare.

 

Per quanto mi riguarda, posso fare delle supposizioni.

Dato che l’errore capita sull’API (QTMHSTDOUT) che invia al browser il buffer di output, una possibilità è che questo buffer sia vuoto, cosa che può accadere quando si emette una section *fini senza aver prima emesso un WRTSECTION con qualcosa da deporre nel buffer di output.

 

GBP

 

Da: cgidev2...@googlegroups.com [mailto:cgidev2...@googlegroups.com] Per conto di Antonio Ventriglia
Inviato: mercoledì 28 febbraio 2018 09:31
A: cgidev2...@googlegroups.com
Oggetto: [CGIDEV2 Italia:324] Errore

image001.png
Reply all
Reply to author
Forward
0 new messages