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 If
Since 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
Similar Messages
-
Hi,
In a matrix column if all row contains data 'A' means in the header text it should display 'A' but if in matrix column if 5 rows contains 'A' and 3 rows contains 'B' means in the header text should display 'B'. How to do this i have done but its not working correctly in all entries.
Regards,
madhaviHi Madhavi,
sounds like an algorithm problem in your code.
you problem should be no big deal:
1. you have have two counter variables
2. go through the matrix.rowcount
3. look in the column if there's A or B
4. add 1 to the correct counter
5. look which counter is higher - more A or more B
6. set the column title.
lg David -
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. -
Problem in Matrix while Populating Data
Hello All,
I am facing a problem in matrix column in SAP 8.8
I am filling a matrix with data from a table ITT1.
Matrix1 = oChlSelc.Items.Item("3").Specific
oChlSelc.DataSources.DataTables.Add("Approval")
oChlSelc.DataSources.DataTables.Item("Approval").Clear()
Dim Str_Query As String = "Select Father,Code,Quantity From ITT1"
oChlSelc.DataSources.DataTables.Item("Approval").ExecuteQuery(Str_Query)
Matrix1.Columns.Item("col_1").DataBind.Bind("Approval", ",Code")
Matrix1.Columns.Item("col_2").DataBind.Bind("Approval", "Quantity")
matrix1.LoadFromDatasource
The problem is that the data is getting populated in the matrix without any problem but the Quantity field is not showing the
exact Value means its showing the RoundOff Value i.e. 1.45 = 1
If Quantity is 1.45 in matrix column its showing 1 .
That what i am facing .
Thanks
AmitHi Amit
Its working fine in my system
and also im getting the quantity value as 1.00 by using this code
Dim matrix1 As SAPbouiCOM.Matrix
Dim oform As SAPbouiCOM.Form
oForm = SBO_Application.Forms.Item("frm_test")
matrix1 = oForm.Items.Item("1").Specific
oForm.DataSources.DataTables.Add("Approval")
oForm.DataSources.DataTables.Item("Approval").Clear()
Dim Str_Query As String = "Select Father,Code,Quantity From ITT1"
oForm.DataSources.DataTables.Item("Approval").ExecuteQuery(Str_Query)
matrix1.Columns.Item("V_0").DataBind.Bind("Approval", "Code")
matrix1.Columns.Item("V_1").DataBind.Bind("Approval", "Quantity")
matrix1.LoadFromDatasource()
Thanks
Shafi -
Problem with checkbox column in matrix
Hello.
I have a little problem with checkbox column in matrix.
Column is binded to the UserData.
It has ValOn="Y", ValOff="N".
I use C++. It is wird problem. In matrix I have 10 columns - scrollbar role and if You want see checkbox column, You must role to the right. If this column is on the screen, and I use:
checkcell->PutChecked(VARIANT_TRUE);
then the checkbox is cheched, and if the checkbox isn`t on the screen and I use this comment - it nothing happening.
I tried to use ValOn="Y", PutChecked...
The problem i solved if the column is on the screen - if the column is first in matrix or second, but if it`s last I have a big problem.
My column with checkbox is not editable, but I tried to make it editable, check it, and then make it uneditable - the same efect.
How can I solve it ?
Sorry for my english.
Kamil WydraHello Kamil,
I am not sure about your problem, but here is an example of how to use checkbox in UI API.
First, create the matrix with checkbox column in Screen painter, and the output is an xml file, like this. Type as 121 indicates that it is a check box.
- <column AffectsFormMode="0" backcolor="-1" description="" disp_desc="0" editable="0" right_just="0" title="Rented" type="121" uid="Rented" val_off="N" val_on="Y" visible="1" width="41">
<databind alias="U_RENTED" databound="1" table="@VIDS" />
<ExtendedObject />
Second, bind the column to table from DB. This is a bug of 2004 Screen Painter, so if you are using 2005 Screen Painter, there is no problem.
Third, when you open the form, you can check and uncheck the cell.
BTW, please set the editable of the column to true.
Hope this helps,
Nick -
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! =) -
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.
-
Check box in matrix column bind correctly but doesn't appear check sign
Dear Sirs,
I have a check box in a matrix column (the matrix is placed i an extra folder in the item master data form).
The column is bound to a DBDataSource related to the user defined table @IIT_ITM1 as reported in the following code. The table field bound to the check box column is alphanumeric of size 1.
I use the following code:
oCln = oMtx.Columns.Add("Per_coll", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX);
oCln.DisplayDesc = true;
oCln.Description = "For test";
oCln.TitleObject.Caption = "For test";
oCln.ValOn = "Y";
oCln.ValOff = "N";
oCln.Width = 60;
oCln.DataBind.SetBound(true, "@IIT_ITM1", "U_IIT_PerColl");
oCln.Editable = true;
The problem is: the binding to the database work (if I click on the check box and save the data, then the database content change accordingly) but I CANNOT LET THE USER SIGN APPEAR on the check box control!
Does anyone have the solution?
Thank you for help
MassimoNo response from the forum
-
Hi Guys,
I have a matrix which is on the UDO form. I have bound all the columns with DB DataSources. I have one column of combobox type where in the back end i have the valid values
"1-Approved"
"2-Pending"
"3-Rejected"
The problem here is that when the form is opened the matrix column only shows values 2 and 3 ("2-Pending","3-Rejected").
I also have another Column with 2 Valid values, again facing the same problem. Only one value is being shown.
But in the backend when i check in the "Manage User Fields" Screen all the 3 Valid values are visible.
Am i doing something wrong..??
Thanks in Advance,
Vasu Natari.Hi,
For me, even if the validvalues are added, it is working. Real.
Here is a code for matrix columns, and it is shows me on the form the description.
You must have to add of course validvalues to show the description (as in the description). This sample
is shows you the ship types of orders. You also can use userdatasources....
Sub ComboDesc()
Dim oForm As SAPbouiCOM.Form = m_SBO_Application.Forms.Add("TEST_MTX")
oForm.Visible = True
Dim oitem As SAPbouiCOM.Item = oForm.Items.Add("MTX", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
With oitem
.Top = 5
.Left = 5
.Width = oForm.Width - 15
.Height = oForm.Height - 15
.AffectsFormMode = False
End With
Dim oMatrix As SAPbouiCOM.Matrix = oitem.Specific
Dim oColumns As SAPbouiCOM.Columns = oMatrix.Columns
Dim oDBDataSource As DBDataSource = oForm.DataSources.DBDataSources.Add("ORDR")
Dim oColumn As SAPbouiCOM.Column = oColumns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT)
With oColumn
.TitleObject.Caption = "#"
.Description = .TitleObject.Caption
.Width = 30
.DataBind.SetBound(True, "ORDR", "DocEntry")
.Editable = False
End With
oColumn = oColumns.Add("COL1", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
With oColumn
.Width = 80
.TitleObject.Caption = "ShipType"
.Description = .TitleObject.Caption
.Editable = False
.DataBind.SetBound(True, "ORDR", "TrnspCode")
.DisplayDesc = True
.Visible = True
End With
Dim vv As SAPbouiCOM.ValidValues = oColumn.ValidValues
Dim ors As SAPbobsCOM.Recordset = ocmp.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset)
ors.DoQuery("select * from OSHP")
Do While Not (ors.EoF)
vv.Add(ors.Fields.Item(0).Value, Left(ors.Fields.Item(1).Value, 30))
ors.MoveNext()
Loop
oDBDataSource.Query()
oMatrix.LoadFromDataSource()
End Sub
Regards
J. -
Changing Matrix column title?
Hi all,
Is it possible to change a matrix column title using the ColumnTitle.Caption property? I have tried using the following code but it does not work:
'Sales order form - Add mode.
If pVal.FormType = 139 And pVal.FormMode = 3 Then
'After form loads
If pVal.EventType = et_FORM_LOAD And pVal.Before_Action = False Then
'SO form.
Set oForm = oApp.Forms.Item(FormUID)
Set oItem = oForm.Items.Item("38")
Set oMatrix = oItem.Specific
Set oColumn = oMatrix.Columns.Item("1")
oColumn.TitleObject.Caption = "Item Code"
End If
End If
Thank you.
Andrew.Hi John,
Thanks for the reply. Your questions/suggestions led me on a path to finding the problem and a solution.
I tried the same block of code in another company db and it changed the column title fine. The reason it wouldn't work in the current company db I'm working on was because I had previously changed the column title to 'Item No.' (using ctrl & double-click). So the SDK was changing the Original Description but the new desc. of 'Item No.' remained unchanged. As soon as I deleted the new desc. the SDK worked fine.
Thanks for your help.
Regards,
Andrew. -
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. -
Re:Picture in Matrix column
Hi,
I have Created a Matrix.I want to set a button like picture in one of the column in the matrix.How to achieve this.
Thanx in advance
MohanaHi Petr,
I have used the following code for loading the image in the matrix column.my problem is, no image is loading on the column.How should i achieve this
Dim odbtable As SAPbouiCOM.DataTable
Dim sql As String
odbtable = oForm.DataSources.DataTables.Add("VEP")
sql = "SELECT u_path from [@skil_attach]"
odbtable.ExecuteQuery(sql)
oInspecCol = oColumns.Item("Inspec")
oInspecCol.Editable = False
oInspecCol.DataBind.Bind("VEP","U_Path")
I have created the table as skil_attach and i added a field as path with alphanumeric - 254
Thanx in advance
Mohana -
I want to do editable a matrix column
Hi all! I want to write a value in a not editable column of a matrix, so first i try to do editable the column,and then write the value,so i do this:
Matrix.Columns.Item("34").Editable = True
But i get this error:
Item - the item is not a user defined item
I'm working with the withholding tax table(column account). What can i do?Hi Miguel,
There is one solution (not so nice) for your problem, we had the same problem.
1. set the column editable through the gui en restart SBO
In your addon
1. at form load set the column to editable false
2. just before the change, set the column to editable true
3. change the column
4. set the column to editable false.
done
Regards,
Ad -
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
Maybe you are looking for
-
Some terminal color functions, including directory-based prompt colors
All of this code is taken from my ~/.bashrc. Note that some variables are outside of functions. It should be easy to adapt everything below to your own preferences. This is my PS1 prompt. Note how the color variables are used. COLOR_1="\[\e[1;37m\]"
-
I develop an Android app displaying pdf documents that are located in sdcard-directory. Within these master documents I would like to include hyperlinks to documents in a subfolder. Something like "file:///sdcard/myapp/sub/mydoc.pdf" Is this possible
-
Console.app doesn't show up (window)
Hi, a week or so after I've upgraded to 10.9.2 my console.app stopped opening any log file and it doesn't show even a (blank) window. I checked the activity monitor and it seems to be working. I've typed "tail -f /var/log/system.log" in a terminal wi
-
DiskUtility error: unable to bootstrap transaction group
I get this bootstrap error with a checksum mismatch but searching only found 1 other person with 'chksum mismatch' with 1 reply which was not of use. "Unable to bootstrap transaction group 611: cksum mismatch Unable to bootstrap transaction group 609
-
Hi, I buy iPhone 4s 16G white new today, but when I check serial number on apple support, that is invalid serial number, the serial number is not recognised. Then I check by using IMEI, "our records indicate that this product has been replaced. Pleas