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
Vivek
Hi.
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
Similar Messages
-
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 -
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-CFL button is not visible
Hi Experts,
I am using SAP B1 8.8 PL 05 in ramp up. I have observed that in some of the clients PCs in Sales Order window I am not able to see the Choose from list button / CFL button for selecting Customer Or say Item.
This happens only in some Client PCs, where as in other clients PCs it works fine.
BR
Samir GandhiHi Rashid,
I did that. Now the indicator is displayed, but still I am not able to see the customer / item list.
BR
Samir Gandhi -
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 -
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 -
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. -
Multiple Values For one Condition in Choose From List
I have used one Business Partner Choose From List in my form but i want to give condition in that choose from list on GroupCode .But the condition will have multiple values like 100,102,104 then how i will write the code to incorporate multiple values for one single condition.
Hi,
Check this thread
How to set a Multiple condition in a single CFL
Hope that helps,
Vasu Natari. -
I have made a UDT
and I want to create a choose From List of that table
I know how to create choose frm list for system tables
like making Business partner choose from list
but I'm not able to make choose frm list for UDT
please someone answer my questionHI Riya,
You can link a CFL to a User Defined Object but not a plain User Defined Table. A full list of options can be found in the UI help under BoLinkedObject Enumeration.
Thanks,
Lisa
SAP Business One Forums -
FMS for Instock for a particular Warhouse in Item Choose From List
Dear Experts,
I have an requirement as such that there are e.g 5 warehouses in Item Master Data as A,B,C,D,E. Now while doing any marketing document when the user press tab in the Item No in the choose from list the Instock Column shows the Total Stock in all the warehouses. Means if Item No 123 has stock in Warehouse A - 2, Warehouse B - 3, Warehouse C - 0 so in the Instock Column it would show as the total of all the Warehouse which is 5 but if I want to show only for a particular Warehouse e.g A which is 2 how can I show it in the choose from list.
I have tried to create a UDF also in the Item Master Data and applied a formatted search as :
SELECT T0.OnHand FROM [dbo].[OITW] T0 WHERE T0.WhsCode = 'A' AND T0.ItemCode = $[$5.0.0]
and the udf seems to be working only in the Item Master Window and showing the A warehouse Stock as 2.
I also brought the Udf column in the choose from List of Items but here its not showing any value for the items as desired.
Can anyone please help and let me know what can be done to sort this issue.
Awaiting for a positive response.
Regards,
DepikaHello ..
Depending on the desired goal, another alternative would be to create a user field in marketing documents to detail.
Later in this field formatted user applies a search that brings the stock in the warehouse of the line detail.
This in Toerien argues that if the document you selected Store A, and in that store there is a stock of 10 units, this amount is what brings the document.
This considering that you can not see it in the select list of items
I hope it will help
Best regards, -
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 -
Is it possible to populate a Choose From List manually?
Hi
I've got a requirement in a SDK screen that needs to be written to have a Choose From List contained on a Matrix column that should allow the selection of Item Masters as well as the selection of specific data contained within a User Defined Table. Whenever using ChooseFromLists I've always only ever used them to link to a object such as Items, Sales Order etc. and not a combination, or even to a User Defined Table. Is this even possible.
If not I guess the only way around it would be to create a form mimicking the ChooseFromList which I could populate with what ever I like?
Thanks
SteveHi Steven,
Yes, Its possible which behaves as system CFL.
Design the form like cfl having grid, choose button, cancel button and edittext of find. When you tab on edittext on form open the CFL form and after load form fill the grid by Datatable using sql query. Write code for select grid line on click of grid. Write the code on choose button which retrive value from grid.
Thanks,
Mahesh -
Get cardname along with cardcode usuing Choose From List Button
Hi,
I am using Choose From List button in my form. If I click the button then I can see the matrix containing business partners list and if I choose any business partner from that list then I can see the business partners id or cardcode from ocrd table in the corresponding textbox.
But I want the business partner's name or cardname also should come simultaneously in the next textbox of my form. Can some one provide me any code help for this process.
Regards,
Sudeshna.Hi Sudesha,
You can get the CardName with the following code:
sCardCode = oDataTable.GetValue(0, 0)
sCardName = oDataTable.GetValue(1, 0)
Hope it helps,
Adele -
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
Maybe you are looking for
-
BPS Manual Planning - without Keyfigures?
Hi all! I have a question for BPS-Layouts... It is Possible configurate a layout without a Keyfigure?. My problem is that my customer want to inform some relations between characteristic (only characteristic) using BPS tool and i don't know the way t
-
To display bill of lading in FBL3N
Dear Experts, Could any one please share experience with me that if it is possible to display bill of lading info from MIRO in FBL3N? if so how what configuration needs to be done? Thanks a lot. Regards Simon
-
Changing Crystal 9 Report from ADO to RDO
I have a Crystal report that was written by another company. We are changing it and I wanted to be able to use an ODBC connection vs the ADO connection that is in the report. How do I do that. I did the verify database but it will not recognize th
-
Cannot post reply in my discussion
I'm trying to post a reply to Ralph in a discussion that I started ... however, when I click on 'Post' I get a message stating that 'User asfahan is banned from posting' - no idea who this user is but it's certainly not me .... is there a bug here??
-
Copy package to customize standard report
Hi all, I have a standard tcode that displays an ALV. I need to add fields to the ALV. My research suggests that the package contains no reference to user exits...and the included BAdI has no change parameters that will allow me to add code to effect