Associate a UDF in Matrix column with ChooseFromList
i have created a UDF column in the Project form (711).
I would like to associate this UDF column with CFLs of the Business Partner.
Does anyone has the sample ?
Hi
Once you create a Column with UDF,it will act like a SBO column.For SBO fields(System Fields) SBO will not allow you to add CFL.We tried it but failed to do.
But Work around is that you can use formatted search.
Regards
Vishnu
Similar Messages
-
Hide Matrix column With Parameter
Hi
I,m trying to hide matrix columns with parameters. If i for example have one matrix column with for example tre metrix values (Jan, Feb, and Mar). I have an expression with the values Jan, Feb, Mar with witch i would like to decide which
columns to show in the matrix column. In cases when i have a real column i use code as below in the column. But now that this three columns basically exists in one matrix column i dont know how to solve it. Anybody that has a soluiton on this preferably
some example code on the example.
IIF(INSTR(JOIN(Parameters!ColumnChoser.Value,
","),"Jan")>0,False,True)
Best regards Arne
Arne OlssonWhy not restrict data to only show the months you passed. Matrix creates columns based on data available so what you need is a filter like this in query below
WHERE ','+ @MonthList + ',' LIKE '%,' + MonthName + ',%'
assuming @MonthList as parameter through which you pass Jan,Feb etc and MonthName is column of the table containing corresponding month names used as matrix column group.
Please Mark This As Answer if it helps to solve the issue Visakh ---------------------------- http://visakhm.blogspot.com/ https://www.facebook.com/VmBlogs -
Binnding matrix column with dbdatasource column
Hi experts,
Iam using a matrix to list the sales employeess...(similar to that of SalesEmployee master form ), iam bindng my columns with dbdatasource columns,
so when i bind a column with dbdatasource column of type numeric(19.6), default value of 0.00000 is getting displayed in the column, so how can i prevent displaying 0.00000 .
I want to only display the value if it is >0.
Regards,
RejishRajan.T.NHI,
It is easy. if The cell type is Edit then you can control of the Supperssing Zeros.
Sample: (i know you have it already)
To do:
1. Create matrix add column type it_edit
2. load data
3. Set supresszeros to true of the cell !
oColumn = oColumns.Add("QTY", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oColumn.TitleObject.Caption = "QTY"
oColumn.Width = 40
oColumn.Editable = True
oColumn.DataBind.SetBound(True, "", "QTY")
'load data
For i As Integer = 1 To oMatrix.RowCount
Dim oEditText As SAPbouiCOM.EditText = oMatrix.Columns.Item("QTY").Cells.Item(i).Specific
oEditText.SuppressZeros = True
Next
regards,
J. -
Problem in Matrix column -- ChoosefromList
Hello
I created a user defined form with matrix of 4 column .Column No:3 is of type ChoosefromList. When the single row of the matrix is filled with the values ChoosefromList (Column.No:3) is working good.
When multiple rows are filled in matrix say 1,2,3,4,5 .After filling the 5 rows ,if i want to change value of the 2nd row column no:3 (where i used choosefrom list),the newly selected value from the ChoosfromList get displayed in the 5 th row column no:3.
The following is the code snippet :
If (pVal.ColUID = "DNGLANo") Then
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
DNForm = SBO_Application.Forms.Item(FormUID)
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = DNForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
Dim val As String
Try
val = oDataTable.GetValue(0, 0)
DNEdTGLA = DNColumn12.Cells.Item(DNMatrix3.RowCount).Specific
DNEdTGLA.Value = val
Catch ex As Exception
End Try
End If
End If
End IfSince you mentioned matrix rowcount, the CFL value is displayed in last row and hence replace matrix.rowcount with pval.row.
If (pVal.ColUID = "DNGLANo") Then
If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
oCFLEvento = pVal
Dim sCFL_ID As String
sCFL_ID = oCFLEvento.ChooseFromListUID
DNForm = SBO_Application.Forms.Item(FormUID)
Dim oCFL As SAPbouiCOM.ChooseFromList
oCFL = DNForm.ChooseFromLists.Item(sCFL_ID)
If oCFLEvento.BeforeAction = False Then
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
Dim val As String
Try
val = oDataTable.GetValue(0, 0)
DNEdTGLA = DNColumn12.Cells.Item(pval.row).Specific
DNEdTGLA.Value = val
Catch ex As Exception
End Try
End If
End If
End If -
How to create a matrix with choosefromlist? the value of my choosefromlist is a UDO.
I have already registered my UDO.
Under collection tab, i added choosefromlist where my objectType is the name of my UDO.
In columns tab, i set the following:
databound = True
Table = @userTable
Type = it_Edit
Specific:
ChooseFromListAlias = u_ItemNo
ChooseFromListUID = CFL_4
Still, when in preview mode, there is no choosefromlist visible.
Is there something i did wrong?
Thanks in advance. =)>
Yatsea Li wrote:
> Hello Gabbo,
>
> Just set the object type as your UDO type. Don't forget the set the find columns when define the UDO. e.g..
>
' Adding 2 CFL, one for the button and one for the edit text.
> oCFLCreationParams.MultiSelection = False
> oCFLCreationParams.ObjectType = "SMC_OMOV"
> oCFLCreationParams.UniqueID = "CFL1"
>
> Kind Regards, Yatsea
Hi Yatsea!
How about in screen painter instead of coding? Is there a way? Thanks!
and I have another problem, I created matrix from screen painter, it's working okay, but when I load it from code, I cannot select a column (the column is "it_edit" so I should be able to input data from it). I am sure that I have set the matrix and its columns as editable but yet it's not working. Any idea why? Thanks! =) -
I am working with Report Builder 3.0 I am using a matrix to produce grouped data on separate worksheets in excel.
The select is:
SELECT ID, Measurement, Value, [Date] FROM Measurements_Report. (please ignore the underscores they are just for formatting)
The contents of the Measurements_Report table:
ID__Measurement__Value__[Date]
1___Hot_________33_____10/1/2014
2___Hot_________44_____10/2/2014
3___Cold_________55_____10/2/2014
The matrix contains a single row group based on the field "measurement". The Measurement group has the page break option of "Between each instance of a group" selected.
There is a column group based on the field "Date".
When this is matrix is exported to excel on the first worksheet (Hot) there are three columns as shown below:
ID__10/1/2014____10/2/2014___10/2/1014
1___33
2_______________44
Notice the last column doesn't have a value.
On the second worksheet (Cold) there are also three columns as shown below:
ID__10/1/2014___10/2/2014___10/2/1014
3__________________________55
This time notice there is only one row and only a value in the last column.
I only want the columns with data for that worksheet to show up. How can I remove these empty/duplicate columns? Hopefully there is a simple fix. Thanks ahead of time.With the following contents of the Measurements_Report table:
ID__Measurement__Value__[Date]
1___Hot_________33______10/1/2014
2___Hot_________43______10/1/2014
2___Hot_________44______10/2/2014
3___Cold________55______10/2/2014
Returns on the first tab (Hot):
ID__10/1/2014____10/1/2014____10/2/2014
1___33
2_________________43
2______________________________44
In the excel worksheet it contains a separate column for each date with a value. Thanks again!
Why is the same date repeating on multiple columns? Do you've the time part also returned from database?
Please Mark This As Answer if it solved your issue
Please Mark This As Helpful if it helps to solve your issue
Visakh
My MSDN Page
My Personal Blog
My Facebook Page -
Problem with Matrix columns of type Float
Hi all!
I need to show in a matrix column a quantity with the number of decimal set in SBO. My code is:
Dim dt As SAPbouiCOM.DataTable = oFrm.DataSources.DataTables.Add("PCKG")
dt.Columns.Add("clQta", SAPbouiCOM.BoFieldsType.ft_Float, 30)
oCl = oGrid.Columns.Add("clQta", SAPbouiCOM.BoFormItemTypes.it_EDIT)
oCl.Width = 100
oCl.TitleObject.Caption = tr.getTranslation("clQta") '"Quantità"
oCl.DataBind.Bind("PCKG", "clQta")
In this way the number of decimal that i see is 2 because the field type is Float, but in SBO parameterization i have set 4 decimal and would like to see the same number of decimal set in SBO parameterization.
How can I do?
ThanksHi,
If i know well, this is now a limitation of B12007 version. in 8.8 this problem will be resolved.
othwewise of you set all the prices, Quantities, Sumarizes to 4 it will display for. I think it is now displaying the Quantity settings. (float)
Regards,
J.
Edited by: János Nagy on Oct 7, 2009 12:50 PM -
Problem with Matrix columns of type Quantity
Hi all!
I need to show in a matrix column a quantity with the number of decimal set in SBO. My code is:
Dim dt As SAPbouiCOM.DataTable = oFrm.DataSources.DataTables.Add("PCKG")
dt.Columns.Add("clQta", SAPbouiCOM.BoFieldsType.ft_Float, 30)
In this way the number of decimal that i see is 2, but in SBO parameterization i have 4 decimal.
How can I do?
ThanksHi,
Check this option. Go to Administration -> System Initialization -> General Settings -> Display tab. Here check the Decimal places for Quantities. It might be 4. Change it to 2 and recheck the value in your form.
Hope this helps.
Regards,
Satish. -
Is it possible to fetch matrix column through formatted search in UDF?
HI,
Is it possible to fetch the value of first row of quantity column in user defined field through formatted search?
SELECT $[$38.11.number]
does work but in user defined column of matrix only. I have requirement that when there will be only one row in matrix, the quantity should be accessible in user defined field. and for this, the above query gives internal error.
thanks and regards,
BinitaDavid,
I used the query sent by you and further facing following problem. may be my filtering is on wrong parameter.
SELECT $[rdr1.quantity] * $[ordr.u_qty1.number] from ordr o, rdr1 r where o.cardcode= $[ordr.cardcode] and r.itemcode = $[rdr1.itemcode]
this query gives correct result when assigning to matrix column.
when I applied the same query to user defined field, then after selecting the row as suggested by you, it does give value but, in this case, it takes it from rdr1 instead of from matrix.
for example, I have selected item A001 in matrix. if that item is already there in rdr1, then it fetches its quantity from table instead of that provided by me in matrix's quantity column
Please guide further,
thanks in advance,
Binita
Edited by: Binita Joshi on Jun 5, 2008 2:45 PM
even
SELECT $[$38.11.number] * $[ordr.u_qty1.number] from ordr o, rdr1 r where o.cardcode= $[ordr.cardcode] and r.itemcode = $[$38.1.0]
is not working. no clues. -
How to set default value in matrix column
Hi all,
Does any one know how to set a default value in matrix column ?. I just want , when an event right click and add row. so i set a default value in a column field for example 'Test'. FYI the matrix is in the UDO.
so my code will be like this
If pVal.ItemUID = "Matrix" And pVal.MenuUID = "1292" Then
Try
Dim oColumn As SAPbouiCOM.EditTextColumn
Dim matrix As SAPbouiCOM.Matrix
matrix = oForm.Items.Item("Matrix").Specific
oColumn = mat.Columns.Item("Code").specific
oColumn.Value = "Test"
Catch ex As Exception
Debug.Print(ex.Message)
Debug.Print(ex.ToString)
End Try
End If
I have run it and when i right click and add row it still can not set the default value in one of the matrx column.
does any one know how to solve it. thanks in advanceHi Bodhi
Sandeep is right you can set value using SetValue() function
If pVal.ItemUID = "Matrix" And pVal.MenuUID = "1292" Then
Try
Dim matrix As SAPbouiCOM.Matrix= oForm.Items.Item("Matrix").Specific
oForm.DataSources.DBDataSources.Item("UDT").Clear()
matrix .AddRow()
matrix .FlushToDataSource()
With form.DataSources.DBDataSources.Item("UDT")
.SetValue("UDF", matrix .RowCount - 1, "Test")
End With
matrix .LoadFromDataSource()
Catch ex As Exception
Debug.Print(ex.Message)
Debug.Print(ex.ToString)
End Try
End If -
Length of Uniqueid for matrix Column
There appears to be an inconsistency in the length of the UniqueID that can be used for a matrix column.
For an Addon in 2005 I have UDFs whose name is 12 characters long (including the U_), when appearing in matrix on a system form the system uses the UDF name for the columnID.
However if I try to do the same thing when adding a column to a matrix on a user form I get error -7013 'The string value entered is too long; it should be less than 10 characters [66000-14]'.
Mirroring the UDF name as the column Id allows me to have generic code with out the need to jump through hoops to aling columns and field names.
Is this a known issue for which there is a fix available?Hi Graham,
It's a known issue but I'm not sure if a fix will be provided (it's a 'by design' feature and not a bug). I tested this in SBO 2007A and you still cannot have a matrix column in a user-defined form with a unique id of more than 10 chars.
Unfortunately, you'll need to code a workaround or reduce your UDF sizes to 10 characters.
Also, if you haven't already done so, I'd recommend you create a suggestion on the development collaboration forum:
/community [original link is broken]
Kind Regards,
Owen -
How to Calculate Line items Total of Matrix Column
hai experts,
Im facing a problem like
1. i have a matrix with a column Labour Costs in that im taking some cost.
2. in footer a have a Edit Text like Total Labour Cost
3 when i enter amount in matrix column it sholud disply that value in total labour cost and when we add new row ,labour cost it should add to 'total labour cost' in footer.Like Invoice Documents.Where do you want to implement this like sapscript / smartforms or adobe forms? please specify.
-
Updating and Loading a Matrix Row with Mix of DB and Non DB fields
Hi
I'm using SAPB1 2005 SP1 PL14 with B1DE 1.3
I have a matrix on a form that was generated by the UDO Form Generator. The Matrix contains data associated from a Document Lines table.
The underlying table and (therefor the matrix as well) only had 1 user field (column)
I've added a set of additional (read only) columns to the matrix together with supporting non db user datasources for each column. I've bound the new columns to the user datasources.
The new columns are only informational and should display data associated with the actual db field (column) in the matrix.
I require assistance / advice with 2 requirements:
<i>Requirement 1.
When loading the matrix, I'd like the non DB columns to be populated with data associated with the actual DB field.</i>
<i>Requirement 2.
When Adding / Updating the actual DB field in the matrix, I'd like the Non DB columns to be populated with the assocaited data.</i>
I've managed to get requirement 2 working by using a matrix onValidate Event. (not sure if this is the best approach?)
Any idea how I can achieve requirement 1 ?
Cheers,
BenHi Trinidad,
Putting the additaional columns in the table will result in me storing redundant info in the specific table.
The values are already stored in other related tables and I'd just like to display them as additional info fields.
.Ben -
SSRS 2008R2 : Not able to use Previous aggregrate function in matrix columns cell
Hi Expert,
I have used a matrix tablix in my report. It is working fine. But when I am trying to use Previous aggregrate in one matrix column cell I get the below error:
The use of previous aggregrate function ia a tablix cell with in 'Tablix1' is not supported.
Please help me regarding that.
Thanks RanaHi Rana,
In your scenario, you use previous function in the “Data” cell, right? Previous function cannot be used in the overlapping parts of row group and column group. One workaround of this issue is use custom code to get the previous value.
Public Shared previous as Integer
Public Shared current as Integer
Public Shared Function GetCurrent(Item as Integer) as Integer
previous=current
current=Item
return current
End Function
Public Shared Function GetPrevious()
return previous
End Function
Then you can use the expression below in the “Data” cell to get the previous value:
=Code.GetCurrent(fields!Score.Value) & "-Previous-" & iif(Code.GetPrevious()=0,"",Code.GetPrevious())
If you have any questions, please feel free to ask.
Regards,
Charlie Liao
TechNet Community Support -
Populating a matrix cell with data selected from a picker
Dear All,
I am new to SAP Bussiness one, please let me know how to get the selected data from a picker in to a matrix cell. I have warehouse code and warehouse name in the picker. I want the user selected warehouse code in the matrix cell
Below is my code But I am not getting the selected code in the matrix cell
I am adding the datasource as below
oUserDataSource = oForm.DataSources.UserDataSources.Add("UDCFL", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
Then I am adding the choose list as below
Private Sub AddChooseFromList()
Try
Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
Dim oCons As SAPbouiCOM.Conditions
Dim oCon As SAPbouiCOM.Condition
oCFLs = oForm.ChooseFromLists
Dim oCFL As SAPbouiCOM.ChooseFromList
Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
oCFLCreationParams = SBO_Application.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
' Adding 2 CFL, one for the button and one for the edit text.
oCFLCreationParams.MultiSelection = False
oCFLCreationParams.ObjectType = "64"
oCFLCreationParams.UniqueID = "CFL1"
oCFL = oCFLs.Add(oCFLCreationParams)
Catch
MsgBox(Err.Description)
End Try
End Sub
*Then I am binding the data as below to the matrix column*
oColumn = oColumns.Item("colToWhs")
oColumn.DataBind.SetBound(True, "", "UDCFL")
oColumn.ChooseFromListUID = "CFL1"
Then in the event i have added the below code.
Dim oDataTable As SAPbouiCOM.DataTable
oDataTable = oCFLEvento.SelectedObjects
Dim val As String
Try
val = oDataTable.GetValue(0, 0)
Catch ex As Exception
End Try
oForm.DataSources.UserDataSources.Item("UDCFL").Value = val
End If
But the code is not getting populated in the matrix cell. Please let me know at the earliest
Thanx in AdvancesOLVED
Maybe you are looking for
-
Hi BW Guru's Last week my client inistall BW 3.5 server and they give me 120 as client no and IP adress . today i enter the server with my user id and password with 120 client. i enter Tcode RSA1 screen it display the messeage " u can work on cli
-
Music stops between songs?
There's a huge thread that tried to address this problem, but it's almost completely useless because of the myriad other problems mixed into the thread. For three years, itunes has had problems playing my music. In between songs, it hangs about 3 se
-
I would like to refer (link to) an empty cell in a other sheet, but always get a "0". In my data, there are real 0 values, but there are also empty values (when a test has not been done at a specific date). How can a create a link to an empty cell in
-
Hello All, I just got a Mac Pro with Lion Server Pre-Installed. I set everything up without a hitch for the most part and everything seems to be running fine. My problem is after a server reboot for the umteenth time there are now 88 users when there
-
I need a print out of initial activation!
How can I get a print out of my initial activation of my cell phone?