Chris_Conn
(Chris Conn)
December 27, 2016, 6:25pm
1
Can anyone help me get to the bottom of this exception from LaborAdapter.SelectForWork:
Labor Header has not changed.
Doing trace I can see that prior to that call there is:
LaborAdapter.GetNewLaborDtlOnSelectForWorkMethod
I figure I have to get a new labor dtl but it wants me to pass in laborHedSeq. Where do I get this? I do not see a call in the trace to GetNewLaborHed so how did the MES screen know what value to pass there?
I am sure that most of this issue is my lack of understanding the tables and their uses in the system as a whole.
josecgomez
(Jose C Gomez)
December 27, 2016, 6:47pm
2
When you Clock In a LaborHed record is created you can do a lookup on it for activetrans = true that gets you the LaborHed Seq…
Chris_Conn
(Chris Conn)
December 27, 2016, 6:50pm
3
And Jose to the rescue again. Off the top of your head, am I better off going through an adapter for that query or just using a BAQ with current emp and activetrans = true?
josecgomez
(Jose C Gomez)
December 27, 2016, 6:51pm
4
You can do LaborAdapter.GetRows and pass a whereClause or write a BAQ>… that is upto you
Chris_Conn
(Chris Conn)
December 27, 2016, 7:27pm
5
Jose wins.
SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
bool more;
opts.PageSize = 20; //return this many
string whereSeq = string.Format("ActiveTrans = TRUE and EmployeeNum = '{0}'",((Ice.Core.Session)oTrans.Session).EmployeeID.ToString());
opts.NamedSearch.WhereClauses.Add("LaborHed",whereSeq);
var lbr = adapterLabor.GetRows(opts, out more);
MessageBox.Show(lbr.Tables[0].Rows[0]["LaborHedSeq"].ToString());
1 Like
Chris_Conn
(Chris Conn)
December 27, 2016, 8:00pm
6
@josecgomez.trigemco
But wait there’s more!
I am passing these params to GetNewLaborDtlOnSelectForWork:
And I get this wonderful exception:
That exception happens only once. If I try again it doesn’t occur (although I am still getting “Labor Header has not changed”)
josecgomez
(Jose C Gomez)
December 27, 2016, 8:03pm
7
What params… paste the code…
Chris_Conn
(Chris Conn)
December 27, 2016, 8:09pm
8
adapterLabor.GetNewLaborDtlOnSelectForWork(Convert.ToInt32(lbr.Tables[0].Rows[0]["LaborHedSeq"].ToString()),epiUltraGridJobs.Selected.Rows[0].Cells["JobHead_JobNum"].Text,Convert.ToInt32(epiUltraGridJobs.Selected.Rows[0].Cells["JobOpDtl_AssemblySeq"].Text),Convert.ToInt32(epiUltraGridJobs.Selected.Rows[0].Cells["JobOpDtl_OprSeq"].Text),epiUltraGridJobs.Selected.Rows[0].Cells["JobOpDtl_ResourceGrpID"].Text,"B",out prompt);
3645, “F000007486”,0,10,“PRGP0500”,“B”
Interestingly, I noted the error title referenced the wrong resource group so I removed some other test code where I was selecting the group in the title. Now, the error title is:
Oooh, maybe I need to pass the resource group of the Employee
Nope - No change.
Chris_Conn
(Chris Conn)
December 28, 2016, 2:29pm
9
Table: LaborDtl
Company=‘CP’ LaborHedSeq=‘3645’ LaborDtlSeq=‘136612’ SysRowID=‘00000000-0000-0000-0000-000000000000’: ForeignKeyConstraint LaborHedLaborDtl requires the child key values (CP, 3645) to exist in the parent table. —> System.Data.ConstraintException: Failed to enable constraints. One or more rows contain values violating non-null, unique, or foreign-key constraints.
josecgomez
(Jose C Gomez)
December 28, 2016, 2:36pm
10
It thinks that the LaborHead doesn’t exist…
Run a Trace on this manually and make sure you are making all the correct calls.
Chris_Conn
(Chris Conn)
December 28, 2016, 3:57pm
11
There are a lot of calls I don’t recognize, mainly IMPLs, a few of which appear to be loading the customization. Apologies in advance for this long post but I did trim it as much as possible, leaving only the relevant info. This is start to finish (of the working, default operation):
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<returnType>XXXDefListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'App.WorkQueueEntry.WorkQueueForm']]></parameter>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<returnType>XXXDefListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'App.WorkQueueEntry.WorkQueueForm']]></parameter>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>GenXDataTableset</returnType>
<parameter name="whereClauseXXXDef" type="System.String"><![CDATA[Company = 'CP' AND ProductID = 'EP' AND TypeCode = 'Customization' AND CGCCode = '' AND Key1 = 'WORKQ_DEFAULTVALUES_CC' AND Key2 = 'App.WorkQueueEntry.WorkQueueForm' AND Key3 = '']]></parameter>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>GenXDataTableset</returnType>
<parameter name="whereClauseXXXDef" type="System.String"><![CDATA[Company = 'CP' AND ProductID = 'EP' AND TypeCode = 'Customization' AND CGCCode = '' AND Key1 = 'WORKQ_DEFAULTVALUES_CC' AND Key2 = 'App.WorkQueueEntry.WorkQueueForm' AND Key3 = '']]></parameter>
<businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>System.Data.DataSet</returnType>
<parameter name="serviceNamespace" type="System.String"><![CDATA[Ice:BO:Company]]></parameter>
<parameter name="whereClause" type="System.String"><![CDATA[Company = 'CP']]></parameter>
<parameter name="columnList" type="System.String"><![CDATA[ESEURL,ESENotificationSourceID]]></parameter>
<businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>System.Data.DataSet</returnType>
<parameter name="serviceNamespace" type="System.String"><![CDATA[Ice:BO:UserFile]]></parameter>
<parameter name="whereClause" type="System.String"><![CDATA[UserID = 'CConn']]></parameter>
<parameter name="columnList" type="System.String"><![CDATA[ESEUserID,ESEPassword,DomainName,OSUserId]]></parameter>
<businessObject>Erp.Proxy.BO.EmpBasicImpl</businessObject>
<methodName>GetList</methodName>
<returnType>EmpBasicListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[EmpID = 'cconn' BY Name]]></parameter>
<businessObject>Erp.Proxy.BO.CompanyImpl</businessObject>
<methodName>GetMaxWorkQueueRecords</methodName>
<returnType>System.Int32</returnType>
<businessObject>Erp.Proxy.BO.WorkQueueImpl</businessObject>
<methodName>GetOpsInResourceGroup</methodName>
<returnType>WorkQueueTableset</returnType>
<parameter name="pcResourceGrpID" type="System.String"><![CDATA[PRLABOR]]></parameter>
<parameter name="pcEmpID" type="System.String"><![CDATA[cconn]]></parameter>
<businessObject>Erp.Proxy.BO.JobOperSearchImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>JobOperSearchTableset</returnType>
<parameter name="whereClauseJobOper" type="System.String"><![CDATA[]]></parameter>
<businessObject>Ice.Proxy.Lib.ClientCacheImpl</businessObject>
<methodName>GetClassInformation</methodName>
<returnType>Ice.Tablesets.ClassAttributeTableset</returnType>
<parameter name="token" type="System.String"><![CDATA[JCDept]]></parameter>
<parameter name="additionalTokens" type="System.String[]"><![CDATA[]]></parameter>
<parameter name="objectAccess" type="System.Boolean"><![CDATA[False]]></parameter>
<parameter name="nameSpace" type="System.String"><![CDATA[Erp:BO]]></parameter>
<tracePacket>
<businessObject>Ice.Proxy.Lib.ClassAttributeImpl</businessObject>
<methodName>GetAttributes</methodName>
<returnType>ClassAttributeTableset</returnType>
<parameter name="classNames" type="System.String"><![CDATA[JCDept]]></parameter>
<parameter name="nameSpace" type="System.String"><![CDATA[Erp.BO]]></parameter>
<BpmData>
<SysRowID>0f81d587-c733-47da-87fa-2fdf18b46a7e</SysRowID>
</BpmData>
<businessObject>Erp.Proxy.BO.JCDeptImpl</businessObject>
<methodName>GetList</methodName>
<returnType>JCDeptListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[ BY JCDept]]></parameter>
<businessObject>Ice.Proxy.BO.NamedSearchImpl</businessObject>
<methodName>GetRows</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>NamedSearchTableset</returnType>
<parameter name="whereClauseNamedSearch" type="System.String"><![CDATA[ProductID = 'EP' AND SearchForm = 'Resource Group Search' AND CalledFrom = 'Erp.UI.WorkQueueEntry.dll' AND UserId = 'CConn']]></parameter>
<businessObject>Ice.Proxy.BO.QuickSearchImpl</businessObject>
<methodName>GetBaseDefault</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<localTime>12/28/2016 08:39:06:1743869 AM</localTime>
<executionTime>72</executionTime>
<parameters>
<parameter name="likeTableAndField" type="System.String"><![CDATA[ResourceGroup.ResourceGrpID]]></parameter>
<parameter name="callFrom" type="System.String"><![CDATA[Erp.UI.WorkQueueEntry]]></parameter>
<parameter name="baseSearchId" type="System.String"><![CDATA[]]></parameter>
<parameter name="CallContext" type="Ice.Bpm.Context.ContextDataSet">
<businessObject>Erp.Proxy.BO.ResourceGroupImpl</businessObject>
<methodName>GetList</methodName>
<returnType>ResourceGroupListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[JCDept = 'MOLDING' BY Description]]></parameter>
<businessObject>Erp.Proxy.BO.CompanyImpl</businessObject>
<methodName>GetMaxWorkQueueRecords</methodName>
<returnType>System.Int32</returnType>
<businessObject>Erp.Proxy.BO.WorkQueueImpl</businessObject>
<methodName>GetOpsInResourceGroup</methodName>
<returnType>WorkQueueTableset</returnType>
<parameter name="pcResourceGrpID" type="System.String"><![CDATA[PRGP0300]]></parameter>
<parameter name="pcEmpID" type="System.String"><![CDATA[cconn]]></parameter>
>
<businessObject>Erp.Proxy.BO.OpMasterImpl</businessObject>
<methodName>GetList</methodName>
<returnType>OpMasterListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[OpCode = 'MOLDING' BY OpDesc]]></parameter>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>GetRows</methodName>
<returnType>LaborTableset</returnType>
<parameter name="whereClauseLaborHed" type="System.String"><![CDATA[ActiveTrans = true AND EmployeeNum = 'cconn' BY PayrollDate]]></parameter>
<parameter name="whereClauseLaborDtl" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseLaborDtlAttch" type="System.String"><![CDATA[]]></parameter>
<parameter name="whereClauseLaborDtlComment" type="System.String"><![CDATA[]]></parameter>
<parameter name="whereClauseLaborEquip" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseLaborPart" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseLbrScrapSerialNumbers" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseLaborDtlGroup" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseSelectedSerialNumbers" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseSNFormat" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<parameter name="whereClauseTimeWeeklyView" type="System.String"><![CDATA[]]></parameter>
<parameter name="whereClauseTimeWorkHours" type="System.String"><![CDATA[SysRowId = '00000000-0000-0000-0000-000000000000']]></parameter>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>GetNewLaborDtlOnSelectForWork</methodName>
<returnType>System.Void</returnType>
<paramDataSetChanges>
<paramDataSet name="ds" useDataSetNbr="0">
<changedValue tableName="LaborHed" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
</paramDataSet>
</paramDataSetChanges>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<returnType>XXXDefListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'WorkQueueEntry.Forms.SelectForWorkForm']]></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>
<parameter name="CallContext" type="Ice.Bpm.Context.ContextDataSet">
<ContextDataSet xmlns="http://www.epicor.com/Ice/300/Bpm/Context">
<BpmData>
<SysRowID>1aef008a-117d-431a-a9e0-9ebf7a13bb9e</SysRowID>
</BpmData>
<businessObject>Ice.Proxy.BO.GenXDataImpl</businessObject>
<methodName>GetList</methodName>
<returnType>XXXDefListTableset</returnType>
<parameter name="whereClause" type="System.String"><![CDATA[Key2 = 'WorkQueueEntry.Forms.SelectForWorkForm']]></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>
<parameter name="CallContext" type="Ice.Bpm.Context.ContextDataSet">
<ContextDataSet xmlns="http://www.epicor.com/Ice/300/Bpm/Context">
<BpmData>
<SysRowID>1aef008a-117d-431a-a9e0-9ebf7a13bb9e</SysRowID>
</BpmData>
<businessObject>Ice.Proxy.Lib.BOReaderImpl</businessObject>
<methodName>GetList</methodName>
<returnType>System.Data.DataSet</returnType>
<parameter name="serviceNamespace" type="System.String"><![CDATA[Erp:BO:Resource]]></parameter>
<parameter name="whereClause" type="System.String"><![CDATA[(ResourceGrpID = 'PRGP0300')]]></parameter>
<parameter name="columnList" type="System.String"><![CDATA[ResourceID,ResourceGrpID,Description]]></parameter>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>SelectForWork</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>CheckWarnings</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>CheckFirstArticleWarning</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>Update</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<localTime>12/28/2016 08:39:31:7015325 AM</localTime>
<executionTime>226</executionTime>
<businessObject>Erp.Proxy.BO.CompanyImpl</businessObject>
<methodName>GetMaxWorkQueueRecords</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Int32</returnType>
<businessObject>Erp.Proxy.BO.WorkQueueImpl</businessObject>
<methodName>GetOpsInResourceGroup</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>WorkQueueTableset</returnType>
<parameter name="pcResourceGrpID" type="System.String"><![CDATA[PRGP0300]]></parameter>
<parameter name="pcEmpID" type="System.String"><![CDATA[cconn]]></parameter>
<businessObject>Erp.Proxy.BO.CompanyImpl</businessObject>
<methodName>GetMaxWorkQueueRecords</methodName>
<returnType>System.Int32</returnType>
<businessObject>Erp.Proxy.BO.WorkQueueImpl</businessObject>
<methodName>GetOpsInResourceGroup</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>WorkQueueTableset</returnType>
<localTime>12/28/2016 08:39:32:8711872 AM</localTime>
<executionTime>469</executionTime>
<parameters>
<parameter name="pcResourceGrpID" type="System.String"><![CDATA[PRGP0300]]></parameter>
<parameter name="pcEmpID" type="System.String"><![CDATA[cconn]]></parameter>
<tracePacket>
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>GetRows</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>LaborTableset</returnType>
<parameter name="whereClauseLaborHed" type="System.String"><![CDATA[EmployeeNum = 'cconn' and ActiveTrans = yes BY PayrollDate]]></parameter>
josecgomez
(Jose C Gomez)
December 28, 2016, 4:16pm
12
That method in your trace doesn’t appear to take any parameters in? Furthermore notice that they set the RowMod on LaborHead to U. Are you doing this?
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>GetNewLaborDtlOnSelectForWork</methodName>
<returnType>System.Void</returnType>
<paramDataSetChanges>
<paramDataSet name="ds" useDataSetNbr="0">
<changedValue tableName="LaborHed" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
</paramDataSet>
</paramDataSetChanges>
Chris_Conn
(Chris Conn)
December 28, 2016, 4:20pm
13
I assumed that was showing me that that call had made those changes. Am I wrong?
Here is the unabridged version of that call:
<businessObject>Erp.Proxy.BO.LaborImpl</businessObject>
<methodName>GetNewLaborDtlOnSelectForWork</methodName>
<appServerUri>net.tcp://jpe10prod/E10LiveDB2/</appServerUri>
<returnType>System.Void</returnType>
<localTime>12/28/2016 08:39:21:4348315 AM</localTime>
<executionTime>93</executionTime>
<parameters>
<parameter name="ds" type="LaborDataSet">
<LaborDataSet xmlns="http://www.epicor.com/Ice/300/BO/Labor/Labor">
<LaborHed>
<Company>CP</Company>
<EmployeeNum>cconn</EmployeeNum>
<LaborHedSeq>3645</LaborHedSeq>
<PayrollDate>2016-10-19T00:00:00-05:00</PayrollDate>
<Shift>1</Shift>
<ClockInDate>2016-10-19T00:00:00-05:00</ClockInDate>
<ClockInTime>0.28</ClockInTime>
<DspClockInTime>00:17</DspClockInTime>
<ActualClockInTime>0.28</ActualClockInTime>
<ActualClockinDate>2016-10-19T00:00:00-05:00</ActualClockinDate>
<LunchStatus>N</LunchStatus>
<ActLunchOutTime>0.00</ActLunchOutTime>
<LunchOutTime>0.00</LunchOutTime>
<ActLunchInTime>0.00</ActLunchInTime>
<LunchInTime>0.00</LunchInTime>
<ClockOutTime>0</ClockOutTime>
<DspClockOutTime>24:00</DspClockOutTime>
<ActualClockOutTime>0</ActualClockOutTime>
<PayHours>0.00</PayHours>
<FeedPayroll>false</FeedPayroll>
<TransferredToPayroll>false</TransferredToPayroll>
<LaborCollection>true</LaborCollection>
<TranSet></TranSet>
<ActiveTrans>true</ActiveTrans>
<ChkLink></ChkLink>
<BatchTotalHrsDisp></BatchTotalHrsDisp>
<BatchHrsRemainDisp></BatchHrsRemainDisp>
<BatchHrsRemainPctDisp></BatchHrsRemainPctDisp>
<BatchSplitHrsMethod></BatchSplitHrsMethod>
<BatchAssignTo>false</BatchAssignTo>
<BatchComplete>false</BatchComplete>
<BatchTotalHrs>0.00000</BatchTotalHrs>
<BatchHrsRemain>0.00000</BatchHrsRemain>
<BatchHrsRemainPct>0.00000</BatchHrsRemainPct>
<SysRevID>585442701</SysRevID>
<SysRowID>280f8dff-1cb2-4ff1-98b6-5267b66e259e</SysRowID>
<Imported>false</Imported>
<BatchMode>false</BatchMode>
<DspPayHours>0.00</DspPayHours>
<EmpBasicShift>1</EmpBasicShift>
<EmpBasicSupervisorID></EmpBasicSupervisorID>
<GetNewNoHdr>false</GetNewNoHdr>
<ImagePath>empphoto/CP/.bmp</ImagePath>
<LunchBreak>false</LunchBreak>
<MES>false</MES>
<TimeDisableDelete>false</TimeDisableDelete>
<TimeDisableUpdate>false</TimeDisableUpdate>
<TotBurHrs>40.29</TotBurHrs>
<TotLbrHrs>49.21</TotLbrHrs>
<WipPosted>false</WipPosted>
<BitFlag>0</BitFlag>
<EmployeeNumFirstName>Chris</EmployeeNumFirstName>
<EmployeeNumName>Chris P Conn</EmployeeNumName>
<EmployeeNumLastName>Conn</EmployeeNumLastName>
<ShiftDescription>7:00 AM to 3:00 PM</ShiftDescription>
<RowMod>U</RowMod>
</LaborHed>
</LaborDataSet>
</parameter>
<parameter name="laborHedSeq" type="System.Int32"><![CDATA[3645]]></parameter>
<parameter name="sJobNum" type="System.String"><![CDATA[F000007827]]></parameter>
<parameter name="iAssemblySeq" type="System.Int32"><![CDATA[0]]></parameter>
<parameter name="iOprSeq" type="System.Int32"><![CDATA[10]]></parameter>
<parameter name="sResourceGrpID" type="System.String"><![CDATA[PRGP0300]]></parameter>
<parameter name="setupOrProd" type="System.String"><![CDATA[B]]></parameter>
<parameter name="bMachinePrompt" type="System.Boolean"><![CDATA[False]]></parameter>
<parameter name="CallContext" type="Ice.Bpm.Context.ContextDataSet">
<ContextDataSet xmlns="http://www.epicor.com/Ice/300/Bpm/Context">
<BpmData>
<SysRowID>00000000-0000-0000-0000-000000000000</SysRowID>
</BpmData>
</ContextDataSet>
</parameter>
</parameters>
<paramDataSetChanges>
<paramDataSet name="ds" useDataSetNbr="0">
<changedValue tableName="LaborHed" rowState="Modified" rowNum="0" colName="RowMod"><![CDATA[U]]></changedValue>
</paramDataSet>
</paramDataSetChanges>
josecgomez
(Jose C Gomez)
December 28, 2016, 4:21pm
14
Right but if you see the paramDataSetChanges that means changes to the dataset that occurred before calling the method, so set LaborHed.RowMod=“U”
Chris_Conn
(Chris Conn)
December 28, 2016, 4:23pm
15
Make those changes in the Labor dataset or in the DB?
josecgomez
(Jose C Gomez)
December 28, 2016, 4:23pm
16
In the LaborDataset set the LaborHed.RowMod=“U” (RowMod doesn’t exist in the data set)
Chris_Conn
(Chris Conn)
December 28, 2016, 4:25pm
17
I am going with:
var lbr = adapterLabor.GetRows(opts, out more);
lbr.Tables[0].Rows[0][“RowMod”] = “U”;
No apparent change. Let me check the trace.
josecgomez
(Jose C Gomez)
December 28, 2016, 4:27pm
18
Sure! However you can use the typed dataset to make your life easier, using quoted strings is error prone
LaborDataSet lds = adapterLabor.GetRows(opts, out more);
lds.LaborHed[0].RowMod="U";
Also I think your adapterLabor is named wrong… is that an adapter? Adapters (generally) don’t return values. How are you instantiating that? (Edit never mind, but you can still cast it to LaborDataSet)
Chris_Conn
(Chris Conn)
December 28, 2016, 4:29pm
19
private LaborAdapter adapterLabor;
adapterLabor = new LaborAdapter(this.oTrans);
adapterLabor.BOConnect();
...
SearchOptions opts = new SearchOptions(SearchMode.AutoSearch);
bool more;
opts.PageSize = 20; //return this many
string whereSeq = string.Format("ActiveTrans = TRUE and EmployeeNum = '{0}' and COMPANY = '{1}'",((Ice.Core.Session)oTrans.Session).EmployeeID.ToString(),((Ice.Core.Session)oTrans.Session).CompanyID.ToString());
opts.NamedSearch.WhereClauses.Add("LaborHed",whereSeq);
adapterLabor.LaborData.Clear();
var lbr = adapterLabor.GetRows(opts, out more);
josecgomez
(Jose C Gomez)
December 28, 2016, 4:31pm
20
Yeah never mind I saw it after I posted, you can cast that var lbr into a LaborDataSet to make your life easier (I think)
Can you post your entire code I think I know what your issue is.