WMS update WMs Location in D365 FO
/// <summary>
/// Updates data in the given user session
/// or creates new one if session doesn't exist.
/// </summary>
/// <param name="_userId">
/// Identifier of the user.
/// </param>
/// <param name="_con">
/// Data container.
/// </param>
/// <param name="_inventLocationId">
/// Inventory location value to be set on the session.
/// </param>
/// <param name="_xml">
/// form state XML.
/// </param>
/// <param name="_languageId">
/// The language ID of the user session.
/// </param>
/// <param name="_xmlTranslator">
/// The translator of the xml.
/// </param>
/// <returns>
/// Session that has been updated or created.
/// </returns>
protected static WHSWorkUserSession updateWorkUserSession(
WHSUserId _userId,
container _con,
InventLocationId _inventLocationId = '',
str _xml = '',
LanguageId _languageId = infolog.language(),
WHSServiceXMLTranslator _xmlTranslator = WHSMobileDeviceServiceXMLTranslator::construct())
{
container stateData = conPeek(_con, #StateInfo);
WHSWorkUserSessionStateCheck sessionStateCheck = WHSWorkUserSessionStateCheckBuilder::buildFromContainerWithVersionNumber(_con);
if (_xml == '')
{
_xml = _xmlTranslator.createXML(_con);
}
return WHSWorkUserSession::createOrUpdate(_userId,
conPeek(stateData, #StateInfoMode),
conPeek(stateData, #StateInfoStep),
conPeek(_con, #PassThroughInfo),
_languageId,
_xml,
sessionStateCheck,
_inventLocationId);
}
Comments
Post a Comment