Focal Point
[CLOSED]XML at HTML Runtime with Amper Variable

This topic can be found at:
https://forums.informationbuilders.com/eve/forums/a/tpc/f/7971057331/m/3297079386

September 22, 2016, 12:10 PM
evan.brown
[CLOSED]XML at HTML Runtime with Amper Variable
I'm having an issue I'm finding difficult to troubleshoot because I do not know what's happening with my fex at html runtime.

I've recreated my issue using the GGSALES master. First, I build an Excel report where I pass some parameters to a launch fex.
Then, the launch fex then runs the html. On the html page, I prefill a date picklist with selected date. The problem is in the next part.
My picklist is supposed to be the min/max date values for the selected store code, but it is not happening. I don't know if the xml is being
executed or if it just isn't getting the parameter sent to it. Any help would be appreciated. Thanks

Code for Excel Report xml_rpt.fex:

  
-SET &ECHO=ALL;

TABLE FILE GGSALES
PRINT
	PCD
	STCD
	DATE/MDYY
ON TABLE PCHOLD FORMAT XLSX
ON TABLE SET STYLE *
TYPE=DATA, COLUMN=DATE, TARGET='_blank', FOCEXEC=xml_lnch(DATE=DATE STCD=STCD), $
END


Code for HTML Launch xml_lnch.fex:

  
-SET &ECHO=ALL;
-SET &DATE=EDIT(&DATE,'99')|'/'|EDIT(&DATE,'$$99')|'/'|EDIT(&DATE,'$$$$9999');
-? &
-HTMLFORM XML_TEST


Code for XML fex xml_test.fex:

  
-SET &ECHO=ALL;

TABLE FILE GGSALES
SUM
MIN.DATE/MDYY
MAX.DATE/MDYY
WHERE STCD EQ '&STCD'
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END


Code for HTML xml_test.htm:

  
<!DOCTYPE html>
<html><head><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="mycharsetmeta" http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="Generation" content="Created in release 8008, Generation 4"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"><script type="text/javascript">
//confidential_id=IBI_OptionsScript
var szHtmlAlias="/ibi_apps/ibi_html";var is_mobile="false";var szRunTimeHtmlAlias="runTimeHtmlAlias";var cgipath="cgipath";var ib_composer="ib_composer";var map="ib_composer_map";var grid="ib_composer_grid";var ibiOptions = new Array(cgipath,ib_composer);var nlsScript="/javaassist/nls.js";var glbScript="/javaassist/ibi/html/js/ibigbl.js";var replacePart="<replace>";
var scriptTemplate='<script src="'+replacePart+'" type="text/javascript"><\/script>';if(typeof(szRunTimeHtmlAlias) === 'string' && szRunTimeHtmlAlias.indexOf('/') == 0)szHtmlAlias=szRunTimeHtmlAlias;document.write(scriptTemplate.replace(replacePart, szHtmlAlias + nlsScript));document.write(scriptTemplate.replace(replacePart, szHtmlAlias + glbScript));</script><script type="text/javascript">
//confidential_id=IBI_ibigblloadCss
if(typeof ibigblloadCss === 'function'){ibigblloadCss(null);addIntlTranslatedJS("composertrans.js");}else {alert("JavaScript alias '/ibi_apps/ibi_html'  is not valid.");window.location("about:blank");}</script><title>HtmlPage</title><script type="text/javascript">
//confidential_id=clientEventHandlersJS
 
 
//Begin function window_onload
function window_onload() {
 
 
UpdateData();
 
// TODO: Add your event handler code here
//add onInitialUpdate() function to make changes before initial run of the reports
}
//End function window_onload
</script><style></style><!--//confidential_id=focus_xmlelement
<rootxmlnode focoption="_FOC_NULL" nextelementuniquenumber="2"><html_elements><html_body thumbnailscale="4" use_appl_css="no" maptype="0" autofitchildren="no" mobiledocument="no" edaconnectionrequired="false" ibiapp_app="ibisamp" ibic_server="EDASERVE" isdataserversarea="1"><html_event eventname="load" eventhandlername="window_onload"/></html_body><html_element bindcontrolid="calendar2" elementtype="14" myviewonautofit="dontyouever" defaultselection="1"/><html_element bindcontrolid="edit1" myviewonautofit="dontyouever" defaultselection="1"/><html_element rtFileName="cgipathsub/ibi_html/javaassist/ibi/html/composer/themes/nonBindows/IBI-Themes/default_theme.css" type="cssfile"/><html_element rtFileName="cgipathsub/ibi_html/javaassist/ibi/html/composer/themes/nonBindows/IBI-Themes/ibi.css" bindcontrolid="IBI_THEME_CSS" desc="Information Builders" type="cssfile"/></html_elements><variables></variables><input_controls><input_control bindcontrolid="calendar2" elementtype="14" name="calendar2" multiple="0"><link linktype="default" persistentuniqueid="compUid_1"><condition default="1" name="Default" whattodowithcontrol="0" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0"><data_info datatype="0" calendardata="xml_test.fex" calendardatatype="2" ibiformat="MDYY" sourcetype="typeMaster" calendar_ibiapp_app="ibisamp" selectedvalue="!IBI.AMP.DATE;"><static_values><static value="!IBI.AMP.DATE;" display="!IBI.AMP.DATE;" selected="1" noinput="0"></static></static_values></data_info></condition></link></input_control><input_control bindcontrolid="edit1" elementtype="7" name="edit1" multiple="0"><link linktype="default" persistentuniqueid="compUid_2"><condition default="1" name="Default" whattodowithcontrol="0" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0"><data_info datatype="0" sourcetype="typeMaster"><static_values><static value="!IBI.AMP.STCD;" display="!IBI.AMP.STCD;" selected="1" noinput="0"></static></static_values></data_info></condition></link></input_control></input_controls><requests></requests><other_bound_objects></other_bound_objects><tasks><task id="load" trigger="load"/></tasks><animations></animations></rootxmlnode>
--><script type="text/javascript">
//confidential_id=updateHeadElements
if(typeof updateHeadElements === 'function'){updateHeadElements();}</script></head><body class="IBI_PageBg"><input tabindex="1" id="calendar2" style="left: 50px; top: 60px; width: 160px; position: absolute; z-index: 1;" name="calendar2"><input tabindex="2" class="IBI_ReportControlTarget  IBI_rounded_s" id="edit1" style="left: 50px; top: 20px; width: 110px; position: absolute; z-index: 2;" type="text" name="edit1"></body><script type="text/javascript">
//confidential_id=IBI_loader
if(typeof doBeforeLoad === 'function'){doBeforeLoad();}function AdjustChildrenPosition(){
}
</script></html>
<!-- cc kkvv -->

This message has been edited. Last edited by: <Emily McAllister>,


WF 8.0.08 (Prod); WF 8.2.06 (Dev)
September 22, 2016, 02:37 PM
MartinY
Not sure of what you're meaning by "My picklist is supposed to be the min/max date values for the selected store code".
Are your trying to limit the calendar control to these Min/Max date ? If it's the case I'm not sure that it's possible to way you make it since xml_test.fex should be executed "BEFORE" xml_test.htm load the calendar control, which is not the case now, I think.

Pay attention at the fact that I change your variable name "DATE" to "DTE" and then pass "DTE2" to the HTML (xml_test.htm). I don't like to use a variable name that may be the same as a Key Word.
Also use the IBFS full path.

I don't think that I have resolved any issue since it's not clear for me what you are attempting.

-* xml_rpt.fex

-SET &ECHO=ALL;

TABLE FILE GGSALES
PRINT PCD
      STCD
      DATE/MDYY AS 'DTE'
ON TABLE PCHOLD FORMAT HTML
ON TABLE SET STYLE *
TYPE=DATA, COLUMN=DATE, TARGET='_blank', FOCEXEC=/WFC/Repository/theFolder/xml_lnch.fex(DTE=DATE STCD=STCD), $
END

-* ***************
-* xml_lnch.fex

-SET &ECHO=ALL;
-SET &DTE2=EDIT(&DTE,'99')|'/'|EDIT(&DTE,'$$99')|'/'|EDIT(&DTE,'$$$$9999');

-TYPE &DTE, &DTE2

-HTMLFORM IBFS:/WFC/Repository/theFolder/xml_test.htm

-* ****************
-* xml_test.htm
<!DOCTYPE html>
<html><head><meta http-equiv="X-UA-Compatible" content="IE=Edge"><meta name="mycharsetmeta" http-equiv="Content-Type" content="text/html; charset=UTF-8"><meta name="Generation" content="Created in release 8008, Generation 4"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0"><script type="text/javascript">
//confidential_id=IBI_OptionsScript
var szHtmlAlias="/ibi_apps/ibi_html";var is_mobile="false";var szRunTimeHtmlAlias="runTimeHtmlAlias";var cgipath="cgipath";var ib_composer="ib_composer";var map="ib_composer_map";var grid="ib_composer_grid";var ibiOptions = new Array(cgipath,ib_composer);var nlsScript="/javaassist/nls.js";var glbScript="/javaassist/ibi/html/js/ibigbl.js";var replacePart="<replace>";
var scriptTemplate='<script src="'+replacePart+'" type="text/javascript"><\/script>';if(typeof(szRunTimeHtmlAlias) === 'string' && szRunTimeHtmlAlias.indexOf('/') == 0)szHtmlAlias=szRunTimeHtmlAlias;document.write(scriptTemplate.replace(replacePart, szHtmlAlias + nlsScript));document.write(scriptTemplate.replace(replacePart, szHtmlAlias + glbScript));</script><script type="text/javascript">
//confidential_id=IBI_ibigblloadCss
if(typeof ibigblloadCss === 'function'){ibigblloadCss(null);addIntlTranslatedJS("composertrans.js");}else {alert("JavaScript alias '/ibi_apps/ibi_html'  is not valid.");window.location("about:blank");}</script><title>HtmlPage</title><script type="text/javascript">
//confidential_id=clientEventHandlersJS
 
 
//Begin function window_onload
function window_onload() {
 
 
UpdateData();
 
// TODO: Add your event handler code here
//add onInitialUpdate() function to make changes before initial run of the reports
}
//End function window_onload
</script><style></style><!--//confidential_id=focus_xmlelement
<rootxmlnode focoption="_FOC_NULL" nextelementuniquenumber="2"><html_elements><html_body thumbnailscale="4" use_appl_css="no" maptype="0" autofitchildren="no" mobiledocument="no" edaconnectionrequired="false" ibiapp_app="ibisamp" ibic_server="EDASERVE" isdataserversarea="1"><html_event eventname="load" eventhandlername="window_onload"/></html_body><html_element bindcontrolid="calendar2" elementtype="14" myviewonautofit="dontyouever" defaultselection="1"/><html_element bindcontrolid="edit1" myviewonautofit="dontyouever" defaultselection="1"/><html_element rtFileName="cgipathsub/ibi_html/javaassist/ibi/html/composer/themes/nonBindows/IBI-Themes/default_theme.css" type="cssfile"/><html_element rtFileName="cgipathsub/ibi_html/javaassist/ibi/html/composer/themes/nonBindows/IBI-Themes/ibi.css" bindcontrolid="IBI_THEME_CSS" desc="Information Builders" type="cssfile"/></html_elements><variables></variables><input_controls><input_control bindcontrolid="calendar2" elementtype="14" name="calendar2" multiple="0"><link linktype="default" persistentuniqueid="compUid_1"><condition default="1" name="Default" whattodowithcontrol="0" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0"><data_info datatype="0" calendardata="xml_test.fex" calendardatatype="2" ibiformat="MDYY" sourcetype="typeMaster" calendar_ibiapp_app="ibisamp" selectedvalue="!IBI.AMP.DTE2;"><static_values><static value="!IBI.AMP.DTE2;" display="!IBI.AMP.DTE2;" selected="1" noinput="0"></static></static_values></data_info></condition></link></input_control><input_control bindcontrolid="edit1" elementtype="7" name="edit1" multiple="0"><link linktype="default" persistentuniqueid="compUid_2"><condition default="1" name="Default" whattodowithcontrol="0" valuescompareoperator="0" parameterscompareoperator="0" conditionmultiselectoperator="0"><data_info datatype="0" sourcetype="typeMaster"><static_values><static value="!IBI.AMP.STCD;" display="!IBI.AMP.STCD;" selected="1" noinput="0"></static></static_values></data_info></condition></link></input_control></input_controls><requests></requests><other_bound_objects></other_bound_objects><tasks><task id="load" trigger="load"/></tasks><animations></animations></rootxmlnode>
--><script type="text/javascript">
//confidential_id=updateHeadElements
if(typeof updateHeadElements === 'function'){updateHeadElements();}</script></head><body class="IBI_PageBg"><input tabindex="1" id="calendar2" style="left: 50px; top: 60px; width: 160px; position: absolute; z-index: 1;" name="calendar2"><input tabindex="2" class="IBI_ReportControlTarget  IBI_rounded_s" id="edit1" style="left: 50px; top: 20px; width: 110px; position: absolute; z-index: 2;" type="text" name="edit1"></body><script type="text/javascript">
//confidential_id=IBI_loader
if(typeof doBeforeLoad === 'function'){doBeforeLoad();}function AdjustChildrenPosition(){
}
</script></html>
<!-- cc kkvv -->


-* *****************
-* xml_test.fex

-SET &ECHO=ALL;

TABLE FILE GGSALES
SUM MIN.DATE/MDYY AS 'MINDTE'
    MAX.DATE/MDYY AS 'MAXDTE'
WHERE STCD EQ '&STCD'
ON TABLE SET HOLDLIST PRINTONLY
ON TABLE PCHOLD FORMAT XML
END



WF versions : Prod 8.2.04M gen 33, Dev 8.2.04M gen 33, OS : Windows, DB : MSSQL, Outputs : HTML, Excel, PDF
In Focus since 2007
September 23, 2016, 08:40 AM
evan.brown
Thanks for your reply. That's exactly what I'm trying to do; run the min/max dates (order dates?) for the selected store code. In the "settings" tab of the HTML page, under "Popup Calendar Settings", I have chosen to run "Dynamic". Below that it says "Calendar will be populated with a date range dynamically at runtime.", then it shows by xml_test.fex selected. I'd love to post a pic but my company doesn't allow access to my photo sharing sites Smiler


WF 8.0.08 (Prod); WF 8.2.06 (Dev)