Мы разрабатываем приложения для SAP, используя их SDK. SAP предоставляет SDK для изменения и обработки событий, происходящих в пользовательском интерфейсе.
Например, с помощью этого SDK мы можем поймать щелчок по кнопке и сделать что-то по нажатию. Это программирование может быть выполнено либо на VB, либо на C#.
Это также можно использовать для создания новых полей в уже существующей форме. Мы разработали специальное приложение, которое позволяет пользователям сохранять определение, необходимое для нового поля, в таблице базы данных, а поля создаются во время выполнения.
Пока это хорошо. Теперь нам нужно, чтобы пользователь имел возможность хранить код проверки для поля в базе данных, и то же самое должно выполняться во время выполнения.
Ниже приведен пример такого события:
Private Sub SBO_Application_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles SBO_Application.ItemEvent
Dim oForm As SAPbouiCOM.Form
If pVal.FormTypeEx = "ACC_QPLAN" Then
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_LOST_FOCUS And pVal.BeforeAction = False Then
oProdRec.ItemPressEvent(pVal)
End If
End If
End Sub
Public Sub ItemPressEvent(ByRef pVal As SAPbouiCOM.ItemEvent)
Dim oForm As SAPbouiCOM.Form
oForm = oSuyash.SBO_Application.Forms.GetForm(pVal.FormTypeEx, pVal.FormTypeCount)
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_LOST_FOCUS And pVal.BeforeAction = False Then
If pVal.ItemUID = "AC_TXT5" Then
Dim CardCode, ItemCode As String
ItemCode = oForm.Items.Item("AC_TXT2").Specific.Value
CardCode = oForm.Items.Item("AC_TXT0").Specific.Value
UpdateQty(oForm, CardCode, ItemCode)
End If
End If
End Sub
Итак, в этом случае нам нужно сохранить код, указанный в ItemPressEvent, в базе данных и выполнить его во время выполнения.
Я знаю, что это не прямолинейная вещь. Но я предполагаю, что должны быть какие-то способы делать такие вещи.
SDK состоит из COM-компонентов.
Спасибо и с уважением, Рахул Джейн