I’m working on adding an EpiButton to a dashboard based on the ProjectCst table: the aim is for the user to select one or more rows, then click the button to launch the Capture Project Revenue Recognition, passing the ProjectID(s) into the module. I attempted to code it in a manner similar to what I did last year with the Build Project Analysis.
However, that didn’t work, as it seems that the Revenue Recognition doesn’t accept a string as an argument or parameter, but instead calls for a hashtable, as per the error message:
Is what I want to do even possible? Here’s my code for the button:
private void btnRecognizeRevenue_Click(object sender, System.EventArgs args)
{
// ** Place Event Handling Code Here **
LaunchFormOptions opts = new LaunchFormOptions();
try
{
var dataRows = grdRevUpdate.Selected.Rows;
string projectIDString = "";
foreach(Infragistics.Win.UltraWinGrid.UltraGridRow gridRow in dataRows)
{
projectIDString = projectIDString + "~" + gridRow.Cells["ProjectCst_ProjectID"].Value.ToString();
}
opts.ValueIn = projectIDString.Substring(1);
ProcessCaller.LaunchForm(oTrans,"Erp.UIProc.CaptureRevenueCOS.dll", opts);
}
catch
{
MessageBox.Show("Please select one or more projects to run revenue recognition.");
}
}
Hashtables are beyond my C# ken, so any suggestions and tips are welcome, thanks!
tkoch
(Theodore Koch)
June 10, 2022, 10:56am
2
Did you run a trace on the revenue capture dialog, what does that look like for the project filter?
Here’s the trace when I run the revenue recognition normally, just clicking the button on Project Entry:
<tracePacket>
<businessObject>Erp.Proxy.BO.ProjectImpl</businessObject>
<methodName>RecognizedSave</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/10/2022 08:45:19:7761884 AM</localTime>
<threadID>1</threadID>
<correlationId>ea6ca589-33fb-4629-b8d1-7dceadb1b2ed</correlationId>
<executionTime total="259" roundTrip="248" channel="0" bpm="0" bpmDataForm="0" other="11" />
<retries>0</retries>
<parameters>
<parameter name="ds" type="Erp.BO.RevenRecogDataSet">
<RevenRecogDataSet xmlns="http://www.epicor.com/Ice/300/BO/Project/RevenRecog" />
</parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Data.DataSet</returnType>
<localTime>6/10/2022 08:45:20:0532047 AM</localTime>
<threadID>1</threadID>
<correlationId>497becd4-292b-43a5-805a-92cdd4911226</correlationId>
<executionTime total="12" roundTrip="6" channel="5" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="serviceNamespace" type="System.String"><![CDATA[Ice:BO:LangName]]></parameter>
<parameter name="whereClause" type="System.String"><![CDATA[LangNameID='enu']]></parameter>
<parameter name="columnList" type="System.String"><![CDATA[LangNameID,TransVer,Culture,Description,HasTrans,ParentLangID]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.SysAgentImpl</businessObject>
<methodName>GetDefaultTaskAgentID</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/10/2022 08:45:20:0672040 AM</localTime>
<threadID>1</threadID>
<correlationId>1df491e6-36f7-40b1-a6cf-5de442f48163</correlationId>
<executionTime total="8" roundTrip="3" channel="4" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="defaultAgentID" type="System.String"><![CDATA[]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.SysAgentImpl</businessObject>
<methodName>GetAgentSchedList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.SysAgentSchedListTableset</returnType>
<localTime>6/10/2022 08:45:20:0752024 AM</localTime>
<threadID>1</threadID>
<correlationId>836c2f39-2a20-4c3d-9cf0-a1d5c6dd9717</correlationId>
<executionTime total="5" roundTrip="4" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="agentID" type="System.String"><![CDATA[SystemAgent]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.ProcessSetImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.ProcessSetListTableset</returnType>
<localTime>6/10/2022 08:45:20:0842038 AM</localTime>
<threadID>1</threadID>
<correlationId>0fa8a81a-3858-44ec-b0df-bf9735993911</correlationId>
<executionTime total="10" roundTrip="5" channel="4" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[ BY Description]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>GetNewParameters</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Erp.Tablesets.CaptureRevenueCOSTableset</returnType>
<localTime>6/10/2022 08:45:20:0962054 AM</localTime>
<threadID>1</threadID>
<correlationId>bd930478-f9b5-4b04-826c-4473a44e9bd5</correlationId>
<executionTime total="11" roundTrip="6" channel="4" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters />
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>GetTokenList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.String</returnType>
<localTime>6/10/2022 08:45:20:2512164 AM</localTime>
<threadID>1</threadID>
<correlationId>8d3de220-ae1b-4dd4-9a5a-f9fc108bf599</correlationId>
<executionTime total="5" roundTrip="4" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="tokenDataType" type="System.String"><![CDATA[date]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.BO.ProjectImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Erp.Tablesets.ProjectListTableset</returnType>
<localTime>6/10/2022 08:45:20:2942209 AM</localTime>
<threadID>1</threadID>
<correlationId>7d2bf943-7e60-471a-a701-2cda8909f61c</correlationId>
<executionTime total="8" roundTrip="6" channel="0" bpm="0" bpmDataForm="0" other="2" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[ProjectID= '400739' BY ProjectID]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>SubmitToAgent</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/10/2022 08:45:29:0361510 AM</localTime>
<threadID>1</threadID>
<correlationId>e03ec1f5-993d-477a-b933-7413975f19e8</correlationId>
<executionTime total="72" roundTrip="70" channel="0" bpm="0" bpmDataForm="0" other="2" />
<retries>0</retries>
<parameters>
<parameter name="ds" type="Erp.Proc.CaptureRevenueCOSDataSet">
<CaptureRevenueCOSDataSet xmlns="http://www.epicor.com/Ice/300/Proc/CaptureRevenueCOS/CaptureRevenueCOS" />
</parameter>
<parameter name="agentID" type="System.String"><![CDATA[SystemAgent]]></parameter>
<parameter name="agentSchedNum" type="System.Int64"><![CDATA[0]]></parameter>
<parameter name="agentTaskNum" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="maintProgram" type="System.String"><![CDATA[Erp.UIProc.CaptureRevenueCOS]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.BO.ProjectImpl</businessObject>
<methodName>RebuildProjectRevenRecogDS</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/10/2022 08:45:31:0622975 AM</localTime>
<threadID>1</threadID>
<correlationId>58c841f9-475a-4c93-9985-8b2fc88ba7c0</correlationId>
<executionTime total="38" roundTrip="23" channel="0" bpm="0" bpmDataForm="0" other="15" />
<retries>0</retries>
<parameters>
<parameter name="ds" type="Erp.BO.RevenRecogDataSet">
<RevenRecogDataSet xmlns="http://www.epicor.com/Ice/300/BO/Project/RevenRecog" />
</parameter>
<parameter name="ipProjectID" type="System.String"><![CDATA[400739]]></parameter>
</parameters>
</tracePacket>
And here’s the trace when I trigger my custom button from the dashboard:
<tracePacket>
<businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Data.DataSet</returnType>
<localTime>6/10/2022 08:57:59:4625789 AM</localTime>
<threadID>1</threadID>
<correlationId>f9599469-6bf3-4c03-acbf-225cdad65fe8</correlationId>
<executionTime total="14" roundTrip="6" channel="7" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="serviceNamespace" type="System.String"><![CDATA[Ice:BO:LangName]]></parameter>
<parameter name="whereClause" type="System.String"><![CDATA[LangNameID='enu']]></parameter>
<parameter name="columnList" type="System.String"><![CDATA[LangNameID,TransVer,Culture,Description,HasTrans,ParentLangID]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.SysAgentImpl</businessObject>
<methodName>GetDefaultTaskAgentID</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/10/2022 08:57:59:4785920 AM</localTime>
<threadID>1</threadID>
<correlationId>a02de7a9-87bd-40f3-9714-a330986b1682</correlationId>
<executionTime total="14" roundTrip="3" channel="5" bpm="0" bpmDataForm="0" other="6" />
<retries>0</retries>
<parameters>
<parameter name="defaultAgentID" type="System.String"><![CDATA[]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.SysAgentImpl</businessObject>
<methodName>GetAgentSchedList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.SysAgentSchedListTableset</returnType>
<localTime>6/10/2022 08:57:59:4935888 AM</localTime>
<threadID>1</threadID>
<correlationId>6ba515b2-9ccb-43bf-8384-edc73d80574e</correlationId>
<executionTime total="5" roundTrip="4" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="agentID" type="System.String"><![CDATA[SystemAgent]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.ProcessSetImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.ProcessSetListTableset</returnType>
<localTime>6/10/2022 08:57:59:5035891 AM</localTime>
<threadID>1</threadID>
<correlationId>e82fc500-70d3-4bd8-ad33-23fb159aa4ab</correlationId>
<executionTime total="11" roundTrip="5" channel="5" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[ BY Description]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>GetNewParameters</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Erp.Tablesets.CaptureRevenueCOSTableset</returnType>
<localTime>6/10/2022 08:57:59:5165856 AM</localTime>
<threadID>1</threadID>
<correlationId>6ad41868-8b66-45fd-9a7a-ad13dc49f2c1</correlationId>
<executionTime total="12" roundTrip="7" channel="5" bpm="0" bpmDataForm="0" other="0" />
<retries>0</retries>
<parameters />
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.XXXDefListTableset</returnType>
<localTime>6/10/2022 08:57:59:6765946 AM</localTime>
<threadID>1</threadID>
<correlationId>cc80fc35-ac80-4e70-a2ea-66a39b8cc71c</correlationId>
<executionTime total="8" roundTrip="8" channel="0" bpm="0" bpmDataForm="0" other="0" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'Proc.CaptureRevenueCOS.CaptureRevenueCOSForm']]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.XXXDefListTableset</returnType>
<localTime>6/10/2022 08:58:02:0387571 AM</localTime>
<threadID>1</threadID>
<correlationId>8c58f785-ff9a-49d9-828c-261cdc66a3f1</correlationId>
<executionTime total="10" roundTrip="9" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'Proc.CaptureRevenueCOS.CaptureRevenueCOSForm']]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>GetTokenList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.String</returnType>
<localTime>6/10/2022 08:58:02:7928025 AM</localTime>
<threadID>1</threadID>
<correlationId>006329e7-7641-4057-b712-860648c58cdb</correlationId>
<executionTime total="5" roundTrip="4" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="tokenDataType" type="System.String"><![CDATA[date]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.ReportMonitorImpl</businessObject>
<methodName>GetRowsKeepIdleTimeWithBallonInfo</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.ReportMonitorTableset</returnType>
<localTime>6/10/2022 08:58:06:7010654 AM</localTime>
<threadID>35</threadID>
<correlationId>1e132d75-1496-4d81-acd8-5c6031289ed1</correlationId>
<executionTime total="13" roundTrip="5" channel="0" bpm="0" bpmDataForm="0" other="8" />
<retries>0</retries>
<parameters>
<parameter name="whereClauseSysRptLst" type="System.String"><![CDATA[((PrintDriver='TEXT' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='CRYSTAL' AND (AutoAction='PRINT' OR AutoAction='AUTOPRT' OR AutoAction='PREVIEW' OR AutoAction='AUTOPRV' OR AutoAction='SSRSPREVIEW')) OR (PrintDriver='EPIFIN' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='BARTENDER' AND (AutoAction='AUTOPRT' OR AutoAction='AUTOPRV')) OR (PrintDriver='EDI' AND AutoAction<>'') OR (PrintDriver='SSRS' AND (AutoAction='PREVIEW' OR AutoAction='PRINT') AND LastAction='SSRSREADY')) AND (WorkStationID='TERMSRV 121' OR WorkStationID='web_mmorgan')]]></parameter>
<parameter name="getBallonInfo" type="System.Boolean"><![CDATA[False]]></parameter>
<parameter name="whereClauseSysTask" type="System.String"><![CDATA[history = true and startedon > 06/09/2022 and SubmitUser = 'mmorgan']]></parameter>
<parameter name="whereClauseSysTaskLog" type="System.String"><![CDATA[]]></parameter>
<parameter name="sysMonitorData" type="System.Data.DataSet">
<NewDataSet />
</parameter>
</parameters>
</tracePacket>
Note that the Revenue Recognition module does open, but no project ID is passed to it…and the generate button appears disabled, even after I manually add a project:
tkoch
(Theodore Koch)
June 11, 2022, 3:04am
4
Haven’t got a chance to try myself but perform the trace when you have the capture dialog open and select multiple projects and then submit to see what the expected parameter value is
Here is the trace from that:
<tracePacket>
<businessObject>Ice.Proxy.BO.NamedSearchImpl</businessObject>
<methodName>GetRows</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.NamedSearchTableset</returnType>
<localTime>6/14/2022 13:29:52:9894215 PM</localTime>
<threadID>1</threadID>
<correlationId>3c3b449b-c5cf-45a3-8670-0e6a9f1d7b92</correlationId>
<executionTime total="7" roundTrip="6" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="whereClauseNamedSearch" type="System.String"><![CDATA[ProductID = 'EP' AND SearchForm = 'Project Search' AND CalledFrom = 'Erp.UIProc.CaptureRevenueCOS.dll' AND UserId = 'mmorgan']]></parameter>
<parameter name="whereClauseControlSetting" type="System.String"><![CDATA[]]></parameter>
<parameter name="whereClauseWhereClause" type="System.String"><![CDATA[]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.QuickSearchImpl</businessObject>
<methodName>GetBaseDefault</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/14/2022 13:29:53:0054277 PM</localTime>
<threadID>1</threadID>
<correlationId>17cd8de5-5101-4183-ab28-93d712185556</correlationId>
<executionTime total="15" roundTrip="14" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="likeTableAndField" type="System.String"><![CDATA[Project.ProjectID]]></parameter>
<parameter name="callFrom" type="System.String"><![CDATA[Erp.UIProc.CaptureRevenueCOS]]></parameter>
<parameter name="baseSearchId" type="System.String"><![CDATA[]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.QuickSearchImpl</businessObject>
<methodName>GetByID</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.QuickSearchTableset</returnType>
<localTime>6/14/2022 13:29:53:0334238 PM</localTime>
<threadID>1</threadID>
<correlationId>51f43284-bd71-4c70-86b3-14057ad58931</correlationId>
<executionTime total="14" roundTrip="13" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="glbCompany" type="System.String"><![CDATA[]]></parameter>
<parameter name="quickSearchID" type="System.String"><![CDATA[DCS-Project]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.NamedSearchImpl</businessObject>
<methodName>GetRows</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.NamedSearchTableset</returnType>
<localTime>6/14/2022 13:29:53:1084388 PM</localTime>
<threadID>1</threadID>
<correlationId>953b4f10-f942-4c36-86d9-a2bf8051ccc9</correlationId>
<executionTime total="7" roundTrip="6" channel="0" bpm="0" bpmDataForm="0" other="1" />
<retries>0</retries>
<parameters>
<parameter name="whereClauseNamedSearch" type="System.String"><![CDATA[ProductID = 'EP' AND SearchForm = 'Search Form' AND CalledFrom = 'Erp.UIProc.CaptureRevenueCOS.dll' AND UserId = 'mmorgan']]></parameter>
<parameter name="whereClauseControlSetting" type="System.String"><![CDATA[]]></parameter>
<parameter name="whereClauseWhereClause" type="System.String"><![CDATA[]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.DynamicQueryImpl</businessObject>
<methodName>GetByID</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.DynamicQueryTableset</returnType>
<localTime>6/14/2022 13:29:54:5205121 PM</localTime>
<threadID>1</threadID>
<correlationId>ab667c72-87b1-459f-9edf-ce9eb550e93b</correlationId>
<executionTime total="14" roundTrip="11" channel="0" bpm="0" bpmDataForm="0" other="3" />
<retries>0</retries>
<parameters>
<parameter name="queryID" type="System.String"><![CDATA[DCS-ProjectQS]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.DynamicQueryImpl</businessObject>
<methodName>GetQueryEmptyResultSet</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Data.DataSet</returnType>
<localTime>6/14/2022 13:29:54:5375159 PM</localTime>
<threadID>1</threadID>
<correlationId>66d126d6-c9eb-4dcd-b67c-17accbe1cbd2</correlationId>
<executionTime total="19" roundTrip="13" channel="0" bpm="0" bpmDataForm="0" other="6" />
<retries>0</retries>
<parameters>
<parameter name="queryDS" type="Ice.BO.DynamicQueryDataSet">
<DynamicQueryDataSet xmlns="http://www.epicor.com/Ice/300/BO/DynamicQuery/DynamicQuery" />
</parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.QuickSearchImpl</businessObject>
<methodName>RunQuickSearchPaged</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Data.DataSet</returnType>
<localTime>6/14/2022 13:29:54:5685106 PM</localTime>
<threadID>1</threadID>
<correlationId>cc84652d-fafe-4558-9c13-3726b352cfd3</correlationId>
<executionTime total="31" roundTrip="28" channel="0" bpm="0" bpmDataForm="0" other="3" />
<retries>0</retries>
<parameters>
<parameter name="ds" type="Ice.BO.QuickSearchDataSet">
<QuickSearchDataSet xmlns="http://www.epicor.com/Ice/300/BO/QuickSearch/QuickSearch" />
</parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[100]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
<paramDataSetChanges>
<paramDataSet name="ds" useDataSetNbr="0">
<deletedRow tableName="QuickSearchValueList" rowState="Deleted" rowNum="2" />
<deletedRow tableName="QuickSearchValueList" rowState="Deleted" rowNum="3" />
<deletedRow tableName="QuickSearchValueList" rowState="Deleted" rowNum="4" />
<deletedRow tableName="QuickSearchValueList" rowState="Deleted" rowNum="5" />
</paramDataSet>
</paramDataSetChanges>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.BO.ProjectImpl</businessObject>
<methodName>GetList</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Erp.Tablesets.ProjectListTableset</returnType>
<localTime>6/14/2022 13:30:01:8739216 PM</localTime>
<threadID>1</threadID>
<correlationId>0c172071-2627-4a72-803f-26f9dcb1d280</correlationId>
<executionTime total="10" roundTrip="8" channel="0" bpm="0" bpmDataForm="0" other="2" />
<retries>0</retries>
<parameters>
<parameter name="whereClause" type="System.String"><![CDATA[(ProjectID = '400740' OR ProjectID = '400741') BY ProjectID]]></parameter>
<parameter name="pageSize" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="absolutePage" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="morePages" type="System.Boolean"><![CDATA[False]]></parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Ice.Proxy.BO.ReportMonitorImpl</businessObject>
<methodName>GetRowsKeepIdleTimeWithBallonInfo</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>Ice.Tablesets.ReportMonitorTableset</returnType>
<localTime>6/14/2022 13:30:07:5432433 PM</localTime>
<threadID>18</threadID>
<correlationId>02771975-47ab-4a57-9689-95f30d3ab0cc</correlationId>
<executionTime total="8" roundTrip="6" channel="0" bpm="0" bpmDataForm="0" other="2" />
<retries>0</retries>
<parameters>
<parameter name="whereClauseSysRptLst" type="System.String"><![CDATA[((PrintDriver='TEXT' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='CRYSTAL' AND (AutoAction='PRINT' OR AutoAction='AUTOPRT' OR AutoAction='PREVIEW' OR AutoAction='AUTOPRV' OR AutoAction='SSRSPREVIEW')) OR (PrintDriver='EPIFIN' AND (AutoAction='PRINT' OR AutoAction='PREVIEW')) OR (PrintDriver='BARTENDER' AND (AutoAction='AUTOPRT' OR AutoAction='AUTOPRV')) OR (PrintDriver='EDI' AND AutoAction<>'') OR (PrintDriver='SSRS' AND (AutoAction='PREVIEW' OR AutoAction='PRINT') AND LastAction='SSRSREADY')) AND (WorkStationID='TERMSRV 188' OR WorkStationID='web_mmorgan')]]></parameter>
<parameter name="getBallonInfo" type="System.Boolean"><![CDATA[False]]></parameter>
<parameter name="whereClauseSysTask" type="System.String"><![CDATA[history = true and startedon > 06/13/2022 and SubmitUser = 'mmorgan']]></parameter>
<parameter name="whereClauseSysTaskLog" type="System.String"><![CDATA[]]></parameter>
<parameter name="sysMonitorData" type="System.Data.DataSet">
<NewDataSet />
</parameter>
</parameters>
</tracePacket>
<tracePacket>
<businessObject>Erp.Proxy.Proc.CaptureRevenueCOSImpl</businessObject>
<methodName>SubmitToAgent</methodName>
<appServerUri>net.tcp://app1/Test/</appServerUri>
<returnType>System.Void</returnType>
<localTime>6/14/2022 13:30:17:3777874 PM</localTime>
<threadID>1</threadID>
<correlationId>47f4464e-4677-49ba-a295-e61b4e408f6b</correlationId>
<executionTime total="245" roundTrip="225" channel="0" bpm="0" bpmDataForm="0" other="20" />
<retries>0</retries>
<parameters>
<parameter name="ds" type="Erp.Proc.CaptureRevenueCOSDataSet">
<CaptureRevenueCOSDataSet xmlns="http://www.epicor.com/Ice/300/Proc/CaptureRevenueCOS/CaptureRevenueCOS" />
</parameter>
<parameter name="agentID" type="System.String"><![CDATA[SystemAgent]]></parameter>
<parameter name="agentSchedNum" type="System.Int64"><![CDATA[0]]></parameter>
<parameter name="agentTaskNum" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="maintProgram" type="System.String"><![CDATA[Erp.UIProc.CaptureRevenueCOS]]></parameter>
</parameters>
<paramDataSetChanges>
<paramDataSet name="ds" useDataSetNbr="0">
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ACTType"><![CDATA[Revenue_Recognition]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AsOfDate"><![CDATA[6/14/2022 12:00:00 AM]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="CalledFrom"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="IsCaptureOT"><![CDATA[False]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="PrjList"><![CDATA[400740~400741]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RecType"><![CDATA[ALL]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="StartingDate"><![CDATA[6/6/2022 12:00:00 AM]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="COSandWIPCall"><![CDATA[True]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="SysRowID"><![CDATA[00000000-0000-0000-0000-000000000000]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AutoAction"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="PrinterName"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AgentSchedNum"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AgentID"><![CDATA[SystemAgent]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AgentTaskNum"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RecurringTask"><![CDATA[False]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RptPageSettings"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RptPrinterSettings"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RptVersion"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ReportStyleNum"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="WorkstationID"><![CDATA[TERMSRV 188]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="TaskNote"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ArchiveCode"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="DateFormat"><![CDATA[m/d/yyyy]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="NumericFormat"><![CDATA[,.]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AgentCompareString"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ProcessID"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ProcessCompany"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ProcessSystemCode"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ProcessTaskNum"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="DecimalsGeneral"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="DecimalsCost"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="DecimalsPrice"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="GlbDecimalsGeneral"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="GlbDecimalsCost"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="GlbDecimalsPrice"><![CDATA[0]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="FaxSubject"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="FaxTo"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="FaxNumber"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="EMailTo"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="EMailCC"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="EMailBCC"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="EMailBody"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="AttachmentType"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ReportCurrencyCode"><![CDATA[USD]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="ReportCultureCode"><![CDATA[en-US]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="SSRSRenderFormat"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="UIXml"><![CDATA[]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="PrintReportParameters"><![CDATA[False]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="SSRSEnableRouting"><![CDATA[False]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="DesignMode"><![CDATA[False]]></changedValue>
<changedValue tableName="CaptureRevenueCOS" rowState="Added" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
</paramDataSet>
</paramDataSetChanges>
</tracePacket>
What stands out to me are: the “whereClause” in the ProjectImp.GetList method (indicating the two projects I selected), and in the CaptureRevenueCOSImpl.SubmitToAgent method at the end, seeing the “PrjList” data column ([CDATA[400740~400741]]).
This makes me wonder: do I even need to call up the capture dialog at all from my customization - is it possible to code it such that the projects are passed directly to the SubmitToAgent method within?
tkoch
(Theodore Koch)
June 14, 2022, 7:45pm
6
Yes, you can do this directly by interacting with the Erp.Proxy.Proc.CaptureRevenueCOSImpl business object. There should be examples on here on submitting to the system agent or calling RunDirect
Jonathan
(Jonathan)
June 14, 2022, 8:11pm
7
Try this
Hashtable params = new Hashtable();
params.Add("projectID", projectIDString.Substring(1));
opts.ValueIn = params;
Thanks for the idea, but it didn’t work…even if I hard code a projectID into the hashtable, it causes a similar error, except the message is: “Object reference not set to an instance of an object.”
Jonathan
(Jonathan)
June 14, 2022, 10:21pm
9
Oh, sorry about that, missed this part
params.Add("CalledFrom", "");
The only logic I see for this field, is that if it is not empty it will disable the project list. I guess it means that if you are specifically calling this process form from another UI and passing a project, then you don’t want the user to be able to add more for processing.
That didn’t help either - got the same “Object reference not set to an instance of an object” error
Jonathan
(Jonathan)
June 15, 2022, 3:40pm
11
Again, my bad, the key is calledfrom, not CalledFrom.
Hopefully that was the issue.
Awesome, that has helped a great deal so far, at least in getting the dialog to open with the selected projects. However now, upon hitting submit within the dialog, the revenue amounts aren’t actually getting posted (determined by looking in Project Entry hitting Retrieve under the Revenue Recognition tab)…though it looks like it’s running in System Monitor. What element could I be missing now?
Jonathan
(Jonathan)
June 15, 2022, 8:09pm
13
I would wait for the process to complete and check what is logged to system monitor in case it is not posted.
To be honest I am not familiar with this process, you can try sending only 1 project and see what the process does, if nothing then submit it manually and compare what could be different if one works and the other doesn’t.