cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

How to get UDI Last Inserted Code value?

fmichell
Newcomer
0 Likes
201

Hello Experts,

I have a UDT of type "No object with Auto Increment" and I am adding records to it using DI API. This is working fine.

I am trying to catch the Last Inserted ID/Code after the Adding the record to the UDT but for some reason the Event et_FORM_DATA_ADD is not catching it.

public static void AddRecordToUDT(SAPbouiCOM.ItemEvent pVal)
{
    SAPbouiCOM.Form oForm = Program.SBO_Application.Forms.GetForm(pVal.FormType.ToString(), pVal.FormTypeCount);
    
UserTable oAddrShippingTable = Program.SBO_Company.UserTables.Item($"{Program.nameSpace}_SHIPLABEL");
 
    oAddrShippingTable.UserFields.Fields.Item($"U_{Program.nameSpace}_FNAME").Value = oForm.DataSources.UserDataSources.Item("EditWhName").ValueEx;
    oAddrShippingTable.UserFields.Fields.Item($"U_{Program.nameSpace}_FADDR1").Value = oForm.DataSources.UserDataSources.Item("EditWhAdd1").ValueEx;
    oAddrShippingTable.UserFields.Fields.Item($"U_{Program.nameSpace}_FADDR2").Value = oForm.DataSources.UserDataSources.Item("EditWhAdd2").ValueEx;
    oAddrShippingTable.UserFields.Fields.Item($"U_{Program.nameSpace}_FADDR3").Value = oForm.DataSources.UserDataSources.Item("EditWhAdd3").ValueEx;
    oAddrShippingTable.UserFields.Fields.Item($"U_{Program.nameSpace}_FADDR4").Value = oForm.DataSources.UserDataSources.Item("EditWhAdd4").ValueEx;
    oAddrShippingTable.Add();
}
 

public static void SBO_Application_DataEvent(ref SAPbouiCOM.BusinessObjectInfo pVal, out bool BubbleEvent)
{
BubbleEvent = true;

try
{
if (pVal.EventType == SAPbouiCOM.BoEventTypes.et_FORM_DATA_ADD && !pVal.BeforeAction && pVal.ActionSuccess)
{

// This is not working
bool v = true;
}
}
catch (Exception ex)
{
Program.SBO_Application.SetStatusBarMessage(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Medium, true);

BubbleEvent = false;
}
}

Does the et_FORM_DATA_ADD event does not work for UDT? If so, how can I retrieve the last inserted ID?

Thank you in advance,

Federico

Accepted Solutions (0)

Answers (0)