cancel
Showing results for 
Search instead for 
Did you mean: 

UDO WITH MORE THAN ONE CHILD TABLE

Former Member
0 Kudos

Hello There.

Can I handle more than one child table for a master table by code?

if I can, how do I create this udo, I have tryed the following code, but it takes the last child table ("jobs7")

If oUserObjectMD.GetByKey("Jbs_UO") = 0 Then

oUserObjectMD.CanCancel = SAPbobsCOM.BoYesNoEnum.tYES

oUserObjectMD.CanClose = SAPbobsCOM.BoYesNoEnum.tYES

oUserObjectMD.CanCreateDefaultForm = SAPbobsCOM.BoYesNoEnum.tNO

'oUserObjectMD.FormColumns

oUserObjectMD.CanDelete = SAPbobsCOM.BoYesNoEnum.tYES

oUserObjectMD.CanFind = SAPbobsCOM.BoYesNoEnum.tYES

oUserObjectMD.FindColumns.ColumnAlias = "Code"

oUserObjectMD.FindColumns.Add()

oUserObjectMD.FindColumns.SetCurrentLine(1)

oUserObjectMD.FindColumns.ColumnAlias = "Name"

oUserObjectMD.CanLog = SAPbobsCOM.BoYesNoEnum.tNO

oUserObjectMD.LogTableName = ""

oUserObjectMD.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO

oUserObjectMD.ChildTables.TableName = "JOBS1"

oUserObjectMD.ChildTables.TableName = "JOBS2"

oUserObjectMD.ChildTables.TableName = "JOBS3"

oUserObjectMD.ChildTables.TableName = "JOBS4"

oUserObjectMD.ChildTables.TableName = "JOBS5"

oUserObjectMD.ChildTables.TableName = "JOBS6"

oUserObjectMD.ChildTables.TableName = "JOBS7"

oUserObjectMD.ExtensionName = ""

oUserObjectMD.ManageSeries = SAPbobsCOM.BoYesNoEnum.tNO

oUserObjectMD.Code = "Jbs_UO"

oUserObjectMD.Name = "Jobs UDO"

oUserObjectMD.ObjectType = SAPbobsCOM.BoUDOObjType.boud_MasterData

oUserObjectMD.TableName = "JOBS"

If oUserObjectMD.Add() <> 0 Then

Dim ErrMsg As String

Dim ErrCode As Long

oCompany.GetLastError(ErrCode, ErrMsg)

MsgBox("Errorf adding UDO master Data" & vbCrLf & ErrMsg)

System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserObjectMD)

oUserObjectMD = Nothing

Return False

End If

End If

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi Hagai

after oUserObjectMD.ChildTables.TableName = "JOBS1"

just write

oUserObjectMD.ChildTables.Add

that would be

oUserObjectMD.CanYearTransfer = SAPbobsCOM.BoYesNoEnum.tNO
oUserObjectMD.ChildTables.TableName = "JOBS1"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS2"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS3"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS4"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS5"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS6"
oUserObjectMD.ChildTables.Add
oUserObjectMD.ChildTables.TableName = "JOBS7"

Former Member
0 Kudos

Thank you very much,

but..what about the rest of the code?

I mean, the continuation

oUserObjectMD.ExtensionName = ""

oUserObjectMD.ManageSeries = SAPbobsCOM.BoYesNoEnum.tNO

oUserObjectMD.Code = "XIS_Jbs_UO"

oUserObjectMD.Name = "Jobs UDO"

oUserObjectMD.ObjectType = SAPbobsCOM.BoUDOObjType.boud_MasterData

oUserObjectMD.TableName = "XIS_JOBS"

do I have to duplicate it for each "add" or it's general?

Former Member
0 Kudos

It's general,

the only property you can set by ChildTable is

oUserObjectMD.ChildTables.LogTableName

Sebastien

Former Member
0 Kudos

Merci Bien!

Answers (0)