Add Choose From List to a Matrix
Hi,
Need help on how to add a choose from list to a matrix column?
Thanks!
Hi,
Step1 :First step is to create the CFL as below
Private Sub AddChooseFromListToWorkOrder()
'Choose From List Collection object to store the collection
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
'Conditions object to set the conditons
Dim oCons As SAPbouiCOM.Conditions
'Condition object to set the conditons
Dim oCon As SAPbouiCOM.Condition
'Getting the Form Choose From Lists
oCFLs = oForm.ChooseFromLists
'Choose From List object to store the ChooseFromList
Dim oCFL As SAPbouiCOM.ChooseFromList
'ChooseFromListCreationParams to create the parameters for the CFL
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = oSBOApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
oCFLCreationParams.MultiSelection = False
oCFLCreationParams.ObjectType = "4"
oCFLCreationParams.UniqueID = "UDCFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
' Adding Conditions to CFL
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "U_HasPSC"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "Y"
oCFL.SetConditions(oCons)
End Sub
Step2: Then add this cfl in form load
AddChooseFromListToWorkOrder()
oMatrix = oForm.Items.Item("matItems").Specific
oColumns = oMatrix.Columns
oColumn = oColumns.Item("colItem")
oColumn.ChooseFromListUID = "UDCFL1"
oColumn.ChooseFromListAlias = "ItemCode"
Step 3: catch the CFL Event in Item events of the form
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
oForm = oSBOApplication.Forms.Item("IS_WKORDER")
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable = oCFLEvento.SelectedObjects
'oForm.DataSources.DBDataSources.Add("@IS_WKO_ROWS")
Try
If pVal.ItemUID = "matItems" And pVal.ColUID = "colItem" And oCFL.UniqueID = "UDCFL1" Then
oMatrix = oForm.Items.Item("matItems").Specific
oEdit = oMatrix.Columns.Item(2).Cells.Item(pVal.Row).Specific
oEdit.Value = oDataTable.GetValue(1, 0).ToString()
oEdit = oMatrix.Columns.Item(4).Cells.Item(pVal.Row).Specific
oEdit.Value = strUOM
oEdit = oMatrix.Columns.Item(5).Cells.Item(pVal.Row).Specific
oEdit.Value = strPSCode
oEdit = oMatrix.Columns.Item(1).Cells.Item(pVal.Row).Specific
oEdit.Value = oDataTable.GetValue(0, 0).ToString()
End If
Catch ex As Exception
End Try
End If
End If
Hope This helps
Regards,
Noor
Edited by: noor_023 on Mar 31, 2010 10:55 AM
Similar Messages
-
Choose from List in A matrix for choosing two or more rows at same time
Hi Friends,
Actually I m using choose from list to select Items in a row, i can select Two or more rows from the List but while clicking choose it is taking only one value.
The no of rows are not activated tat i m choosing from list.
Thanks in advance
VivekHi.
Here is a [link|https://forums.sdn.sap.com/click.jspa?searchID=12829558&messageID=5584893] where are you can find on of my example on CFL on matrix column.
I think, you need to made some changes in code from these lines...
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
for ...
end for
Reply if this guideline was usefull for you.
Bye -
Choose From list in Matrix UDF
i create a UDF in Sales Order Row, I want to assign choose From list in the Matrix for the UDF once user click on tab button.
How can i assign the Choose from list for the UDF column?Hi,
Try this code for adding CFL.
SAPbouiCOM.ChooseFromListCollection oCFLs = null;
SAPbouiCOM.Conditions oCons = null;
SAPbouiCOM.Condition oCon = null;
oCFLs = oForm.ChooseFromLists;
SAPbouiCOM.ChooseFromList oCFL = null;
SAPbouiCOM.ChooseFromListCreationParams oCFLCreationParams = null;
oCFLCreationParams = ( ( SAPbouiCOM.ChooseFromListCreationParams )( SBO_Application.CreateObject( SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams ) ) );
oCFLCreationParams.MultiSelection = false;
oCFLCreationParams.ObjectType = "object id ";
oCFLCreationParams.UniqueID = "CFL1";
oCFL = oCFLs.Add( oCFLCreationParams );
oColumn.ChooseFromListUID = "CFL1";
//where oColumn is the instance of that column.
Hope u will get help....
Thanks and Regards,
Lalit -
Hey All,
Has anyone been able to get the choose from list in a matrix text field working in SBO 2005 patch level 6? We have tried the tech demo and it works for new rows but not for existing rows. Also we have written our own code to set the matrix text box on the choose from list event and we get a general failure exception even though the value still gets set properly.
If anyone has this working please post so we can all know how to do this properly.Hi there,
This "Choose from list" thing is new for me, there's a Choose from List example in the new techDemo but i don't understand the code.. too complicated for me.. Is there any simple code/sample for this?
Well i manage to trigger the choose from list .. but don't know how to put the selected value to the cell..
Bruce.. -
Choose From List and Golden arrow link in System Matrix UDF column
I'm wondering if there is a way through the SDK to create a 'Choose From List' and Golden arrow linked button in a System Matrix UDF column?
For example the Item Code in a sales order matrix does both.Hi,
Try this code for adding CFL.
SAPbouiCOM.ChooseFromListCollection oCFLs = null;
SAPbouiCOM.Conditions oCons = null;
SAPbouiCOM.Condition oCon = null;
oCFLs = oForm.ChooseFromLists;
SAPbouiCOM.ChooseFromList oCFL = null;
SAPbouiCOM.ChooseFromListCreationParams oCFLCreationParams = null;
oCFLCreationParams = ( ( SAPbouiCOM.ChooseFromListCreationParams )( SBO_Application.CreateObject( SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams ) ) );
oCFLCreationParams.MultiSelection = false;
oCFLCreationParams.ObjectType = "object id ";
oCFLCreationParams.UniqueID = "CFL1";
oCFL = oCFLs.Add( oCFLCreationParams );
oColumn.ChooseFromListUID = "CFL1";
//where oColumn is the instance of that column.
Hope u will get help....
Thanks and Regards,
Lalit -
Change data in existing "Choose from list" matrix
Hi,
in UI GUI->order form . When add a new order, hit "TAB" to select BP from existing list. I want to use my own sql to populate the BP list (currently the GUI defaults to return all customers).
Is there a way? I mean if I just want to change data in the matrix and let B1 continue to make the "Choose from list" form (form "10001") with my own new customer list. Set BubbleEvent = true will just re-read all cards after I query my result.
any help is appriciated!Hello,
I came across the same issue with the Items Choose from List on the Sales Order screen. It is possible to load your own Choose from List form and populate the matrix using recordset objects and userdatasources. The same logic could be applied to the BP Choose from List form. The following code displays the user form and matrix items - separate code is needed to handle the selection process on this form. There maybe a faster way of acheiving this using UDTs etc but it seems to work ok.
'When user presses Tab key in Item No. column.
If pVal.EventType = et_KEY_DOWN Then
If pVal.ItemUID = "38" And pVal.ColUID = "1" And _
pVal.Before_Action = True And pVal.CharPressed = vbKeyTab Then
'Load new Choose from List form.
'This is actually an exported and edited version of the SBO form.
LoadFromXML sIIS_ITEMLIST_XML
'Populate matrix with items returned from SQL query.
'Use recordset, arrays, userdatasources.
Set oRecordSet = oCmp.GetBusinessObject(BoRecordset)
sSql = "Select OITM.ItemCode, OITM.ItemName, OITM.OnHand FROM OITM " & _
"Where Upper(Left(OITM.ItemCode,2)) = 'B1'"
oRecordSet.DoQuery sSql
nRows = oRecordSet.RecordCount
If nRows <> 0 Then
'Array declarations.
Dim ItemCode(), ItemName(), OnHand()
ReDim ItemCode(nRows - 1)
ReDim ItemName(nRows - 1)
ReDim OnHand(nRows - 1)
'Add userdatasources to form.
oForm.DataSources.UserDataSources.Add "ItemCode", dt_LONG_TEXT, 20
oForm.DataSources.UserDataSources.Add "ItemName", dt_LONG_TEXT, 100
oForm.DataSources.UserDataSources.Add "OnHand", dt_LONG_NUMBER
i = 0
'Populate arrays from recordset.
Do While oRecordSet.EOF <> True
ItemCode(i) = oRecordSet.Fields.Item(0).Value
ItemName(i) = oRecordSet.Fields.Item(1).Value
OnHand(i) = oRecordSet.Fields.Item(2).Value
oRecordSet.MoveNext
i = i + 1
Loop
'Bind data fields to form items.
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemCode")
oColumn.DataBind.SetBound True, "", "ItemCode"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemName")
oColumn.DataBind.SetBound True, "", "ItemName"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("OnHand")
oColumn.DataBind.SetBound True, "", "OnHand"
'Get data from datasources.
Dim oUItemCode As SAPbouiCOM.UserDataSource
Dim oUItemName As SAPbouiCOM.UserDataSource
Dim oUOnHand As SAPbouiCOM.UserDataSource
Set oUItemCode = oForm.DataSources.UserDataSources.Item("ItemCode")
Set oUItemName = oForm.DataSources.UserDataSources.Item("ItemName")
Set oUOnHand = oForm.DataSources.UserDataSources.Item("OnHand")
oMatrix.Clear
'For each returned record in recordset then
'add row to matrix and populate it from
'userdatasource.
For i = 1 To nRows
oMatrix.AddRow
oUItemCode.Value = ItemCode(i - 1)
oUItemName.Value = ItemName(i - 1)
oUOnHand.Value = OnHand(i - 1)
oMatrix.SetLineData
Next i
End If
'Show form. This also sets focus to edittext field.
oForm.Visible = True
'Don't display standard SBO item list form.
BubbleEvent = False
End If
End If
Regards,
Andrew. -
Choose from list for purchase Item
Dear Experts,
i have created Choose from list in matrix using Screen Painter. its working properly but i want to display only Purchase Items in CFL.
For Customer we are using
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "CardType"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "C"
oCFL.SetConditions(oCons)
Like this, How to set condition for Purchase items thru coding or Screen painter
MathiHi Mathi,
Try this and tell me if it worked.
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "PrchseItem"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "Y"
oCFL.SetConditions(oCons)
If this works dont forget to reward points..
Regards,
Vasu Natari.
Edited by: vasu natari on Jul 29, 2008 12:37 PM -
Removing Duplicates from a choose from list
Hi All,
I have a choose from list of obj 73 )Catalog Numbers (Table OSCN)
I also added conditions in the CFL that it only shows the Substitute for the CardType = 'S' (Supllier) Business Partners.
But I want to remove all the duplicate Substitutes from the CFL so that only distinct Catalog Numbers shows in the CFL.
// Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = false;
oCFLCreationParams.ObjectType = "73";
oCFLCreationParams.UniqueID = "CFL1";
oCFL = oCFLs.Add(oCFLCreationParams);
//Adding Conditions to CFL1
oCons = oCFL.GetConditions();
oCon = oCons.Add();
oCon.Alias = "Substitute";
SAPbobsCOM.Recordset oSuppliers = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
oSuppliers.DoQuery("Select Distinct t1.Substitute From OSCN t1 Join OCRD t2 on t1.CardCode = t2.CardCode Where t2.CardType = 'S' Group By t1.Substitute");
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
while (!oSuppliers.EoF)
oCon.CondVal = oSuppliers.Fields.Item(0).Value.ToString();
oCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_OR;
oCon = oCons.Add();
oCon.Alias = "Substitute";
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
oSuppliers.MoveNext();
oCFL.SetConditions(oCons);
Please advise....
Kind Regards,
Brenden DraperHi Brenden,
what you are trying to archieve won't work. Simply because CFL is getting all row data from OSCN and ItemCode or CardCode can differ for a specific substitute.
For example.
ItemCode,CardCode,Substitute
ItemA,BP1,sub1
ItemA,BP2,sub1
Would be 2 resultlines both with sub1 as substitute.
SQL equivalent :
Select Distinct t0.* from oscn t0 inner join OCRD t1 on t0.CardCode = t1.CardCode where t1.CardType = 'S'
My advise would be to open a simple form with a grid and datatable bound.
Some lines of coding and you get all you need.
regards,
Maik -
Choose From List Cancel Button Throws Exception
Hi all,
When I click the "Cancel" Button on my CFL, I get an error....
EXCEPTION: Matrix__EBS_FRM_CRDCLM__64.OnAfterChooseFromList raised
No matching records found (ODBC -2028)
Any ideas???Hi
in your choose from list event add this condition
If Not pval.SelectedObjects Is Nothing Then
'write your code in this if condition
end if
hope it will help u.
Regards,
Mithun. -
Choose from list - data display with condition
Hi,
I 've developed a form using screen painter, I ' ve attached a choose from list to fill GRPo Number. In the choose from list the GRPo no. should not display again which once I have selected and saved.
Let me have a good solution please and it would be appreciated.
Thanks & Regards,
Venkatesan G.Hi suresh,
where did you put this code?....In the choose_from_list event handler?..I've tried a similar solution, before reading your post, but it doesn't work because if i dynamically set the condition for the choose from list i got an empty table.
i've tried to put my code when beforeaction=true and i have this kind of problem. The difference is that i need to set the filter starting with the value i've entered on the field connected to the choose from list. I put code here, so it's more clear
If (pVal.Before_Action = True) And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST) Then
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
Dim sItemCode As String
oEditText = oMatrix.Columns.Item("V_ItemCode").Cells.Item(pVal.Row).Specific
sItemCode = oEditText.Value.ToString
oCFL = oForm.ChooseFromLists.Item("CFL_Item")
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "ItemCode"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_START
oCon.CondVal = sItemCode
oCFL.SetConditions(oCons)
End If
My situation is that i type something in V_ItemCode column and after that i press the tab key to open the choose from list.
Would be ok if i get the SAP standard beahviour too, that doesn't open the choose from list, but fills the field with the first code starting with what you type.
Thanks in advance -
Choose From List used in UDO (B1 2004)
Hi,
in the presentation "Creating a UDO of document type.pps" (slide 53+55) provided with the SDK 2004 they use the Choose From List to select business partners and/or items in their UDO form when adding a new document. Does anyone know, how this has to be done? The sample, from the presentation is not provided in the sample codes.
Do I have to use an implementation DLL for my UDO to use this functionality?
My problem is, that it takes too long (about 5 times longer than with the system CFL) to get all items in my custom defined matrix.
thanks,
MarkusHi Markus,
You cannot use the built-in CFL in version 2004. It is only exposed from version 2005. The only suggestion is to look at optimizing your matrix. All CFLs in the system uses DB Datasources which makes populating the grid faster than using User data sources.
Hope it helps,
Adele -
Dear Experts,
i want to select Items in Sales Quotation Screen which is from Particular Group, I'm using following code
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST And pVal.BeforeAction = True Then
If pVal.FormTye = "149" And pVal.ItemUID = "38" And (pVal.ColUID = "1" Or pVal.ColUID = "3") Then
Try
oForm = SBO_Application.Forms.ActiveForm
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent = pVal
Dim sCFL_ID As String = oCFLEvento.ChooseFromListUID
Dim oCFL As SAPbouiCOM.ChooseFromList = Nothing
oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
oCons = Nothing
oCon = Nothing
oCons = oCFL.GetConditions()
oCon = oCons.Add()
oCon.Alias = "ItmsGrpCod"
oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
oCon.CondVal = "100"
oCFL.SetConditions(oCons)
Catch ex As Exception
SBO_Application.MessageBox(ex.Message)
End Try
End If
End If
First time Its working fine. but i'm selecting the next time in next row or same row its not showing any item. it opens only empty Choose from list. what is the prblm
MathiThe problem is that when this event is called again, the Conditions object still has the conditions from the last call :
oConditions = oCFL.GetConditions(); // this has all the previous set conditions
So the conditions set before are also taken into consideration. What you need to do is :
oCFL.SetConditions(null);
oConditions = oCFL.GetConditions();
This way the Conditions object will be empty. There is no method to remove a Condition from a Conditions collection, so you have to make it null. -
I have a form build in Screen painter and i have added a Choose from list to that form. I have asocieted the CFL with a EdiText. It work perfectly in add mode, but i cannot open the CFL when the form is in find mode.(I cannot even see the button to press for oppening the CFL). Can someone help me?
I am in the phase of binding the edittext, comoboxes and other controls on my form. I want to search by parameters. For instance i want to find all the entrys from a business partener.
I would like to know if I can choose from a list of business partener when i am in a find mode using CFL .
My problem it is not when i click find button but when i complete the fields, how can i select a business partener from a list? -
Choose from list in the system
Hi
I want to create the Choose from list in the System form (Employee Master Data) in the edit box. what is the coding for this ? can anyone help me ...
Regards
Bhuvana
Edited by: bhuvana eshwari on Aug 7, 2008 8:23 AMHi
i am adding three fields in Employe Master Data under Adminstration folder and fourth field in Employe Master Data,
Choose from list is added in the fourth field. please see this coding...
Public Class class1
Public WithEvents oApplication As SAPbouiCOM.Application
Private oOrderForm As SAPbouiCOM.Form
Private oNewItem As SAPbouiCOM.Item
Private oItem As SAPbouiCOM.Item
Private oFolderItem As SAPbouiCOM.Folder
Private oOptionBtn As SAPbouiCOM.OptionBtn
Private oCheckBox As SAPbouiCOM.CheckBox
Dim ostatic As SAPbouiCOM.StaticText
Dim ocombo As SAPbouiCOM.ComboBox
Dim oCompany As SAPbobsCOM.Company
Dim oRecordSet, rs1, rs2 As SAPbobsCOM.Recordset
Dim oSboGuiApi As SAPbouiCOM.SboGuiApi
Dim nerr As Long
Dim oedit, oedit1, oedit2 As SAPbouiCOM.EditText
Dim obutton As SAPbouiCOM.Button
Dim oform As SAPbouiCOM.Form
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
Public Sub setapplication()
Dim Cookie, EncryptedCookie, Connstring As String
Dim nerr As Long
oCompany = New SAPbobsCOM.Company
Connstring = Environment.GetCommandLineArgs.GetValue(1)
oSboGuiApi = New SAPbouiCOM.SboGuiApi
oSboGuiApi.Connect(Connstring)
oApplication = oSboGuiApi.GetApplication
oApplication.MessageBox("hi u r connected to the application")
Cookie = oCompany.GetContextCookie
EncryptedCookie = oApplication.Company.GetConnectionContext(Cookie)
nerr = oCompany.SetSboLoginContext(EncryptedCookie)
oApplication.MessageBox("single sign on worked")
If oCompany.Connected = False Then
nerr = oCompany.Connect
If nerr <> 0 Then
Else
oApplication.MessageBox("Company got connected successfully")
End If
End If
End Sub
Private Sub AddItemsToOrderForm()
oItem = oOrderForm.Items.Item("90")
oNewItem = oOrderForm.Items.Add("s1", SAPbouiCOM.BoFormItemTypes.it_STATIC)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
ostatic = oNewItem.Specific
ostatic.Caption = "Referal Name"
oNewItem.FromPane = 3
oNewItem.ToPane = 3
oItem = oOrderForm.Items.Item("81")
oNewItem = oOrderForm.Items.Add("e1", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
oedit = oNewItem.Specific
oNewItem.FromPane = 3
oNewItem.ToPane = 3
oedit.DataBind.SetBound(True, "OHEM", "U_rename")
oItem = oOrderForm.Items.Item("s1")
oNewItem = oOrderForm.Items.Add("s2", SAPbouiCOM.BoFormItemTypes.it_STATIC)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
ostatic = oNewItem.Specific
ostatic.Caption = "ReferalEmp No "
oNewItem.FromPane = 3
oNewItem.ToPane = 3
oItem = oOrderForm.Items.Item("e1")
oNewItem = oOrderForm.Items.Add("e2", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
oedit = oNewItem.Specific
oNewItem.FromPane = 3
oNewItem.ToPane = 3
oedit.DataBind.SetBound(True, "OHEM", "U_reid")
oItem = oOrderForm.Items.Item("s2")
oNewItem = oOrderForm.Items.Add("s3", SAPbouiCOM.BoFormItemTypes.it_STATIC)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
ostatic = oNewItem.Specific
ostatic.Caption = "Floor"
oNewItem.FromPane = 3
oNewItem.ToPane = 3
oItem = oOrderForm.Items.Item("e2")
oNewItem = oOrderForm.Items.Add("e3", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
ocombo = oNewItem.Specific
ocombo.ValidValues.Add("", "")
ocombo.ValidValues.Add("FLOOR1", 0)
ocombo.ValidValues.Add("FLOOR2", 1)
ocombo.ValidValues.Add("FLOOR3", 2)
ocombo.ValidValues.Add("FLOOR4", 3)
ocombo.ValidValues.Add("FLOOR5", 4)
oNewItem.FromPane = 3
oNewItem.ToPane = 3
ocombo.DataBind.SetBound(True, "OHEM", "U_refl")
oItem = oOrderForm.Items.Item("3")
oNewItem = oOrderForm.Items.Add("s4", SAPbouiCOM.BoFormItemTypes.it_STATIC)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
ostatic = oNewItem.Specific
ostatic.Caption = "Referal Details"
oNewItem.FromPane = 0
oNewItem.ToPane = 0
oItem = oOrderForm.Items.Item("33")
oNewItem = oOrderForm.Items.Add("e4", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oNewItem.Left = oItem.Left
oNewItem.Top = oItem.Top + 18
oNewItem.Width = oItem.Width
oNewItem.Height = oItem.Height
oNewItem.Visible = True
oedit = oNewItem.Specific
oNewItem.FromPane = 0
oNewItem.ToPane = 0
addcfl()
oedit.DataBind.SetBound(True, "OHEM", "U_refer")
oedit.ChooseFromListUID = "cfl_1"
oedit.ChooseFromListAlias = "firstName"
End Sub
Public Sub New()
MyBase.New()
setapplication()
End Sub
Private Sub LoadFromXML(ByRef FN As String)
Dim oXmlDoc As Xml.XmlDocument = New Xml.XmlDocument
Dim sPath As String
sPath = IO.Directory.GetParent(Application.StartupPath).ToString
oXmlDoc.Load(sPath & "\" & FN)
oApplication.LoadBatchActions(oXmlDoc.InnerXml)
End Sub
Public Sub oApplication_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles oApplication.ItemEvent
If pVal.FormType = "60100" Then
If ((pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_LOAD) And (pVal.Before_Action = True)) Then
oOrderForm = oApplication.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount)
AddItemsToOrderForm()
End If
End If
If pVal.FormTypeEx = "60100" And pVal.ItemUID = "e4" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST And pVal.InnerEvent = False Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
If oCFLEvento.Before_Action = True Then
oform = oApplication.Forms.ActiveForm
Try
oCFL = oform.ChooseFromLists.Item("cfl_1")
Dim oDataTable As SAPbouiCOM.DataTable
Dim oEdit As SAPbouiCOM.EditText
Dim Name As String
oform = oApplication.Forms.Item("60100")
oDataTable = oCFLEvento.SelectedObjects
oEdit = oform.Items.Item("e4").Specific
Name = oDataTable.GetValue("firstName", 0)
oEdit.String = Name
Catch ex As Exception
oApplication.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_None)
End Try
End If
End If
If oedit.Value = "firstName" Then
LoadFromXML("new.srf")
oform = oApplication.Forms.Item("re_form")
oform.Visible = True
oedit = oform.Items.Item("cf1").Specific
End If
End Sub
Private Sub addcfl()
Dim ocflcreation As SAPbouiCOM.IChooseFromListCollection
ocflcreation = oApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
ocflcreation.MultiSelection = True
ocflcreation.ObjectType = "171"
ocflcreation.UniqueID = "cfl_1"
oCFLs = oform.ChooseFromLists
oCFL = oCFLs.Add(ocflcreation)
End Sub
End Class
Regards
Bhuvana -
Choose From List From a UDT in SAP Business One 2005 A
Hi All
How to develop a Choose From List from a <b>User Defined Table</b> (not from System Tables) in SAP Business One 2005 A.
I need the Choose From List should display the records stored in the UDT.
Any Idea ?
Thanks in Advance.
Regards.
Asutosh.Hi Asutosh,
You can add a CFL to a User Defined Object, not a simple User Defined Table.
In order to do it you only have to set the object type of the CFL to the code of your UDO.
Here you have a simple:
oCFLCPuo = SB1_App.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
oCFLCPuo.ObjectType = "MY_UDO_CODE"
oCFLCPuo.UniqueID = "UserObjectCFL"
oCFLuo = oForm.ChooseFromLists.Add(oCFLCPuo)
Hope it helps
Trinidad.
Maybe you are looking for
-
Found by accident yesterday when my iPhone connected to the WiFi in Starbucks in Hamburg. When checking the SSID I found it was BT Openzone and when trying the connection App with my standard login details.... It worked! Currently enjoying free WiFi
-
My Ethernet won't connect online anymore
Just a little while this was working. I am using a school network so I have no control over the router, it's public. I had to change my MAC address in order to connect and for a couple of months it's been working, even today. I don't know what change
-
Global Setting for ALV Table in webdynpro
Hi guys, We are in process of upgrading to EHP7 and ABAP-7.4 and we are facing one small issue on default ALV table setting where we are not getting Grid line = 'All' insist we are getting Grid Line = 'Horizontally'. I have seen lots of thread sugge
-
Total Amount Spend (ekbe-dmbtr) on Material & Vendor
Hi, In My first ITAB, I have a list of Material & It's related Vendor Like, Material Vendor MM1 ABC MM2 ABC MM2 XYZ MM3 MNO In my next ITAB I need to find Total Amount Spend for this Material on It's V
-
Hi I have a HP500 laptop, which I want to restore, it has Windows Vista installed. . I have marked the HP recovery drive as active and restarted the machine, now it gives me an error: "A critical support file is needed to run the HP recover manage