Muy buen día estimad@s,
Estoy creando una UDO desde código, todo iba bien hasta el guardar los datos. Mi UDO está creada desde código y en el Formulario tengo 2 matrices, cada una con un DBdatasource.


pero al revisar su información de sistema directamente en SAP me aparece lo siguiente.

esta es la matriz 1 allí donde aparece el #000000992 debería aparecer la tabla en la cual está mapeado el campo, como en la matriz 2,

Ya revise el UDO desde SAP para descartar que haya creado bien el UDO con las 2 tablas de detalle y si está correctamente asignado

Si alguno sabe que puede faltarme por asignar o como podría arreglar este tema estaré muy agradecido.
quedo atento a sus comentarios. Muchas gracias
Muy buen día Estimad@s,
Se encontró el error el cual no dejaba bien asignado los campos de la matriz al DBdatasource, yo estaba cargando la data por DataTable con un query, la hacer esto el DBdatasource original era modificado y por este motivo no estaba guardando data en la tabla correcta, se cambió la forma de cargar la data con este método:
Dim oDbs As SAPbouiCOM.DBDataSource = oForm.DataSources.DBDataSources.Item("@EXX_REIMPDET1")
oRs = NewFunctios.ExecRecordset(oCompany, Query)
oDbs.Clear()
Dim i As Integer = 0
Try
If oRs IsNot Nothing Then
If oRs.RecordCount > 0 Then
While Not (oRs.EoF)
oDbs.InsertRecord(oDbs.Size)
oDbs.Offset = oDbs.Size - 1
oDbs.SetValue("U_EXX_CODRETO", i, oRs.Fields.Item("WTCode").Value.ToString)
oDbs.SetValue("U_EXX_COCUNO", i, oRs.Fields.Item("Account").Value.ToString)
oDbs.SetValue("U_EXX_DESCO", i, oRs.Fields.Item("AcctName").Value.ToString)
oDbs.SetValue("U_EXX_TARIO", i, oRs.Fields.Item("PrctBsAmnt").Value.ToString)
oDbs.SetValue("U_EXX_BRTO", i, oRs.Fields.Item("WTAmnt").Value.ToString)
oDbs.SetValue("U_EXX_DEBO", i, oRs.Fields.Item("Debit").Value.ToString)
oDbs.SetValue("U_EXX_CREDO", i, oRs.Fields.Item("Credit").Value.ToString)
i += 1
oRs.MoveNext()
End While
End If
End If
Catch ex As Exception
SAPbouiCOM.Framework.Application.SBO_Application.MessageBox(ex.Message & " " & ex.StackTrace, 0, "Ok")
Finally
If oRs IsNot Nothing Then
NewFunctios.ObjectRelease(oRs)
End If
End Try
con este se soluciono el inconveniente. Muchas gracias
1 me gusta