YKPN#57565 -- Inrichten catalogi met voorraad

svn path=/Website/branches/v2019.1/; revision=42241
This commit is contained in:
Arthur Egberink
2019-04-25 10:18:53 +00:00
parent 26f0bd1ed4
commit 21f03e8ffd

View File

@@ -0,0 +1,106 @@
<%@ language = "JavaScript" %>
<%
DOCTYPE_Disable = 1;
ANONYMOUS_Allowed = 1;
// Lees de vraagstelling in die via XML binnenkomt
Response.Expires=0;
Session("customerId") = 'YKPN';
%>
<!-- #include file="../../../Appl/Shared/common.inc" -->
<%
var objReq = new ActiveXObject("MSXML2.DOMDocument.6.0");
objReq.load(Request);
//__DoLog("Ontvangen: " + Server.HTMLEncode(objReq.xml));
if (objReq.parseError.errorCode != 0)
{
var myErr = objReq.parseError;
__DoLog ("Error parsing request XML: " + myErr.reason);
Response.Write("Error parsing request XML: " + myErr.reason);
Response.End;
}
//__DoLog ("No parseError ");
// Zoek het partnummer
var strQuery = "facilitor/stock_request/part/number";
objPart = objReq.selectSingleNode(strQuery);
if (!objPart)
{
Response.Write(strQuery + " not found in XML");
__DoLog (strQuery + " not found in XML");
Response.End;
}
strQuery = "facilitor/stock_request/part/group";
objGroup = objReq.selectSingleNode(strQuery);
if (!objGroup)
{
Response.Write(strQuery + " not found in XML");
__DoLog (strQuery + " not found in XML");
Response.End;
}
// Prepare result XML
// Response.Write("Part nummer : " + objPart.text);
// Response.End;
var l_voorraad = bepaal_voorraad_van_artikel(objPart.text, objGroup.text);
//__DoLog (l_voorraad);
var xmlDoc = new ActiveXObject("MSXML2.DOMDocument.6.0");
xmlDoc.appendChild(xmlDoc.createProcessingInstruction("xml", "version=\"1.0\" encoding=\"UTF-8\""))
rootElement = xmlDoc.createElement("facilitor");
elementResponse = xmlDoc.createElement("stock_response");
elementPart = xmlDoc.createElement("part");
elementNumber = xmlDoc.createElement("number");
elementNumberText = xmlDoc.createTextNode(objPart.text);
elementNumber.appendChild(elementNumberText);
elementPart.appendChild(elementNumber);
elementAmount = xmlDoc.createElement("amount");
elementAmountText = xmlDoc.createTextNode(l_voorraad);
elementAmount.appendChild(elementAmountText);
elementPart.appendChild(elementAmount);
elementInfo = xmlDoc.createElement("infotext"); // infohtml bestaat ook
elementInfoText = xmlDoc.createTextNode("Voorraad opgevraagd op "+(new Date()) +
"\ndoor " + Request.ServerVariables("REMOTE_HOST") +
"\nvia: " + Request.ServerVariables("HTTP_HOST") + Request.ServerVariables("URL"));
elementInfo.appendChild(elementInfoText);
elementPart.appendChild(elementInfo);
elementStockTime = xmlDoc.createElement("time");
elementStockTimeText = xmlDoc.createTextNode(new Date());
elementStockTime.appendChild(elementStockTimeText);
elementPart.appendChild(elementStockTime);
elementResponse.appendChild(elementPart);
rootElement.appendChild(elementResponse);
xmlDoc.appendChild(rootElement);
//__DoLog ("Resultaat van default.asp:" + xmlDoc.xml);
Response.ContentType = "text/xml";
Response.Write(xmlDoc.xml);
function bepaal_voorraad_van_artikel(p_artnr, p_group){
var l_result = "";
sql = "SELECT COUNT(voorraad) aantal "
+ " FROM ykpn_v_rap_voorraad "
+ " WHERE hide_f_srtgroep_omschrijving = " + safe.quoted_sql(p_group);
var oRs = Oracle.Execute(sql);
if (oRs("aantal").Value == 0) {
__DoLog ("Groep niet gevonden: " + safe.quoted_sql(p_group));
};
sql = "SELECT COALESCE(to_char(voorraad), '0') voorraad "
+ " FROM ykpn_v_rap_voorraad "
+ " WHERE hide_f_srtgroep_omschrijving = " + safe.quoted_sql(p_group)
+ " AND artikel_nr = " + safe.quoted_sql(p_artnr);
var oRs = Oracle.Execute(sql);
if (!oRs.eof) {
l_result = oRs("voorraad").Value;
}
return l_result;
}
%>