MKC Request def

From Agility
Jump to: navigation, search
<?xml version="1.0" encoding="utf-8"?>
<import Name="Milton Keynes Job Import" >
	<namespaces>
		<namespace name="soap" uri="http://schemas.xmlsoap.org/soap/envelope/"></namespace>
		<namespace name="newreq" uri="http://namespace.com"></namespace>
	</namespaces>

	<mappings classname="Control.GeneralInterface.XMLFileImport">	
			<table name="RequestDetail" xpath="/soap:Envelope/soap:Body/newreq:NewRequest/newreq:NewRequestResultDetail">
				<field name="ItemNumber" xpath="newreq:ItemNumber"></field>
				<field name="ItemBusinessPartnerID" xpath="newreq:ItemBusinessPartnerID"></field>
				<field name="ItemCode" xpath="newreq:ItemCode"></field>
				<field name="ItemType" xpath="newreq:ItemType"></field>
				<field name="EscalationCodeItem" xpath="newreq:EscalationCodeItem"></field>
				<field name="ItemDescription" xpath="newreq:ItemDescription"></field>
				<field name="ItemQuantity" xpath="newreq:ItemQuantity"></field>
				<field name="CostCode" xpath="newreq:CostCode"></field>
				<field name="AppointmentDate" xpath="newreq:AppointmentDate"></field>
				<field name="ModifiedBy" xpath="newreq:ModifiedBy"></field>
				<field name="ModifiedDate" xpath="newreq:ModifiedDate"></field>
				
				<field name="BusinessPartnerID" xpath="../newreq:NewRequestSummary[1]/newreq:BusinessPartnerID"></field>
				<field name="RequestType" xpath="../newreq:NewRequestSummary[1]/newreq:RequestType"></field>
				<field name="EscalationCode" xpath="../newreq:NewRequestSummary[1]/newreq:EscalationCode"></field>
				<field name="LinkedTransaction" xpath="../newreq:NewRequestSummary[1]/newreq:LinkedTransaction"></field>
				<field name="CitizenID" xpath="../newreq:NewRequestSummary[1]/newreq:CitizenID"></field>
				<field name="CitizenForename" xpath="../newreq:NewRequestSummary[1]/newreq:CitizenForename"></field>
				<field name="CitizenSurname" xpath="../newreq:NewRequestSummary[1]/newreq:CitizenSurname"></field>
				<field name="LocationUPRN" xpath="../newreq:NewRequestSummary[1]/newreq:LocationUPRN"></field>
				<field name="LocationUSRN" xpath="../newreq:NewRequestSummary[1]/newreq:LocationUSRN"></field>
				<field name="Easting" xpath="../newreq:NewRequestSummary[1]/newreq:Easting"></field>
				<field name="Northing" xpath="../newreq:NewRequestSummary[1]/newreq:Northing"></field>
				<field name="Comments" xpath="../newreq:NewRequestSummary[1]/newreq:Comments"></field>
				<field name="RequestDate" xpath="../newreq:NewRequestSummary[1]/newreq:RequestDate"></field>
			</table>
	</mappings>
	
	<assign classname="Control.GeneralInterface.StandardImportProcessor">
		<businessobject classname="DataBO.ProcessMngt.MinorDefectBO">
			<table name="pmMinorDefect" sourcetable="RequestDetail">
				<identification>pmAsset.Code = #Import.LocationUPRN AND pmMinorDefect.Code = #Import.ItemCode</identification>
				<mode>
					<add/>
					<update/>
				</mode>
				
				<set>
					<field name="AssetID" modes="Add">Lookup("DataBO.ProcessMngt.AssetBO","pmAsset","Code",#Import.LocationUPRN,"AssetID")</field>
					<field name="Code" modes="Add">#Import.ItemCode</field>
					<field name="Description">#Import.ItemDescription</field>
				</set>
			</table>
		</businessobject>
	</assign>
	
	<resultexport>
		<configuration>
			<newline>\n</newline>
			<encoding>UTF8</encoding>
			<header>
				Content-Type: text/xml;
				SOAPAction: http://www.fastnetasp.com/GeneralImport;
			</header>
		</configuration>
		<contents>
		<!-- Usefull for export string expression functions:
			Separator() - Returns separator defined in configuration
			TextQuote() - Returns text quote defined in configuration
			NewLine() - Returns new line defined in configuration
			CsvEncode(arg1, arg2, ...) - Encode passed arguments to valid csv structure
			XmlEncode(arg) - Encode argument to valid xml text
			HtmlEncode(arg) - Encode argument to valid html text
		-->
		<variable>
			<name>SummaryResult</name>
			<value>True</value>
		</variable>
		<variable>
			<name>BOpartner</name>
			<value>""</value>
		</variable>
		
		<const>
<![CDATA[
"<?xml version='1.0' encoding='utf-8'?>
<soap:Envelope xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance' xmlns:xsd='http://www.w3.org/2001/XMLSchema' xmlns:soap='http://schemas.xmlsoap.org/soap/envelope/'>
<soap:Body>
	<Response xmlns='http://namespace.com'>
"
]]>
		</const>
		<foreach table="RequestDetail" datacontext="mappings" classname="DataBO.ProcessMngt.MinorDefectBO">
			<variable>
				<name>SummaryResult</name>
				<value>if(#SummaryResult, #Result.IsImported , False)</value>
			</variable>
			<variable>
				<name>BOpartner</name>
				<value>#Import.BusinessPartnerID</value>
			</variable>
			
			<data>
<![CDATA[
"	<ResponseDetail>
		<ItemNumber>" + XmlEncode(#Import.ItemNumber) + "</ItemNumber>
		<ItemBusinessPartnerID>" + XmlEncode(#Import.ItemBusinessPartnerID) + "</ItemBusinessPartnerID>
		<ItemCode>" + XmlEncode(#Import.ItemNumber) + "</ItemCode>
		<ItemDescription>" + XmlEncode(#Import.ItemCode) + "</ItemDescription>
		<ItemQuantity>" + XmlEncode(#Import.ItemQuantity) + "</ItemQuantity>
		<CostCode>" + XmlEncode(#Import.CostCode) + "</CostCode>
		<AppointmentDate>" + XmlEncode(#Import.AppointmentDate) + "</AppointmentDate>
		<ItemSERCOReference>" + XmlEncode(pmAsset.Code) + "</ItemSERCOReference>
		<ItemStatusCode>" + if(#Result.IsImported, 'Success', 'Fail') +  "</ItemStatusCode>
		<ItemStatusDescription>" + XmlEncode(#Result.Message) + "</ItemStatusDescription>
	</ResponseDetail>
"
]]>				
			</data>
		</foreach>
		
		<const>
<![CDATA[
"	<ResponseSummary>
		<BusinessPartnerID>" + XmlEncode(#BOpartner) + "</BusinessPartnerID>
		<Status>" + if(#SummaryResult, 'Success', 'Fail')+ "</Status>
		<ResponseDateTime>" + Now() + "</ResponseDateTime>
	</ResponseSummary>
"
]]>
		</const>
		
		<const>
<![CDATA[
"    </Response>
</soap:Body>
</soap:Envelope>
"
]]>		
		</const>
		</contents>	
	</resultexport>
</import>