tag:blogger.com,1999:blog-73151388081097219862023-11-16T19:14:37.662+01:00Microsoft Dynamics AxKnowledge is made to be sharedUnknownnoreply@blogger.comBlogger752125tag:blogger.com,1999:blog-7315138808109721986.post-77168053568708389182017-04-12T10:09:00.002+02:002017-04-12T10:09:37.271+02:00Recalculate InventSum<span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventSum is needed to recalculate sometimes.We should use InventSumRecalcItem class in Dynamics AX.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">Sample Code :</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">// CODE BEGIN ****************************</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventSumRecalcItem InventSumRecalcItem;</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">; </span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventSumRecalcItem = new InventSumRecalcItem("ITEM001", true, checkfix::fix);</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventSumRecalcItem.updatenow();</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">// CODE END ******************************</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">First parameter : ItemId</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">Second parameter : Show errors</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">Third parameter : Fix or only check</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">If you want to calculate for all items :</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">// CODE BEGIN ****************************</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventTable InventTable;</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">InventSumRecalcItem InventSumRecalcItem;</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">;</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">WHILE SELECT InventTable</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">WHERE (InventTable.ItemType == ItemType::Item) || (InventTable.ItemType == ItemType::BOM)</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">{ </span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;"> InventSumRecalcItem = new InventSumRecalcItem(InventTable.ItemId, true, checkfix::fix);</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;"> InventSumRecalcItem.updatenow();</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">} </span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px;">// CODE END ******************************</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-21000248710438975302017-04-05T10:33:00.001+02:002017-04-05T10:33:25.559+02:00Reduce SSRS deployment time for static reports in AX2012<span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;">Are you wasting minutes deploying and redeploying static SSRS reports in all the languages provided with AX2012? If you only need a handful of them, you might just as well consider disabling the licenses for the unwanted languages. You can enable them back if you need them later.</span><br style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;" /><br style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;">Now disabling one language at a time manually might not be your cup of tea, so I would like to share a small job that disables all languages except the ones you want to keep enabled. Just create a new job and paste in the code below. Use at own risk of course, take backups and backups of the backups etc (you know the drill).</span><br style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;" /><br />
<div style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;">
<div class="syntaxhighlighter csharp" id="highlighter_874431" style="font-size: 1em !important; margin: 1em 0px !important; overflow: auto !important; position: relative !important; width: 726px;">
<div class="toolbar" style="background: rgb(108, 226, 108) !important; border-radius: 0px !important; border: none !important; bottom: auto !important; box-sizing: content-box !important; color: white !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 10px !important; height: 11px !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: absolute !important; right: 1px !important; top: 1px !important; vertical-align: baseline !important; width: 11px !important; z-index: 10 !important;">
<a class="toolbar_item command_help help" href="http://yetanotherdynamicsaxblog.blogspot.fr/2015/04/reduce-ssrs-deployment-time-for-static.html#" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: white !important; display: block !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 1px 0px 0px !important; position: static !important; right: auto !important; text-align: center !important; text-decoration: none !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">?</a></div>
<table border="0" cellpadding="0" cellspacing="0" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 835px;"><tbody style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<tr style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><td class="gutter" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(175, 175, 175) !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"><div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
1</div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
2</div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
3</div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
4</div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
5</div>
<div class="line number6 index5 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
6</div>
<div class="line number7 index6 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
7</div>
<div class="line number8 index7 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
8</div>
<div class="line number9 index8 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
9</div>
<div class="line number10 index9 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
10</div>
<div class="line number11 index10 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
11</div>
<div class="line number12 index11 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
12</div>
<div class="line number13 index12 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
13</div>
<div class="line number14 index13 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
14</div>
<div class="line number15 index14 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
15</div>
<div class="line number16 index15 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
16</div>
<div class="line number17 index16 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
17</div>
<div class="line number18 index17 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
18</div>
<div class="line number19 index18 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
19</div>
<div class="line number20 index19 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
20</div>
<div class="line number21 index20 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
21</div>
<div class="line number22 index21 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
22</div>
<div class="line number23 index22 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
23</div>
<div class="line number24 index23 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
24</div>
<div class="line number25 index24 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
25</div>
<div class="line number26 index25 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
26</div>
<div class="line number27 index26 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
27</div>
<div class="line number28 index27 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
28</div>
<div class="line number29 index28 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
29</div>
<div class="line number30 index29 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
30</div>
<div class="line number31 index30 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
31</div>
<div class="line number32 index31 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
32</div>
<div class="line number33 index32 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
33</div>
<div class="line number34 index33 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
34</div>
<div class="line number35 index34 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
35</div>
<div class="line number36 index35 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
36</div>
<div class="line number37 index36 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
37</div>
<div class="line number38 index37 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
38</div>
<div class="line number39 index38 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
39</div>
<div class="line number40 index39 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
40</div>
<div class="line number41 index40 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
41</div>
<div class="line number42 index41 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
42</div>
<div class="line number43 index42 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
43</div>
<div class="line number44 index43 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
44</div>
<div class="line number45 index44 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
45</div>
<div class="line number46 index45 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
46</div>
<div class="line number47 index46 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
47</div>
<div class="line number48 index47 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
48</div>
<div class="line number49 index48 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
49</div>
<div class="line number50 index49 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
50</div>
<div class="line number51 index50 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
51</div>
<div class="line number52 index51 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
52</div>
<div class="line number53 index52 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
53</div>
<div class="line number54 index53 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
54</div>
<div class="line number55 index54 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
55</div>
<div class="line number56 index55 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
56</div>
<div class="line number57 index56 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
57</div>
<div class="line number58 index57 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
58</div>
<div class="line number59 index58 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
59</div>
<div class="line number60 index59 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
60</div>
<div class="line number61 index60 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
61</div>
<div class="line number62 index61 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
62</div>
<div class="line number63 index62 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
63</div>
<div class="line number64 index63 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
64</div>
<div class="line number65 index64 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
65</div>
<div class="line number66 index65 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
66</div>
<div class="line number67 index66 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
67</div>
<div class="line number68 index67 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
68</div>
<div class="line number69 index68 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
69</div>
<div class="line number70 index69 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
70</div>
<div class="line number71 index70 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
71</div>
<div class="line number72 index71 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
72</div>
<div class="line number73 index72 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
73</div>
<div class="line number74 index73 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
74</div>
<div class="line number75 index74 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
75</div>
<div class="line number76 index75 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
76</div>
<div class="line number77 index76 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
77</div>
<div class="line number78 index77 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
78</div>
<div class="line number79 index78 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
79</div>
<div class="line number80 index79 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
80</div>
<div class="line number81 index80 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
81</div>
<div class="line number82 index81 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
82</div>
<div class="line number83 index82 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
83</div>
<div class="line number84 index83 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
84</div>
<div class="line number85 index84 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
85</div>
<div class="line number86 index85 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
86</div>
<div class="line number87 index86 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
87</div>
<div class="line number88 index87 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
88</div>
<div class="line number89 index88 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
89</div>
<div class="line number90 index89 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
90</div>
<div class="line number91 index90 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
91</div>
<div class="line number92 index91 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
92</div>
<div class="line number93 index92 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
93</div>
<div class="line number94 index93 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
94</div>
<div class="line number95 index94 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
95</div>
<div class="line number96 index95 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
96</div>
<div class="line number97 index96 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
97</div>
<div class="line number98 index97 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
98</div>
<div class="line number99 index98 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-bottom-color: initial !important; border-bottom-style: initial !important; border-image: initial !important; border-left-color: initial !important; border-left-style: initial !important; border-radius: 0px !important; border-right-color: rgb(108, 226, 108) !important; border-right-style: solid !important; border-top-color: initial !important; border-top-style: initial !important; border-width: 0px 3px 0px 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 0.5em 0px 1em !important; position: static !important; right: auto !important; text-align: right !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
99</div>
</td><td class="code" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: 798px;"><div class="container" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: relative !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">
<div class="line number1 index0 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 2em; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// Remove licence codes for unwanted languages</code></div>
<div class="line number2 index1 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">static</code> <code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">void</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">AdLanguageRemover(Args _args)</code></div>
<div class="line number3 index2 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number4 index3 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SysConfig sysConfig;</code></div>
<div class="line number5 index4 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SysRemoveLicense remLic;</code></div>
<div class="line number6 index5 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number7 index6 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Query query;</code></div>
<div class="line number8 index7 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">QueryBuildDataSource qbd;</code></div>
<div class="line number9 index8 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">QueryBuildRange qbr;</code></div>
<div class="line number10 index9 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">QueryRun queryRun;</code></div>
<div class="line number11 index10 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number12 index11 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">FormRun confirmForm;</code></div>
<div class="line number13 index12 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Set languagesToKeep = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">new</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Set(Types::String);</code></div>
<div class="line number14 index13 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Set licenseCodeSet = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">new</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Set(Types::Integer);</code></div>
<div class="line number15 index14 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SetEnumerator it;</code></div>
<div class="line number16 index15 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">int</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confCount = 0;</code></div>
<div class="line number17 index16 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">boolean licenseChanged = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">false</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
<div class="line number18 index17 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Args args = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">new</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Args(formStr(SysLicenseCompareForm)); </code></div>
<div class="line number19 index18 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">boolean proceed = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">false</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">;</code></div>
<div class="line number20 index19 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SysLicenseCodeDescription codeDescription;</code></div>
<div class="line number21 index20 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">str currentLanguageId;</code></div>
<div class="line number22 index21 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">int</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">pos, sysConfigId; </code></div>
<div class="line number23 index22 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number24 index23 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 2em; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// List of languages to keep. Add, remove, change to fit your preference</code></div>
<div class="line number25 index24 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'nb-no'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number26 index25 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'en-us'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number27 index26 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'sv'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number28 index27 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'nl'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number29 index28 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'fr'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number30 index29 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'da'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">);</code></div>
<div class="line number31 index30 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">languagesToKeep.add(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'de'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">); </code></div>
<div class="line number32 index31 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number33 index32 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">query = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">new</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">Query();</code></div>
<div class="line number34 index33 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">qbd = query.addDataSource(tableNum(sysConfig));</code></div>
<div class="line number35 index34 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number36 index35 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">qbr = qbd.addRange(fieldNum(SysConfig,ConfigType));</code></div>
<div class="line number37 index36 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">qbr.value(enum2Value(ConfigType::AccessCodes));</code></div>
<div class="line number38 index37 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number39 index38 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">qbr = qbd.addRange(fieldNum(SysConfig,Id));</code></div>
<div class="line number40 index39 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">qbr.value(SysLicenseCodeReadFile::rangeLanguage());</code></div>
<div class="line number41 index40 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number42 index41 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">queryRun = </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">new</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">QueryRun(query);</code></div>
<div class="line number43 index42 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number44 index43 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">delete_from remLic;</code></div>
<div class="line number45 index44 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number46 index45 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">while</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(queryRun.next())</code></div>
<div class="line number47 index46 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number48 index47 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(queryRun.changed(tableNum(sysConfig)))</code></div>
<div class="line number49 index48 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number50 index49 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sysConfig = queryRun.</code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">get</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(tableNum(sysConfig));</code></div>
<div class="line number51 index50 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number52 index51 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number53 index52 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">codeDescription = SysLicenseCodeReadFile::codeDescription(sysConfig.Id);</code></div>
<div class="line number54 index53 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">pos = strFind(codeDescription,</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'('</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,strLen(codeDescription),-strLen(codeDescription));</code></div>
<div class="line number55 index54 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">currentLanguageId = subStr(codeDescription,pos+1,strLen(codeDescription)-pos-1);</code></div>
<div class="line number56 index55 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number57 index56 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(!languagesToKeep.</code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">in</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(currentLanguageId))</code></div>
<div class="line number58 index57 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number59 index58 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">warning(strFmt(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'Removing language %1'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,SysLicenseCodeReadFile::codeDescription(sysConfig.Id)));</code></div>
<div class="line number60 index59 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">licenseCodeSet.add(sysConfig.Id);</code></div>
<div class="line number61 index60 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">remLic.clear();</code></div>
<div class="line number62 index61 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">remLic.LicenseCode = sysConfig.Id;</code></div>
<div class="line number63 index62 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">remLic.Description = SysLicenseCodeReadFile::codeDescription(sysConfig.Id);</code></div>
<div class="line number64 index63 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">remLic.insert();</code></div>
<div class="line number65 index64 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number66 index65 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">else</code></div>
<div class="line number67 index66 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number68 index67 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">info(strFmt(</code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">'Keeping language %1'</code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">,SysLicenseCodeReadFile::codeDescription(sysConfig.Id))); </code></div>
<div class="line number69 index68 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number70 index69 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number71 index70 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number72 index71 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number73 index72 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(licenseCodeSet.elements())</code></div>
<div class="line number74 index73 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number75 index74 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp comments" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; clear: both; color: rgb(0, 130, 0) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin-bottom: 0px !important; margin-left: 0px !important; margin-right: 0px !important; margin-top: 2em; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">// if not valid code, then we should display the warning </code></div>
<div class="line number76 index75 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confCount = SysLicenseCodeReadFile::findConfigKeysFromLicenseCodeSet(licenseCodeSet);</code></div>
<div class="line number77 index76 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
</div>
<div class="line number78 index77 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confirmForm = classfactory.formRunClass(args);</code></div>
<div class="line number79 index78 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confirmForm.init();</code></div>
<div class="line number80 index79 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confirmForm.run(); </code></div>
<div class="line number81 index80 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">confirmForm.wait(); </code></div>
<div class="line number82 index81 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number83 index82 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">if</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(confirmForm.closedOk())</code></div>
<div class="line number84 index83 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number85 index84 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">it = licenseCodeSet.getEnumerator();</code></div>
<div class="line number86 index85 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp keyword" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: rgb(0, 102, 153) !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; font-weight: bold !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">while</code> <code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">(it.moveNext())</code></div>
<div class="line number87 index86 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">{</code></div>
<div class="line number88 index87 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">sysConfigId = it.current();</code></div>
<div class="line number89 index88 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number90 index89 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">update_recordSet sysConfig </code></div>
<div class="line number91 index90 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">setting value = </code><code class="csharp string" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; color: blue !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">''</code></div>
<div class="line number92 index91 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">where sysConfig.id == sysConfigId;</code></div>
<div class="line number93 index92 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number94 index93 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number95 index94 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code> </div>
<div class="line number96 index95 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">SysLicenseCodeReadFile::codesModified();</code></div>
<div class="line number97 index96 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number98 index97 alt1" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp spaces" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;"> </code><code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
<div class="line number99 index98 alt2" style="background-attachment: initial !important; background-clip: initial !important; background-image: none !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px 1em !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; white-space: pre !important; width: auto !important;">
<code class="csharp plain" style="background: none !important; border-radius: 0px !important; border: 0px !important; bottom: auto !important; box-sizing: content-box !important; float: none !important; font-family: Consolas, "Bitstream Vera Sans Mono", "Courier New", Courier, monospace !important; font-size: 1em !important; height: auto !important; left: auto !important; line-height: 1.1em !important; margin: 0px !important; min-height: auto !important; outline: 0px !important; overflow: visible !important; padding: 0px !important; position: static !important; right: auto !important; top: auto !important; vertical-align: baseline !important; width: auto !important;">}</code></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<br style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px;">Allow for a synchronization to run through after the licenses are modified. Remember that this may impact the database schema, but if you really do not want the (ie.) Norwegian language to be enabled, it should be safe to disable. Thanks for reading!</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-20576692842161029022017-02-23T11:08:00.001+01:002017-02-23T11:08:39.711+01:00Dynamics Ax Query Extended Range Value Expression<h3 class="post-title entry-title" itemprop="name" style="background-color: white; color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 13px; font-stretch: normal; line-height: normal; margin: 0.75em 0px 0px; position: relative;">
Dynamics Ax Query Extended Range Value Expression</h3>
<div class="post-header" style="background-color: white; color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 9.9px; line-height: 1.6; margin: 0px 0px 1.5em;">
<div class="post-header-line-1">
<span class="post-author vcard">By <span class="fn" itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person"><span itemprop="name">Rahul Sharma</span> </span></span><span class="post-timestamp" style="margin-left: -1em;">. on <a class="timestamp-link" href="http://blog.rahulsharma.in/2010/03/query-extended-range-value-expression.html" rel="bookmark" style="color: #3b5998; text-decoration: none;" title="permanent link"><abbr class="published" itemprop="datePublished" title="2010-03-29T20:11:00-05:00">Monday, March 29, 2010</abbr></a></span></div>
</div>
<div class="post-body entry-content" id="post-body-9126440952980474587" itemprop="description articleBody" style="background-color: white; color: #222222; font-family: Verdana, Geneva, sans-serif; font-size: 12.1px; line-height: 1.4; position: relative; width: 777.547px;">
In this article we will see how to define extended query ranges using expressions. These expressions can be used in any query where you need to express a range that is more complex than is possible with the usual range value notations.<br /><a href="https://www.blogger.com/null" name="more"></a><a href="http://www.blogger.com/" name="more" style="color: #3b5998; text-decoration: none;"></a><br />The rules for creating query range value expressions are:<br /><ul style="line-height: 1.4; margin: 0.5em 0px; padding: 0px 2.5em;">
<li style="margin: 0px 0px 0.25em; padding: 0px;">Enclose the whole expression in parentheses.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Enclose all subexpressions in parentheses.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Use the relational and logical operators available in X++.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Only use field names from the range's data source.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Use the dataSource.field notation for fields from other data sources in the query.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Values must be constants in the expression, so any function or outside variable must be calculated before the expression is evaluated by the query. This is typically done by using the <i>strFmt </i>function.</li>
</ul>
Let's do it with some examples:<br /><br /><b>OR clause on same field:</b><br /><b></b><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> Query q;</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> QueryBuildDataSource qbd;</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> QueryBuildRange qbr;</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> q = new Query();</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbd = q.addDataSource(TableNum(CustTable));</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr = qbd.addRange(FieldNum(CustTable, AccountNum));</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr.value('4005, 4006');</span><br /><br /><i>Result: SELECT * FROM CustTable WHERE ((AccountNum = N'4005' OR AccountNum = N'4006'))</i><br /><br /><i>or use this expression to achieve the same...</i><br /><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr.value(strFmt('((AccountNum == "%1") || (AccountNum == "%2"))',</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> QueryValue('4005'),</span><br /><span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> QueryValue('4006')));</span><br /><br /><i>Result: SELECT * FROM CustTable WHERE ((((AccountNum == "4005") || (AccountNum == "4006"))))</i><br /><br /><b>OR </b><b>clause </b><b>on different fields:</b> In this example we are using DataAreaId field to obtain range object but actual range is on AccountNum and Name. This means when you use range value expressions you can use any field to obtain range object and use it to insert your range in the query. The field you use to get range object is not included in the query. I usually use DataAreaId to denote that this is a special range.<br /><br /><div style="margin: 0px;">
</div>
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr = qbd.addRange(FieldNum(CustTable, DataAreaId));</span></div>
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr.value(strFmt('((%1 == "4000") || (%2 == "The Bulb"))',</span></div>
<div style="margin: 0px;">
</div>
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> fieldStr(CustTable, AccountNum),</span></div>
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> fieldStr(CustTable, Name)));</span></div>
<div style="margin: 0px;">
<br /></div>
<div style="margin: 0px;">
<i><i>Result</i>: SELECT * FROM CustTable WHERE ((((AccountNum == "4000") || (Name == "The Bulb"))))</i></div>
<div>
<br />The above result can also be obtained with this below example. The only difference is we are using DataSource name as well. This will also give you some idea on how to use expressions when more than one DataSources are involved.<br /><br /><div style="margin: 0px;">
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr = qbd.addRange(FieldNum(CustTable, DataAreaId));</span></div>
</div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbr.value(strFmt('((%1.%2 == "4000") || (%1.%3 == "The Bulb"))',</span></div>
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> qbd.name(),</span></div>
</div>
<div style="margin: 0px;">
</div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> fieldStr(CustTable, AccountNum),</span></div>
</div>
<div style="margin: 0px;">
<div style="margin: 0px;">
<span class="Apple-style-span" style="font-family: "Courier New", Courier, monospace;"> fieldStr(CustTable, Name)));</span></div>
</div>
<br /><i><i>Result</i>: SELECT * FROM CustTable WHERE ((((CustTable_1.AccountNum == "4000") || (CustTable_1.Name == "The Bulb"))))</i><br /><br /></div>
Query range value expressions are evaluated only at run time, so there is no compile-time checking. If the expression cannot be understood, a modal box will appear at run time that states "Unable to parse the value."<br /><br /><br />Feel free to post any comment / feedback here.</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-35732820536399324292016-06-27T15:32:00.002+02:002016-06-27T15:32:26.992+02:00RDP, Contract, UI Builder and Controller classes for SSRS report Development<span style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">Without going into more details over individual classes (RDP, Contract, UI Builder and Controller) I am writing this post to develop an SSRS report using all these classes (some of them are optional). Let’s find out how?</span><br />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<b style="box-sizing: border-box;"><span style="box-sizing: border-box; color: #45818e; font-size: medium;">RDP Class</span></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Details of this class are here;</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="http://www.dynamics101.com/2013/09/developing-ssrs-report-using-report-data-provider-microsoft-dynamics-ax-2012/" style="box-sizing: border-box; color: #0054a6; text-decoration: none;">http://www.dynamics101.com/2013/09/developing-ssrs-report-using-report-data-provider-microsoft-dynamics-ax-2012/</a></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Create a new class in AOT, I have named it FF_ReportDP and <span style="box-sizing: border-box; color: #0070c0;">extends</span> it from <b style="box-sizing: border-box;">SRSReportDataProviderBase</b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRVRJhC3du8VsQbC4nXsEvnNkL2WPFCK9RHTtmhKyxtI1kPQqoRRQ_O_kPf-lw7DRPTDiw8v8Di5JjwkcktSAXpJCBFJKsMpjCQph9GN1tzRCLpBKMjlc5cNStFJfoHvhVUF8l4jeihOOV/s1600/1.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRVRJhC3du8VsQbC4nXsEvnNkL2WPFCK9RHTtmhKyxtI1kPQqoRRQ_O_kPf-lw7DRPTDiw8v8Di5JjwkcktSAXpJCBFJKsMpjCQph9GN1tzRCLpBKMjlc5cNStFJfoHvhVUF8l4jeihOOV/s1600/1.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></a><span style="box-sizing: border-box; line-height: 14.25pt; text-align: justify;"></span></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;">
<br style="box-sizing: border-box;" /></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt; margin: 12pt 0cm 0cm; text-align: justify;">
</div>
<div class="MsoNormal" style="background-attachment: initial; background-color: white; background-image: initial; background-position: initial; background-repeat: initial; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt; text-align: justify;">
<b style="background-color: #cccccc; box-sizing: border-box;">SRSReportQueryAttribute</b><span style="box-sizing: border-box;">: specifies which AOT query will be used in this report. If the RDP class uses an AOT query to process data, define this attribute at the beginning of the class.</span></div>
<div class="MsoNormal" style="background-attachment: initial; background-color: white; background-image: initial; background-position: initial; background-repeat: initial; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt; text-align: justify;">
<b style="background-color: #cccccc; box-sizing: border-box;">SRSReportParameterAttribute</b><span style="box-sizing: border-box;">: defines the data contract class that will be used by this report to prompt for parameter values. If the RDP class contains any parameters this define this attribute at the beginning of the class.</span></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt; margin: 12pt 0cm 0cm; text-align: justify;">
<b style="box-sizing: border-box;">NOTE:</b> Both the attributes are optional. If the report does not use any query or does not want any parameter to filter report data, these attributes do not need to be used.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt; text-align: justify;">
Add a new method and name it <span style="box-sizing: border-box; color: blue;">getFF_ReportReportTmp</span>. This method is mandatory because reporting services uses this method to get the table buffer containing the processed data. The SRSReportDataSetAttributeattribute is used to indicate the temporary table name and also tells the reporting services to use this method to retrieve the processed data.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQct-0pqMt_m-id_Kk_tspc0G_NyHussyK6UQ7XrO-EeEpTfynz8IyDUiCXaKxKUzTfytd7e9bTrBvvFnj4wosyP6DSzndpX6TLNkw_HYx81_99d3xIBRUTS_6YjMzIl7H7syQleucHIKg/s1600/2.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiQct-0pqMt_m-id_Kk_tspc0G_NyHussyK6UQ7XrO-EeEpTfynz8IyDUiCXaKxKUzTfytd7e9bTrBvvFnj4wosyP6DSzndpX6TLNkw_HYx81_99d3xIBRUTS_6YjMzIl7H7syQleucHIKg/s1600/2.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></a> </div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<span style="box-sizing: border-box; line-height: 14.25pt;"><br style="box-sizing: border-box;" /></span></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<span style="box-sizing: border-box; line-height: 14.25pt;"><br style="box-sizing: border-box;" /></span></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<span style="box-sizing: border-box; line-height: 14.25pt;">Add a new method and name it </span><b style="box-sizing: border-box; line-height: 14.25pt;"><span style="box-sizing: border-box; color: blue;">processReport</span></b><span style="box-sizing: border-box; line-height: 14.25pt;">. This method contains the business logic and is called by reporting services to generate data.</span></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
</div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 14.25pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6xUDLFcP2XRMcwBlPQlKaRiZowXz4RMGdJDYGRxR-3H3tlIo4XCQGu74QZD_9mj92LP8NIVJCpask4ljfdQkXwkpOi1F6Dok5P_65Q0OET1-nZMuCWUOd_ubaTx-GcYDsDWiqWRkYa_u0/s1600/3.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; line-height: normal; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="384" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6xUDLFcP2XRMcwBlPQlKaRiZowXz4RMGdJDYGRxR-3H3tlIo4XCQGu74QZD_9mj92LP8NIVJCpask4ljfdQkXwkpOi1F6Dok5P_65Q0OET1-nZMuCWUOd_ubaTx-GcYDsDWiqWRkYa_u0/s1600/3.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="640" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Initialize and retrieve contract class parameters in processReport method to get filtered records from tables based on parameter inputs. e.g. Customer account is added as a range to retrieve data only for selected customer.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Tip: For better performance RecordInsertList is used in processReport method to write data into database in one call.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<b style="box-sizing: border-box;"><span style="box-sizing: border-box; color: #45818e; font-size: medium;">Contract class</span></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<b style="box-sizing: border-box;"><span style="box-sizing: border-box; color: #45818e;"><br style="box-sizing: border-box;" /></span></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Create a new class and name it FF_ReportContract</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
In this class I have added two parameters Company and CustomerAccount which can be used to filter data on report either passing values from a menuitem or from a class or while calling report from a form. I will address this later in this or next post.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="separator" style="background-color: white; box-sizing: border-box; clear: both; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA-jPbrBKa3mmBo9zQsj-2y4uuz9_fh6ZJUHIrGAN69L0rtPqIyfVZqk1hvKqIIGAvXMNqFUJe4SVRZZyMqhn5ZFM1I9HXGNrFJb-8dmnOS-C9Yzc9ozogno59cX6IURz6PjFAGC2kMpHv/s1600/4.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img alt=" " border="0" height="110" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhA-jPbrBKa3mmBo9zQsj-2y4uuz9_fh6ZJUHIrGAN69L0rtPqIyfVZqk1hvKqIIGAvXMNqFUJe4SVRZZyMqhn5ZFM1I9HXGNrFJb-8dmnOS-C9Yzc9ozogno59cX6IURz6PjFAGC2kMpHv/s1600/4.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
It will tell the contract class to build the parameter dialog. In other words, it will link the UI Builder Class with the contract class.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<span style="box-sizing: border-box; text-align: left;">Parameter methods: </span></div>
<div class="separator" style="background-color: white; box-sizing: border-box; clear: both; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUcNdBc2WREtKyJMlOGCKstlREGpKZekPPyOt8LjrvjgmMAdHkX3cmS4MXRREPqnfrCzGIF3H18gapP5VblDdiWHiLzY5SO_ZNZ8CDPr-pwNBIb-FHv4FiDel0eRt5GdXar94USKIitoi5/s1600/5.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img alt=" " border="0" height="93" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgUcNdBc2WREtKyJMlOGCKstlREGpKZekPPyOt8LjrvjgmMAdHkX3cmS4MXRREPqnfrCzGIF3H18gapP5VblDdiWHiLzY5SO_ZNZ8CDPr-pwNBIb-FHv4FiDel0eRt5GdXar94USKIitoi5/s1600/5.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="separator" style="background-color: white; box-sizing: border-box; clear: both; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpaaCzfw5HfPo5bqNCkFRDquq5pKWCZBc3vTuLDGR6LIvpm2NwMwxKZ0MAm9PkWxmBTCX8Wz52Il5PCD8nyvDTzE3PwmjfKg9QReI81x5YrEJE6HZYRpjTGUFsX5RtsSx2jDV-gD49pzI/s1600/6.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img alt=" " border="0" height="126" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjzpaaCzfw5HfPo5bqNCkFRDquq5pKWCZBc3vTuLDGR6LIvpm2NwMwxKZ0MAm9PkWxmBTCX8Wz52Il5PCD8nyvDTzE3PwmjfKg9QReI81x5YrEJE6HZYRpjTGUFsX5RtsSx2jDV-gD49pzI/s1600/6.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" /><br />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<span style="box-sizing: border-box; color: #45818e; font-size: medium;"><b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></span></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<span style="box-sizing: border-box; color: #45818e; font-size: medium;"><b style="box-sizing: border-box;">UI Builder Class</b></span></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<span style="box-sizing: border-box; color: #45818e; font-size: medium;"><b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></span></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Details of this class are here;</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="http://www.dynamics101.com/2014/04/using-ui-builder-class-to-develop-ssrs-reports-microsoft-dynamics-ax-2012/" style="box-sizing: border-box; color: #0054a6; text-decoration: none;">http://www.dynamics101.com/2014/04/using-ui-builder-class-to-develop-ssrs-reports-microsoft-dynamics-ax-2012/</a></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Create a new class and extends it from <span style="box-sizing: border-box; color: blue;">SysOperationAutomaticUIBuilder</span></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCryye9GUDdKgSZNtow6Q3ZGhH6tcJBroInTOdXsonAEXPojgkF4ZX-y8MeeIt8TPfORLbRBbshI9LOfuke4pIrvGFbRVS1MYRaR-PjhuvrzQqRqKn06IVBzGcllL1nYJK-B_khfKx9MwJ/s1600/7.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="86" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgCryye9GUDdKgSZNtow6Q3ZGhH6tcJBroInTOdXsonAEXPojgkF4ZX-y8MeeIt8TPfORLbRBbshI9LOfuke4pIrvGFbRVS1MYRaR-PjhuvrzQqRqKn06IVBzGcllL1nYJK-B_khfKx9MwJ/s1600/7.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Override build method to create own dialog box</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimQYsh3SJ0eIpNvMrBlMnH0YkwwHqXelne181TbeFZsNRvZJTt40o4CvpDDmSwa6Q3wLZI_efoBVFQbHPWuyLjhm-yyyItdAPqBAVwtRJb2k3VrDoMgbR2yUlpFSKV9eumWoWjpnz2VXwp/s1600/8.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="151" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEimQYsh3SJ0eIpNvMrBlMnH0YkwwHqXelne181TbeFZsNRvZJTt40o4CvpDDmSwa6Q3wLZI_efoBVFQbHPWuyLjhm-yyyItdAPqBAVwtRJb2k3VrDoMgbR2yUlpFSKV9eumWoWjpnz2VXwp/s1600/8.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="640" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
Override postBuild method</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSMH5ZEFimCiUNVPnFBZrc4djqmE1S46Ucbohq0200hij9MBGnE6d0Kf_UHysVizpIxR5asWHcfIg9iBBbG4MEMdIKw108sncmfAO6KRyWBwIMAUJWwe7fIdb9Z9p5QxVINbH6mjRMDvAX/s1600/9.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="108" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSMH5ZEFimCiUNVPnFBZrc4djqmE1S46Ucbohq0200hij9MBGnE6d0Kf_UHysVizpIxR5asWHcfIg9iBBbG4MEMdIKw108sncmfAO6KRyWBwIMAUJWwe7fIdb9Z9p5QxVINbH6mjRMDvAX/s1600/9.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="640" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
New method to create custom lookup of all companies in AX</div>
<div class="separator" style="background-color: white; box-sizing: border-box; clear: both; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVqmYVViryAsT9x4NmX7yXw7GKrHRFLKLSVOr-u1dbsvnJCwc3mR0LB4sp_wl5zaJ5XnKPNhUTGFU07qeyyPfXv-iLpEA-QAoBX3F0DWyo8ZdQx434RlPlDUSFZ9XcwpEnnoxCl-wF2bAE/s1600/10.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img alt=" " border="0" height="288" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVqmYVViryAsT9x4NmX7yXw7GKrHRFLKLSVOr-u1dbsvnJCwc3mR0LB4sp_wl5zaJ5XnKPNhUTGFU07qeyyPfXv-iLpEA-QAoBX3F0DWyo8ZdQx434RlPlDUSFZ9XcwpEnnoxCl-wF2bAE/s1600/10.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="640" /></a></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" /><span style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;"><span style="box-sizing: border-box; color: #45818e; font-size: medium;"><b style="box-sizing: border-box;">Controller class</b></span></span><br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" /><span style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;"><span style="box-sizing: border-box; color: #45818e; font-size: medium;"><b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></span></span><br />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
Create a new class and extends it from SrsReportRunController</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbk8JIQKMX7YwdMF8GYRaQvUdC0qMRDghyIH968FeAvBMIoCe_oPgiLXthz-8ichCCzc48RHpWJNUHp4M1RGwpTgmEWXbsTKSOZocc2gVof_m3kSs1qk9oI7VZGeDDOQnjeAiLTXFzEdsD/s1600/11.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjbk8JIQKMX7YwdMF8GYRaQvUdC0qMRDghyIH968FeAvBMIoCe_oPgiLXthz-8ichCCzc48RHpWJNUHp4M1RGwpTgmEWXbsTKSOZocc2gVof_m3kSs1qk9oI7VZGeDDOQnjeAiLTXFzEdsD/s1600/11.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></a></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
Create a new Main method to call this class from a menu item which will internally call SSRS report</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBLISsdLGgicML3rS2nqiLnk09NbyEaOX61LhRyBwnApMUD9yg8QNXc_5IwkVbPBOeia789E1ZhXvifgY8Zhv-G6p_ppGOBtTn_13oJzGPObuKp9rjrTblgVDAuxKK-pGnEgmN1eqw3rD/s1600/12.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhZBLISsdLGgicML3rS2nqiLnk09NbyEaOX61LhRyBwnApMUD9yg8QNXc_5IwkVbPBOeia789E1ZhXvifgY8Zhv-G6p_ppGOBtTn_13oJzGPObuKp9rjrTblgVDAuxKK-pGnEgmN1eqw3rD/s1600/12.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="640" /></a> </div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
Add a new output menu item in AOT with name FF_ReportController with propertied Object type = Class and Object = FF_RerportController.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
Run menu item and this will be the output dialog screen</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgihfrMqaS29J45cxCK4fyHuWcee_nKPOcZimC4MwR5Z86YcH-gNdgYzqIClTaJ5GxJgdIpAuI2TfC7tYV9p-uc_5BrZD40NRBvKPjDhrqxBg2sqRzkjAexWDKre0sfU21hroXv9V0LCpNt/s1600/13.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" height="275" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgihfrMqaS29J45cxCK4fyHuWcee_nKPOcZimC4MwR5Z86YcH-gNdgYzqIClTaJ5GxJgdIpAuI2TfC7tYV9p-uc_5BrZD40NRBvKPjDhrqxBg2sqRzkjAexWDKre0sfU21hroXv9V0LCpNt/s1600/13.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a> </div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<b style="box-sizing: border-box;"><br style="box-sizing: border-box;" /></b></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<b style="box-sizing: border-box;">Accounts receivable</b> group parameters are three ranges added in CustBalanceList query which is used in this report example.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
To hide these group parameters override showQueryValues method and return false.</div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI2nFnlxBGY6_1WqzEvHjEkHUl38CS5kzrWm8wh8JGDjptVhEad9afYIqnt9rT_3KjsdVpPDXLUBVtA2xd04LxIkXDanQp2IFpMGJBJTVw7no6o4LIp_vS9RznCB-xFCbjKcKXywRUuoOO/s1600/14.png" style="box-sizing: border-box; clear: left; color: #0054a6; float: left; margin-bottom: 1em; margin-right: 1em; text-align: center; text-decoration: none;"><img alt=" " border="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiI2nFnlxBGY6_1WqzEvHjEkHUl38CS5kzrWm8wh8JGDjptVhEad9afYIqnt9rT_3KjsdVpPDXLUBVtA2xd04LxIkXDanQp2IFpMGJBJTVw7no6o4LIp_vS9RznCB-xFCbjKcKXywRUuoOO/s1600/14.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></a> </div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-bottom: 0.0001pt;">
<br style="box-sizing: border-box;" /></div>
<br style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px;" />
<table cellpadding="0" cellspacing="0" class="tr-caption-container" style="background-color: white; border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; color: #303131; float: left; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; margin-right: 1em; max-width: 100%;"><tbody style="box-sizing: border-box;">
<tr style="box-sizing: border-box;"><td style="box-sizing: border-box; text-align: center;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhx0xQ1fpR1JjcGw7yrKY5_l9RpSAXUHlriSEc0qO2rikLtvuBvh6vDpCRrBPuGwUkvZnqKHielYTOCqb-PEW3-HNhnHFukb3jlZVcXcIH-TnhMHC4yP6idddGjFpUXzX6WDbNJb5vO6lN/s1600/15.png" style="box-sizing: border-box; clear: left; color: #0054a6; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-decoration: none;"><img alt=" " border="0" height="222" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhhx0xQ1fpR1JjcGw7yrKY5_l9RpSAXUHlriSEc0qO2rikLtvuBvh6vDpCRrBPuGwUkvZnqKHielYTOCqb-PEW3-HNhnHFukb3jlZVcXcIH-TnhMHC4yP6idddGjFpUXzX6WDbNJb5vO6lN/s1600/15.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="400" /></a></td></tr>
<tr style="box-sizing: border-box;"><td class="tr-caption" style="box-sizing: border-box; text-align: center;"><span style="box-sizing: border-box; font-size: x-small; text-align: left;">After hiding parameters</span></td></tr>
</tbody></table>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
<div class="MsoNormal" style="background-color: white; box-sizing: border-box; color: #303131; font-family: "Segoe UI", Tahoma, Arial, sans-serif; font-size: 16px; line-height: 19.2px; text-align: justify;">
<br style="box-sizing: border-box;" /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-57875612349072063372016-06-27T15:20:00.002+02:002016-06-27T15:20:51.534+02:00Using Controller Class in Developing SSRS Reports in Microsoft Dynamics AX 2012<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Overview</h2>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;">
Controller class is used to control the report execution as well as preprocessing of the report data. The SSRS reporting framework uses this class to modify the report dialogs, calling the SQL Server reporting services, as well preprocessing parameters for the report.</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-top: 10px;">
Following are the scenarios where Controller class can be used:</div>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Modifying a report query based on the input data</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Modifying report contract data based on the input data</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Control a report parameters dialog</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Open different reports/designs from the same menu item based on the input data</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Reports that are opened from a form</li>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;">
To create a controller class, extend it with <b style="box-sizing: border-box;">SrsReportRunController</b>.</div>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Prerequisites</h2>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Microsoft Dynamics AX 2012</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Reporting services extensions must be installed in Dynamics AX</li>
</ol>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Sample Controller Class</h2>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Create a new class. Open AOT → Classes</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Right Click on <b style="box-sizing: border-box;">Classes</b> and select <b style="box-sizing: border-box;">New Class</b>. Name it as <b style="box-sizing: border-box;">SSRSDemoController</b>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
<img alt="example of creating a new class in Dynamics AX" class="alignnone size-full wp-image-2123" height="229" sizes="(max-width: 319px) 100vw, 319px" src="https://www.dynamics101.com/wp-content/uploads/2014/01/new-class-ax.png?deb7a1" srcset="//www.dynamics101.com/wp-content/uploads/2014/01/new-class-ax-300x215.png 300w, //www.dynamics101.com/wp-content/uploads/2014/01/new-class-ax.png 319w" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="319" /><br style="box-sizing: border-box;" /> </div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Open the Class declaration by right clicking on it and selecting <b style="box-sizing: border-box;">View code</b>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
<img alt="example of viewing code in AOT class AX" class="alignnone size-full wp-image-2124" height="321" sizes="(max-width: 370px) 100vw, 370px" src="https://www.dynamics101.com/wp-content/uploads/2014/01/aot-classes-view-code.png?deb7a1" srcset="//www.dynamics101.com/wp-content/uploads/2014/01/aot-classes-view-code-300x260.png 300w, //www.dynamics101.com/wp-content/uploads/2014/01/aot-classes-view-code.png 370w" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" width="370" /><br style="box-sizing: border-box;" /> </div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now write the following code:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d38101540483" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 772.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 90px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 770.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d38101540483-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d38101540483-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606c0496d38101540483-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d38101540483-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606c0496d38101540483-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 752.8px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d38101540483-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">class</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoController</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">extends</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SrsReportRunController</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d38101540483-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d38101540483-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d38101540483-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d38101540483-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Create a new method and write the following code:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d53600532114" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 772.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 349.2px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 770.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-6" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-8" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-10" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-12" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
12</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-14" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
14</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-16" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
16</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-18" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
18</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-20" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
20</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d53600532114-22" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
22</div>
<div class="crayon-num" data-line="crayon-57606c0496d53600532114-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
23</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 745.6px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d53600532114-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">public</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">static</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">client </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">main</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">Args </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">args</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//define the new object for controller class</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-6" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoController </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-8" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">new</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-10" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//pass the caller args to the controller</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-12" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmArgs</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">args</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-14" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//set the report name and report design to run</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-16" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmReportName</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsReportStr</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSSessionQuery</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">Design</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-18" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//execute the report</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-20" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">startOperation</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d53600532114-22" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d53600532114-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Examples of Controller Class Usage</h2>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
Based on different scenarios, different methods are overridden as shown in the following examples:</div>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Modifying report query based on the input data</h3>
</li>
<ul style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Used in those scenarios where a report query needs to be modified based on the caller args parameters or recorded before the report parameter dialog is rendered.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Override prePromptModifyContract method to modify the report query as shown below:</li>
</ul>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d60268212504" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 757.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-expand-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Expand Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -96px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 90px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 755.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d60268212504-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d60268212504-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606c0496d60268212504-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d60268212504-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606c0496d60268212504-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 1307.2px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d60268212504-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">public</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">prePromptModifyContract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d60268212504-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line" id="crayon-57606c0496d60268212504-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//add a range in the report query </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d60268212504-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SrsReportHelper</span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">::</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">addParameterValueRangeToQuery</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">this</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">getFirstQuery</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">tableNum</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSReportDemo</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">fieldNum</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSReportDemo</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">RecId</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SysQuery</span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">::</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">value</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">this</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmArgs</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">record</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">RecId</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606c0496d60268212504-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
<em style="box-sizing: border-box;">Note: prePromptModifyContract is called by report controller before the parameter dialog is shown to the User.</em></div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Modifying report contract data based on the input data</h3>
</li>
<ul style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Used in those scenarios where report contract parameters need to be modified based on the caller args prior to the execution of the report.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Override preRunModifyContract method to modify the report contract as shown below:</li>
</ul>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d6b976983416" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 757.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 176.4px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 755.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d6b976983416-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d6b976983416-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d6b976983416-6" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d6b976983416-8" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d6b976983416-10" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-57606c0496d6b976983416-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 730.4px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d6b976983416-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">protected</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">preRunModifyContract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d6b976983416-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d6b976983416-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//define object for report contract</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d6b976983416-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoContract </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">contract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606c0496d6b976983416-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d6b976983416-6" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//get the reference of the current contract object</span></div>
<div class="crayon-line" id="crayon-57606c0496d6b976983416-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">contract</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">this</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmReportContract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmRdpContract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-st" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">as</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoContract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d6b976983416-8" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-57606c0496d6b976983416-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//modify the parameter value of the contract</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d6b976983416-10" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">contract</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmType</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">this</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmArgs</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parm</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d6b976983416-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
<em style="box-sizing: border-box;">Note: preRunModifyContract is called by report controller before the report is run.</em></div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Control report parameters dialog</h3>
</li>
<ul style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">In some scenarios, a report parameter dialog should not be visible to the end user. Controller class is also used to control the visibility of the report parameter UI.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Add the following code in the main method of the controller class before startOperation method call to hide/show the report parameter UI:</li>
</ul>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d76190392261" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 757.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 46.8px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 755.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d76190392261-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d76190392261-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 737.6px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d76190392261-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//hide the report parameter dialog</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d76190392261-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmShowDialog</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">false</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Open different reports from the same menu item based on the input data</h3>
</li>
<ul style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">It is used in those scenarios where different reports or different designs of a same report need to be opened from a same menu item depending upon the caller args.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Write the following code in main method to achieve this scenario:</li>
</ul>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606c0496d80474434129" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 757.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-expand-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Expand Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -96px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 378px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 755.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 755.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-6" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-8" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-10" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-12" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
12</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-14" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
14</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-16" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
16</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-18" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
18</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-20" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
20</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-22" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
22</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
23</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606c0496d80474434129-24" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
24</div>
<div class="crayon-num" data-line="crayon-57606c0496d80474434129-25" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
25</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 852.8px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606c0496d80474434129-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">public</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">static</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">client </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">main</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">Args </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">args</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//define the new object for controller class</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoController </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-6" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">new</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-8" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//pass the caller args to the controller</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmArgs</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">args</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-10" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//if report is run from edit mode then run the EditDesign of the report otherwise run the NewDesign of the report</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-12" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-st" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">if</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">args</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmEnum</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">==</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">FormOpenMode</span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">::</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ForEdit</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-14" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//set the report name and report design to run</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmReportName</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsReportStr</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSSessionQuery</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">EditDesign</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-16" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-st" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">else</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-18" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//set the report name and report design to run</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-20" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">parmReportName</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsReportStr</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SSRSSessionQuery</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">,</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">NewDesign</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-22" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//execute the report</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606c0496d80474434129-24" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">ssrsDemoController</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">startOperation</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span></div>
<div class="crayon-line" id="crayon-57606c0496d80474434129-25" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Reports that are opened from a form</h3>
</li>
<ul style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style: disc outside none; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Controller class is also used when reports are opened from a form and are needed to show selected record details.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-type: disc;">Use either prePromptModifyContract method or preRunModifyContract method to achieve this scenario.</li>
</ul>
</ol>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-89459833603891299962016-06-27T14:08:00.001+02:002016-06-27T14:08:38.003+02:00Developing a SSRS report using the Report Data Provider in Microsoft Dynamics AX 2012<div class="featured" style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 30px;">
<img alt="Developing SSRS reporting" class="attachment-1499 size-1499 wp-post-image" full="" height="241" sizes="(max-width: 301px) 100vw, 301px" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS11.png?deb7a1" srcset="//www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS11-300x240.png 300w, //www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS11.png 301w" style="border-radius: 2px; border: 0px; box-shadow: rgb(170, 170, 170) 0px 1px 1px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle; width: 787.5px;" width="301" /></div>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Overview</h2>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;">
There are multiple methods to develop SSRS reports in Microsoft Dynamics AX 2012. This tutorial will guide you in developing Report Data Provider (RDP) based SSRS reports.</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-top: 10px;">
RDP based SSRS Reports are used when complex business logic cannot be achieved using AOT query.</div>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Pre-requisites</h2>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Microsoft Dynamics AX 2012</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Visual studio 2012</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">SQL Server Reporting Services (SSRS) must be configured</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Reporting services extensions must be installed in Dynamics AX</li>
</ol>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Important Concepts</h2>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Report Data Provider (RDP) Class</h3>
</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
Report Data Provider Class is an X++ class that is used to access and process data for a SSRS report. The RDP class processes the business logic based on a specified parameter and/or query and returns a dataset to the reporting services. In order to create a RDP class in AX, you have to extend that class with <strong style="box-sizing: border-box;">SRSReportDataProviderBase</strong>. This tells AX that this class will be used by reporting services to process the data.</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-left: 18pt; margin-top: 10px;">
Two important attributes are used in RDP classes:</div>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 54pt; padding: 0px;">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">SRSReportQueryAttribute: </strong>specifies which AOT query will be used in this report. If the RDP class uses an AOT query to process data, define this attribute at the beginning of the class.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">SRSReportParameterAttribute: </strong>defines the data contract class that will be used by this report to prompt for parameter values. If the RDP class contains any parameters this define this attribute at the beginning of the class.</li>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
Both the attributes are optional. If the report does not use any query or does not want any parameter to filter report data, these attributes do not need to be used.</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Data Contract Class</h3>
</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
A data contract class is an X++ class which contains <strong style="box-sizing: border-box;">parm</strong> methods with the <strong style="box-sizing: border-box;">DataMemberAttribute </strong>defined at the beginning of the method. This class is used to define one or more parameters that will be used in a SSRS report.</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Table</h3>
</li>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-left: 18pt;">
An AX table is used as the dataset to store data for the report. The RDP class processes the data and stores it in the table which is then used by a SSRS report to render data.</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-left: 18pt; margin-top: 10px;">
A table can be a temporary table (<strong style="box-sizing: border-box;">InMemory</strong> or <strong style="box-sizing: border-box;">TempDB</strong>) or a regular table, but it is Microsoft best practice to use a temporary table.</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px; margin-left: 18pt; margin-top: 10px;">
The type of temporary table is based upon the performance considerations. <strong style="box-sizing: border-box;">InMemory</strong> temporary table is used when the data set is small, while <strong style="box-sizing: border-box;">TempDB</strong> is normally used for larger datasets to improve performance.</div>
<h2 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 28px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 20px;">
Scenario</h2>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;">
As part of this tutorial, the report will print a list of customers and their invoiced sales order counts.</div>
<h3 style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #282828; font-family: "Open Sans", sans-serif; font-size: 24px; font-weight: 500; line-height: 1.35em; margin-bottom: 10px; margin-top: 10px;">
Steps</h3>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;"><div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">First of all, create a temporary table. Open AOT <span style="box-sizing: border-box; font-family: Wingdings;">à</span> Date Dictionary <span style="box-sizing: border-box; font-family: Wingdings;">à</span> Tables.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Right Click on Tables and create a new Table called <strong style="box-sizing: border-box;">CustReportRDPDemoTmp</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS1.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Set the <strong style="box-sizing: border-box;">TableType</strong> property to <strong style="box-sizing: border-box;">InMemory.</strong> This will define the table as a temporary table.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS2.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Expand the <strong style="box-sizing: border-box;">CustReportRDPDemoTmp </strong>table node and add the following fields in the table:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-left: 18pt;">
<table border="1" style="border-collapse: collapse; border-spacing: 0px; box-sizing: border-box; max-width: 100%;"><colgroup style="box-sizing: border-box;"><col style="box-sizing: border-box; width: 61px;"></col><col style="box-sizing: border-box; width: 158px;"></col><col style="box-sizing: border-box; width: 168px;"></col><col style="box-sizing: border-box; width: 168px;"></col></colgroup><tbody style="box-sizing: border-box;" valign="top">
<tr style="box-sizing: border-box;"><td style="-webkit-font-smoothing: antialiased; border: 1pt solid; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"><strong style="box-sizing: border-box;">S. No.</strong></td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-top-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"><strong style="box-sizing: border-box;">Field name</strong></td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-top-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"><strong style="box-sizing: border-box;">Extended Data Type</strong></td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-left-width: 1pt; border-top-style: solid; border-top-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"><strong style="box-sizing: border-box;">Label</strong></td></tr>
<tr style="box-sizing: border-box;"><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 0.5pt; border-left-style: solid; border-left-width: 1pt; border-top-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">1</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-left-width: 1pt; border-top-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">CustAccount</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-left-width: 1pt; border-top-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">CustAccount</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"></td></tr>
<tr style="box-sizing: border-box;"><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-left-style: solid; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">2</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">Name</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">Name</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;"></td></tr>
<tr style="box-sizing: border-box;"><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-color: initial; border-left-style: solid; border-right-style: solid; border-width: 1pt; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">3</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-color: initial; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; border-top-style: none; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">SalesOrderInvoiceCount</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-color: initial; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; border-top-style: none; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">Integer</td><td style="-webkit-font-smoothing: antialiased; border-bottom-style: solid; border-bottom-width: 1pt; border-color: initial; border-left-width: 1pt; border-right-style: solid; border-right-width: 1pt; border-top-style: none; box-sizing: border-box; padding-left: 7px; padding-right: 7px;">Sales order invoiced</td></tr>
</tbody></table>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">The final table should look like the following:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS3.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now create a RDP class. Go to Classes and create a new class called <strong style="box-sizing: border-box;">CustReportRDPDemoDP </strong>by right clicking on<strong style="box-sizing: border-box;">Classes</strong> and selecting <strong style="box-sizing: border-box;">New Class</strong>. It is a best practice to suffix the RDP class name with <strong style="box-sizing: border-box;">DP </strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS4.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Open the Class declaration by right clicking on it and selecting <strong style="box-sizing: border-box;">View code</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS5.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now write the following code:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606792edf81243309081" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 772.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 90px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 770.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606792edf81243309081-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf81243309081-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606792edf81243309081-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf81243309081-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606792edf81243309081-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 752.8px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606792edf81243309081-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">class</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustReportRDPDemoDP</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">extends</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SRSReportDataProviderBase</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf81243309081-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line" id="crayon-57606792edf81243309081-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//Temporary table buffer</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf81243309081-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustReportRDPDemoTmp </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606792edf81243309081-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Add a new method and name it <strong style="box-sizing: border-box;">getCustReportRDPDemoTmp</strong>. This method is mandatory because reporting services uses this method to get the table buffer containing the processed data. The <strong style="box-sizing: border-box;">SRSReportDataSetAttribute </strong>attribute is used to indicate the temporary table name and also tells the reporting services to use this method to retrieve the processed data.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Write the following code in the method:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606792edf9b935541749" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 772.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 133.2px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 770.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606792edf9b935541749-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf9b935541749-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606792edf9b935541749-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf9b935541749-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606792edf9b935541749-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf9b935541749-6" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-57606792edf9b935541749-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edf9b935541749-8" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 752.8px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606792edf9b935541749-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">[</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SRSReportDataSetAttribute</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">tablestr</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-s" style="box-sizing: border-box; color: rgb(0, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">'CustReportRDPDemoTmp'</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">]</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf9b935541749-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">public</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustReportRDPDemoTmp </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">getCustReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line" id="crayon-57606792edf9b935541749-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf9b935541749-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//select data from table buffer</span></div>
<div class="crayon-line" id="crayon-57606792edf9b935541749-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e " style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">select *</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">from </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf9b935541749-6" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//return the buffer</span></div>
<div class="crayon-line" id="crayon-57606792edf9b935541749-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-st" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">return</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edf9b935541749-8" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Add a new method and name it <strong style="box-sizing: border-box;">processReport</strong>. This method contains the business logic and is called by reporting services to generate data.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">This method will query customer details and fill the temporary table buffer. Write the following code in the method:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<div class="crayon-syntax crayon-theme-classic crayon-font-monaco crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-mouseover" id="crayon-57606792edfa7430590973" style="-webkit-font-smoothing: antialiased; background: rgb(253, 253, 253) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; direction: ltr !important; font-family: Monaco, MonacoRegular, "Courier New", monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 772.5px;">
<div class="crayon-toolbar" data-settings=" show" style="-webkit-font-smoothing: antialiased; background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; float: left; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; padding: 0px 4px !important;"></span><div class="crayon-tools" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="-webkit-font-smoothing: antialiased; background: -24px 0px no-repeat rgb(188, 188, 188); border: 0px; box-sizing: border-box; color: white; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: 0px center; background-repeat: no-repeat; background-size: initial; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="-webkit-font-smoothing: antialiased; background: url("https://www.dynamics101.com/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-webkit-font-smoothing: antialiased; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; display: block; font-family: Monaco, MonacoRegular, "Courier New", monospace !important; font-size: 12px !important; height: 435.6px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: hidden; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; vertical-align: top; white-space: pre; width: 770.9px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 770.9px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; max-width: 100%; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px center; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="-webkit-font-smoothing: antialiased; background: rgb(223, 239, 255) !important; border: 0px; box-sizing: border-box; color: rgb(84, 153, 222) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-2" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-4" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-6" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-8" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-10" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-12" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
12</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-14" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
14</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-16" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
16</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-18" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
18</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
19</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-20" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
20</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
21</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-22" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
22</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
23</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-24" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
24</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-25" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
25</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-26" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
26</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-27" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
27</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-57606792edfa7430590973-28" style="-webkit-font-smoothing: antialiased; background: rgb(200, 225, 250) !important; border: 0px; box-sizing: border-box; color: rgb(49, 124, 197) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
28</div>
<div class="crayon-num" data-line="crayon-57606792edfa7430590973-29" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
29</div>
</div>
</td><td class="crayon-code" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 745.6px;"><div class="crayon-pre" style="-webkit-font-smoothing: antialiased; background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-57606792edfa7430590973-1" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">///<summary></span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-2" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// Processes the SQL Server Reporting Services report business logic</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-3" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// </summary></span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-4" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// <remarks></span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-5" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// This method provides the ability to write the report business logic. This method will be called by</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-6" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// SSRS at runtime. The method should compute data and populate the data tables that will be returned</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-7" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// to SSRS.</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-8" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">/// </remarks></span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-9" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-m" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">public</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">processReport</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-10" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-11" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustTable </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-12" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SalesTable </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">salesTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-13" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//select all customers</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-14" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-st" style="box-sizing: border-box; color: rgb(128, 0, 128) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">while</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">select</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">*</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">from</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custTable</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-15" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">{</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-16" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//clear the temporary table</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-17" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">clear</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-18" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//assign customer account and name</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-19" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustAccount</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">AccountNum</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-20" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">Name</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">name</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-21" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//select count of invoiced sales order of customer</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-22" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">select </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">count</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">RecId</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">from </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">salesTable</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-23" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">where </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">salesTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">CustAccount</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">==</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">AccountNum</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-24" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">&</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">amp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">&</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">amp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">salesTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SalesStatus</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">==</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SalesStatus</span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">::</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">Invoiced</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-25" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">SalesOrderInvoiceCount</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0, 111, 224) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;"> </span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">int642int</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">salesTable</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">RecId</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-26" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-c" style="box-sizing: border-box; color: rgb(255, 128, 0) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">//insert in temporary table buffer</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-27" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-v" style="box-sizing: border-box; color: rgb(0, 45, 122) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">custReportRDPDemoTmp</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">.</span><span class="crayon-e" style="box-sizing: border-box; color: rgb(0, 78, 208) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">insert</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-57606792edfa7430590973-28" style="-webkit-font-smoothing: antialiased; background: rgb(247, 247, 247) !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
<div class="crayon-line" id="crayon-57606792edfa7430590973-29" style="-webkit-font-smoothing: antialiased; background: 0px center; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51, 51, 51) !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now create a new report. Since the development of a SSRS report is done in Visual studio, we first need to create a new project in Visual studio.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Open Visual studio. Go to File <span style="box-sizing: border-box; font-family: Wingdings;">à</span> New <span style="box-sizing: border-box; font-family: Wingdings;">à</span> Project</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">In the <strong style="box-sizing: border-box;">Installed templates</strong> section select <strong style="box-sizing: border-box;">Microsoft Dynamics AX</strong> and then select <strong style="box-sizing: border-box;">Report Model</strong> in the right pane. Name the project <strong style="box-sizing: border-box;">RDPBasedDemo </strong>and press <strong style="box-sizing: border-box;">Ok</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS6.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">A new project will be created as shown below.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS7.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now add a new report in the project by right clicking on the project RDPBasedDemo <span style="box-sizing: border-box; font-family: Wingdings;">à</span> Add <span style="box-sizing: border-box; font-family: Wingdings;">à</span> Report.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS8.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">A report will be added to the project with the name <strong style="box-sizing: border-box;">Report1</strong>. Rename the report <strong style="box-sizing: border-box;">RDPBasedDemo</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now double click the report to open it.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS9.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">The description of the individual node is given below:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;" type="a">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Datasets: </strong>Datasets retrieve data from RDP class. It acts as a bridge between AX and the SSRS report. Only the fields added in the datasets can be used in a report.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Designs: </strong>It defines the layout of the report.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Images:</strong> It contains the images that you want to display in the SSRS report.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Data Methods:</strong> It contains the business logic which can then be used in the report.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Parameters: </strong>It is used to apply filtering to the data in a report. All the parameters defined in the data contract class are automatically added here when the RDP class is defined in the datasets.</li>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now you will want to create a new Dataset by right clicking Datasets <span style="box-sizing: border-box; font-family: Wingdings;">à</span>Add Dataset. Name it <strong style="box-sizing: border-box;">CustDetail</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS10.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Select the <strong style="box-sizing: border-box;">CustDetail </strong>dataset and open the properties window. Set the <strong style="box-sizing: border-box;">Data Source Type</strong> to <strong style="box-sizing: border-box;">Report Data Provider</strong>. Then select the <strong style="box-sizing: border-box;">Query</strong> field. An ellipse button appears. Click it to open a dialog box.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS11.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">This dialog box lists all the RDP classes present in the AOT. Select <strong style="box-sizing: border-box;">CustReportRDPDemoDP</strong> and press <strong style="box-sizing: border-box;">Next</strong>.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS12.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Select the fields to be displayed in the report and press <strong style="box-sizing: border-box;">OK</strong>. Only the fields selected in this dialog box can be shown in the report.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS13.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">There are two types of designs that can be created in a SSRS report:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<ol style="-webkit-font-smoothing: antialiased; box-sizing: border-box; list-style-image: none; list-style-position: outside; margin: 0px 0px 0px 15px; padding: 0px;" type="a">
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Auto design</strong>: Visual studio automatically creates a design based on the dataset provided. Auto design is the preferred method because it is easy and usually fulfills the majority scenarios.</li>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;"><strong style="box-sizing: border-box;">Precision Design</strong>: This is used when you need custom placement of fields or the layout of the report is too complex.</li>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">In this demo we will use Auto Design. Now right click the Designs node<span style="box-sizing: border-box; font-family: Wingdings;">à</span>Add <span style="box-sizing: border-box; font-family: Wingdings;">à</span>Auto Design. A new design is added. Rename it <strong style="box-sizing: border-box;">Design</strong>. It is recommended that you set the name of the Design to either ‘<strong style="box-sizing: border-box;">Design</strong>‘ or ‘<strong style="box-sizing: border-box;">Report</strong>‘.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS14.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now drag the <strong style="box-sizing: border-box;">CustDetail</strong> form to the <strong style="box-sizing: border-box;">Datasets</strong> node and drop it on the <strong style="box-sizing: border-box;">Design</strong> node. A table will be created which contain all the fields present in the data set. These fields will appear in the same order as in the report. So if you want to arrange the fields, right click the field and select either ‘move up’ or ‘move down’.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">The final design should look like the following:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS15.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Now we have to define the layout of the report. Visual studio provides built in templates. Select the Design and open the properties window. Select <strong style="box-sizing: border-box;">ReportLayoutStyleTemplate</strong> in the <strong style="box-sizing: border-box;">LayoutTemplate</strong> field. Give a suitable title to the report.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS16.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Select <strong style="box-sizing: border-box;">CustDetailTable</strong> under the <strong style="box-sizing: border-box;">Design</strong> node and open the properties window. Select<strong style="box-sizing: border-box;">TableStyleAlternatingRowsTemplate</strong> in the <strong style="box-sizing: border-box;">Style Template</strong> field.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS17.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">The report is now completed and can be viewed. To preview the report, select the Design node, right click it and select preview.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS18.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">Select the Report tab. The report will appear as shown below:</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
<br /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px; text-align: center;">
<img alt="" src="https://www.dynamics101.com/wp-content/uploads/2013/09/091213_2140_DevelopingS19.png?deb7a1" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; vertical-align: middle;" /></div>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px; margin-top: 10px;">
</div>
<li style="-webkit-font-smoothing: antialiased; box-sizing: border-box;">To view this report from AX, Add the report to AOT and create an Output menu item and set the appropriate Properties. For further details on creating SSRS reporting, refer to our previous article ‘<strong style="box-sizing: border-box;"><a href="http://www.dynamics101.com/2013/07/developing-ssrs-report-using-query-in-microsoft-dynamics-ax-2012/" style="-webkit-appearance: none; box-sizing: border-box; color: #333333; font-weight: 400; outline: none;">Developing SSRS report using Query</a></strong>‘.</li>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; margin-bottom: 10px;">
</div>
</ol>
<div style="-webkit-font-smoothing: antialiased; box-sizing: border-box; color: #313b3d; font-family: "Open Sans", "Helvetica Neue", sans-serif; font-size: 14px; line-height: 20px; margin-bottom: 10px;">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-69120326908176713652016-05-17T13:31:00.001+02:002017-02-23T11:10:29.568+01:00AOT node compare<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
One of the most often used tool is the AOT node Compare utility, which has some improvements from the past but can be changed further.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
Now in AX 2012 the compare tool can be executed as CIL code rather than in the X++ runtime tier, which should give you considerable performance boost for larger code comparison. <a href="http://blogs.msdn.com/b/mfp/archive/2012/06/25/the-compare-tool-and-running-x-code-as-il.aspx" style="background: transparent; box-sizing: border-box; color: #4199f2; text-decoration: none;" target="_blank">Here</a> is a great post (The compare tool–and running X++ code as IL) from mfp about improvements that Microsoft did.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
On the other hand you can do some improvements yourself by adding the following line to the <span style="box-sizing: border-box; color: #e69138;">SysCompare </span>class, <span style="box-sizing: border-box; color: #e69138;">selectionChanged </span>method:</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
<span id="more-12" style="box-sizing: border-box;"></span></div>
<div class="crayon-syntax crayon-theme-xpp crayon-font-courier-new crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-always" id="crayon-573b00b11b676455467225" style="background: rgb(255, 255, 255) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; color: #333333; direction: ltr !important; font-family: Monaco, MonacoRegular, 'Courier New', monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 517.213px;">
<div class="crayon-toolbar" data-settings=" show" style="background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 515.612px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; float: left; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit; padding: 0px 4px;"></span><br />
<div class="crayon-tools" style="background: 0px 50%; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="background: -24px 0px no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-expand-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Expand Code">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -96px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="" readonly="" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; font-family: 'Courier New', monospace !important; font-size: 12px !important; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; height: 284.4px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: auto; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; white-space: pre; width: 515.612px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; margin: 0px; overflow: auto; padding: 0px; position: relative; width: 515.612px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px 50%; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; color: rgb(138, 193, 248) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="background: 0px 50%; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-1" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-2" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-3" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-4" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-5" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-6" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-7" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-8" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-9" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-10" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-11" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-12" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
12</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-13" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
13</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-14" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
14</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-15" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
15</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-16" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
16</div>
<div class="crayon-num" data-line="crayon-573b00b11b676455467225-17" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
17</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b676455467225-18" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
18</div>
</div>
</td><td class="crayon-code" style="background: 0px 50%; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 658.4px;"><div class="crayon-pre" style="background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-573b00b11b676455467225-1" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-2" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">}</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-3" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-4" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(0 , 128 , 0); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">//--> WIK</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-5" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">allowInsert</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">true</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-6" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(0 , 128 , 0); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">//<-- WIK</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-7" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-8" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">this</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">compare</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">text1</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-9" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">text2</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-10" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-i" style="box-sizing: border-box; color: rgb(21 , 166 , 235); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">mergeToTopNode</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">?</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">mergeToTopNode</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">comparableName</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">:</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-s" style="box-sizing: border-box; color: rgb(110 , 23 , 23); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">''</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(0 , 128 , 0); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">// ext</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-11" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-i" style="box-sizing: border-box; color: rgb(21 , 166 , 235); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">mergeFromTopNode</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">?</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">mergeFromTopNode</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">comparableName</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">:</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-s" style="box-sizing: border-box; color: rgb(110 , 23 , 23); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">''</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-c" style="box-sizing: border-box; color: rgb(0 , 128 , 0); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">// ext</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-12" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">showLineNumbersHere</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-13" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">singleLines</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-14" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">allowInsert</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-15" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">allowRemove</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-16" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">alternatingLines</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">,</span></div>
<div class="crayon-line" id="crayon-573b00b11b676455467225-17" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">supportHighlight</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b676455467225-18" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
This allows you that for example when you compare objects that is being imported from an XPO file, you will be able to add new objects which would not be allowed otherwise, like new fields.</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
The other improvement you might want to do is to get back the good old AX 4.0 behaviour, by always having the lower layer on the top of the compare form, thus highlighting the new changes in blue colour. The simplest solution is adding a button next to the buttongroup on the <span style="box-sizing: border-box; color: #e69138;">SysCompareForm</span> form to switch the layers around, with the following lines in the clicked method:</div>
<div class="crayon-syntax crayon-theme-xpp crayon-font-courier-new crayon-os-pc print-yes notranslate" data-settings=" minimize scroll-always" id="crayon-573b00b11b68e071271787" style="background: rgb(255, 255, 255) !important; border: 1px solid rgb(153, 153, 153) !important; box-sizing: border-box; color: #333333; direction: ltr !important; font-family: Monaco, MonacoRegular, 'Courier New', monospace; font-size: 12px !important; height: auto; line-height: 15px !important; margin: 12px 0px; overflow: hidden !important; padding: 0px; position: relative !important; text-shadow: none !important; width: 517.213px;">
<div class="crayon-toolbar" data-settings=" show" style="background: rgb(221, 221, 221) !important; border-bottom-color: rgb(187, 187, 187) !important; border-bottom-style: solid !important; border-bottom-width: 1px !important; border-left-width: 0px; border-right-width: 0px; border-top-width: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; height: 18px !important; line-height: 18px !important; margin: 0px; overflow: hidden; padding: 0px; position: relative; width: 515.612px; z-index: 4;">
<span class="crayon-title" style="box-sizing: border-box; float: left; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit; padding: 0px 4px;"></span><br />
<div class="crayon-tools" style="background: 0px 50%; border: 0px; box-sizing: border-box; float: right !important; font-family: inherit; font-weight: inherit !important; height: 18px !important; margin: 0px; padding: 0px; position: absolute; right: 0px;">
<div class="crayon-button crayon-nums-button crayon-pressed" style="background: -24px 0px no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Numbers">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") -24px -32px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-plain-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Plain Code">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -48px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-wrap-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Toggle Line Wrap">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -112px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-copy-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Copy">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px -16px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
<div class="crayon-button crayon-popup-button" style="background: 0px 50% no-repeat; border: 0px; box-sizing: border-box; display: inline; float: left !important; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: 15px; margin: 0px; padding: 0px; position: relative; width: 24px;" title="Open Code In New Window">
<div class="crayon-button-icon" style="background: url("https://www.daxrunbase.com/blog/wp-content/plugins/crayon-syntax-highlighter/css/images/toolbar/buttons@2x.png") 0px 0px / 48px 128px; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: 16px !important; left: 0px; line-height: inherit !important; margin: -8px 0px 0px; padding: 0px; position: absolute; top: 9px; width: 24px;">
</div>
</div>
</div>
</div>
<div class="crayon-plain-wrap" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; height: auto !important; margin: 0px !important; padding: 0px !important;">
<textarea class="crayon-plain print-no" data-settings="" readonly="" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border-radius: 0px; border: 0px; box-shadow: none; color: black; font-family: 'Courier New', monospace !important; font-size: 12px !important; font-stretch: inherit; font-style: inherit; font-variant: inherit; font-weight: inherit; height: 194px; line-height: 15px !important; margin: 0px; opacity: 0; overflow: auto; padding-left: 5px; padding-right: 5px; padding-top: 0px; position: absolute; resize: none; tab-size: 4; white-space: pre; width: 515.612px; word-wrap: normal; z-index: 0;" wrap="soft"></textarea></div>
<div class="crayon-main" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: 'Courier New', monospace !important; margin: 0px; overflow: auto; padding: 0px; position: relative; width: 515.612px; z-index: 1;">
<table class="crayon-table" style="background: none !important; border-collapse: collapse !important; border-spacing: 0px !important; border: none !important; box-sizing: border-box; font-size: 12px; margin-bottom: 0px !important; margin-left: 0px; margin-right: 0px !important; margin-top: 0px !important; padding: 0px !important; table-layout: auto !important; width: auto !important;"><tbody style="box-sizing: border-box;">
<tr class="crayon-row" style="background: 0px 50%; border: none !important; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><td class="crayon-nums " data-settings="show" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; color: rgb(138, 193, 248) !important; margin: 0px !important; padding: 0px !important; vertical-align: top !important;"><div class="crayon-nums-content" style="background: 0px 50%; border: 0px; box-sizing: border-box; line-height: 15px !important; margin: 0px; padding: 0px; white-space: nowrap;">
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-1" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
1</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-2" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
2</div>
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-3" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
3</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-4" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
4</div>
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-5" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
5</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-6" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
6</div>
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-7" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
7</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-8" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
8</div>
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-9" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
9</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-10" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
10</div>
<div class="crayon-num" data-line="crayon-573b00b11b68e071271787-11" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
11</div>
<div class="crayon-num crayon-striped-num" data-line="crayon-573b00b11b68e071271787-12" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px; text-align: center;">
12</div>
</div>
</td><td class="crayon-code" style="background: 0px 50%; border: 0px; box-sizing: border-box; margin: 0px !important; padding: 0px !important; vertical-align: top !important; width: 490.4px;"><div class="crayon-pre" style="background: none !important; border: none !important; box-sizing: border-box; line-height: 15px !important; margin: 0px; overflow: visible; padding: 0px; tab-size: 4; white-space: pre;">
<div class="crayon-line" id="crayon-573b00b11b68e071271787-1" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-t" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">void</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">clicked</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-2" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">{</span></div>
<div class="crayon-line" id="crayon-573b00b11b68e071271787-3" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-t" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">int</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">currentSelection</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">=</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox1</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">selection</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-4" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-573b00b11b68e071271787-5" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-r" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">super</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-6" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
</div>
<div class="crayon-line" id="crayon-573b00b11b68e071271787-7" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-st" style="box-sizing: border-box; color: rgb(50 , 21 , 235); font-family: inherit; font-size: inherit; font-weight: bold; height: inherit; line-height: inherit;">if</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox1</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">items</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">></span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-cn" style="box-sizing: border-box; color: rgb(165 , 42 , 42); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">0</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">&&</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox2</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">items</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-o" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">></span><span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-cn" style="box-sizing: border-box; color: rgb(165 , 42 , 42); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">0</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-8" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">{</span></div>
<div class="crayon-line" id="crayon-573b00b11b68e071271787-9" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox1</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">selection</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox2</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">selection</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-10" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">ComboBox2</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">.</span><span class="crayon-e" style="box-sizing: border-box; font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">selection</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">(</span><span class="crayon-v" style="box-sizing: border-box; color: rgb(0 , 45 , 122); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">currentSelection</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">)</span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">;</span></div>
<div class="crayon-line" id="crayon-573b00b11b68e071271787-11" style="background: 0px 50%; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-h" style="box-sizing: border-box; color: rgb(0 , 111 , 224); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;"> </span><span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">}</span></div>
<div class="crayon-line crayon-striped-line" id="crayon-573b00b11b68e071271787-12" style="background-attachment: initial !important; background-clip: initial !important; background-image: initial !important; background-origin: initial !important; background-position: initial !important; background-repeat: initial !important; background-size: initial !important; border: 0px; box-sizing: border-box; font-family: inherit; font-size: inherit !important; font-weight: inherit !important; height: inherit; line-height: inherit !important; margin: 0px; padding: 0px 5px;">
<span class="crayon-sy" style="box-sizing: border-box; color: rgb(51 , 51 , 51); font-family: inherit; font-size: inherit; font-weight: inherit; height: inherit; line-height: inherit;">}</span></div>
</div>
</td></tr>
</tbody></table>
</div>
</div>
<div style="background-color: white; box-sizing: border-box; color: #333333; font-family: 'Archivo Narrow', sans-serif; font-size: 16px; line-height: 22.8571px; margin-bottom: 20px;">
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-82104477458627589932016-03-14T11:17:00.001+01:002016-03-14T11:17:25.936+01:00Creating DIEF Entities for DocuRef in Dynamics AX<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
Since it is nearly impossible to generalize the DocuRef table entity in Dynamics AX, we need to create the code that will allow the data to be inserted into the table. The biggest issue is that we need to get a RefRecId and RefTableId.</div>
<h2 style="background: rgb(249, 249, 249); color: #323436; font-family: Museo500Regular; font-size: 24px; font-weight: 400; line-height: 1.5; margin: 0px 0px 15px; outline: 0px; padding: 0px; vertical-align: baseline;">
Using Customer Notes for DocuRef in AX</h2>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
For this example, we will be using Customer Notes, but you can see how this would work with any other entity that can connect to DocuRef.</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
The first thing we need to do is edit the existing customer entity staging table (DMFCustomerEntityTable). We need to add the field to the table for the Note value we want to put into DocuRef. Make sure the EDT type is set to Note so it will match up to the Note field on the DocuRef table. For each note you need to add, create another column into DMFCustomerEntityTable.</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
The second step is to create a method in the DMFCustomerEntityClass class. Here is where you are going to handle the insert/update from the staging table to the DocuRef table. You can either create one of these for every note you want to create/update per customer or you can handle it all in the one method.</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">public</span> <span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">void</span> </span>generateNote(<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">boolean</span></span> _isUpdate)</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
DocuRef docuRef;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">str</span></span> note;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
note = strLRTrim(entity.Note);</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span></span> (note != ”)</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">select</span> <span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">forUpdate</span> </span>docuRef</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">where</span></span> docuRef.RefRecId == target.RecId</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
&& docuRef.RefTableId == target.TableId</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
&& docuRef.Name == ‘Note Name’;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span> </span>(docuRef)</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.Notes = note;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.update();</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">else</span></span></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.clear();</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.RefRecId = target.RecId;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.RefTableId = target.TableId;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.Name = ‘Note Name’;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.Notes = note;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.TypeId = ‘Note’;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.RefCompanyId = <span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">curext</span>();</span></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
docuRef.insert();</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
The next method that we need to look at is on the same class. In the insertUpdate() method we need to add the call to our new method.</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">public</span></span> Common insertUpdate(Common _target, <span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">boolean</span></span> _callInsertLogic = <span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">false</span>, <span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">boolean</span> </span>_callValidateLogic = <span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">false</span>)</span></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
Common ret;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
CustTable custTable;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">boolean</span></span> isUpdate;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span></span>(target.RecId)</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
isUpdate = <span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">true</span></span>;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
ret = <span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">super</span>(_target, _callInsertLogic, _callValidateLogic);</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span></span> (ret)</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
this.generateNote();</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span></span> (!this.parmIsCompare())</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
custTable = CustTable::find(entity.AccountNum);</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">if</span></span> (custTable && (entity.AccountBalance != <span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">0</span>) && !isUpdate) <em style="background: transparent; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">//check for customer/Accountbalance existance</em></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
{</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
this.generateBalance();</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<span style="background: transparent; color: blue; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;"><span style="background: transparent; font-weight: 700; margin: 0px; outline: none; padding: 0px; vertical-align: baseline;">return</span></span> ret;</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
}</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
<br /></div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
You can see that the call is after the super call, so the insert should already be run. This means we have a recID in target that will allow us to insert into DocuRef.</div>
<div style="background: rgb(249, 249, 249); color: #222222; font-family: source_sans_proregular, 'Helvetica Neue', Arial, Helvetica, Geneva, sans-serif; font-size: 14px; line-height: 22px; margin-bottom: 20px; outline: 0px; padding: 0px; vertical-align: baseline;">
You can see that using this method, we can easily add comments for a number of other entities. Simply go to the Relations on the DocRef table to see where it is hooked up to.</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-33855794848300327992016-02-08T14:04:00.001+01:002016-02-08T14:04:19.789+01:00AX 2012 Export Data with Outbound ports<div class="post hentry uncustomized-post-template" itemprop="blogPost" itemscope="itemscope" itemtype="http://schema.org/BlogPosting" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 13.44px; margin: 0px 0px 25px; min-height: 0px; position: relative;">
<div class="post-body entry-content" id="post-body-5134328928809343490" itemprop="articleBody" style="font-size: 13.2px; line-height: 1.4; position: relative; width: 570px;">
I've recently made some tests with AIF (Application Integration Framework), inbound ports and outbound ports.<br />I had never used AIF before AX 2012 and this is a great tool once you understand how it works.<br />MSDN explains the subject quite correctly : <a href="http://msdn.microsoft.com/en-us/library/gg731810.aspx" style="color: #888888; text-decoration: none;" target="_blank">Services and Application Integration Framweork 2012</a><br /><br />At the beginning, I did not understand the concept of outbound port. SoI decided to take an interest in it. I've known web services for a long time now so I could correctly understand the "inbound port" concept; a service is "listening" at a specific "port", ready to execute your method with input parameters.<br />But what for outbound ports ? There is no socket "port" to pull out data....<br /><br />Outbound ports are not related with web services or network at all (talking about WCF, bindings and endpoints). You can use it in order to retreive data from Dynamics AX and send the results to either a file or a message queue (MSMQ).<br /><br /><br />The following post will show a summary of the steps I followed in order to export customers in several XML files into a directory on the AOS server.<br /><br /><br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ5verUzsywZ9wkFbYUBJ_VG8qXJuR6hPpYUqeQCeutdIrz3DA6aF-8_D6sp2sXtgBfWTf1tgOgTBevbvb9M-svq-_X37z17A5DNBlz_dRzXYkQx_D7bvxFmpNZST7tPAdUcIYysr_HGk/s1600/scr1.png" imageanchor="1" style="color: #888888; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="464" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgQ5verUzsywZ9wkFbYUBJ_VG8qXJuR6hPpYUqeQCeutdIrz3DA6aF-8_D6sp2sXtgBfWTf1tgOgTBevbvb9M-svq-_X37z17A5DNBlz_dRzXYkQx_D7bvxFmpNZST7tPAdUcIYysr_HGk/s640/scr1.png" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(238, 238, 238); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="640" /></a></div>
<br /><div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<div class="separator" style="clear: both; text-align: center;">
</div>
<ol>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I create an outbound port specifying "File system adapter" as adapter.<br />You can limit it to a specific company if you want<br />In the operations I choose : CustCustomerService.read<br /><br />This service operation will be used to read a customer from AX by specifying an account number.<br />The output result of the operation will be the customer itself.<br /></li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I create a new folder on the AOS side (in the example C:\AIFOutputTemp).<br />Don't forget to give the correct write access rights for the user executing your AOS Service.<br />The AOS will need write access to create the file.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I specify the newly created folder in the URI of the outbound port.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I save the outbound port and I activate it.</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">I create a new job to post some customer in the AIF Queue :<br /><br /><blockquote class="tr_bq">
<span style="font-size: xx-small;"><span style="font-family: 'Courier New', Courier, monospace;">static void AIF_SendCustomer(Args _args)<br />{<br /><br /> AxdSendContext axdSendContext = AxdSendContext::construct();<br /> AifEntityKey aifEntityKey = AifEntityKey::construct();<br /> Map keyData;<br /> AifConstraintList aifConstraintList = new AifConstraintList();<br /> AifConstraint aifConstraint = new AifConstraint();<br /><br /> CustTable custTable;<br /> ;<br /><br /> custTable = CustTable::find("<i><CUSTACCOUNT></i>");<br /> <br /> keyData = SysDictTable::getKeyData(custTable);<br /><br /> aifEntityKey.parmTableId(custTable.TableId);<br /> aifEntityKey.parmRecId(custTable.RecId);<br /> aifEntityKey.parmKeyDataMap(keyData);<br /><br /> axdSendContext.parmXMLDocPurpose(XMLDocPurpose::Original);<br /> axdSendContext.parmSecurity(false);<br /><br /> aifConstraint.parmType(AifConstraintType::NoConstraint) ;<br /> aifConstraintList.addConstraint(aifConstraint) ;<br /><br /> AifSendService::submitDefault(<br /> classnum(CustCustomerService),<br /> aifEntityKey,<br /> aifConstraintList,<br /> AifSendMode::Async,<br /> axdSendContext.pack());<br /><br />}</span></span></blockquote>
</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Once this code is executed, a new record will be created in the AIF Queue manager.<br /><br />You can reach the queue manager with the following path :<br />System Administration > Periodic > Services and Application Integration Framework > Queue manager<br /><br />Status will be ready and you will see the document service operation involved.<br /><br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdp2cH-4iAEaG_ASm48XwvzntpdEFtrXkFweyTr3rIBuRiKdTpbTF-7WtYOL71pyNkee2FKskSWwMb6Q8bH7COlzofVUUvZxSd1nFE4G7hBeM91cqc9RKtIoBrHNf8M3IBtbSKMIW29No/s1600/scr2.png" imageanchor="1" style="color: #888888; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="128" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjdp2cH-4iAEaG_ASm48XwvzntpdEFtrXkFweyTr3rIBuRiKdTpbTF-7WtYOL71pyNkee2FKskSWwMb6Q8bH7COlzofVUUvZxSd1nFE4G7hBeM91cqc9RKtIoBrHNf8M3IBtbSKMIW29No/s640/scr2.png" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(238, 238, 238); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="640" /></a></div>
</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Now the instructions are created with correct parameters. You can either setup a batch system tha will automatically execute the following method, or you can simply execute it manually.<br />There is an explanation of this at msdn : <a href="http://msdn.microsoft.com/en-us/library/hh352328.aspx" style="color: #888888; text-decoration: none;" target="_blank">Configuring batch jobs for AIF</a><br /><blockquote class="tr_bq">
<div style="margin: 0in 0in 0in 0.375in;">
<span style="font-size: xx-small;"><span style="font-family: 'Courier New', Courier, monospace;">AifOutboundProcessingService = new AifOutboundProcessingService();</span></span></div>
<div style="margin: 0in 0in 0in 0.375in;">
<span style="font-size: xx-small;"><span style="font-family: 'Courier New', Courier, monospace;">AifOutboundProcessingService.run();</span></span></div>
</blockquote>
</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">Once this method has been executed, you will be able to see the resulting newly created AIF message (XML result). For this, use the following menu : Document Log and View message<br /><br /><br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1ha1m5BKy4didYFo3Uw93nw9AtU1vqF4Ksdy5eeyPdBN_Hudgk0YXNqnatGwO18UmezEhu0s-5NTw57cfhJzbjxPkaQUSXGzcWaTEmoZplbM-zcb3mQji9IiSf4Uvy8X-g194wiJUcY/s1600/scr3.png" imageanchor="1" style="color: #888888; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="111" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgh1ha1m5BKy4didYFo3Uw93nw9AtU1vqF4Ksdy5eeyPdBN_Hudgk0YXNqnatGwO18UmezEhu0s-5NTw57cfhJzbjxPkaQUSXGzcWaTEmoZplbM-zcb3mQji9IiSf4Uvy8X-g194wiJUcY/s400/scr3.png" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(238, 238, 238); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="400" /></a></div>
<br /><div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZD8SY8_Ko9b7fOt92QkhbOqp-gN-213fAxYOU30X5EI298jBJE2b_unv44ZoA1cRmX0zfarKuCCSYJG-CbDWBAfUMydtj5keI1aa2wYE30ozXzAfEIJD3UKBz_7TaWWJYeL3OUqX_2Q/s1600/scr4.png" imageanchor="1" style="color: #888888; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="468" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhCZD8SY8_Ko9b7fOt92QkhbOqp-gN-213fAxYOU30X5EI298jBJE2b_unv44ZoA1cRmX0zfarKuCCSYJG-CbDWBAfUMydtj5keI1aa2wYE30ozXzAfEIJD3UKBz_7TaWWJYeL3OUqX_2Q/s640/scr4.png" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(238, 238, 238); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="640" /></a></div>
</li>
<br />
<li style="margin: 0px 0px 0.25em; padding: 0px;">Once the message has been created, we can execute the following method :<br /><br /><blockquote class="tr_bq">
<div style="margin: 0in 0in 0in 0.375in;">
<span style="font-size: xx-small;"><span style="font-family: 'Courier New', Courier, monospace;">AifGatewaySendService = new AifGatewaySendService();</span></span></div>
<div style="margin: 0in 0in 0in 0.375in;">
<span style="font-size: xx-small;"><span style="font-family: 'Courier New', Courier, monospace;">AifGatewaySendService.run();</span></span></div>
</blockquote>
</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">This operation will export the message to a physical XML file on the folder we specified in the outbound port.</li>
</ol>
<div class="separator" style="clear: both; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpQcoLDoyUmD2R_FvYfJdMCnmyNNEolv_msI3tmi32_0f9OfdyS4ioyW86IvtZsOtsmZ1KXLhycq1UhlxIDWVo4QD8Pbrtwe2AmY1FN6SInxgvTVZ2OOt6CnPWRiahi-a_i7Dw8OpSxrI/s1600/scr5.png" imageanchor="1" style="color: #888888; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="136" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhpQcoLDoyUmD2R_FvYfJdMCnmyNNEolv_msI3tmi32_0f9OfdyS4ioyW86IvtZsOtsmZ1KXLhycq1UhlxIDWVo4QD8Pbrtwe2AmY1FN6SInxgvTVZ2OOt6CnPWRiahi-a_i7Dw8OpSxrI/s640/scr5.png" style="background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(238, 238, 238); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="640" /></a></div>
<br /> That's it for outbound ports.<br /><ol></ol>
<div style="clear: both;">
</div>
</div>
<div class="post-footer" style="background-color: #f9f9f9; border-bottom-color: rgb(238, 238, 238); border-bottom-style: solid; border-bottom-width: 1px; color: #666666; font-size: 10.8px; line-height: 1.6; margin: 20px -2px 0px; padding: 5px 10px;">
<div class="post-footer-line post-footer-line-1">
<span class="post-author vcard" style="margin-left: 0px; margin-right: 1em;">Posted by <span class="fn" itemprop="author" itemscope="itemscope" itemtype="http://schema.org/Person"><span itemprop="name">Renaud</span> </span></span><span class="post-timestamp" style="margin-left: -1em; margin-right: 1em;">at <a class="timestamp-link" href="http://dynamics-ax-developer.blogspot.fr/2012/09/ax-2012-export-data-with-outbound-ports.html" rel="bookmark" style="color: #888888; text-decoration: none;" title="permanent link"><abbr class="published" itemprop="datePublished" style="border: none;" title="2012-09-19T11:08:00+02:00">11:08 AM</abbr></a> </span><span class="reaction-buttons" style="margin-right: 1em;"></span><span class="post-comment-link" style="margin-right: 1em;"></span><span class="post-backlinks post-comment-link" style="margin-right: 1em;"></span><span class="post-icons" style="margin-right: 1em;"></span><div class="post-share-buttons goog-inline-block" style="display: inline-block; margin-right: 0px; margin-top: 0.5em; position: relative; vertical-align: middle;">
<a class="goog-inline-block share-button sb-email" href="https://www.blogger.com/share-post.g?blogID=3591890627903617515&postID=5134328928809343490&target=email" style="background: url("/img/share_buttons_20_3.png") 0px 0px no-repeat !important; color: #888888; display: inline-block; height: 20px; margin-left: -1px; overflow: hidden; position: relative; text-decoration: none; width: 20px;" target="_blank" title="Email This"><span class="share-button-link-text" style="display: block; text-indent: -9999px;">Email This</span></a><a class="goog-inline-block share-button sb-blog" href="https://www.blogger.com/share-post.g?blogID=3591890627903617515&postID=5134328928809343490&target=blog" style="background: url("/img/share_buttons_20_3.png") -20px 0px no-repeat !important; color: #888888; display: inline-block; height: 20px; margin-left: -1px; overflow: hidden; position: relative; text-decoration: none; width: 20px;" target="_blank" title="BlogThis!"><span class="share-button-link-text" style="display: block; text-indent: -9999px;">BlogThis!</span></a><a class="goog-inline-block share-button sb-twitter" href="https://www.blogger.com/share-post.g?blogID=3591890627903617515&postID=5134328928809343490&target=twitter" style="background: url("/img/share_buttons_20_3.png") -40px 0px no-repeat !important; color: #888888; display: inline-block; height: 20px; margin-left: -1px; overflow: hidden; position: relative; text-decoration: none; width: 20px;" target="_blank" title="Share to Twitter"><span class="share-button-link-text" style="display: block; text-indent: -9999px;">Share to Twitter</span></a><a class="goog-inline-block share-button sb-facebook" href="https://www.blogger.com/share-post.g?blogID=3591890627903617515&postID=5134328928809343490&target=facebook" style="background: url("/img/share_buttons_20_3.png") -60px 0px no-repeat !important; color: #888888; display: inline-block; height: 20px; margin-left: -1px; overflow: hidden; position: relative; text-decoration: none; width: 20px;" target="_blank" title="Share to Facebook"><span class="share-button-link-text" style="display: block; text-indent: -9999px;">Share to Facebook</span></a><a class="goog-inline-block share-button sb-pinterest" href="https://www.blogger.com/share-post.g?blogID=3591890627903617515&postID=5134328928809343490&target=pinterest" style="background: url("/img/share_buttons_20_3.png") -100px 0px no-repeat !important; color: #888888; display: inline-block; height: 20px; margin-left: -1px; overflow: hidden; position: relative; text-decoration: none; width: 20px;" target="_blank" title="Share to Pinterest"><span class="share-button-link-text" style="display: block; text-indent: -9999px;">Share to Pinterest</span></a><div class="goog-inline-block google-plus-share-container" style="display: inline-block; padding-left: 0.3em; position: relative; vertical-align: top;">
<div id="___plusone_0" style="background: transparent; border-style: none; display: inline-block; float: none; font-size: 1px; height: 20px; line-height: normal; margin: 0px; padding: 0px; vertical-align: baseline; width: 300px;">
<iframe data-gapiattached="true" frameborder="0" hspace="0" id="I0_1454927709521" marginheight="0" marginwidth="0" name="I0_1454927709521" scrolling="no" src="https://apis.google.com/u/0/se/0/_/+1/fastbutton?usegapi=1&source=blogger%3Ablog%3Aplusone&size=medium&width=300&annotation=inline&hl=en&origin=http%3A%2F%2Fdynamics-ax-developer.blogspot.fr&url=http%3A%2F%2Fdynamics-ax-developer.blogspot.com%2F2012%2F09%2Fax-2012-export-data-with-outbound-ports.html&gsrc=3p&ic=1&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.fr.tLgeRiiTZvE.O%2Fm%3D__features__%2Fam%3DAQ%2Frt%3Dj%2Fd%3D1%2Ft%3Dzcms%2Frs%3DAGLTcCPypPXm0D84cacr3VFoKKiNFzLzvQ#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh&id=I0_1454927709521&parent=http%3A%2F%2Fdynamics-ax-developer.blogspot.fr&pfname=&rpctoken=19347891" style="border-style: none; height: 20px; left: 0px; margin: 0px; position: static; top: 0px; visibility: visible; width: 300px;" tabindex="0" title="+1" vspace="0" width="100%"></iframe></div>
</div>
</div>
</div>
<div class="post-footer-line post-footer-line-2">
<span class="post-labels" style="margin-left: 0px; margin-right: 0px;">Labels: <a href="http://dynamics-ax-developer.blogspot.fr/search/label/AIF" rel="tag" style="color: #888888; text-decoration: none;">AIF</a>, <a href="http://dynamics-ax-developer.blogspot.fr/search/label/AIF%20Queue%20manager" rel="tag" style="color: #888888; text-decoration: none;">AIF Queue manager</a>, <a href="http://dynamics-ax-developer.blogspot.fr/search/label/ax%202012" rel="tag" style="color: #888888; text-decoration: none;">ax 2012</a>, <a href="http://dynamics-ax-developer.blogspot.fr/search/label/Outbound%20ports" rel="tag" style="color: #888888; text-decoration: none;">Outbound ports</a></span></div>
<div class="post-footer-line post-footer-line-3">
<span class="post-location" style="margin-left: 0px; margin-right: 0px;"></span></div>
</div>
</div>
<div class="comments" id="comments" style="background-color: white; clear: both; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 12px; line-height: 13.44px; margin-bottom: 0px; margin-top: 10px; min-height: 0px; position: relative;">
<a href="https://www.blogger.com/null" name="comments"></a><h4 style="font-size: 22px; font-stretch: normal; font-weight: normal; line-height: normal; margin: 0.75em 0px 0px; position: relative;">
13 comments:</h4>
<div class="comments-content" style="margin-bottom: 16px;">
<div id="comment-holder">
<div id="bc_0_14C" kind="c">
<div id="bc_0_14CT">
<div class="comment-thread" id="bc_0_13T" kind="r" style="margin: 8px 0px;" t="0" u="0">
<ol id="bc_0_13TB" style="list-style-type: none; padding: 0px;">
<li class="comment" id="bc_0_2B" kind="b" style="margin: 0px 0px 16px; padding: 16px 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c5944991443276340870" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_2M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/06633510899782817117" rel="nofollow" style="color: #888888; text-decoration: none;">Gangadhar reddy</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1373364011728#c5944991443276340870" rel="nofollow" style="color: #888888; text-decoration: none;">7/09/2013 12:00 PM</a></span></div>
<div class="comment-content" id="bc_0_2MC" style="margin-bottom: 8px; text-align: justify;">
Hi<br /><br />I have created some outbound services to export data from Ax to a interface.<br />I tested them by passing a specific record in a job.<br />But i want to run this outbound service as a RunBase batch class.( I want to create a batch job class and run the outbound serivce)<br />So here i want to run the service for all the data in the service (query).<br />How can i achieve this ?<br /><br />Thanks in advance</div>
<span class="comment-actions secondary-text" id="bc_0_2MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_2BR" style="margin-left: 36px; margin-top: 1em;">
<span id="bc_0_2b+seedBA-RID" kind="d"><div class="comment-thread inline-thread" id="bc_0_0T" kind="t" style="background-color: #f9f9f9; margin: 8px 0px; padding: 0.5em 1em;" t="0" u="0">
<span class="thread-toggle thread-expanded" id="bc_0_0TT" kind="g" style="cursor: pointer; display: inline-block;"><span class="thread-arrow" id="bc_0_0TA" style="background: url("data:image/png; display: inline-block; height: 6px; margin: 0.3em; overflow: visible; padding-right: 4px; width: 7px;"></span><span class="thread-count" id="bc_0_0TN"><a href="https://www.blogger.com/null" style="color: #888888;" target="_self">Replies</a><div class="thread-dropContainer thread-expanded" id="bc_0_0TD">
<span class="thread-drop"></span></div>
</span></span><ol class="thread-chrome thread-expanded" id="bc_0_0TC" style="list-style-type: none; padding: 0px;"><div>
<li class="comment" id="bc_0_0B" kind="b" style="margin: 0px 0px 16px; padding: 16px 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c6571410652864553702" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_0M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user blog-author" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13390761874226238486" rel="nofollow" style="color: #888888; text-decoration: none;">Renaud</a></cite><span class="icon user blog-author" style="background-image: url("data:image/png; background-repeat: no-repeat; display: inline-block; font-weight: bold; height: 18px; margin: 0px 0px -4px 6px; width: 18px;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1373528770131#c6571410652864553702" rel="nofollow" style="color: #888888; text-decoration: none;">7/11/2013 9:46 AM</a></span></div>
<div class="comment-content" id="bc_0_0MC" style="margin-bottom: 8px; text-align: justify;">
Hi,<br /><br />In order to automate the export process you could create as you said a new class that inherit from RunBaseBatch and then running this class within a batch job.<br />This will send the records to the queue.<br />In order to automatically process the queue you filled with the class, take a look at this link : http://technet.microsoft.com/en-us/library/hh352328.aspx<br /><br />It explains how to configure the batch jobs for AIF.</div>
<span class="comment-actions secondary-text" id="bc_0_0MN" kind="m"></span></div>
<div class="comment-replies" id="bc_0_0BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_0B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_1B" kind="b" style="border-bottom-width: 0px; margin: 0px 0px 16px; padding: 0.25em 0px 0px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c6871546079453200933" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_1M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/06633510899782817117" rel="nofollow" style="color: #888888; text-decoration: none;">Gangadhar reddy</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1373539457883#c6871546079453200933" rel="nofollow" style="color: #888888; text-decoration: none;">7/11/2013 12:44 PM</a></span></div>
<div class="comment-content" id="bc_0_1MC" style="margin-bottom: 8px; text-align: justify;">
<span class="deleted-comment" style="font-style: italic; opacity: 0.5;">This comment has been removed by the author.</span></div>
<span class="comment-actions secondary-text" id="bc_0_1MN" kind="m"></span></div>
<div class="comment-replies" id="bc_0_1BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_1B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
</div>
<div class="continue" id="bc_0_0I" kind="ci" style="border-top-color: rgb(153, 153, 153); border-top-style: solid; border-top-width: 2px; cursor: pointer;">
<a href="https://www.blogger.com/null" style="color: #888888; display: block; font-weight: bold; padding: 0.5em;" target="_self">Reply</a></div>
</ol>
<div class="comment-replybox-thread" id="bc_0_0T_box" style="margin-top: 5px;">
</div>
</div>
</span></div>
<div class="comment-replybox-single" id="bc_0_2B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_6B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c951962636567925227" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_6M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user blog-author" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13390761874226238486" rel="nofollow" style="color: #888888; text-decoration: none;">Renaud</a></cite><span class="icon user blog-author" style="background-image: url("data:image/png; background-repeat: no-repeat; display: inline-block; font-weight: bold; height: 18px; margin: 0px 0px -4px 6px; width: 18px;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1373543251673#c951962636567925227" rel="nofollow" style="color: #888888; text-decoration: none;">7/11/2013 1:47 PM</a></span></div>
<div class="comment-content" id="bc_0_6MC" style="margin-bottom: 8px; text-align: justify;">
Hello, here is the code you can use in order to export a list of customers with a Query :<br /><br />Query queryCustTable;<br />AifActionId actionId;<br />AifEndpointList endPointList;<br />AifConstraintList aifConstraintList = new AifConstraintList();<br />AifConstraint aifConstraint = new AifConstraint();<br />AifOutboundProcessingService AifOutboundProcessingService;<br /><br /><br />queryCustTable = new Query();<br />queryCustTable.addDataSource(tableNum(custTable),"CustTable");<br />queryCustTable.dataSourceTable(tableNum(custTable)).addRange(fieldNum(custTable,AccountNum)).value("13*");<br /><br />aifConstraint.parmType(AifConstraintType::NoConstraint);<br />aifConstraintList.addConstraint(aifConstraint);<br /><br />actionId = AifSendService::getDefaultSendAction(classnum(CustCustomerService), AifSendActionType::SendByQuery);<br /><br />if (actionId)<br />{<br />endPointList = AifSendService::getEligibleEndpoints(actionId, aifConstraintList);<br />if(endpointList.getEndpointCount()>0)<br />AifSendService::submitFromQuery(actionId,endPointList,queryCustTable,AifSendMode::Async);<br />}<br /><br /><br />AifOutboundProcessingService = new AifOutboundProcessingService();<br />AifOutboundProcessingService.run();<br /><br />Don't forget to change the operation on the outbound service from CustCustomerService.read to CustCustomerService.find</div>
<span class="comment-actions secondary-text" id="bc_0_6MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_6BR" style="margin-left: 36px; margin-top: 1em;">
<span id="bc_0_6b+seedBA-RLD" kind="d"><div class="comment-thread inline-thread" id="bc_0_3T" kind="t" style="background-color: #f9f9f9; margin: 8px 0px; padding: 0.5em 1em;" t="0" u="0">
<span class="thread-toggle thread-expanded" id="bc_0_3TT" kind="g" style="cursor: pointer; display: inline-block;"><span class="thread-arrow" id="bc_0_3TA" style="background: url("data:image/png; display: inline-block; height: 6px; margin: 0.3em; overflow: visible; padding-right: 4px; width: 7px;"></span><span class="thread-count" id="bc_0_3TN"><a href="https://www.blogger.com/null" style="color: #888888;" target="_self">Replies</a><div class="thread-dropContainer thread-expanded" id="bc_0_3TD">
<span class="thread-drop"></span></div>
</span></span><ol class="thread-chrome thread-expanded" id="bc_0_3TC" style="list-style-type: none; padding: 0px;"><div>
<li class="comment" id="bc_0_3B" kind="b" style="margin: 0px 0px 16px; padding: 16px 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c5191332350730199373" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_3M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/06633510899782817117" rel="nofollow" style="color: #888888; text-decoration: none;">Gangadhar reddy</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1373607694602#c5191332350730199373" rel="nofollow" style="color: #888888; text-decoration: none;">7/12/2013 7:41 AM</a></span></div>
<div class="comment-content" id="bc_0_3MC" style="margin-bottom: 8px; text-align: justify;">
Thank you very much</div>
<span class="comment-actions secondary-text" id="bc_0_3MN" kind="m"></span></div>
<div class="comment-replies" id="bc_0_3BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_3B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_4B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c6652614307765420313" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_4M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/06633510899782817117" rel="nofollow" style="color: #888888; text-decoration: none;">Gangadhar reddy</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1380866296357#c6652614307765420313" rel="nofollow" style="color: #888888; text-decoration: none;">10/04/2013 7:58 AM</a></span></div>
<div class="comment-content" id="bc_0_4MC" style="margin-bottom: 8px; text-align: justify;">
How can i do the similar operation for a specific Inbound message<br />Like through x++ i want to run a specific Inbound message</div>
<span class="comment-actions secondary-text" id="bc_0_4MN" kind="m"></span></div>
<div class="comment-replies" id="bc_0_4BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_4B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_5B" kind="b" style="border-bottom-width: 0px; margin: 0px 0px 16px; padding: 0.25em 0px 0px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c4631791492595495825" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_5M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user blog-author" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13390761874226238486" rel="nofollow" style="color: #888888; text-decoration: none;">Renaud</a></cite><span class="icon user blog-author" style="background-image: url("data:image/png; background-repeat: no-repeat; display: inline-block; font-weight: bold; height: 18px; margin: 0px 0px -4px 6px; width: 18px;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1380902369232#c4631791492595495825" rel="nofollow" style="color: #888888; text-decoration: none;">10/04/2013 5:59 PM</a></span></div>
<div class="comment-content" id="bc_0_5MC" style="margin-bottom: 8px; text-align: justify;">
Hello,<br /><br />Take a look a the AifInboundProcessingService class. It should do the job.</div>
<span class="comment-actions secondary-text" id="bc_0_5MN" kind="m"></span></div>
<div class="comment-replies" id="bc_0_5BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_5B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
</div>
<div class="continue" id="bc_0_3I" kind="ci" style="border-top-color: rgb(153, 153, 153); border-top-style: solid; border-top-width: 2px; cursor: pointer;">
<a href="https://www.blogger.com/null" style="color: #888888; display: block; font-weight: bold; padding: 0.5em;" target="_self">Reply</a></div>
</ol>
<div class="comment-replybox-thread" id="bc_0_3T_box" style="margin-top: 5px;">
</div>
</div>
</span></div>
<div class="comment-replybox-single" id="bc_0_6B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_7B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c4299306489801323897" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_7M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13659696592402160470" rel="nofollow" style="color: #888888; text-decoration: none;">Kokilavani Nithyanandan</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1380865962913#c4299306489801323897" rel="nofollow" style="color: #888888; text-decoration: none;">10/04/2013 7:52 AM</a></span></div>
<div class="comment-content" id="bc_0_7MC" style="margin-bottom: 8px; text-align: justify;">
where to write this code<br />AifOutboundProcessingService = new AifOutboundProcessingService();<br />AifOutboundProcessingService.run();<br />and<br />AifGatewaySendService = new AifGatewaySendService();<br />AifGatewaySendService.run();</div>
<span class="comment-actions secondary-text" id="bc_0_7MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_7BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_7B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_8B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c8850015059711241168" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_8M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user blog-author" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13390761874226238486" rel="nofollow" style="color: #888888; text-decoration: none;">Renaud</a></cite><span class="icon user blog-author" style="background-image: url("data:image/png; background-repeat: no-repeat; display: inline-block; font-weight: bold; height: 18px; margin: 0px 0px -4px 6px; width: 18px;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1380900591191#c8850015059711241168" rel="nofollow" style="color: #888888; text-decoration: none;">10/04/2013 5:29 PM</a></span></div>
<div class="comment-content" id="bc_0_8MC" style="margin-bottom: 8px; text-align: justify;">
Hello,<br /><br />I would say it depends.<br /><br />The AifOutboundProcessingService will process all the requests that were placed in the AifOutboundProcessingQueue by the submitDefault method. It will send them in the AifGatewayQueue table.<br /><br />The AifGatewaySendService on the other hand will retrieve records that are<br />in the AifGatewayQueue and will process the messages. In this case, as the outbound port is configured to export a file, it will export the message (XML file) in the specified directory.<br /><br />So you can use this code in different ways depending on your intentions :)</div>
<span class="comment-actions secondary-text" id="bc_0_8MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_8BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_8B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_9B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c2199612914090756730" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_9M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/06633510899782817117" rel="nofollow" style="color: #888888; text-decoration: none;">Gangadhar reddy</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1381733222984#c2199612914090756730" rel="nofollow" style="color: #888888; text-decoration: none;">10/14/2013 8:47 AM</a></span></div>
<div class="comment-content" id="bc_0_9MC" style="margin-bottom: 8px; text-align: justify;">
Hi,<br /><br />I am trying to export Items data using standard service "InventItemService"<br />But when the file is exported i cannot see all the items in the file. Also i cannot see the newly created items in the file.<br /><br />If i try to export the specific item (which is not coming in the xml) through job the xml got generated for that item.<br /><br />But when the service is running for all the items some items and new items are not coming in the xml. Also the query returns the item data (which is not coming<br /><br />Am i missing anything ? what can be the reason for this .</div>
<span class="comment-actions secondary-text" id="bc_0_9MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_9BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_9B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_10B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c8955800638293689916" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_10M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user blog-author" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/13390761874226238486" rel="nofollow" style="color: #888888; text-decoration: none;">Renaud</a></cite><span class="icon user blog-author" style="background-image: url("data:image/png; background-repeat: no-repeat; display: inline-block; font-weight: bold; height: 18px; margin: 0px 0px -4px 6px; width: 18px;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1382944747056#c8955800638293689916" rel="nofollow" style="color: #888888; text-decoration: none;">10/28/2013 8:19 AM</a></span></div>
<div class="comment-content" id="bc_0_10MC" style="margin-bottom: 8px; text-align: justify;">
Hello, your problem is weird... All the items should be exported.<br />Honestly, I don't know what could be the cause. Do you use the same code to export only one item and all items ? I mean do you send "byKey" or "byQuery" ?</div>
<span class="comment-actions secondary-text" id="bc_0_10MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_10BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_10B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_11B" kind="b" style="margin: 0px 0px 16px; padding: 0.25em 0px 8px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img1.blogblog.com/img/openid16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c1089094471951550959" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_11M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="http://axworkflowexperience.wordpress.com/" rel="nofollow" style="color: #888888; text-decoration: none;">axworkflowexperience</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1386139785272#c1089094471951550959" rel="nofollow" style="color: #888888; text-decoration: none;">12/04/2013 7:49 AM</a></span></div>
<div class="comment-content" id="bc_0_11MC" style="margin-bottom: 8px; text-align: justify;">
Hi Renauld,<br />I have a question about preparation of entity key lists. The normal way is, to define this like you said: keyData = SysDictTable::getKeyData(custTable);<br />In my case, I get the RecId but I need the naturalKey for my outbound update message instead. Do you know some samples to prepare this in the axd class? I've seen, there is a method called useNaturalKey and a possibility to manipulate the KeyMap in getEntityKeyReplaycmentElementMap. Do you have some experiences to do this? I can't find anything in the web.<br /><br />Best regards,<br />Frank</div>
<span class="comment-actions secondary-text" id="bc_0_11MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
<div class="comment-replies" id="bc_0_11BR" style="margin-left: 36px; margin-top: 1em;">
</div>
<div class="comment-replybox-single" id="bc_0_11B_box" style="margin-left: 48px; margin-top: 5px;">
</div>
</li>
<li class="comment" id="bc_0_12B" kind="b" style="border-bottom-width: 0px; margin: 0px 0px 16px; padding: 0.25em 0px 0px;"><div class="avatar-image-container" style="float: left; margin: 0.2em 0px 0px; max-height: 36px; overflow: hidden; width: 36px;">
<img src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 1px solid rgb(238, 238, 238); max-width: 36px;" /></div>
<div class="comment-block" id="c4876887218769460714" style="margin-left: 48px; position: relative;">
<div class="comment-header" id="bc_0_12M" kind="m" style="margin: 0px 0px 8px;">
<cite class="user" style="font-style: normal; font-weight: bold;"><a href="https://www.blogger.com/profile/12628378831084299294" rel="nofollow" style="color: #888888; text-decoration: none;">manikanta</a></cite><span class="icon user" style="font-weight: bold;"></span><span class="datetime secondary-text" style="margin-left: 6px;"><a href="http://dynamics-ax-developer.blogspot.com/2012/09/ax-2012-export-data-with-outbound-ports.html?showComment=1407407590177#c4876887218769460714" rel="nofollow" style="color: #888888; text-decoration: none;">8/07/2014 12:33 PM</a></span></div>
<div class="comment-content" id="bc_0_12MC" style="margin-bottom: 8px; text-align: justify;">
Hi,<br />I've created a query with vendtable and dirpartyview, and created a document service through AIFDocumentservicewizard and configured that in outbound port. Can anyone tell me how to access the service and send the details to an XML file</div>
<span class="comment-actions secondary-text" id="bc_0_12MN" kind="m"><a href="https://www.blogger.com/null" kind="i" o="r" style="color: #888888; padding-right: 5px; padding-top: 5px;" target="_self">Reply</a></span></div>
</li>
</ol>
</div>
</div>
</div>
</div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-35090339171402121782016-01-27T17:01:00.001+01:002016-01-27T17:01:07.487+01:00In Microsoft Dynamics AX, how to get a look up of all the tables available in AOT<div class="MsoNormal" len="181" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="137" style="font-family: Calibri;">This article explains you how to get a look up to a control for All the AOT tables and can answer to below relevant questions.<o:p></o:p></span></div>
<span len="160" style="background-color: white; color: #333333; font-family: Symbol; font-size: 14.85px; line-height: 16.632px;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span len="60" style="background-color: white; color: #333333; font-family: Calibri; font-size: 14.85px; line-height: 16.632px;">Create a look up to show all the tables from AOT.<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="160" style="background-color: white; color: #333333; font-family: Symbol; font-size: 14.85px; line-height: 16.632px;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span len="97" style="background-color: white; color: #333333; font-family: Calibri; font-size: 14.85px; line-height: 16.632px;">How to develop a drop down to show all the AOT tables where user can select one among?<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="160" style="background-color: white; color: #333333; font-family: Symbol; font-size: 14.85px; line-height: 16.632px;">·<span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span len="65" style="background-color: white; color: #333333; font-family: Calibri; font-size: 14.85px; line-height: 16.632px;">How to create an edit method in Microsoft Dynamics AX?<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br />
<div class="MsoNormal" len="185" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="141" style="font-family: Calibri;">Applied on: Dynamics AX 2012 R2<o:p len="0"></o:p> <br len="0" />Prerequisite: X++; MorphX; Basic programming knowledge<o:p len="0"></o:p> <br len="0" />Target audience: Any</span></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="560" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<div class="separator" len="376" style="clear: both; text-align: center;">
<span len="332" style="font-family: Calibri;"><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkYhJmArfPlNsqnr4YmmnlGzBaZD3J_hvzoI15KqDXwLt7xkUKvKY6pWM0tWqhWhrWd6_EmKdkoLYR7GZekZ1-wp0v0EMVf5t7m9EnmXjnKw9cFOfMZvcVfZEovMoKqZSEQx5gVBJrMYf/s1600/Image1.jpg" imageanchor="1" len="138" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="285" len="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgYkYhJmArfPlNsqnr4YmmnlGzBaZD3J_hvzoI15KqDXwLt7xkUKvKY6pWM0tWqhWhrWd6_EmKdkoLYR7GZekZ1-wp0v0EMVf5t7m9EnmXjnKw9cFOfMZvcVfZEovMoKqZSEQx5gVBJrMYf/s1600/Image1.jpg" style="border: none; position: relative;" width="320" /></a></span></div>
<span len="6" style="font-family: Calibri;"> </span><br len="0" /><span len="6" style="font-family: Calibri;"> </span><br len="0" /></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="61" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<o:p len="49"><span style="font-family: Calibri;"> </span></o:p></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="701" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="649"><v:shapetype coordsize="21600,21600" filled="f" id="_x0000_t75" o:preferrelative="t" o:spt="75" path="m@4@5l@4@11@9@11@9@5xe" stroked="f"><v:stroke joinstyle="miter"><v:formulas></v:formulas><v:path gradientshapeok="t" o:connecttype="rect" o:extrusionok="f"><o:lock aspectratio="t" v:ext="edit"></o:lock></v:path></v:stroke></v:shapetype><v:shape id="Picture_x0020_6" o:spid="_x0000_i1027" style="height: 269.25pt; visibility: visible; width: 301.5pt;" type="#_x0000_t75"><v:imagedata o:title="" src="file:///C:\Users\RAJESH~1.BIS\AppData\Local\Temp\msohtmlclip1\01\clip_image001.png"></v:imagedata></v:shape></span><o:p len="0"></o:p></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="234" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="0" style="font-family: Calibri;"></span><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><br len="0" /><span len="37" style="font-family: Calibri;">Output: Look up of all the AOT tables</span><br len="0" /><span len="0" style="font-family: Calibri;"></span> </div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="802" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="758" style="font-family: Calibri;">Create a table with a single field. Here my table name is TableLookUp with field name TableObjID.<o:p len="0"></o:p><br len="0" /><span len="73">The field should be extended to RefTableId EDT as shown below.<o:p></o:p></span><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ZonMxqDvKu3SahfIDGn0nlGGhyphenhyphentIxvrlnIJrAAwoHhJ6g5SrRJSTrIxbRp2jPRsfE8DDnJAANfjE7BrkBDIRBqkuKCfeu8sEZoVF8MiKmwtKUWa_t1timZ8x-xIai_f8sSLegVqW-uuy/s1600/Image2.jpg" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ZonMxqDvKu3SahfIDGn0nlGGhyphenhyphentIxvrlnIJrAAwoHhJ6g5SrRJSTrIxbRp2jPRsfE8DDnJAANfjE7BrkBDIRBqkuKCfeu8sEZoVF8MiKmwtKUWa_t1timZ8x-xIai_f8sSLegVqW-uuy/s1600/Image2.jpg" imageanchor="1" len="138" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="341" len="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg8ZonMxqDvKu3SahfIDGn0nlGGhyphenhyphentIxvrlnIJrAAwoHhJ6g5SrRJSTrIxbRp2jPRsfE8DDnJAANfjE7BrkBDIRBqkuKCfeu8sEZoVF8MiKmwtKUWa_t1timZ8x-xIai_f8sSLegVqW-uuy/s1600/Image2.jpg" style="border: none; position: relative;" width="400" /></a></span></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" />
<div class="MsoNormal" len="979" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="clear: left; color: #6666cc; float: left; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"></a><span len="170"><v:shape id="Picture_x0020_3" o:spid="_x0000_i1026" style="height: 393.75pt; visibility: visible; width: 458.25pt;" type="#_x0000_t75"></v:shape></span></div>
<br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="108" style="background-color: white; color: #333333; font-family: Calibri; font-size: 14.85px; line-height: 16.632px;">Write an edit method to your table. I wrote a method in the name of tableObject2Name. The method looks like:</span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br />
<div class="MsoNormal" len="126" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<i len="107"><span style="color: green; font-family: Consolas; font-size: 8pt;">// This method returns table name</span></i><o:p len="0"></o:p></div>
<i len="100" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;"><span style="color: green; font-family: Consolas; font-size: 8pt;">// BP deviation documented</span></i><span len="11" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"><o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;"><b len="81"><span style="color: darkblue; font-family: Consolas; font-size: 8pt;">edit</span></b><span len="201" style="font-family: Consolas; font-size: 8pt;"> TableName tableObject2Name(<b><span style="color: darkblue;">boolean</span></b> _set, TableName _name) <i><span style="color: green;">// System Documentation>Type>TableName</span></i><o:p></o:p></span></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="12" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;">{<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="138" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> Dictionary dictionary;<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="150" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> TableId tableID;<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br />
<div class="MsoNormal" len="185" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="124" style="font-family: Consolas; font-size: 8pt;"> <b><span style="color: darkblue;">if</span></b> (_set)<o:p></o:p></span></div>
<span len="71" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> {<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="306" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> dictionary = <b><span style="color: darkblue;">new</span></b> Dictionary(); <i><span style="color: green;">// System Documentation>Classes>Dictionary</span></i><o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="180" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> tableID = dictionary.<b><span style="color: darkblue;">tableName2Id</span></b>(_name);<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><a href="https://www.blogger.com/" imageanchor="1" len="0" style="background-color: white; clear: right; color: #6666cc; float: right; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="background-color: white; clear: right; color: #6666cc; float: right; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"></a><a href="https://www.blogger.com/" imageanchor="1" len="0" style="background-color: white; clear: right; color: #6666cc; float: right; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px; margin-bottom: 1em; margin-left: 1em; text-decoration: none;"></a><br />
<div class="MsoNormal" len="212" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="151" style="font-family: Consolas; font-size: 8pt;"> <b><span style="color: darkblue;">if</span></b> (tableID)<o:p></o:p></span></div>
<span len="95" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> {<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="144" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> this.TableObjID = tableID;<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="95" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> }<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="71" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> }<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="197" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;"> <b><span style="color: darkblue;">return</span></b> <b><span style="color: darkblue;">tableid2name</span></b>(this.TableObjID);<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><span len="12" style="background-color: white; color: #333333; font-family: Consolas; font-size: 8pt;">}<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><br />
<div class="MsoNormal" len="7" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
</div>
<div class="MsoNormal" len="147" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="103" style="font-family: Calibri;">Create a new form and use the table you created as data sources and method to get a control.<o:p></o:p></span></div>
<span len="35" style="background-color: white; color: #333333; font-family: Calibri; font-size: 14.85px; line-height: 16.632px;">Here my form looks like:<o:p></o:p></span><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><o:p len="49" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;"><span style="font-family: Calibri;"> </span></o:p><br len="0" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px;" /><a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2NIxTAL3KkHj9QB8L1L9M8CN36yu8pZzbmzKcL3KlCU9G-juLpTQa8v7g_xzpJpDpaRYr4XW7OXGnyk1Qhvo5Ftbl_2tOqg8q2EE7FxVV_X_xXYjUkOT0ZWke0utCaroCFxt5t2js1eR8/s1600/Image3.jpg" imageanchor="1" len="138" style="background-color: white; clear: left; color: #6666cc; float: left; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; line-height: 16.632px; margin-bottom: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="130" len="0" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj2NIxTAL3KkHj9QB8L1L9M8CN36yu8pZzbmzKcL3KlCU9G-juLpTQa8v7g_xzpJpDpaRYr4XW7OXGnyk1Qhvo5Ftbl_2tOqg8q2EE7FxVV_X_xXYjUkOT0ZWke0utCaroCFxt5t2js1eR8/s1600/Image3.jpg" style="border: none; position: relative;" width="400" /></a><br />
<div class="MsoNormal" len="234" style="background-color: white; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 14.85px; margin: 0in 0in 0pt;">
<span len="179"><><v:shape id="Picture_x0020_7" o:spid="_x0000_i1025" style="height: 164.25pt; visibility: visible; width: 501.75pt;" type="#_x0000_t75"> </v:shape></span><br len="0" /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-33731162638676086882015-10-15T15:24:00.002+02:002015-10-15T15:24:08.495+02:00Tip: Use the debugger with limited permissions<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
First I would like to give also credits to a great person I have worked with on a project where we discovered the “hidden” feature within the Security Development Tool. His name is Peter Collewijn. Because there was an issue during the implementation which was only reproducible with limited access rights, we were looking for a way to find the culprit of it. He asked whether it was possible to use the Security test workspace in combination with the debugger. Where other people told him it was not possible and insane, I gave it a chance… So we tried out and read below the outcome…</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
Well in fact the procedure to achieve this is very easy. For this blog post I did not create a complex scenario for debugging, but simply added a breakpoint within an AX method to show you this feature. Before you start, make sure you do have the <em style="box-sizing: border-box; outline: none;">System administrator role</em> within AX and you are assigned to the AD group <em style="box-sizing: border-box; outline: none;">Microsoft Dynamics AX Debugging Users</em>.</div>
<ol style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin: 0px 0px 8px; outline: none; padding: 0px; text-align: justify;">
<li style="box-sizing: border-box; list-style: decimal inside; margin: 0px; outline: none; padding: 0px;">Put a breakpoint where you want to have the debugger enabled. In this example I have put the breakpoint on the <em style="box-sizing: border-box; outline: none;">add</em> method of the class <em style="box-sizing: border-box; outline: none;">Info</em>. In this way on every infolog message the debugger will be triggered.<br style="box-sizing: border-box; outline: none;" /><a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-01.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-01" class="alignnone wp-image-11135" height="392" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-01.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="511" /></a></li>
<li style="box-sizing: border-box; list-style: decimal inside; margin: 0px; outline: none; padding: 0px;">Open the security development tool form and select the role which raises the errors.<br style="box-sizing: border-box; outline: none;" /><a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-03.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-03" class="alignnone wp-image-11137" height="447" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-03.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="748" /></a></li>
<li style="box-sizing: border-box; list-style: decimal inside; margin: 0px; outline: none; padding: 0px;">Open the Security test workspace. You will get the next notification first. It will provide some basic information what will happen with your security settings in AX during the time you have the workspace opened.<br style="box-sizing: border-box; outline: none;" /><a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-04.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-04" class="alignnone wp-image-11138" height="209" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-04.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="286" /></a></li>
<li style="box-sizing: border-box; list-style: decimal inside; margin: 0px; outline: none; padding: 0px;">In this scenario I will just do something stupid to have AX raising an infolog by not filling all mandatory fields on the Number sequence form.<br style="box-sizing: border-box; outline: none;" /><a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-05.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-05" class="alignnone wp-image-11139" height="326" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-05.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="578" /></a></li>
<li style="box-sizing: border-box; list-style: decimal inside; margin: 0px; outline: none; padding: 0px;">Try to close the form or save the records and the debugger will be triggered.<br style="box-sizing: border-box; outline: none;" /><a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-06.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-06" class="alignnone wp-image-11140" height="531" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-06.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="1008" /></a></li>
</ol>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
Now you are able to debug using the permissions of another user. Note that business logic that runs in CIL will not be triggered when you put a breakpoint. You can then either disable the user option Execute business operations in CIL or attach the Microsoft Visual Studio debugger to the Application Object Server (AOS). Have also a look at the Technet page <a href="http://msdn.microsoft.com/EN-US/library/hh528509.aspx" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank" title="Debug in Interpreted Mode Your X++ Code that Runs as .NET CIL [AX 2012]">Debug in Interpreted Mode Your X++ Code that Runs as .NET CIL [AX 2012]</a>.</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
</div>
<h2 style="background-color: white; box-sizing: border-box; color: #2f2f2f; font-family: 'Open Sans'; font-size: 30px; font-weight: 400; line-height: 35px; margin: 0px 0px 21px; outline: none; padding: 0px; text-align: justify;">
Tip: Turn on portal security</h2>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
Normally when you open the Security test workspace, a new workspace will be opened and the session will be restricted to non Admin mode. The current roles of the user will be disabled, except for the System administrator and System user role. The role which should be tested will be granted to the current user.</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
<a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-07.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-07" class="alignnone wp-image-11141" height="382" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-07.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="655" /></a></div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
Because you still have System administrator rights in AX, you cannot test the role on the enterprise portal and also SSRS reports will behave differently compared to normal user rights. As SSRS will use another thread connection towards the AOS, the SSRS started from the Security test workspace will have all rights on every table. So when you have tested the role, normal users can get an error on e.g. display methods because the user within the normal role has no access to certain tables.</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
To be able to test the Portal security and SSRS reports correctly you can enable the Portal security. If you then open the Security test workspace, you will get another message which you need to read very carefully! In this case also the System administrator role will be disabled. When something goes wrong, e.g. a client crash, you can’t login anymore because the System administrator role is disabled. The information message will tell you how to recover from this issue.</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
<a href="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-08.png" style="box-sizing: border-box; color: #3f7bbf; outline: none; text-decoration: none;" target="_blank"><img alt="SDT6-08" class="alignnone size-full wp-image-11142" height="638" src="http://www.kaya-consulting.com/wordpress/wp-content/uploads/2014/12/SDT6-08.png" style="border: 0px; box-sizing: border-box; height: auto; max-width: 100%; outline: none; vertical-align: top;" width="1068" /></a></div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
Now you are able to fully test the role also with restricted rights for the Enterprise portal and SSRS reports. Note that when you use this option, the trick with the AX debugger is not working as you are not a System administrator during the time the Security test workspace is active.</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
</div>
<div style="background-color: white; box-sizing: border-box; font-family: 'Open Sans'; font-size: 13px; line-height: 22px; margin-bottom: 8px; outline: none; padding: 0px; text-align: justify;">
That’s all for now. Till next time!</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-57564744103712157002015-10-15T15:23:00.001+02:002015-10-15T15:23:35.460+02:00Tutorial: Debugging AX while still using restricted roles (non-admin)<span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">Saw this on our internal forum today, and thought it's a nice thing to share with all of you.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">1.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Close All AX instances<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">2.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Open AX Development Environment (ax32.exe -development)<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">3.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Open AX Application (ax32.exe)<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">4.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Add Role that you would like to test to your UserId<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 72pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">a.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">System Administration > Common > Users<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 72pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">b.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Find yourself and double click to get to the detail window<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 72pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">c.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Assign role that you want to test<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">5.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Close AX Application<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">6.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Set break points in AX Development Environment<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">7.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">Create a job and add this line<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;"> </span><span style="background-color: white; color: #222222; font-family: Consolas; font-size: 8pt;"><em>SecurityUtil::sysAdminMode(<b><span style="color: darkblue;">false</span></b>);<o:p></o:p></em></span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><span style="background-color: white; color: #1f497d; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;"><o:p><span style="font-family: Calibri;"> </span></o:p></span><br />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">8.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">From the AX Development Environment “Ctrl W” to open the application<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt 36pt; text-indent: -18pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">9.</span><span style="font-family: 'Times New Roman'; font-size: 7pt; font-stretch: normal; line-height: normal;"> </span></span><span style="color: #1f497d;"><span style="font-family: Calibri;">You are now in a reduced permission user and have the ability to debug. </span></span><span style="color: #1f497d; font-family: Wingdings;">J</span><span style="color: #1f497d;"><o:p></o:p></span></div>
<span style="background-color: white; color: #1f497d; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;"><o:p><span style="font-family: Calibri;"> </span></o:p></span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br />
<div class="MsoListParagraph" style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px; margin: 0cm 0cm 0pt;">
<span style="color: #1f497d;"><span style="font-family: Calibri;">To get your environment back to full admin, re-execute the job in step 7 with a <em>true</em>.<o:p></o:p></span></span></div>
<br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><strong style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">Note</strong><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">: This will not work for EP, Services, direct BC.NET and cases using runas(), as the SecurityUtil::sysAdminMode is limited to the current session.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">Ed Budrys from our Security team deserves the credit for the above.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">Let me know if you found this to be useful.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.2px; line-height: 14.784px;">Thanks</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-63646709070363656012015-10-13T16:37:00.001+02:002015-10-13T16:37:35.183+02:00Creating Custom Number Sequences in Microsoft Dynamics AX 2012<h1 style="background-color: white; color: #1a1a1a; font-family: Lato; font-size: 27.44px; line-height: 38.416px; margin: 32px 0px 16px; outline: none;">
Overview</h1>
<div style="background-color: white; color: #1a1a1a; font-family: 'Open Sans'; font-size: 14px; line-height: 21px; margin-top: 16px; outline: none;">
Number sequences are unique identifiers that can be associated with a master record so that they can be individually distinguished. They can be either formatted as alpha-numeric strings or simply as numbers.</div>
<div style="background-color: white; color: #1a1a1a; font-family: 'Open Sans'; font-size: 14px; line-height: 21px; margin-top: 16px; outline: none;">
Microsoft Dynamics AX 2012 provides an easy to implement framework to generate custom number sequences.</div>
<h1 style="background-color: white; color: #1a1a1a; font-family: Lato; font-size: 27.44px; line-height: 38.416px; margin: 32px 0px 16px; outline: none;">
Scenario</h1>
<div style="background-color: white; color: #1a1a1a; font-family: 'Open Sans'; font-size: 14px; line-height: 21px; margin-top: 16px; outline: none;">
As part of this tutorial, a custom number sequence will be generated for the Customer Groups setup form (<strong style="outline: none;">Accounts receivable <span style="font-family: Wingdings; outline: none;">à</span>Setup <span style="font-family: Wingdings; outline: none;">à</span> Customers <span style="font-family: Wingdings; outline: none;">à</span> Customer groups</strong>)</div>
<h1 style="background-color: white; color: #1a1a1a; font-family: Lato; font-size: 27.44px; line-height: 38.416px; margin: 32px 0px 16px; outline: none;">
Steps</h1>
<ol style="background-color: white; color: #1a1a1a; font-family: 'Open Sans'; font-size: 14px; line-height: 21px; outline: none;">
<li style="outline: none;">First create a new <strong style="outline: none;">Extended Data Type (EDT)</strong>. Open <strong style="outline: none;">AOT <span style="font-family: Wingdings; outline: none;">à</span>Data Dictionary <span style="font-family: Wingdings; outline: none;">à</span> Extended Data Types</strong></li>
<li style="outline: none;">Right Click on <strong style="outline: none;">Extended Data Types</strong> and create a new EDT <strong style="outline: none;">NumSeqDemoCustGroupNum </strong>of type <strong style="outline: none;">String</strong></li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_1.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">Set the properties as shown below</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_2.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">Now go to <strong style="outline: none;">AOT <span style="font-family: Wingdings; outline: none;">à</span> Classes</strong> and open the <strong style="outline: none;">NumberSeqModuleCustomer</strong> class by right clicking it and selecting <strong style="outline: none;">View Code</strong></li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_3.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;"><div style="outline: none;">
In the <strong style="outline: none;">loadModule</strong> method, add the following code after the last line of code</div>
</li>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//customer group number</em></span></span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//define the EDT</em></span></span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmDatatypeId(<span style="color: darkblue; outline: none;"><strong style="outline: none;">extendedTypeNum</strong></span>(NumSeqDemoCustGroupNum));</span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//define its default properties</em></span></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmReferenceHelp(</span><span style="color: darkblue; outline: none;"><strong style="outline: none;">literalStr</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">(</span><span style="color: darkred; outline: none;">“Unique number for customer group”</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">));</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmWizardIsContinuous(</span><span style="color: darkblue; outline: none;"><strong style="outline: none;">true</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmWizardIsManual(NoYes::No);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmWizardIsChangeDownAllowed(NoYes::No);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmWizardIsChangeUpAllowed(NoYes::No);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmWizardHighest(</span><span style="color: red; outline: none;"><strong style="outline: none;">999999</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.parmSortField(</span><span style="color: red; outline: none;"><strong style="outline: none;">27</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">);</span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//define its scope</em></span></span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">datatype.addParameterType(NumberSeqParameterType::DataArea, <span style="color: darkblue; outline: none;"><strong style="outline: none;">true</strong></span>, <span style="color: darkblue; outline: none;"><strong style="outline: none;">false</strong></span>);</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">this.create(datatype);</span></div>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;">Now, go to <strong style="outline: none;">AOT <span style="font-family: Wingdings; outline: none;">à</span> Jobs</strong> and create a new job <strong style="outline: none;">loadNumSeqCustDemo</strong></li>
<div style="font-size: 13px; outline: none;">
Write the following code in the job and then run it</div>
<div style="font-size: 13px; margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">static </strong></span><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> loadNumSeqCustDemo(Args _args)</span>{<br style="outline: none;" /><em style="color: green; font-family: Consolas; font-size: 10pt; outline: none;">//define the class variable</em><span style="font-family: Consolas; font-size: 10pt; outline: none;">NumberSeqModuleCustomer seqMod = </span><span style="color: darkblue; outline: none;"><strong style="outline: none;">new</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;"> NumberSeqModuleCustomer();</span></div>
<div style="margin-top: 16px; outline: none; padding-left: 30px;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//load the number sequences that were not generated</em></span></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">seqMod.load();</span>}</div>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;">Now, go to <strong style="outline: none;">Organization administration <span style="font-family: Wingdings; outline: none;">à</span> Common <span style="font-family: Wingdings; outline: none;">à</span> Number sequences <span style="font-family: Wingdings; outline: none;">à</span> Number sequences</strong></li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_4.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">Click on <strong style="outline: none;">Generate</strong> button in the <strong style="outline: none;">New</strong> button group</li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_5.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">In the Setup number sequences wizard, Press <strong style="outline: none;">Next</strong></li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_6.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">In the Setup set different values for the number sequence like the format, highest value and lowest value</li>
<li style="outline: none;">Click <strong style="outline: none;">Next</strong></li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_7.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">In the last step, Click <strong style="outline: none;">Finish</strong> to generate the number sequences</li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_8.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">The number sequence is generated and can be used on the Customer Groups form</li>
<li style="outline: none;">Open <strong style="outline: none;">AOT <span style="font-family: Wingdings; outline: none;">à</span> Data Dictionary <span style="font-family: Wingdings; outline: none;">à</span> Tables <span style="font-family: Wingdings; outline: none;">à</span> CustGroup</strong></li>
<li style="outline: none;">Add a new <strong style="outline: none;">String</strong> field and set the properties as follows</li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_9.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">Add the newly added field in the Overview field group</li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_10.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;">Now go to <strong style="outline: none;">Forms <span style="font-family: Wingdings; outline: none;">à</span>CustGroup</strong> and restore the form. It will add the newly added field in the grid</li>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_11.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;"><div style="outline: none;">
Write the following code on the Class declaration node</div>
<div style="margin-top: 16px; outline: none;">
NumberSeqFormHandler numberSeqFormHandler;</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Create a new method on the form and write the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">NumberSeqFormHandler numberSeqFormHandler()</span>{<br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">if</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;"> (!numberSeqFormHandler)</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">{</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: green; outline: none;"><em style="outline: none;">//create a reference of number sequence form handler class specifying the EDT, Data source name and the field of the table</em></span></span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">numberSeqFormHandler =NumberSeqFormHandler::newForm(NumberSeqReference::findReference(<span style="color: darkblue; outline: none;"><strong style="outline: none;">extendedtypenum</strong></span>(NumSeqDemoCustGroupNum)).NumberSequenceId, element,CustGroup_DS,<span style="color: darkblue; outline: none;"><strong style="outline: none;">fieldnum</strong></span>(CustGroup,CustGroupNumber));</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">}</span><span style="color: darkblue; outline: none;"><strong style="outline: none;">return</strong></span> numberSeqFormHandler;<br style="outline: none;" />}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">close</strong> method of the form and write the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public </strong></span><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> close()</span>{<br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">if</strong></span> (numberSeqFormHandler)<br style="outline: none;" /><span style="font-family: Consolas; font-size: 10pt; outline: none;">{</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">numberSeqFormHandler.formMethodClose();</span><span style="font-family: Consolas; font-size: 10pt; outline: none;">}</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span>();</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">create</strong> method on the <strong style="outline: none;">CustGroup</strong> data source and add the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public </strong></span><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> create(<span style="color: darkblue; outline: none;"><strong style="outline: none;">boolean</strong></span> _append = <span style="color: darkblue; outline: none;"><strong style="outline: none;">false</strong></span>)</span>{<br style="outline: none;" /><span style="font-family: Consolas; font-size: 10pt; outline: none;">element.numberSeqFormHandler().formMethodDataSourceCreatePre();</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span>(_append);</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">element.numberSeqFormHandler().formMethodDataSourceCreate(<span style="color: darkblue; outline: none;"><strong style="outline: none;">true</strong></span>);</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">write</strong> method on the <strong style="outline: none;">CustGroup</strong> data source and add the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public </strong></span><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> write()</span>{<br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;">();</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">element.numberSeqFormHandler().formMethodDataSourceWrite();</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">validateWrite</strong> method on the <strong style="outline: none;">CustGroup</strong> data source and add the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public </strong></span><span style="color: darkblue; outline: none;"><strong style="outline: none;">boolean</strong></span> validateWrite()</span>{<br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">boolean</strong></span><span style="font-family: Consolas; font-size: 10pt; outline: none;"> ret;</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">ret = <span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span>();</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">ret = element.numberSeqFormHandler().formMethodDataSourceValidateWrite(ret) && ret;</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">return</strong></span> ret;</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">delete</strong> method on the <strong style="outline: none;">CustGroup</strong> data source and add the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public</strong></span><br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> delete()</span>{</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">element.numberSeqFormHandler().formMethodDataSourceDelete();</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span>();</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;"><div style="outline: none;">
Override the <strong style="outline: none;">linkActive</strong> method on the <strong style="outline: none;">CustGroup</strong> data source and add the following code</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">public</strong></span><br style="outline: none;" /><span style="color: darkblue; outline: none;"><strong style="outline: none;">void</strong></span> linkActive()</span>{</div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;">element.numberSeqFormHandler().formMethodDataSourceLinkActive();</span></div>
<div style="margin-top: 16px; outline: none;">
<span style="font-family: Consolas; font-size: 10pt; outline: none;"><span style="color: darkblue; outline: none;"><strong style="outline: none;">super</strong></span>();</span>}</div>
</li>
<div style="margin-top: 16px; outline: none;">
<br /></div>
<li style="outline: none;">Now go to <strong style="outline: none;">Accounts receivable <span style="font-family: Wingdings; outline: none;">à</span> Setup <span style="font-family: Wingdings; outline: none;">à</span> Customers <span style="font-family: Wingdings; outline: none;">à</span> Customer groups</strong></li>
<div style="margin-top: 16px; outline: none;">
<img alt="" class="aligncenter" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_12.png?80d1ff" style="border: 0px; display: block; height: auto; margin: 16px auto; max-width: 100%; outline: none;" /></div>
<li style="outline: none;"><div style="outline: none;">
Create a new record. The number sequence is generated according to the format defined as shown below</div>
<div style="margin-top: 16px; outline: none; text-align: center;">
<img alt="" scale="0" src="http://www.dynamics101.com/wp-content/uploads/2014/09/090214_1811_13.png?80d1ff" style="border: 0px; height: auto; max-width: 100%; outline: none;" /></div>
</li>
</ol>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-89372554545290438712015-10-01T10:56:00.002+02:002015-10-01T10:56:44.534+02:00Debugging in Dynamics AX 2012 as a non-admin Role<span style="background-color: white;"><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">To access breakpoints as a limited user:</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">1. open dynamics as admin</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">2. add yourself to your favorite role (in addition to admin)</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">3. shift control w to open a workspace.</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">4. insert a break point into a well know x++ class that the role accesses.</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">5. create a new job</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">6. insert this:</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">static void NonAdmin(Args _args)</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">{</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">securityutil::sysadminmode(false); </span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">}</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">7. run job</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">8. control w to open regular workspace (or open it from the menus, sometimes its sticky)</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">9. Open the form/class via navigation</span><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><br style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;" /><span style="color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.56px;">observe that you can now stop in debugger as "limited" user</span></span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-64884750513084293182015-08-27T16:50:00.000+02:002015-08-27T16:54:50.367+02:00How To: Addressing SSRS Session Timeouts<h3 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.45em; font-weight: normal; line-height: 21.9500999450684px; margin: 3px 0px;">
<span style="background-color: white; font-size: x-small;">Microsoft Dynamics AX 2012</span></h3>
<h3 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-weight: normal; line-height: 21.9500999450684px; margin: 3px 0px;">
<span style="background-color: white; font-size: small;">Dealing with Dynamics AX 2012 Reporting Timeouts and Thresholds</span></h3>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">Dynamics AX 2012 uses SQL Server Reporting Services for rendering reports. SSRS gets the data from AOS by using a custom SSRS Extension that uses WCF to communicate with AOS.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">Depending on the size of the data and the complexity of the report, it might take a long time for the report to execute, resulting in various timeout and other thresholds being hit, which might cause the report rendering to fail. This article attempts to identify all the places where rendering large reports may cause thresholds could be hit and suggest tweaks or workarounds to address them.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;"></span></span></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white; font-size: small;">A. Getting data ready</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">If the report uses Report Data Provider (RDP) to get the data, then it should be modified to use a pre-processed RDP class as the data source to invoke processing logic before a call is made to Reporting Services. For more information about RDP classes, see </span><a href="http://technet.microsoft.com/en-us/library/hh456296.aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">Using Report Data Provider Classes to Access Report Data</span></a><span style="font-size: x-small;"> and </span><a href="http://technet.microsoft.com/en-us/library/hh397313.aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">Report Programming Guide</span></a><span style="font-size: x-small;">.</span></span></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white; font-size: small;">B. Report Execution Timeout</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">SSRS defines a Report Execution Timeout, which specifies the number of seconds after which the reporting processing times out. The default value for this is 30mins. If the report execution takes longer than that, then the report execution will fail.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">This setting can be updated at the Report Server level or at an individual report level</span></div>
<h5 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.15em; font-weight: normal; line-height: 17.4086990356445px;">
<span style="background-color: white;">Site level Settings</span></h5>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">The report execution timeout at the report server level should be set to a value greater than the time required for the largest report to render. Alternately it can be set to never time out. This can be done in one of two ways -</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">1. Using the Report Manager - From the Site settings, the Report Timeout property can be changed.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/6114.clip_5F00_image002_5F00_1F725A53.jpg" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="clip_image002" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/2728.clip_5F00_image002_5F00_thumb_5F00_18531DDB.jpg" height="299" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="clip_image002" width="451" /></a></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">2. This can also be changed using SQL Server Management Studio – In SSMS, Right-click the name of a report server, then click Properties. On the Server Properties window, click the Execution page and change the value for “Limit report execution to the following number of seconds”.</span></div>
<h5 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.15em; font-weight: normal; line-height: 17.4086990356445px;">
<span style="background-color: white;">Report level Settings</span></h5>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">The report execution timeout can also be set on each report, using Report Manager. Go to the report properties (see </span><a href="http://msdn.microsoft.com/en-us/library/ms157146(v=sql.105).aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">how</span></a><span style="font-size: x-small;">) and in Processing Options, select either “Do not timeout report” or change the “Limit report processing to the following number of seconds” option.</span></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/2742.clip_5F00_image004_5F00_3F21341B.jpg" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="clip_image004" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/8322.clip_5F00_image004_5F00_thumb_5F00_65EF4A5B.jpg" height="286" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="clip_image004" width="450" /></a></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white; font-size: small;">C. SSRS Session Timeout</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">SSRS maintains a User Session which may time out if the report takes a long time to execute, causing the report execution to fail. This can be fixed for the report server by setting the 2 properties SessionTimeout and SessionAccessTimeout using the rs.exe tool. Again, these should be set to be greater than the time taken to render the largest report.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">You should configure these values to be no less than the time it takes to render your largest report. Here is a sample script for rs.exe which will set these values for you:</span></div>
<pre style="color: #333333; line-height: 18.165599822998px;"><table border="0" cellpadding="2" cellspacing="0" style="margin-left: 1px; width: 403px;"><tbody>
<tr><td valign="top" width="401"><span style="background-color: white; font-size: x-small;"><span style="color: blue;">Public Sub</span> Main()
<span style="color: blue;">Dim</span> props() <span style="color: blue;">as</span> [<span style="color: blue;">Property</span>]
props = <span style="color: blue;">new</span> [<span style="color: blue;">Property</span>] () { <span style="color: blue;">new</span> [<span style="color: blue;">Property</span>](), <span style="color: blue;">new</span> [<span style="color: blue;">Property</span>]() }
props(0).Name = "SessionTimeout"
props(0).Value = timeout
props(1).Name = "SessionAccessTimeout"
props(1).Value = timeout
rs.SetSystemProperties(props)
<span style="color: blue;">End Sub</span></span></td></tr>
</tbody></table>
<span style="background-color: white;">
</span></pre>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">You can run this script with the following command:</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<strong><span style="background-color: white;">rs.exe -i <Path to SessionTimeout.rss> -s <Report Server URL> -v timeout="6000"</span></strong></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">The tool rs.exe is usually located at “c:\Program Files(x86)\Microsoft SQL Server\110\Tools\Bin”.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">The timeout is expressed in seconds, so this example sets the SessionTimeout and SessionAccessTimeouts to about an hour and a half. </span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;"><strong>Example: </strong>c:\Program Files(x86)\Microsoft SQL Server\110\Tools\Bin\<strong>rs.exe -i c:\Temp\sessiontimeout.rss -s <a href="http://localhost/reportserver" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">http://localhost/reportserver</a> -v timeout="6000"</strong></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;"><strong><span style="color: red;">Important: </span>Do this with caution</strong>, keeping a session around longer than necessary can cause your ReportServerTempDB database to grow larger since temporary session snapshots will not be aged out as often. Also, this utility must be run as Administrator.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">You can also check out this msdn </span><a href="http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">blog post</span></a><span style="font-size: x-small;"> for more information.</span></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;"></span></span></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white; font-size: small;">D. WCF Timeouts and Thresholds</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">SSRS uses the </span><a href="http://msdn.microsoft.com/en-us/library/gg847959.aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">Query Service</span></a><span style="font-size: x-small;"> (which is a WCF service exposed by the AOS) to get data. For reports with large datasets, the default WCF configuration may cause WCF to hit some thresholds at runtime. So the WCF configuration can be tweaked as follows……</span></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;"></span></span></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white;">Updating Server side settings</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">1) Open the Ax32Serv.exe.config file (it is typically under c<i>:\Program Files\Microsoft Dynamics AX\<version>\Server\MicrosoftDynamicsAX\Bin)</i>.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">2) Locate the QueryServiceBinding element. The default value for the sendTimeout on this element is 10mins.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/6278.clip_5F00_image007_5F00_7E7EE7AB.png" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="clip_image007" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/3718.clip_5F00_image007_5F00_thumb_5F00_5E63DAEE.png" height="100" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="clip_image007" width="529" /></a></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">3) Increase the sendTimeout to a larger value, say 30mins, like so – </span><strong>sendTimeout=”00:30:00”</strong></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><strong></strong></span></div>
<h4 style="clear: both; color: #260859; font-family: 'Segoe UI Semibold', 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 1.3em; font-weight: normal; line-height: 19.6794013977051px; margin: 2px 0px;">
<span style="background-color: white;">Updating Client configuration settings on the SSRS Server</span></h4>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">1) Access the <strong>Microsoft SQL Reporting Services </strong>host using an account with Administrative privileges</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">2) Open the Microsoft Dynamics AX Configuration Utility (typically here: <strong>Start –> Administrative Tools –> Microsoft Dynamics AX 2012 Configuration)</strong></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">3) Click the <strong>Configuration Target: </strong>drop-down and select <strong>Business Connector (non-interactive use only)</strong></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/5611.AX_2D00_Client_2D00_Configuration_2D00_Utility_2D00_dialog_5F00_5E362A82.png" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="AX Client Configuration Utility dialog" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/8357.AX_2D00_Client_2D00_Configuration_2D00_Utility_2D00_dialog_5F00_thumb_5F00_01EF521D.png" height="264" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="AX Client Configuration Utility dialog" width="466" /></a></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white;"><span style="font-size: x-small;">4) Create a new local client configuration using the Microsoft Dynamics AX 2012 Configuration as explained </span><a href="http://technet.microsoft.com/en-us/library/aa569651.aspx" style="color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><span style="font-size: x-small;">here</span></a><span style="font-size: x-small;">.</span></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">5) On the Connection tab, click on “Configure Services” to open the SVC configuration utility.</span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/0827.AX_2D00_Client_2D00_Configuration_2D00_Utility_2D00_dialog_2D00_Configure_2D00_Services_5F00_3DAEEAD0.png" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="AX Client Configuration Utility dialog (Configure Services)" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/3554.AX_2D00_Client_2D00_Configuration_2D00_Utility_2D00_dialog_2D00_Configure_2D00_Services_5F00_thumb_5F00_1D93DE13.png" height="420" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="AX Client Configuration Utility dialog (Configure Services)" width="477" /></a></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">6) Expand the <strong>Bindings </strong>folder and select <strong>QueryServiceEndpoint (netTcpBinding).</strong></span></div>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">7) Update the values for the following properties -</span></div>
<blockquote style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<span style="background-color: white; font-size: x-small;">o <strong>SendTimeout – </strong>This is set to 10 minutes by default. Increase it to a larger value, like 20 minutes.</span><br />
<span style="background-color: white; font-size: x-small;">o <strong>ReceiveTimeout – </strong>This is set to 10 minutes by default. Increase it to a larger value, like 20 minutes.</span><br />
<span style="background-color: white; font-size: x-small;"><strong>Note: </strong>If you are encountering connection failures due to the size of reports update the following….</span><br />
<span style="background-color: white; font-size: x-small;">o <strong>MaxReceiveMessageSize – </strong>This is set to 2147483647 by default. Increase it to double that value or 4294967295. The maximum allowed value is Int64.MaxValue.</span></blockquote>
<div style="color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 18.165599822998px;">
<a href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/8105.Configuration_2D00_Services_2D00_dialog_5F00_012E680E.png" style="background-color: white; color: #0066dd; cursor: pointer; outline: none; text-decoration: none;"><img alt="Configuration Services dialog" border="0" src="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-37-69-metablogapi/4478.Configuration_2D00_Services_2D00_dialog_5F00_thumb_5F00_2B2E6636.png" height="326" style="background-image: none; display: inline; height: auto !important; max-width: 100%; overflow: hidden;" title="Configuration Services dialog" width="477" /></a></div>
<div>
<br /></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-71046067162581304932015-08-27T16:49:00.001+02:002015-08-27T16:49:00.342+02:00Tips to help prevent long-running reports from timing out [AX 2012]<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<div style="line-height: 18px; padding-bottom: 15px;">
<em><strong>Updated: </strong>June 20, 2013</em></div>
<div style="line-height: 18px; padding-bottom: 15px;">
<em><strong>Applies To: </strong>Microsoft Dynamics AX 2012 R3, Microsoft Dynamics AX 2012 R2, Microsoft Dynamics AX 2012 Feature Pack, Microsoft Dynamics AX 2012</em></div>
</div>
<div class="introduction" style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<div style="line-height: 18px; padding-bottom: 15px;">
Microsoft Dynamics AX uses Microsoft SQL Server Reporting Services to render reports. Reporting Services retrieves report data from the Microsoft Dynamics AX Application Object Server (AOS) by using a custom extension that uses Windows Communication Foundation (WCF) to communicate with the AOS.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
The size of the data set and the complexity of the report that is rendered can affect the time that is required to display the report. Additionally, if various time-outs and other thresholds are reached, the report rendering may fail. This topic provides tips that can help you prevent reports that run for a long time from timing out.</div>
</div>
<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<h2 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Use pre-processed RDP classes</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h2>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle0" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
If the report uses the Report Data Provider (RDP) to retrieve data, the report should be modified to use a pre-processed RDP class as the data source, so that processing logic is invoked before a call is made to Reporting Services. For more information about RDP classes, see <a href="https://technet.microsoft.com/en-us/library/hh456296.aspx" style="color: #0066dd; text-decoration: none;">Using Report Data Provider Classes to Access Report Data</a> and <a href="https://technet.microsoft.com/en-us/library/hh397313.aspx" style="color: #0066dd; text-decoration: none;">Report Programming Guide</a>.</div>
</div>
</div>
<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<h2 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Specify the report execution time-out period</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h2>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle1" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
Reporting Services has a <em>report execution time-out</em> period, which defines the number of seconds after which the reporting processing times out. The default value for this period is 30 minutes. If report execution requires more time, report execution fails.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
You can specify the report execution time-out period for all reports by configuring the time-out settings at the level of the Reporting Services site. Alternatively, you can specify the report execution time-out period for a specific report.</div>
<div>
<h3 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Specify the report execution time-out period for all reports</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h3>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle3945e6398f204510acb7053fd93865ea" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
The report execution timeout period at the level of the Reporting Services site should be set to a value that is more than the time that is required to render your largest report. Alternatively, report execution can be set so that it never times out. You can specify the report execution time-out period in Report Manager or SQL Server Management Studio.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
If you want to specify the report execution time-out period by using Report Manager, follow these steps.</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open the Report Manager website for the Reporting Services instance. By default, the URL is http://[SSRSServerName]:80/Reports.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click <span class="label" style="font-weight: 700;">Site Settings</span>. The <span class="label" style="font-weight: 700;">Properties</span> page is displayed.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
In the <span class="label" style="font-weight: 700;">Report Timeout</span> section, specify a time-out period by entering the number of seconds. Alternatively, you can choose not to have a time-out period.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click <span class="label" style="font-weight: 700;">Apply</span> to save your changes.</div>
</li>
</ol>
<div style="line-height: 18px; padding-bottom: 15px;">
If you want to specify the report execution time-out period by using SQL Server Management Studio, follow these steps.</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open SQL Server Management Studio, and connect to your Reporting Services instance.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
In the <span class="label" style="font-weight: 700;">Object Explorer</span> pane, right-click the name of your report server, and then select <span class="label" style="font-weight: 700;">Properties</span>. The <span class="label" style="font-weight: 700;">Server Properties</span> window is displayed.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
In the <span class="label" style="font-weight: 700;">Select a page</span> area, click <span class="label" style="font-weight: 700;">Execution</span>.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Specify a time-out period by entering the number of seconds. Alternatively, you can choose not to have a time-out period.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click <span class="label" style="font-weight: 700;">OK</span> to save your changes.</div>
</li>
</ol>
</div>
</div>
<div>
<h3 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Specify the report execution time-out period for a specific report</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h3>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionTogglea7349b61e75f42b881cdce2579ae68bc" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
To specify the report execution time-out period for a specific report, follow these steps.</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open the Report Manager website for the Reporting Services instance. By default, the URL is http://[SSRSServerName]:80/Reports.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click the <span class="label" style="font-weight: 700;">DynamicsAX</span> folder. The Microsoft Dynamics AX reports are listed.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Hover over a specific report, click the drop-down arrow, and then click <span class="label" style="font-weight: 700;">Manage</span>. The properties page is displayed.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click the <span class="label" style="font-weight: 700;">Processing Options</span> tab.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
In the <span class="label" style="font-weight: 700;">Report Timeout</span> section, specify a time-out period by entering the number of seconds. Alternatively, you can choose not to have a time-out period.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click <span class="label" style="font-weight: 700;">Apply</span> to save your changes.</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<h2 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Specify the user session time-out period</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h2>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle2" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
Reporting Services maintains a user session, which may time out if report execution requires a long time. If the user session times out, the report rendering fails. You can resolve this issue by configuring two properties, <strong>SessionTimeout</strong> and <strong>SessionAccessTimeout</strong>, by using the rs.exe tool. These properties should be set to a value that is more than the time that is required to render your largest report.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
On the Reporting Services server, follow these steps to configure the <strong>SessionTimeout</strong> and <strong>SessionAccessTimeout</strong> properties.</div>
<div class="alert">
<table style="border-left-color: rgb(187, 187, 187); border-left-width: 1px; border-spacing: 0px; border-style: solid none none solid; border-top-color: rgb(187, 187, 187); border-top-width: 1px; margin-bottom: 20px; margin-top: 20px; padding: 0px; width: 1182.40002441406px;"><tbody>
<tr><th align="left" style="background-clip: padding-box; background-color: #ededed; border-bottom-color: rgb(187, 187, 187); border-bottom-width: 1px; border-right-color: rgb(187, 187, 187); border-right-width: 1px; border-style: none solid solid none; color: #636363; padding: 10px 8px;"><img alt="Caution note" class="cl_IC46226" id="alert_caution" src="https://i-technet.sec.s-msft.com/areas/global/content/clear.gif" style="background: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902) -1041px -3px no-repeat scroll; border: 0px; height: 11px; overflow: hidden; padding-right: 5px; width: 11px;" title="Caution note" xmlns="" /><strong>Caution</strong></th></tr>
<tr><td style="background-clip: padding-box; border-bottom-color: rgb(187, 187, 187); border-bottom-width: 1px; border-right-color: rgb(187, 187, 187); border-right-width: 1px; border-style: none solid solid none; color: #2a2a2a; padding: 10px 8px; vertical-align: top;"><div style="line-height: 18px; padding-bottom: 0px;">
Keeping a user session around longer than necessary can cause your ReportServerTempDB database to grow larger because temporary session snapshots will not be aged out as often.</div>
</td></tr>
</tbody></table>
</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Create a SessionTimeout.rss file by following these steps:</div>
<ol style="list-style-type: lower-alpha;">
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open Notepad.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Copy the following code into Notepad.</div>
<div class="codeSnippetContainer" id="code-snippet-1" style="clear: both; min-width: 260px;" xmlns="">
<div class="codeSnippetContainerTabs" style="height: 23px; position: relative; vertical-align: middle; z-index: 1;">
</div>
<div class="codeSnippetContainerCodeContainer" style="border: 1px solid rgb(147, 147, 147); clear: both; margin-bottom: 12px; position: relative; top: -1px;">
<div class="codeSnippetToolBar" style="height: auto; width: auto;">
<div class="codeSnippetToolBarText" style="background-color: white; float: right; height: 0px; padding-left: 0px; padding-right: 0px; position: relative; top: -8px; vertical-align: top; width: auto;">
</div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_372cf913-5229-40ad-ab82-ffe27f786ba7" style="margin: 0px; padding: 10px 21px; width: auto;">
<div style="color: black; margin: 0px; padding: 0px;">
<pre style="font-family: Consolas, Courier, monospace !important; overflow: auto; padding: 5px; word-wrap: normal;">Public Sub Main()
Dim props() as [Property]
props = new [Property] () { new [Property](), new [Property]() }
props(0).Name = "SessionTimeout"
props(0).Value = timeout
props(1).Name = "SessionAccessTimeout"
props(1).Value = timeout
rs.SetSystemProperties(props)
End Sub
</pre>
</div>
</div>
</div>
</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Save the file to the local hard drive as <strong>SessionTimout.rss</strong>.</div>
</li>
</ol>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open a Command Prompt window.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Run the script that you created in step 1 by entering the following command. Keep the following points in mind:</div>
<ul>
<li style="list-style-image: none;"><div style="line-height: 18px; padding-bottom: 15px;">
By default, the URL of the report server is http://[SSRSServerName]:80/ReportServer.</div>
</li>
<li style="list-style-image: none;"><div style="line-height: 18px; padding-bottom: 15px;">
The timeout value is expressed in seconds. In the example below, the <strong>SessionTimeout</strong> and <strong>SessionAccessTimeout</strong> properties are set to 20 hours.</div>
</li>
</ul>
<div class="codeSnippetContainer" id="code-snippet-2" style="clear: both; min-width: 260px;" xmlns="">
<div class="codeSnippetContainerTabs" style="height: 23px; position: relative; vertical-align: middle; z-index: 1;">
</div>
<div class="codeSnippetContainerCodeContainer" style="border: 1px solid rgb(147, 147, 147); clear: both; margin-bottom: 12px; position: relative; top: -1px;">
<div class="codeSnippetToolBar" style="height: auto; width: auto;">
<div class="codeSnippetToolBarText" style="background-color: white; float: right; height: 0px; padding-left: 0px; padding-right: 0px; position: relative; top: -8px; vertical-align: top; width: auto;">
</div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_1288484e-4c8e-4307-99df-83bc5c01fab9" style="margin: 0px; padding: 10px 21px; width: auto;">
<div style="color: black; margin: 0px; padding: 0px;">
<pre style="font-family: Consolas, Courier, monospace !important; overflow: auto; padding: 5px; word-wrap: normal;">$>rs.exe -i <Path to SessionTimeout.rss file> -s <Report Server URL> -v timeout="72000" –l 0
</pre>
</div>
</div>
</div>
</div>
<div style="line-height: 18px; padding-bottom: 15px;">
By default, the rs.exe tool is located at \Program Files\Microsoft SQL Server\110\Tools\Binn. For more information about how to use this tool, see the <a href="https://technet.microsoft.com/en-us/library/ms162839.aspx" style="color: #0066dd; text-decoration: none;">rs Utility (rs.exe)</a> topic in the SQL Server documentation and the <a href="http://blogs.msdn.com/b/jgalla/archive/2006/10/11/session-timeout-during-execution.aspx" style="color: #0066dd; text-decoration: none;">Session Timeout during execution</a> blog post.</div>
</li>
</ol>
</div>
</div>
<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<h2 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Specify WCF time-outs and thresholds</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h2>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle3" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
Reporting Services uses the Microsoft Dynamics AX query service to retrieve data. The Microsoft Dynamics AX query service is a WCF service that is exposed by the AOS. For reports that have large data sets, the default WCF configuration may cause WCF to reach some time-outs and thresholds at run time. To help prevent this issue, you can modify the WCF configuration in the following ways.</div>
<div>
<h3 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Configure the server-side settings</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h3>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionTogglef1340ba3585945d1aa3f9a56d7830475" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
Follow these steps to configure server-side WCF settings. Complete these steps on the AOS server.</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Open the Ax32Serv.exe.config file. This file is typically located at \Program Files\Microsoft Dynamics AX\<version>\Server\MicrosoftDynamicsAX\Bin.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Find the <strong>QueryServiceBinding</strong> element.</div>
<div class="codeSnippetContainer" id="code-snippet-3" style="clear: both; min-width: 260px;" xmlns="">
<div class="codeSnippetContainerTabs" style="height: 23px; position: relative; vertical-align: middle; z-index: 1;">
</div>
<div class="codeSnippetContainerCodeContainer" style="border: 1px solid rgb(147, 147, 147); clear: both; margin-bottom: 12px; position: relative; top: -1px;">
<div class="codeSnippetToolBar" style="height: auto; width: auto;">
<div class="codeSnippetToolBarText" style="background-color: white; float: right; height: 0px; padding-left: 0px; padding-right: 0px; position: relative; top: -8px; vertical-align: top; width: auto;">
</div>
</div>
<div class="codeSnippetContainerCode" dir="ltr" id="CodeSnippetContainerCode_e10a74cc-0a63-46ac-b699-1a4c62a3e6e0" style="margin: 0px; padding: 10px 21px; width: auto;">
<div style="color: black; margin: 0px; padding: 0px;">
<pre style="font-family: Consolas, Courier, monospace !important; overflow: auto; padding: 5px; word-wrap: normal;"></system.diagnostics>
<system.serviceModel>
<bindings>
<netTcpBinding>
<binding name="QueryServiceBinding" sendTimeout="00:10:00" transferMode="StreamedResponse" maxBufferSize="65536" maxReceivedMessageSize="104857600" listenBacklog="200" maxConnections="200">
<readerQuotas maxStringContentLength="104857600" />
</binding>
</pre>
</div>
</div>
</div>
</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
The default value for the <strong>sendTimeout</strong> property on this element is 10 minutes. Increase the value for the <strong>sendTimeout</strong> property. For example, set the value to 30 minutes.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Save your changes.</div>
</li>
</ol>
</div>
</div>
<div>
<h3 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Configure the client-side settings</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h3>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggleb5970e70095c4e53ab72f9aa096037ef" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
Reporting Services communicates with the AOS to retrieve data. In this communication process, Reporting Services acts as the client, and the AOS acts as the server. Therefore, to configure client-side WCF settings, you must follow these steps on the server where Reporting Services is installed.</div>
<ol>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Create a new, local client configuration as explained in <a href="https://technet.microsoft.com/en-us/library/aa569651.aspx" style="color: #0066dd; text-decoration: none;">Manage a client configuration</a>.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
While the configuration utility is still open, click the <span class="label" style="font-weight: 700;">Connection</span> tab.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click the <span class="label" style="font-weight: 700;">Configure Services</span> button.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
A message is displayed that indicates that the configuration will no longer be updated automatically after a change is made to the server. Click <span class="label" style="font-weight: 700;">OK</span>.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
A message may be displayed that indicates that you have to install the Windows SDK for Windows Server and the Microsoft .NET Framework version 4.0. In this case, download and install the Windows SDK for Windows Server and the .NET Framework version 4.0.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
After you install the Windows SDK, connect to the client configuration that you created in step 1. Then repeat steps 2 and 3 to open the Microsoft Service Configuration Editor.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
In the <span class="label" style="font-weight: 700;">Configuration</span> area, click <span class="label" style="font-weight: 700;">Bindings</span> > <span class="label" style="font-weight: 700;">QueryServiceEndpoint (netTcpBinding)</span>.</div>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
On the <span class="label" style="font-weight: 700;">Bindings</span> tab, modify the following properties:</div>
<ul>
<li style="list-style-image: none;"><div style="line-height: 18px; padding-bottom: 15px;">
<span class="label" style="font-weight: 700;">SendTimeout</span> – By default, this property is set to 10 minutes. Increase the value. For example, set the value to 30 minutes.</div>
</li>
<li style="list-style-image: none;"><div style="line-height: 18px; padding-bottom: 15px;">
<span class="label" style="font-weight: 700;">MaxReceivedMessageSize</span> – By default, this property is set to 2147483647. Increase the value. For example, if you want to double the value, set it to 4294967294. The maximum value that is allowed is Int64.MaxValue.</div>
</li>
</ul>
</li>
<li><div style="line-height: 18px; padding-bottom: 15px;">
Click <span class="label" style="font-weight: 700;">File</span> > <span class="label" style="font-weight: 700;">Save</span>.</div>
</li>
</ol>
</div>
</div>
</div>
</div>
<div style="color: #2a2a2a; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 14.0399990081787px;">
<h2 class="LW_CollapsibleArea_TitleDiv" style="font-size: 13px; font-weight: normal; margin: 9px 0px 19px; padding: 0px;">
<a class="LW_CollapsibleArea_TitleAhref" href="https://www.blogger.com/null" role="button" style="color: black; outline: none;" title="Click to collapse. Double-click to collapse all."><span class="cl_CollapsibleArea_expanding LW_CollapsibleArea_Img" style="background-attachment: scroll; background-clip: initial; background-image: url(https://i-technet.sec.s-msft.com/Areas/Epx/Content/Images/ImageSprite.png?v=635757106971399902); background-origin: initial; background-position: -470px -3px; background-repeat: no-repeat; background-size: initial; border-width: 0px; display: block; float: left; height: 12px; margin-bottom: 0px; margin-top: 10px; overflow: hidden; padding: 0px 5px 0px 0px; vertical-align: middle; width: 9px;"></span><span class="LW_CollapsibleArea_Title" style="color: #2a2a2a; display: block; font-size: 1.692em;">Use batch processing</span></a><div class="LW_CollapsibleArea_HrDiv" style="padding-top: 0px;">
</div>
</h2>
<div class="sectionblock" style="padding-bottom: 20px; padding-left: 15px;">
<a href="https://www.blogger.com/null" id="sectionToggle4" style="color: #00749e;"></a><div style="line-height: 18px; padding-bottom: 15px;">
To improve performance when you print statements or reports that include large amounts of data, use batch processing. When you use batch processing, you can run specific tasks as batch jobs, and then schedule those batch jobs to be run on a different computer (a batch server). When you move the processing of these tasks to a batch server, the report performance on the client computer can improve. You can also apply range restrictions to limit the size of each batch. You can improve performance by submitting multiple, smaller batches to be processed at the same time on different servers, instead of submitting one large batch.</div>
<div style="line-height: 18px; padding-bottom: 15px;">
Many tasks in Microsoft Dynamics AX can be run as part of batch jobs. For more information, see <a href="https://technet.microsoft.com/en-us/library/gg243235.aspx" style="color: #0066dd; text-decoration: none;">Batch processing overview</a>.</div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-87490891633196632432015-06-30T12:09:00.002+02:002015-06-30T12:09:23.256+02:00Show batch class in task list<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
Sometimes running a batch job may depend on another one completing before it runs. To ensure that can happen, and to set it up involves some development work.</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
To add a batch job to an existing batch task list, lets first set up a batch job</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
<a href="https://shashidotnet.files.wordpress.com/2011/09/image.png" style="box-sizing: border-box; color: #bc360a; text-decoration: none;"><img alt="image" border="0" height="187" originalh="187" originalw="351" scale="1.5" src-orig="https://shashidotnet.files.wordpress.com/2011/09/image_thumb.png?w=351&h=187" src="https://shashidotnet.files.wordpress.com/2011/09/image_thumb.png?w=527&h=281" style="border: 0px; box-sizing: border-box; display: block; float: none; height: auto; margin-left: auto; margin-right: auto; max-width: 100%; vertical-align: middle;" title="image" width="351" /></a>For this example i have created a batch job, and added the class InventTransferMultiPick (Transfer order – Picking list) to the list.</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
I have created my own batch job called MyBatchClass. This class needs to run only after the InventTransferMultiPick class has finished executing.</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
When I try to insert another record into the Batch tasks, it does not show this class there. For reasons, there is a setting required in the class called canGoBatchJournal. This method by default returns false, and needs to be explicitly overridden and set to true.</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
<code style="box-sizing: border-box; font-family: monospace, serif; font-size: 14px;">protected boolean canGoBatchJournal() <br style="box-sizing: border-box;" />{ <br style="box-sizing: border-box;" /> /* <br style="box-sizing: border-box;" /> boolean ret; <br style="box-sizing: border-box;" /> ret = super(); <br style="box-sizing: border-box;" /> return ret;*/ <br style="box-sizing: border-box;" /> return true; <br style="box-sizing: border-box;" />}</code></div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
This then allows the batch to be added as a task manually:</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
<a href="https://shashidotnet.files.wordpress.com/2011/09/image1.png" style="box-sizing: border-box; color: #bc360a; text-decoration: none;"><img alt="image" border="0" height="143" originalh="143" originalw="450" scale="1.5" src-orig="https://shashidotnet.files.wordpress.com/2011/09/image_thumb1.png?w=450&h=143" src="https://shashidotnet.files.wordpress.com/2011/09/image_thumb1.png?w=675&h=215" style="border: 0px; box-sizing: border-box; display: inline; height: auto; max-width: 100%; vertical-align: middle;" title="image" width="450" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
You can set the parameters:</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
<a href="https://shashidotnet.files.wordpress.com/2011/09/image2.png" style="box-sizing: border-box; color: #bc360a; text-decoration: none;"><img alt="image" border="0" height="190" originalh="190" originalw="299" scale="1.5" src-orig="https://shashidotnet.files.wordpress.com/2011/09/image_thumb2.png?w=299&h=190" src="https://shashidotnet.files.wordpress.com/2011/09/image_thumb2.png?w=449&h=285" style="border: 0px; box-sizing: border-box; display: inline; height: auto; max-width: 100%; vertical-align: middle;" title="image" width="299" /></a></div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
And set a condition in the “Has condition” group:</div>
<div style="background-color: white; box-sizing: border-box; color: #141412; font-family: 'Source Sans Pro', Helvetica, sans-serif; font-size: 16px; line-height: 19.2000007629395px; margin-bottom: 24px;">
<a href="https://shashidotnet.files.wordpress.com/2011/09/image3.png" style="box-sizing: border-box; color: #bc360a; text-decoration: none;"><img alt="image" border="0" height="144" originalh="144" originalw="317" scale="1.5" src-orig="https://shashidotnet.files.wordpress.com/2011/09/image_thumb3.png?w=317&h=144" src="https://shashidotnet.files.wordpress.com/2011/09/image_thumb3.png?w=476&h=216" style="border: 0px; box-sizing: border-box; display: inline; height: auto; max-width: 100%; vertical-align: middle;" title="image" width="317" /></a></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-29407313940981397772015-06-30T12:08:00.002+02:002015-06-30T12:08:53.840+02:00Create and execute a batch job AX 2012<span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Microsoft Dynamics AX 2012 includes numerous batch jobs that perform operations such as generating reports, creating sales invoices, and processing journals. However, in several situations, organizations need to create their own batch jobs. The batch framework provides full flexibility in the types of jobs that you can create. This section walks you through the following steps, which are required for creating, executing, and managing a batch job:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">1. Create a batch-executable class.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">2. Create a batch job and define the execution schedule.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">3. Configure a batch server and create a batch group. (</span><span style="background-color: #fefdfa; color: blue; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">It be will explained in another post</span><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">4. Manage the batch job. </span><span style="background-color: #fefdfa; color: blue; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">(It will be explained in another post</span><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="font-size: small;">Create a batch-executable class</span></strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The first step in developing a batch job is to define a class that can be executed as a batch task. Many classes included with Microsoft Dynamics AX 2012 are already enabled for batch processing. You can also design a batch-executable class, as shown in the following example:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">public class ExampleBatchTask extends RunBaseBatch</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">To run as a batch task, a class must implement the Batchable interface. The best way to implement the interface contract is to extend the RunBaseBatch abstract class, which provides much of the necessary </span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">infrastructure for creating a batch-executable class. An alternative is to use the SysOperation framework, which provides additional advantages compared to extending the RunBaseBatch class. Will post more information about the SysOperation framework Later.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Table below describes the methods that must be implemented when you extend the RunBaseBatch class. The following sections describe these methods in more detail.</span><br />
<table border="1" cellpadding="2" cellspacing="0" style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px; width: 533px;"><tbody>
<tr><td valign="top" width="124"><strong>Method</strong></td><td valign="top" width="407"><strong>Description</strong></td></tr>
<tr><td valign="top" width="129">run</td><td valign="top" width="407">Contains the core logic for your batch task</td></tr>
<tr><td valign="top" width="134">pack</td><td valign="top" width="407">Serializes the list of variables used in the class</td></tr>
<tr><td valign="top" width="138">unpack</td><td valign="top" width="407">Deserializes the list of variables used in the class</td></tr>
<tr><td valign="top" width="141">canGoBatchJournal</td><td valign="top" width="407">Determines whether the class appears in the Batch Task form</td></tr>
</tbody></table>
<br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">run method</strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">You implement the core logic of your batch class in the run method. The run method is called by the batch framework for executing the task defined within it. You can run most of the X++ code in this method; however, there are some limitations on the operations that you can implement. For example, you can’t call any client logic or dialog boxes. However, you can still use the Infolog class. All Infolog and exception messages are captured when the batch class executes, and they are stored in the batch table. You can view these later in the Batch Job form or the Batch Job History form, both of which are located under System Administration > Inquiries > Batch Jobs.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="color: red;">Note</span></strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> If an error message is written to the Infolog, it does not mean that the task has failed; instead, an exception must be thrown to indicate the failure</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="font-size: x-small;">pack and unpack methods</span></strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">A class that extends RunBaseBatch must also implement the pack and unpack methods to enable the class to be serialized. When a batch task is created, its member variables are serialized by using the pack method and stored in the batch table. Later, when the batch server picks up the task for execution, it deserializes class member variables by using the unpack method. So it’s important to provide a correct list of the variables that are necessary for class execution. If any member variable isn’t packable, then the class can’t be serialized and deserialized to the same state.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The following example shows the implementation of the pack and unpack methods:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">public container pack()</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">{</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> return [#CurrentVersion,#CurrentList];</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">}</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">public boolean unpack(container _packedClass)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">{</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> Version version = RunBase::getVersion(_packedClass);</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> switch (version)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> {</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> case #CurrentVersion:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> [version,#CurrentList] = _packedClass;</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> break;</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> default:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> return false;</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> }</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> return true;</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">}</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The #CurrentList and #CurrentVersion macros that are referenced in the preceding code must be defined in the class declaration. Using a macro simplifies the management of variables in the class. If you add or remove variables later, you can manage the list by modifying the macro. The #CurrentList macro holds a list of the class member variables to pack, as shown here:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">#define.CurrentVersion(1)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">#localmacro.CurrentList</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> methodVariable1,</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> methodVariable2</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">#endmacro</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="font-size: x-small;">canGoBatchJournal method</span></strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">When a system administrator creates a new batch task by using the Batch Task form, the canGoBatchJournal method determines whether the batch task class appears in the list of available classes. For an example of how to use canGoBatchJournal.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="font-size: small;">Create a batch job</span></strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The second step in developing a batch job is to create the batch job and add batch tasks. You can create a batch job in three ways:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ By using the dialog box of a batch-enabled class</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ By using the Batch Job Designer form</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ By using the Batch API </span><span style="background-color: #fefdfa; color: blue; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">(It be will explained in another post)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The method you use depends on the degree of flexibility that you need and the complexity of the batch job. To create a simple batch job, consisting of a single task with no dependencies, you typically use the dialog box of a batch-executable class; to create a more complex batch job, consisting of several tasks that might have dependencies, use the Batch Job form; to create a highly complex or very large batch job, or one that needs to be integrated with other business logic, use the Batch API.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The following sections provide an example of using each method.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Create a batch job from the dialog box of a batch-executable class</strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">The simplest way to run a batch-executable class as a batch job is to invoke the class by using a menu item. A menu item that points to a batch-executable class automatically opens a dialog box that lets</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">the user create a batch job. On the Batch tab of the dialog box, select the Batch Processing check box, as shown for the Change based alerts class in Figure below. When you select Batch Processing and click</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">OK, a new batch job with the task that represents the batch-executable class is created. The batch job then runs asynchronously at the date and time you specify. You can also set up recurrences or alerts</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">for the job by clicking the appropriate button on the right side of the dialog box. You can also specify the batch group for the task by using the drop-down list.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><a href="http://lh4.ggpht.com/-rhYfW-T9g6A/UhRkrxmMV5I/AAAAAAAAJbk/YSxefrFi7Gc/s1600-h/image%25255B3%25255D.png" style="background-color: #fefdfa; color: #7d181e; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px; text-decoration: none;"><img alt="image" border="0" height="203" src="http://lh5.ggpht.com/-Uoe2Py86UcM/UhRksoTiz9I/AAAAAAAAJbs/2qvsNLsd230/image_thumb%25255B1%25255D.png?imgmax=800" style="-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; background: none rgb(255, 255, 255); border-radius: 5px; border: 0px solid rgb(204, 204, 204); box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; display: inline; padding: 0px 0px 8px; position: relative;" title="image" width="329" /></a><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Create a batch job by using the Batch Job form</strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">You can open the Batch Job form from several places. For example, you can open it by clicking Batch Jobs from System Administration > Inquiries > Batch Jobs or by selecting My Batch Jobs (for users) from Home > Inquiries > My Batch Jobs. Both menu items open the same form, but the information that is presented in the form differs, depending on the menu item that you use to open it. Depending on how you open the form and your level of access, you can view either the batch jobs that you have created or all batch jobs that are scheduled in the system.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Press Ctrl+N to create a new batch job, and then enter the details for the job in the grid or on the General tab: a description, and the date and time at which you want the job to start. You can also set up recurrence for the batch job by clicking Recurrence on the menu bar, and then entering a range and pattern for the recurrence. </span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="color: red;">Note</span></strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> If you don’t enter a date and time, the current date and time are entered automatically.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">figure below show Batch Job Form</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><a href="http://lh3.ggpht.com/-VnC5A5lDVa0/UhRktXYRVoI/AAAAAAAAJb0/ELZhzcvq_Pg/s1600-h/image%25255B9%25255D.png" style="background-color: #fefdfa; color: #7d181e; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px; text-decoration: none;"><img alt="image" border="0" height="262" src="http://lh6.ggpht.com/-tqtaHpGsWGA/UhRkuc9EECI/AAAAAAAAJb8/ILSIZ5NENOg/image_thumb%25255B5%25255D.png?imgmax=800" style="-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; background: none rgb(255, 255, 255); border-radius: 5px; border: 0px solid rgb(204, 204, 204); box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; display: inline; padding: 0px 0px 8px; position: relative;" title="image" width="507" /></a><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Batch tasks form</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><a href="http://lh4.ggpht.com/-gIeOaMb_6OI/UhRkvK2bZXI/AAAAAAAAJcE/KQ_eRTjF-VM/s1600-h/image%25255B13%25255D.png" style="background-color: #fefdfa; color: #7d181e; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px; text-decoration: none;"><img alt="image" border="0" height="307" src="http://lh5.ggpht.com/-A74Ru4Vhrlw/UhRkwPfg2_I/AAAAAAAAJcM/kVo92NX-kDk/image_thumb%25255B7%25255D.png?imgmax=800" style="-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; background: none rgb(255, 255, 255); border-radius: 5px; border: 0px solid rgb(204, 204, 204); box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; display: inline; padding: 0px 0px 8px; position: relative;" title="image" width="387" /></a><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">To create a task, do the following:</strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">1. Press Ctrl+N to create the task.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">2. In Task Description, enter a description of the task.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">3. In Company Accounts, select the company in which the task runs.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">4. In Class Name, select the process that you want the task to run. Classes appear in a lookup list containing all available batch-enabled classes. The lookup list appears only if the CanGoBatchJournal property is enabled.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">5. In Batch Group, select a batch group for the task if necessary.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">6. Save the task by pressing Ctrl+S.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">7. Specify class parameters if necessary. As mentioned in previous sections, each batch task represents</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">a batch-executable class. Sometimes you need to set up parameters for that class.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">For example, you might need to specify posting parameters for invoice posting. To do that, click Parameters on the menu bar in the Batch Tasks form. A dialog box specific to the selected class is displayed.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"><span style="color: red;">Note</span></strong><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;"> If you are creating a custom batch class, you must design the parameters form manually. If you implement a batch based on the SysOperation framework, this process is highly simplified. After you specify the necessary parameters and click OK, the class parameters are packed and saved in the Batch table and then are restored when the class executes.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">8. Set up dependencies or advanced sequencing between tasks, if necessary.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">After you create the batch job and add tasks to it, you can use the Batch Tasks form to define dependencies between the tasks. If no dependencies or conditions are defined within a job, the batch server automatically executes the tasks in parallel. (To configure the maximum number of parallel tasks, use the Maximum Batch Threads parameter in the Server Configuration form.)</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">If you need to use advanced sequencing to accommodate your business process flow, you can use either the Batch Tasks form or the Batch API. You can use these tools to construct complex dependency</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">trees that let you schedule batch jobs tasks in parallel, add multiple dependencies between batch tasks, choose different execution paths based on the results of the previous batch task, and so on.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">For example, suppose that the job, JOB1, has seven tasks: TASK1, TASK2, TASK3, TASK4, TASK5, TASK6, and TASK7, and you want to set up the following sequence and dependencies for it:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK1 runs first.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK2 runs on completion (Ended or Error) of TASK1 (regardless of the success or failure of TASK1).</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK3 runs on success (Ended) of TASK2.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK4 runs on success (Ended) of TASK2.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK5 runs on failure (Error) of TASK2.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK6 runs on failure (Error) of TASK3.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">■ TASK7 runs on success (Ended) of both TASK3 and TASK4.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><strong style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">dependency tree for JOB</strong><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><a href="http://lh6.ggpht.com/-tpqYFnkOyPw/UhRkwswX_LI/AAAAAAAAJcU/XJY2jYA2hbA/s1600-h/image%25255B17%25255D.png" style="background-color: #fefdfa; color: #7d181e; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px; text-decoration: none;"><img alt="image" border="0" height="291" src="http://lh3.ggpht.com/-zaEcMWNH1AM/UhRkxY1lkaI/AAAAAAAAJcc/NfDWVIBT07w/image_thumb%25255B9%25255D.png?imgmax=800" style="-webkit-box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; background: none rgb(255, 255, 255); border-radius: 5px; border: 0px solid rgb(204, 204, 204); box-shadow: rgba(0, 0, 0, 0.2) 0px 0px 20px; display: inline; padding: 0px 0px 8px; position: relative;" title="image" width="348" /></a><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">To define these task dependencies and to tell the system how to handle them, select a child task—for example, TASK2—from the preceding list, and then do the following:</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">1. In the Batch Tasks form, click in the Has Conditions grid, and then press Ctrl+N to create a new condition.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">2. Select the task ID of the parent task, such as TASK1.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">3. Select the status that the parent task must reach before the dependent task can run. For example, TASK2 starts when the status of TASK1 becomes Ended or Error.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">4. Press Ctrl+S to save the condition.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">5. If you enter more than one condition, and if all conditions must be met before the dependent task can run, select a condition type of All.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Alternatively, if the dependent task can run after any of the conditions are met, select a condition type of Any.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">You can use the Batch Tasks form to define how the system handles task failures. To ignore the failure of a specific task, select Ignore Task Failure for that task on the General tab. If you select this option, the failure of the task doesn’t cause the job to fail. You can also use Maximum Retries to specify the number of times a task should be retried before it fails.</span><br style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;" /><span style="background-color: #fefdfa; color: #333333; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 14.5600004196167px;">Imparted from Inside Dynamics AX 2012 Book.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-90484190705827177382015-06-30T12:05:00.002+02:002015-06-30T12:05:06.642+02:00SysGlobalObjectCache class in AX 2012 [x++]<span class="submitted" style="background-color: white; color: #494949; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20.3999996185303px;">January 12, 2012 — Sreenath Reddy</span><span style="background-color: white; color: #494949; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20.3999996185303px;"></span><br />
<div class="content" style="background-color: white; color: #494949; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 20.3999996185303px;">
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
Friends,</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
There is a new class <strong>SysGlobalObjectCache</strong> that has been introduced in AX 2012, which will help for Global object caching with the help of scope, Key and values.</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
Three important parameters are:</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<strong>Scope</strong>: A string type that specifies the scope or the owner of the cached object.</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<strong>Key :</strong> A container type that specifies the key to the cached object.</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<strong>value:</strong> A container type that has the object to cache.</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
Let us work with a class example to help you better understand.</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
For this post, we will create a class by name <strong>SR_CurrentWorkerDetails</strong> with a simple public method that will get the current worker</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="font-family: Consolas;"><b><span style="color: darkblue;">class</span></b><span style="color: black;"> SR_CurrentWorkerDetails</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;">{</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;">}</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black; font-family: Consolas;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;">Create a new public method getCurrentWorker() as shown below.</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;">This method uses scope as “CurrentWorker”, Key as curUserId() and value as “WorkerId” to be cached.</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;">Some important methods:</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"><strong>insert</strong> – insert the values in to cache if it’s not already cached/inserted</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"><strong>find</strong> – used find method by passing scope and key to get the cached values</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<strong>remove</strong> : <span style="color: #c0504d;">sysGlobalObjectCache.remove(scope, key);</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black; font-family: Consolas;"></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black;">In order to clear the cached values based on scope – use</span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
</div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="color: #d16349;">classfactory.globalObjectCache().clear(#CURRENT_WORKER_ID);</span><strong> // scope to be passed as per below example</strong></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<strong>To clear all caches – we can use</strong></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="color: #c0504d;">SysGlobalObjectCache::clearAllCaches(); // You can call this method on client/server to clear caches on client or server</span></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="color: black;">Refer to<strong> SysFlushAOD</strong> class methods to clear caches on client and server:</span></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="color: black;">– <strong>clearGlobalObjectCaches()</strong> – client</span></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="color: black;">– <strong>clearServerGlobalObjectCaches()</strong> – server</span></div>
<div style="margin-bottom: 1.2em; margin-top: 0.6em; padding: 0px;">
<span style="font-family: Consolas;"><b><span style="color: darkblue;">public</span></b><span style="color: black;"> HcmWorkerRecId getCurrentWorker()</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;">{</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// We can easily get current worker from Global::currentWorker() method as well. Below logic is same.</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> SysGlobalObjectCache sgoc;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">container</span></b><span style="color: black;"> result;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> userId currentUserId = </span><b><span style="color: darkblue;">curUserId</span></b><span style="color: black;">(); </span><i><span style="color: green;">// Key</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> recId workerId;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> HcmWorker hcmWorker;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> DirPersonUser dirPersonUser;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// scope</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> #define.CURRENT_WORKER_ID(</span><span style="color: darkred;">"CurrentWorker"</span><span style="color: black;">)</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> #DEFINE.Values(workerId) </span><i><span style="color: green;">// Caching only Worker Id</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">//Try put pull from cache first</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">if</span></b><span style="color: black;"> (classfactory)</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> {</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> sgoc = classfactory.globalObjectCache();</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> }</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">else</span></b></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> {</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// Workaround for SysQueryRangeUtil usage under IL</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// the class factory is not initialized in the interpreter</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// when called from <span class="skimlinks-unlinked">IL.This</span> is OK as the global cache is a kernel</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">// singleton</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> sgoc = </span><b><span style="color: darkblue;">new</span></b><span style="color: black;"> SysGlobalObjectCache();</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> }</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> result = <span class="skimlinks-unlinked">sgoc.find(#CURRENT_WORKER_ID</span>, [currentUserId]); </span><i><span style="color: green;">// use scope and key to find the value cached</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">if</span></b><span style="color: black;">(result != </span><b><span style="color: darkblue;">conNull</span></b><span style="color: black;">())</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> {</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> [#Values] = result;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">return</span></b><span style="color: black;"> workerId;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> }</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">//Calculate current worker value</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">select</span></b><span style="color: black;"> </span><b><span style="color: darkblue;">firstonly</span></b><span style="color: black;"> RecId </span><b><span style="color: darkblue;">from</span></b><span style="color: black;"> hcmWorker</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">join</span></b><span style="color: black;"> PersonParty, User </span><b><span style="color: darkblue;">from</span></b><span style="color: black;"> dirPersonUser</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">where</span></b><span style="color: black;"> (hcmWorker.Person == dirPersonUser.PersonParty) &&</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> (<span class="skimlinks-unlinked">dirPersonUser.User</span> == currentUserId);</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><i><span style="color: green;">//Cache current worker value</span></i></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> workerId = <span class="skimlinks-unlinked">hcmWorker.RecId</span>;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> sgoc.insert(#CURRENT_WORKER_ID, [currentUserId], [#Values]);</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;"> </span><b><span style="color: darkblue;">return</span></b><span style="color: black;"> workerId;</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<br /></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="font-family: Consolas;"><span style="color: black;">}</span></span></div>
<div class="MsoNormal" style="line-height: normal; padding: 0px;">
<span style="color: black; font-family: Consolas;"></span></div>
<div class="MsoNormal" style="line-height: 13pt; margin-bottom: 10pt; padding: 0px;">
<span style="color: black;"><span style="font-size: x-small;"><strong>PriceDisc</strong> class uses the same concept – to find the prices and discounts in AX 2012. Refer to priceDisc class for more details.</span></span></div>
<div class="MsoNormal" style="line-height: 13pt; margin-bottom: 10pt; padding: 0px;">
<span style="color: black;">Happy Dax6ng,</span></div>
<div class="MsoNormal" style="line-height: 13pt; margin-bottom: 10pt; padding: 0px;">
<span style="color: black;">Sreenath</span></div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-7985727591613240582015-06-22T16:15:00.001+02:002015-06-22T16:15:01.655+02:00Restoring a deleted sales order<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
static void restoreDeletedSO(Args _args)</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
{</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
SalesTableDelete salesTableDelete;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
SalesLineDelete salesLineDelete;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
SalesTable salesTable;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
SalesLine salesLine;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
SalesTableDelete = SalesTableDelete::find('00450_036', true);</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
ttsbegin;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
switch (salesTableDelete.Cancelled)</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
{</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
case Voided::Voided :</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesTable = conpeek(salesTableDelete.SalesTable, 1);</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesTable.insert();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
{</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesLine = conpeek(salesLineDelete.SalesLine, 1);</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesLine.insert();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
}</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesTableDelete.delete();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
break;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
case Voided::linesVoided :</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
while select forupdate salesLineDelete where salesLineDelete.SalesId == salesTableDelete.SalesId</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
{</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesLine = conpeek(salesLineDelete.SalesLine, 1);</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesLine.insert();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesLineDelete.delete();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
}</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
salesTableDelete.delete();</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
break;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
}</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
ttscommit;</div>
<div style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">
}</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-34461417364958290392015-06-15T11:59:00.002+02:002015-06-15T11:59:52.749+02:00Dynamics AX 2009 - X++ Thread Development<div class="post" style="background-color: white; color: #29303b; font-family: 'Century Gothic', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 1.5em; margin: 8px 0px 24px;">
<div class="post-body">
One of the possible technical tools that exists when developing solutions in Dynamics AX, and inside X++ is Threads. This is actually not a new thing, thread based development has been around for a while.<br /><br />The whole idea of creating a seperate thread to perform a process is an accepted technique to achieve multi processes at a given time, managed from the given, seperate application thread that the user application is taking up.<br /><br />With, however Dynamics AX, sometimes it's not that clear of where and why you would use Thread to achieve a given process, or development goal.<br /><br />I used and use threads a lot in C#, and the Thread development that exists in C# is for robust, and can become complex. And lets face it, Thread development and management of spawned threads from a application can become complex.<br /><br />So with X++, there does exists the ability to use Threads for development needs. The following is a simple example of a Thread, a Method that the Thread is executed upon, and how to execute the simple thread.<br /><br /><center>
<img src="http://www.fluidunion.com/XppThread001.jpg" style="border: 0px;" /></center>
<br /><br /><center>
<img src="http://www.fluidunion.com/XppThread002.jpg" style="border: 0px;" /></center>
<br /><br />With this we see a simple threaded development approach that can be used in X++. To break this down a little bit, you have a job, class, method etc. that is performing some work. In that is wants to spawn a thread.<br /><br />The method that will be spawned as a new Thread, must accept a Thread as it's only parameter, and best practice on this says it should be a server static method that is the executed thread method.<br /><br />You notice that there are input parameters and output parameters. These are containers, and therefore can store a number of different in and out parameters, to and from the threaded method. This is very useful as the thread could be developed in a way that would return some output.<br /><br /><b>Now this is great and all, but when would this be used?</b><br /><br />Since Dynamics AX is an ERP product, that means a lot of process and needed development flows have to take place in a linear approach. However there are some things that do not have to be. Or some process that can be developed, so that threads can be used to improve the performance of a long running process for example.<br /><br />So, with thinking about Threads, you have to think about divison of a given process into several Threads. Thats the nature of thread development.<br /><br />This means, that if a given data process is taking hours and hours, can it be devided into smaller chunks of data? If so, but you need the whole thing to process, then a Threaded development approach can be done, where the given data process can be selected, and by the division, say a date or a group, can be used to spawn a thread to import data, doe that given divison unit.<br /><br />This means, that if you have, say, 100,000 records to import. And that process is taking 3 hours. But you realize, you can break these 100,000 records into 10,000 records a peice, by a Item group.<br /><br />Then you can take and have a method that loops through the grouped, by Item group, selection, and spawn a thread per 10,000 or by Item Group, and therefore speed up the process x10 fold. This means that the process that was taking 3 hours, can be done in an estimated 18 mins.<br /><br />This directly ties to what DAXGuy, posted about here.: <a href="http://dynamics-ax.blogspot.com/2010/03/daxguy-ssis-for-bulk-insert-into.html" style="color: #716e6c;">DAXGuy: SSIS for Bulk insert into Dynamics AX 2009</a> and this represents another way of inserting a large amount of data. What this approach, using threads, offers is it's X++ based, and therefore X++ busienss logic that might live on a given table in AX can be accessed and used. <b>Note:</b> Thread imports, most likely will not be as fast as a bulk insert process. But when a bulk insert is not possible, think about threaded development.<br /><br />Now some notes about threaded development now. One, make sure everything that a thread accesses and executes is server tier code, or server context code. This makes sense, the thread executes on the Server tier, and in doing so, can't access client side code. If you try to do so, the thread will error out.<br /><br />Also, if a thread is actually executed at the Client level, even though it's server side code being executed, for every thread spwaned a worker type user license will be used, and seen in the online users form.<br /><br />Also, finally, I would like to point out that Microsoft itself uses threads in the MRP process, and other processes like ReqTrans, to try and speed up the processes in these areas. Thread development should be a serious consideration, but there are some limits.<br /><br />For examples I tried to do a multi-tree thread approach. Meaning I tried to spawn sets of threads in threads. This is not possible. For whatever reason, the first thread in the threaded, thread approach will execute, after that the other spwaned threads are stopped.<br /><br /><center>
<img src="http://www.fluidunion.com/xppthreadmulti.jpg" style="border: 0px;" /></center>
<br /><br />If the multi-tree thread approach would work, then you could spawn mutli level threads, really attacking long running processes, by breaking it up into smaller, and smaller chunks. However, as my test have shown, this is not possible.<br /><br />I hope this helps shed some light on threads in Dynamics AX 2009, and that it helps getting you thinking about how threads can be used in x++ to help with your coding needs.<br /><br />That's all for now but check back soon!<br /><br /><br /><br /><center>
<br /><i><span style="color: red;"><tt>"Visit the Dynamics AX Community Page today!"</tt></span><a href="http://www.microsoft.com/dynamics/ax/community.mspx" style="color: #716e6c;"><img src="http://www.fluidunion.com/DAXsmallbanner.gif" style="border: 0px;" /></a></i></center>
<br /><br /><div style="clear: both; padding-bottom: 0.25em;">
</div>
<div class="blogger-labels" style="margin-bottom: 0.6em; padding: 0px;">
Labels: <a href="http://dynamics-ax.blogspot.com/search/label/C%23" rel="tag" style="color: #716e6c;">C#</a>, <a href="http://dynamics-ax.blogspot.com/search/label/Code%20Example" rel="tag" style="color: #716e6c;">Code Example</a>, <a href="http://dynamics-ax.blogspot.com/search/label/Dynamics%20AX%202009" rel="tag" style="color: #716e6c;">Dynamics AX 2009</a>, <a href="http://dynamics-ax.blogspot.com/search/label/Microsoft" rel="tag" style="color: #716e6c;">Microsoft</a>, <a href="http://dynamics-ax.blogspot.com/search/label/Performance" rel="tag" style="color: #716e6c;">Performance</a>, <a href="http://dynamics-ax.blogspot.com/search/label/Thread%20Development" rel="tag" style="color: #716e6c;">Thread Development</a>,<a href="http://dynamics-ax.blogspot.com/search/label/Threads" rel="tag" style="color: #716e6c;">Threads</a>, <a href="http://dynamics-ax.blogspot.com/search/label/X%2B%2B" rel="tag" style="color: #716e6c;">X++</a></div>
<div style="margin-bottom: 0.6em; padding: 0px;">
</div>
</div>
<div class="post-footer" style="border-top-color: rgb(191, 177, 134); border-top-style: solid; border-top-width: 1px; color: #211104; font-family: Verdana, sans-serif; font-size: 10.3599996566772px; padding: 6px 0px 0px;">
posted by brandon | <a href="http://dynamics-ax.blogspot.fr/2010/03/dynamics-ax-2009-x-thread-development.html" style="color: #716e6c;" title="permanent link">5:13 PM</a> <span class="item-action"><a href="http://www.blogger.com/email-post.g?blogID=18201169&postID=6905580345910582901" style="color: #716e6c;" title="Email Post"><img alt="" class="icon-action" height="13" src="http://img2.blogblog.com/img/icon18_email.gif" style="border: 0px none; margin: 0px 0px -5px 0.5em !important;" width="18" /></a></span> </div>
<div id="___plusone_0" style="background: transparent; border-style: none; display: inline-block; float: none; font-size: 1px; height: 24px; line-height: normal; margin: 0px; padding: 0px; vertical-align: baseline; width: 106px;">
<iframe data-gapiattached="true" frameborder="0" hspace="0" id="I1_1434362339235" marginheight="0" marginwidth="0" name="I1_1434362339235" scrolling="no" src="https://apis.google.com/u/0/se/0/_/+1/fastbutton?usegapi=1&origin=http%3A%2F%2Fdynamics-ax.blogspot.fr&url=http%3A%2F%2Fdynamics-ax.blogspot.fr%2F2010%2F03%2Fdynamics-ax-2009-x-thread-development.html&gsrc=3p&jsh=m%3B%2F_%2Fscs%2Fapps-static%2F_%2Fjs%2Fk%3Doz.gapi.fr.jZK-YtWGw0Q.O%2Fm%3D__features__%2Fam%3DAQ%2Frt%3Dj%2Fd%3D1%2Ft%3Dzcms%2Frs%3DAGLTcCN0geOyJrmIUCCJo7RdbCUUTuV6tw#_methods=onPlusOne%2C_ready%2C_close%2C_open%2C_resizeMe%2C_renderstart%2Concircled%2Cdrefresh%2Cerefresh&id=I1_1434362339235&parent=http%3A%2F%2Fdynamics-ax.blogspot.fr&pfname=&rpctoken=32300581" style="border-style: none; height: 24px; left: 0px; margin: 0px; position: static; top: 0px; visibility: visible; width: 106px;" tabindex="0" title="+1" vspace="0" width="100%"></iframe></div>
</div>
<div id="comments" style="background-color: white; color: #29303b; font-family: 'Century Gothic', Arial, Helvetica, sans-serif; font-size: 14px; line-height: 14.5600004196167px;">
<a href="https://www.blogger.com/null" name="comments"></a><h4 style="font-size: 16.7999992370605px; font-weight: normal; margin: 0px; padding: 0px;">
4 Comments:</h4>
<dl id="comments-block" style="line-height: 1.5em;">
<dt class="comment-poster" id="c595852331104662985" style="background: url(http://www.blogblog.com/scribe/list_icon.gif) 2px 0.35em no-repeat; font-weight: bold; margin: 0.5em 0px 0px; padding: 0px 0px 0px 20px;"><a href="https://www.blogger.com/null" name="c595852331104662985"></a><span class="comment-icon blogger-comment-icon" style="line-height: 16px;"><img alt="Blogger" src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 0px; display: inline;" /></span> <a href="http://www.blogger.com/profile/08669094150359322369" rel="nofollow" style="color: #716e6c;">fatopetoverum</a> said...</dt>
<dd class="comment-body" style="margin: 0px; padding: 0px 0px 0px 20px;"><div style="margin-bottom: 0.2em; padding: 0px;">
Magnificent post. I have a bitter sweet relation with threads but never considered using it in X++. You put it forward in a very appealling manner which encourages me to take it up. Thanks for a VERY informative blog.</div>
</dd><dd class="comment-timestamp" style="font-family: Verdana, sans-serif; font-size: 10.3599996566772px; margin: 0px 0px 10px; padding: 0px 0px 0.75em 20px;"><a href="http://dynamics-ax.blogspot.fr/2010/03/dynamics-ax-2009-x-thread-development.html#c595852331104662985" style="color: #716e6c;" title="comment permalink">2:06 AM</a></dd>
<dt class="comment-poster" id="c4410899480820062069" style="background: url(http://www.blogblog.com/scribe/list_icon.gif) 2px 0.35em no-repeat; font-weight: bold; margin: 0.5em 0px 0px; padding: 0px 0px 0px 20px;"><a href="https://www.blogger.com/null" name="c4410899480820062069"></a><span class="comment-icon anon-comment-icon" style="line-height: 16px;"><img alt="Anonymous" src="http://img2.blogblog.com/img/anon16-rounded.gif" style="border: 0px; display: inline;" /></span> <a href="http://www.perpetualdynamics.com/" rel="nofollow" style="color: #716e6c;">Nathan Hintz</a> said...</dt>
<dd class="comment-body" style="margin: 0px; padding: 0px 0px 0px 20px;"><div style="margin-bottom: 0.2em; padding: 0px;">
Very interesting post regarding threading in X++ using the Thread class object in Dynamics AX. This past year we actually implemented thread logic using the Thread class to process sales orders (automatically reserving, picking and packing) in real time, which allows our fulfillment center to pull work on demand and not wait for a batch job to complete. These batch jobs ran multiple times a day for 3-6 hours and now the processed orders go into a picking list queue to be pulled on demand for printing.<br /><br />The key for this all to work was the thread logic allowing the customer service rep to enter the order and continue on to the next customer without waiting for the order to process and without interruption. This has been a huge success.<br /><br />Thanks for the post on the subject. When we first starting looking at the Thread class we didn’t find many references on this topic.</div>
</dd><dd class="comment-timestamp" style="font-family: Verdana, sans-serif; font-size: 10.3599996566772px; margin: 0px 0px 10px; padding: 0px 0px 0.75em 20px;"><a href="http://dynamics-ax.blogspot.fr/2010/03/dynamics-ax-2009-x-thread-development.html#c4410899480820062069" style="color: #716e6c;" title="comment permalink">9:26 PM</a></dd>
<dt class="comment-poster" id="c8704276329853607819" style="background: url(http://www.blogblog.com/scribe/list_icon.gif) 2px 0.35em no-repeat; font-weight: bold; margin: 0.5em 0px 0px; padding: 0px 0px 0px 20px;"><a href="https://www.blogger.com/null" name="c8704276329853607819"></a><span class="comment-icon anon-comment-icon" style="line-height: 16px;"><img alt="Anonymous" src="http://img2.blogblog.com/img/anon16-rounded.gif" style="border: 0px; display: inline;" /></span> <span class="anon-comment-author">Dan</span> said...</dt>
<dd class="comment-body" style="margin: 0px; padding: 0px 0px 0px 20px;"><div style="margin-bottom: 0.2em; padding: 0px;">
Good post. It's worth keeping in mind though that in your example you wouldn't be looking at a 10-fold increase in speed for an import, where the bottle-neck is the database. Threads are better suited to CPU or IO-bound operations, which is why MRP is a good candidate. Also keep in mind some of the more finnicky things like transaction-scope among different threads, and infolog usage which won't work as expected.</div>
</dd><dd class="comment-timestamp" style="font-family: Verdana, sans-serif; font-size: 10.3599996566772px; margin: 0px 0px 10px; padding: 0px 0px 0.75em 20px;"><a href="http://dynamics-ax.blogspot.fr/2010/03/dynamics-ax-2009-x-thread-development.html#c8704276329853607819" style="color: #716e6c;" title="comment permalink">4:48 AM</a></dd>
<dt class="comment-poster" id="c7221670619445916955" style="background: url(http://www.blogblog.com/scribe/list_icon.gif) 2px 0.35em no-repeat; font-weight: bold; margin: 0.5em 0px 0px; padding: 0px 0px 0px 20px;"><a href="https://www.blogger.com/null" name="c7221670619445916955"></a><span class="comment-icon blogger-comment-icon" style="line-height: 16px;"><img alt="Blogger" src="http://img2.blogblog.com/img/b16-rounded.gif" style="border: 0px; display: inline;" /></span> <a href="http://www.blogger.com/profile/17442782177355218453" rel="nofollow" style="color: #716e6c;">brandon</a> said...</dt>
<dd class="comment-body" style="margin: 0px; padding: 0px 0px 0px 20px;"><div style="margin-bottom: 0.2em; padding: 0px;">
Dan,<br />You are correct in that Threads best address CPU needs / bottlenecks the best.<br /><br />However I tested out this given process for data import as well. And with data operations, it did increase the speed by the given % I stated. It's because for each worker process / spawned thread, a given different SPID was being used, to access that given section, based on a where clause, fot he given tables.<br /><br />So it did increase the importing and operation of data by as much as I stated.<br /><br />There could a possibility where this does not makes sense, actually a lot of times. As I stated most ERP processes have to happen in a linear fashion.<br /><br />However if you have a good way to split up the data, in some form of where clause, then this can speed up data operation processes as well.<br /><br />Thanks!<br />-Brandon</div>
</dd></dl>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-8070224077914458612015-05-20T16:00:00.001+02:002015-05-20T16:03:27.410+02:00Users don't want to delete their usage data - but you've redeveloped the form - the solution<div class="post-content user-defined-markup" style="background-color: #ced5db; border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-top-style: none; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 1.5em; margin: 22px 0px 10px; max-width: 100%; overflow: hidden; padding: 10px 0px; position: relative;">
<div class="post-content user-defined-markup" style="border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-top-style: none; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 1.5em; margin: 22px 0px 10px; max-width: 100%; overflow: hidden; padding: 10px 0px; position: relative;">
<div class="post-content user-defined-markup" style="background-color: #ced5db; border-bottom-color: rgb(204, 204, 204); border-bottom-style: dotted; border-bottom-width: 1px; border-top-style: none; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 1.5em; margin: 22px 0px 10px; max-width: 100%; overflow: hidden; padding: 10px 0px; position: relative;">
The issue we're talking about here is this:<br />
<ul>
<li>There is an AX form which users make their own personalisations to, moving some of the fields around, or perhaps adding other fields (via the right click->setup functions).</li>
<li>Then I need to redevelop this form a bit - a couple of new fields are added via the AOT.</li>
<li>Now when user's try to load the form it might crash - particular if I have changed the controls on a grid. So first I need to install a hotfix to stop the crash, it was fixed in KB2253378 (5.0.1500.3077 onwards) but as always just implement the newest kernel you can get your hands on.</li>
<li>Now when users log in, the crash is stopped, but their saved user settings are not applied to the form, it is back as default layout.</li>
</ul>
The user settings are stored in the SysLastValue container (SYSLASTVALUE.VALUE). You may have looked at the structure of the sysLastValue data via the usage data form (from user options) before, it just looks like a load of numbers, and it's hard to relate them back to the form. Well I found that the data in the container is basically the form control IDs, stored in a structure to match the structure of the form design.<br />
When I make a change to the form's design in the AOT, for example I add a field to a grid, then this can push all of the existing control IDs up by one, a control that was previously 12301, is now 12302. Now because we use these IDs to match to the layout held in SysLastValue - you can understand how a change to the design in the AOT invalidates the SysLastValue data.<br />
So attached is an xpo (scroll to the bottom) which can rebuild SysLastValue data for a form where the control IDs have changed. You set which form you want to rebuild data for, then it instantiates an instance of that form and then for each record in SysLastValue which relates to that form it iterates through and converts the IDs in SysLastVaue if it finds that they are different from the current form design.<br />
<strong>Warning!</strong> This code will update the usage data in an unrecoverable way so please take great care when using it - test it first and take a copy of the SysLastValue table before updating it for real. It would be pretty awful to try to help users by recovering their usage data for them and end up making it worse, so please be careful.<br />
Few points about using it:<br />
<ul>
<li>Just run the main() - note that the form name to update is hardcoded in here as "purchTable" at the moment and needs to be changed to whichever form you need.</li>
<li>This is for AX2009 only at the moment (because I use a task recorder function which might not be available in AX4 as standard).</li>
<li>It picks up the container in SysLastValue.Value and then iterates through it checking the ID for each control that it finds (using a function from task recorder which can return form control IDs) and then updating the container back.</li>
<li>This accounts for moving of fields or adding new fields within a parent control. This is a key point - there are an infinite number of possible changes that could be made to the structure of a form, this really only caters for fields being added/moved within their parent control (i.e. doesn't account for moving controls from one parent to another).</li>
<li>It should be ok with user added fields, unless the ID of a newly added field conflicts with a user added field (it shouldn't - they are +250 IDs higher).</li>
</ul>
What I expect the process for a developer to be is:<br />
<ul>
<li>They make their form changes as normal and they are tested etc..</li>
<li>When they move the form to live environment, either via XPO or layer they need to run this class for that form to update the sysLastValue data.</li>
<li>This needs to be done with no one on the system using that form and before anyone opens the new form (as opening it once will damage the user's default sysLastVaue record for that form and my class can't correct it then).</li>
</ul>
<br />
<table border="0" cellpadding="0" cellspacing="0" style="margin-left: 1px;"><tbody>
<tr><td>--author: </td><td>Tariq Bell</td></tr>
<tr><td>--editor:</td><td>Tariq Bell</td></tr>
<tr><td>--date:</td><td>21/04/2011</td></tr>
</tbody></table>
<div style="clear: both;">
</div>
</div>
<div class="post-attachment-viewer" style="background-color: #ced5db; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px;">
<div class="post-attachment" style="line-height: 28px;">
<span class="value" style="position: relative;"><a class="internal-link download-attachment" href="http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-components-postattachments/00-10-15-67-09/Rebuilding-syslastvalue-data.xpo.txt" style="color: #0066dd; cursor: pointer; outline: none; padding-left: 34px; text-decoration: none;"><span class="avatar" style="left: 0px; position: absolute; top: -8px; width: 28px;"><img alt="" border="0" src="http://blogs.msdn.com/utility/filethumbnails/unknown.gif" style="max-height: 28px; max-width: 28px;" /></span>Rebuilding syslastvalue data.xpo.txt</a></span></div>
</div>
<div class="post-actions" style="background-color: #ced5db; color: #333333; display: inline; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; line-height: 32px; position: relative;">
<ul class="navigation-list" style="display: inline; list-style: none; margin: 0px; padding: 0px;">
<li class="navigation-item" style="display: inline; margin: 0px; padding: 0.25em 0px;"><a class="internal-link view-replies" href="http://blogs.msdn.com/b/emeadaxsupport/archive/2011/04/21/users-don-t-want-to-delete-their-usage-data-but-you-ve-redeveloped-the-form-the-solution.aspx#comments" style="border-right-color: rgb(204, 204, 204); border-right-style: solid; border-right-width: 1px; color: #0066dd; cursor: pointer; outline: none; padding: 6px 10px 8px 18px; position: absolute; text-decoration: none; visibility: hidden;"></a></li>
</ul>
</div>
<span style="background-color: #ced5db; color: #333333; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px;"></span><br />
<div class="post-tags" style="background: url(http://i1.blogs.msdn.com/themes/MSDN2/Images/icon-sprite.gif) 0px -1600px no-repeat rgb(206, 213, 219); color: #333333; display: inline; font-family: 'Segoe UI', 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 12.1104001998901px; font-weight: bold; margin-left: 8px; padding-left: 16px;">
<span id="ctl00_content_ctl00_w_52317__a17d1d_ctl00_ctl15_ctl02"><a href="http://blogs.msdn.com/b/emeadaxsupport/archive/tags/Client/" rel="tag" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">Client</a>, <a href="http://blogs.msdn.com/b/emeadaxsupport/archive/tags/Hotfix/" rel="tag" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">Hotfix</a>, <a href="http://blogs.msdn.com/b/emeadaxsupport/archive/tags/usage+data/" rel="tag" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">usage data</a>, <a href="http://blogs.msdn.com/b/emeadaxsupport/archive/tags/syslastvalue/" rel="tag" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">syslastvalue</a>, <a href="http://blogs.msdn.com/b/emeadaxsupport/archive/tags/forms/" rel="tag" style="color: #0066dd; cursor: pointer; font-weight: normal; outline: none; text-decoration: none;">forms</a></span></div>
</div>
</div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-40276557790168661092015-05-18T16:04:00.002+02:002015-05-18T16:04:12.546+02:00AX 2012 - AOS Crash Kernel Hotfix<span style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Hi All</span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Below the last Kernel Hotfix about AOS Crash ( </span><span lang="EN-US" style="background-color: white; color: #666666; font-family: Calibri, sans-serif; font-size: 11pt;">KB Article Number : 2787191 </span><span style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">) :</span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span lang="EN-US" style="background-color: white; color: #666666; font-family: Calibri, sans-serif; font-size: 11pt;"><a href="http://hotfixv4.microsoft.com/Microsoft%20Dynamics%20AX%202012/nosp/KB2787191/6.0.1108.3086/free/455982_intl_i386_zip.exe" style="color: #888888; text-decoration: none;"><span style="color: #0563c1;">http://hotfixv4.microsoft.com/Microsoft%20Dynamics%20AX%202012/nosp/KB2787191/6.0.1108.3086/free/455982_intl_i386_zip.exe</span></a></span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span lang="EN-US" style="background-color: white; color: #666666; font-family: Calibri, sans-serif; font-size: 11pt;"></span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Finally, here a complete list of all Kernel Hotfix about AOS Crash issue :</span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span lang="EN-US" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;"><span style="font-family: Calibri;">Client crash when selecting record in form's derived table's referencegroup fieldyesdir <o:p></o:p></span></span><br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2724568 6.0.1108.1260<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">System crash when posting intercompany invoice <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2726353 6.0.1108.1331<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Client crash when removing multiple users from a security role<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2728524 6.0.1108.1339<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Generate Incremental CIL causes AOS to crash if CIL code is executed at the same time <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2729087 6.0.1108.1363<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AOS crash on development environment using 8 GB and 16 total <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2730676 6.0.1108.1399<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Client crash when performing impact analysis against CU-3 <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2730777 6.0.1108.1413<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Adding an EDT with the reference table property set, Crash the AX Client when on "Confirm adding relation" dialog "yes" is cliccked <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2738534 6.0.1108.1682<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AOS crash stack overflow relating to SqlConnectBase::setContext() with multiple SQL statement trace enabled <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2739574 6.0.1108.1707<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Client crashes in the query lookup <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2745617 6.0.1108.1894<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Request for port of AX6 bug 301574 to the 6.0/6.1 branch - AOS crashing in Ax32Serv!interpret::xal_asg_sym_opr <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2748615 6.0.1108.1932<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Client crash when system parameters is set to en for the default language and trying to enter workflow language instructions <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2748479 6.0.1108.1956<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AX is crashing while opening edit payment praposal form from Payment journal[ALL ON] <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2758284 6.0.1108.2216<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AOS crash during compilation after installing CU3 <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2764075 6.0.1108.2360<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">[Revert of 316400] Client crashes when hovering over method resolve of class SysWorkFlowHierarchyProvider <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2768644 6.0.1108.2506<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AOS crash when trying to covert Blank string to ENUM using a custom webservice in AIF <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2778096 6.0.1108.2753<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AX client crash when form personalization with moving button from actionpane to page <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2780317 6.0.1108.2844<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">RFH: DAXSE_314175 (Inactive plan versions are never cleaned up in case of AOS crash) failing whilie clearing all pending orders if AOS crashed</span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2779941 6.0.1108.2860<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">AX client crashes exporting to Excel <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">2785905 6.0.1108.3031<o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span lang="EN-US"><span style="font-family: Calibri;">Running aximpactanalysis.exe in KB Article Number (s) : 2765336 crashes. <o:p></o:p></span></span></div>
<br style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" />
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">2786562 6.0.1108.3068</span></div>
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;"></span> </div>
<div class="MsoNoSpacing" style="background-color: white; color: #666666; font-family: 'Trebuchet MS', Trebuchet, Verdana, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px; margin: 0cm 0cm 0pt;">
<span style="font-family: Calibri;">Enjoy !</span></div>
Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-16441190201071910362015-03-27T11:05:00.001+01:002015-03-27T11:05:28.642+01:00ChangeCompany and table buffers<span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">There is a bug with changeCompany keyword which prevents usage of the same initialized table buffer in different companies. For example, in the following code:</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #222222; font-family: 'courier new'; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">InventItemGroup inventItemGroup;<br /><br />changeCompany ('A')<br />{<br /> inventItemGroup.ItemGroupId = 'IA';<br /> inventItemGroup.insert();<br />}<br /><br />changeCompany ('B')<br />{<br /> inventItemGroup = null;<br /> inventItemGroup.ItemGroupId = 'IB';<br /> inventItemGroup.insert();<br />}</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Without </span><span style="background-color: white; color: #222222; font-family: 'courier new'; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">inventItemGroup = null;</span><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;"> line the second insert will throw an error:</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #222222; font-family: 'courier new'; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Cannot create a record in Item groups (InventItemGroup).<br />Insert operations are not allowed across companies. Please use changecompany keyword to change the current company before inserting the record.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">Because buffer still has dataAreaId value equals to 'A' and neither changeCompany nor insert does the substitution automatically.</span><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><br style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;" /><span style="background-color: white; color: #222222; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13.1999998092651px; line-height: 14.7839994430542px;">So you need to either avoid using the same buffer in different companies or do not forget to reset it via assigning null value.</span>Unknownnoreply@blogger.com0tag:blogger.com,1999:blog-7315138808109721986.post-9937442336636385742015-01-19T09:19:00.001+01:002015-01-19T09:19:55.812+01:00AX X++ str2Date function deep dive<span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;">From time to time, a user will need to pull a date from a string. More often than not it is from an XML or from some other location. In order to actually use this date passed, it needs to be of data type 'date' so it can be written to fields, used in queries etc. To do this, a user can use the 'str2Date' function.</span><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;">The str2Date function takes two parameters:</span><br />
<ol style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;">
<li style="margin: 0px 0px 0.25em; padding: 0px;">datestring = The date in string format. It can be separated by either a dash ('-') or slash ('/')</li>
<li style="margin: 0px 0px 0.25em; padding: 0px;">sequence = A three number combo using 1, 2, and 3 where 1 = day, 2 = month, and 3 = year. (e.g. 231 would be MM-YYY-DD, and 321 would be YYYY-MM-YY)</li>
</ol>
<span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;">If the sequence doesn't match the string or has an error, a '0' will result. Note that its very important to distinguish between day and month as an invalid month (>12) will result in a 0 and if both are <13, the date can translate totally wrong.</span><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><span style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;">I've detailed out the results of various scenarios below. Should be pretty self explanatory so I won't go into too much additional detail. I included the output as well as the code used to get it. Kinda neat. Enjoy!</span><br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><br />
<div class="separator" style="background-color: white; clear: both; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq7wQch2wXtG5hoaTE5wilCP5iMk6gBj9kS2FrRCFFpm48imlSBSD7B067jMCkCNkbZg9jEIWlESoNRjzpH9m9fyzgNjoKqjfQVFItGTJ8XWeCfxr9Ok_dXW4hWusKmZgLodD3LOCEMRY/s1600/infolog.PNG" imageanchor="1" style="color: grey; margin-left: 1em; margin-right: 1em; text-decoration: none;"><img border="0" height="256" src="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhq7wQch2wXtG5hoaTE5wilCP5iMk6gBj9kS2FrRCFFpm48imlSBSD7B067jMCkCNkbZg9jEIWlESoNRjzpH9m9fyzgNjoKqjfQVFItGTJ8XWeCfxr9Ok_dXW4hWusKmZgLodD3LOCEMRY/s320/infolog.PNG" style="-webkit-box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; background-attachment: initial; background-clip: initial; background-image: initial; background-origin: initial; background-position: initial; background-repeat: initial; background-size: initial; border: 1px solid rgb(235, 235, 235); box-shadow: rgba(0, 0, 0, 0.0980392) 1px 1px 5px; padding: 5px; position: relative;" width="320" /></a></div>
<div class="separator" style="background-color: white; clear: both; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px; text-align: center;">
<a href="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEh_Lsfx93TLr3dnZgDubQxXCTPEvj0kfZbf4gZ0LfaLdl489zT4YWvU9LS8fx7LbMGjm88AZgTiISt47M_YLyovYDxJ738TrQ8Bo9WiXw0Wa73cMsV-h1NIOeTQLekvfpAiZazJMERNYsM/s1600/infolog.PNG" imageanchor="1" style="color: grey; margin-left: 1em; margin-right: 1em; text-decoration: none;"><br /></a></div>
<br style="background-color: white; font-family: Arial, Tahoma, Helvetica, FreeSans, sans-serif; font-size: 13px; line-height: 18.4799995422363px;" /><br />
<pre style="background-color: #eeeeee; border: 1px dashed rgb(153, 153, 153); font-family: 'Andale Mono', 'Lucida Console', Monaco, fixed, monospace; font-size: 12px; line-height: 14px; overflow: auto; padding: 5px; width: 860px;"><code>
static void date2StringTest(Args _args)
{
str dateStrYMD = '2013-01-08';
str dateStrMYD = '01-2013-08';
str dateStrMDY = '01-08-2013';
str dateStrDMY = '08-01-2013';
str dateStrYMD2y = '13-01-08'; // two digit year
str dateStrYMD1m = '2013-1-08'; // 1 digit month
str dateStrYMDinv = '2013-14-08'; // invalid month
str dateStrYMDslsh = '2013/1/08'; // Slash instead of dash
str zeroResultStr = 'INVALID and will be 0';
int i;
// Note that the second parameter to the str2Date field is 3 numbers which must be a
// combination using 1, 2, and 3 where 1 = day, 2 = month, and 3 = year
// For example 231 would be MM-YYYY-DD, and 321 would be YYYY-MM-YY
// Year Month Day test
info (strFmt("----Start YMD test for %1----", dateStrYMD));
info (strFmt("1. YMD - str2Date('%1', 321) - result: %2", dateStrYMD, str2Date(dateStrYMD, 321)));
info (strFmt("2. YMD - str2Date('%1', 231) - result: %2", dateStrYMD, str2Date(dateStrYMD, 231)));
info (strFmt("3. YMD - str2Date('%1', 213) - result: %2", dateStrYMD, str2Date(dateStrYMD, 213)));
info (strFmt("4. YMD - str2Date('%1', 123) - result: %2", dateStrYMD, str2Date(dateStrYMD, 123)));
info ("");
// Month Year Day test
info (strFmt("----Start MYD test for %1----", dateStrMYD));
info (strFmt("5. MYD - str2Date('%1', 321) - result: %2", dateStrMYD, str2Date(dateStrMYD, 321)));
info (strFmt("6. MYD - str2Date('%1', 231) - result: %2", dateStrMYD, str2Date(dateStrMYD, 231)));
info (strFmt("7. MYD - str2Date('%1', 213) - result: %2", dateStrMYD, str2Date(dateStrMYD, 213)));
info (strFmt("8. MYD - str2Date('%1', 123) - result: %2", dateStrMYD, str2Date(dateStrMYD, 123)));
info ("");
// Month Day Year test
info (strFmt("----Start MDY test for %1----", dateStrMDY));
info (strFmt("9. MDY - str2Date('%1', 321) - result: %2", dateStrMDY, str2Date(dateStrMDY, 321)));
info (strFmt("10. MDY - str2Date('%1', 231) - result: %2", dateStrMDY, str2Date(dateStrMDY, 231)));
info (strFmt("11. MDY - str2Date('%1', 213) - result: %2", dateStrMDY, str2Date(dateStrMDY, 213)));
info (strFmt("12. MDY - str2Date('%1', 123) - result: %2", dateStrMDY, str2Date(dateStrMDY, 123)));
info ("");
// Day Month Year test
info (strFmt("----Start DMY test for %1----", dateStrDMY));
info (strFmt("13. DMY - str2Date('%1', 321) - result: %2", dateStrDMY, str2Date(dateStrDMY, 321)));
info (strFmt("14. DMY - str2Date('%1', 231) - result: %2", dateStrDMY, str2Date(dateStrDMY, 231)));
info (strFmt("15. DMY - str2Date('%1', 213) - result: %2", dateStrDMY, str2Date(dateStrDMY, 213)));
info (strFmt("16. DMY - str2Date('%1', 123) - result: %2", dateStrDMY, str2Date(dateStrDMY, 123)));
info ("");
// Other scenarios
info ("----START OTHER SCENARIOS----");
info (strFmt("17. YMD using %1 which only has 2 digits for the year (e.g. 13 instead of 2013) - result: %2", dateStrYMD2y, str2Date(dateStrYMD2y, 321))); // 2 digit year
info (strFmt("18. YMD using %1 which only has 1 digit for the month (e.g. 1 instead of 01) - result: %2", dateStrYMD1m, str2Date(dateStrYMD1m, 321))); // 1 digit month
info (strFmt("19. YMD using %1 which has an invalid numbe for the month (e.g. 14 is greater than 12) - result: %2", dateStrYMDInv, str2Date(dateStrYMDInv, 321))); // invalid month
info (strFmt("20. YMD using %1 which has a slash instead of a dash (e.g. 2013/01/08 instead of 2013-01-08) - result: %2", dateStrYMDslsh, str2Date(dateStrYMDslsh, 321))); // different divider
}</code></pre>
Unknownnoreply@blogger.com0