Matrix column
Hai,
How can i freez the matrix column.
eg.
for example there are 20 columns in the matrix . I need to freez still 5 column. so that when the user can scroll and enter the data easily.
regards
Suresh S
Hi Suresh,
Eventhough its not possible, you can try the following idea. I haven't tried it and I don't have sample code for you, but just think about it.
Say you have columns 1 to 10. 1 to 5 should stay visible (frozen) when the user scrolls to the right. When the user presses the tab key from one column to the next you can see which column is selected. If it is column 6 you do nothing. If you get to column 7, hide column 6. If you get to column 8, hide column 7, etc.
You need to think about this a bit more in detail, but I hope the suggestion will put you in the right direction.
Hope it helps,
Adele
Similar Messages
-
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.
-
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 -
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 -
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
-
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 display calculated matrix columns in a graph?
Hi,
I am working in VisualStudio 2010 hitting SQL Server 2012 to build SSRS reports.
I have a need to graph year over year percentage growth as derived from two SSRS matrix columns. Everything is working except that the chart displays only one value for each year series, rather than displaying the correct percentages for each audience
for each of the two years.
The values in the chart series properties are called with the expression: =ReportItems!YoYGrowthPercent2014.Value (or =ReportItems!YoYGrowthPercent2014.Value, respectively), where "YoYGrowthPercent2014" is the name of the detail cell holding
the expression to calculate the growth percentage at the audience level in the matrix.
It looks like it should work yet the results are incorrect. I've read several hundred articles and posts at this point and do not have an answer.
Is there any way to do this? It seems like it should be so simple, and yet...
Thank you!
~Khrys.I can reproduce your issue. If you toggle open Audience P I think you will find the very last value for the last Category and the last Product_Group will be around 15% for Growth 2014 and around 23% for Growth 2015. The chart series expression
is choosing the last value for ReportItems!YoYGrowthPercentage as it doesn't know how to attribute that ReportItem to the Audience matrix. If you want a chart to display only the percentage for Audience, I suggest that you have a separate data
source with the values for GrowthPercentage for only the Audiences, and make that the data source for your chart. Also, I would make the growth figures in your matrix also a matrix by doing the percentage calculation directly in the table. You would pull in
the value for this year and the value for last year into your data set, and then do the calculation within the report as follows:
=SUM(Fields!Value.Value)/Sum(Fields!LastYearValue.Value)-1
Create a second Column Group adjacent after, also by year. Your query could look something like this, depending on how your tables are structured:
SELECT a.Audience, a.Category, a.ProductGroup, a.Year, a.Value, b.Year as LastYear, ISNULL(b.Value,0) as LastYearValue
FROM YoYGrowth a LEFT OUTER JOIN
YoYGrowth b ON a.Audience = b.Audience and a.Category= b.Category and a.ProductGroup = b.ProductGroup
AND a.Year-1 = b.Year
Hope it helps. Cheers,
Martina White -
How to show image in matrix by selecting matrix column type as "it_PICTURE"
Hi All!
Can i show image in matrix, by selecting matrix column type as "it_PICTURE". If yes please write the steps.
Thanks & Regards
SurojitHi
First you have to set the matrix column type as it_PICTURE then bind that column to a userdatasource or dbdatasource. In the following code I am using userdatasource . This code will set the picture to a sepecified columns first row. Please create small image and paste it in your c drive (15X15 size image-- "c:\pic.png")
Dim oColumn As SAPbouiCOM.Column
Dim mtxDisp As SAPbouiCOM.Matrix = form.Items.Item("mtxDisp").Specific
form.DataSources.UserDataSources.Add("udsPic", BoDataType.dt_SHORT_TEXT, 254)
oColumn = mtxDisp.Columns.Item("colPic")
oColumn.DataBind.SetBound(True, "", "udsPic")
mtxDisp.AddRow()
mtxDisp.GetLineData(1) '*Loads UserDataSources from line X*'
mtxDisp.DataSources.UserDataSources("udsPic").ValueEx = "c:\pic.png"
mtxDisp.SetLineData(1) '*Sets Matrix line X based on current UserDataSource values*'
Hope this helps
Regards
Arun -
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 -
Matrix Columns reset in Documents
My customer continues to lose the setting on the width of the doucment columns. This morning, the quote, sales order, invoice and purchase order matrix columns had all reset.
Has anyone else ever seen this?You may check this thread:
User Settings lost after session is released
Thanks,
Gordon -
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. -
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. -
How to get image in the matrix column.
Dear All,
I am using an add-on for displaying image in a matrix column. When user selects an item in the matrix, image corresponding to that item should be displayed in the matrix column. How can I do that.? Please help me regarding this. Any suggestion would be appreciated. Please provide a sample if you can provide.
Thanks & Regards
Ankit ChauhanHello freind
as my suggestion yu can developed it as in activity form like attechment folder.for that yu can create matrix feild type "genral and strcture like "Link" after that yu can give one browse button on which yu open show browser and when select on pertcular file .yu save the path in matrix row .after that when yu select perticlar row yu can link your image.use the logic of actvity form
by this code yu can open the browse to select the file
Public Function FindFile() As String
Dim ShowFolderBrowserThread As Threading.Thread
Try
ShowFolderBrowserThread = New Threading.Thread(AddressOf ShowFolderBrowser)
If ShowFolderBrowserThread.ThreadState = System.Threading.ThreadState.Unstarted Then
ShowFolderBrowserThread.SetApartmentState(System.Threading.ApartmentState.STA)
ShowFolderBrowserThread.Start()
ElseIf ShowFolderBrowserThread.ThreadState = System.Threading.ThreadState.Stopped Then
ShowFolderBrowserThread.Start()
ShowFolderBrowserThread.Join()
End If
While ShowFolderBrowserThread.ThreadState = Threading.ThreadState.Running
System.Windows.Forms.Application.DoEvents()
End While
If FileName <> "" Then
Return FileName
End If
Catch ex As Exception
objMain.objApplication.MessageBox("FileFile" & ex.Message)
End Try
Return ""
End Function -
Change Matrix column backcolor in standard form
Hi, all
Is it possible to change the Matrix column backcolor in standard form?
thanks.hi,
yes it is possible.
oMatrix.Columns.Item("1").BackColor = 16316664 'color codes
regards,
varma -
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.
Maybe you are looking for
-
Hi my name is jeff. I bought a ipod touch 6 months ago it was working untill now. I am wondering why it can stop at any time during any song and go silent for the rest of the song. Ive been having this problem for 2 days now. Wondering if anyone has
-
PDF generation : FileNotFoundException problem
Hi all, I'm developing a dynamic PDF generation module in web application using iText framework. This module creates PDF on the server side then sends it to the client. Sometimes, Even though the PDF file is created on the hard disk, I got FileNotFou
-
Hi, How do we define a custom workflow to generate a report? The report is to get all the users and there attributes from LDAP. I do understand a form also has to be associated with the WF. I have no clue how to head start with custom reporting, Plea
-
How to save incoming email images?
I have a Mac desktop running on Lion OS X. When someone sends me an email with photo attachment, how do I save the photo? I tried right clicking the image and in the drop down box I am prompted to either Copy image or Save Attachment. I tried Copy Im
-
my ipad is password protected and i can't remember the password. when I try to restore it, the itunes restore plugin screen will not appear on my ipad. I have tried to shut down, plug in, and hold down the home button method and only get the passwo