Cannot bind matrix columns
Hello,
I try to show a matrix in a system form (the sales opportunities) in a new folder that i've created. The program just crash when i bind the DBDataSource to the Column... Any idea ?
oDBDataSource = oForm.DataSources.DBDataSources.Add("OOPR");
oItem = oForm.Items.Add("Matrix1", SAPbouiCOM.BoFormItemTypes.it_MATRIX);
oItem.Left = 10;
oItem.Top = 160;
oItem.Width = 430;
oItem.Height = 150;
oItem.FromPane = 9;
oItem.ToPane = 9;
oMatrix = ((SAPbouiCOM.Matrix)(oItem.Specific));
oColumns = oMatrix.Columns;
oColumn = oColumns.Add("Code", SAPbouiCOM.BoFormItemTypes.it_EDIT);
oColumn.TitleObject.Caption = "Code";
oColumn.Width = 40;
oColumn.Editable = true;
oColumn.DataBind.SetBound(true, "OOPR", "CardCode");
The last instruction crash the program.
Hi Lee,
here is snippet of code how i band hope it works for u,
Dim MyUsrDs1 As SAPbouiCOM.UserDataSource
Dim MyDbDs1 As SAPbouiCOM.DBDataSource
MyUsrDs1 = MyForm.DataSources.UserDataSources.Add("Check", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
MyMatrix.Columns.Item("Col3").DataBind.SetBound(True, "", "Check")
MyDbDs1 = MyForm.DataSources.DBDataSources.Add("OCRD")
MyDbDs1.Query(SQL)
MyMatrix.LoadFromDataSource()
Similar Messages
-
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
-
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 -
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 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 -
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 -
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. -
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 -
BLOB & CMP EJB - Cannot bind stream to a ScrollableResultSet
Hi,
I am trying to bind a byte[] to a Blob column in CMP EJB using Oracle 10g OCI driver in WebSphere. This gives the below error.
java.sql.SQLException: Cannot bind stream to a ScrollableResultSet or UpdatableResultSetDSRA0010E: SQL State = null, Error Code = 17,169
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:195)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.setUncheckedException(LocalExceptionMappingStrategy.java:266)
at com.ibm.ejs.container.EJSDeployedSupport.setUncheckedLocalException(EJSDeployedSupport.java:318)
ThanksWhen you create a DataSource, use the below class in the field 'Data Source helper classs name'. This should solve the issue.
import java.util.Properties;
import javax.resource.ResourceException;
import com.ibm.websphere.appprofile.accessintent.AccessIntent;
public class OracleDataStoreHelper extends com.ibm.websphere.rsadapter.OracleDataStoreHelper {
public OracleDataStoreHelper(Properties props) {
super(props);
public int getResultSetConcurrency(AccessIntent intent) throws ResourceException {
return java.sql.ResultSet.CONCUR_READ_ONLY;
} -
How to save data for Binded Matrix in Sqlserver200(DB)
hai all,
i created a Form by using Udo form generator.
in that i bind the matrix with Userdatsources. its successfully binded to the matrix. but when i press "Add" Button the Sqlserver tables are not saved.
if i enter values manually without binding the udo matrix, all rows are getting saved in sqlserver successfully.
plz help me how to save the rows in the binded matrix to the tables in Sqlserver.
Regards,
Nagababu.Since you are using UserDataSources, you have to construct a function that loops through the columns, and by name and or alias you construct the INSERT and/or UPDATE query (assuming the destination table is User Defined).
Check out this link
Re: Matrix Processing
Hope it helps -
ContextException : cannot bind or add element
Hi all,
I can't find an answer to my problem.
Hope you'll be able to
Here are the facts :
Context :
I'm currently creating a TeamViewer for Managers to be able to select the employees they manage.
For that, I have a table which lists them all, displaying their infos in specific columns.
Both columns and data are dynamic and are specified in the SAP back end.
I use the following bapis to get these informations :
- HRWPC_RFC_GET_COL_INFO (returns columns informations)
- HRWPC_RFC_GET_OBJECTS (returns employees personal numbers -> pernr)
Fact is the second one doesn't return as much informations as needed.
So I have then to call a third bapi :
- MYBAPI_USER_INFOS (return informations about an employee)
which, from an employee pernr, returns a lot more informations about him.
Fact is I manage to use efficiently both first bapis, so I get columns and pernr data.
Then I would like to get in a context node the list of enhanced informations of the employees, which is mapped to my view context and applied to a dynamic table.
My problem :
While adding programmaticaly the columns to my context node, I get the following exception : "com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TeamViewerApp.MainViewColumns): cannot bind or add element, because it is already bound to a node" error.
Error summary :
- com.sap.tc.webdynpro.progmodel.context.ContextException: Node(TeamViewerApp.MainViewColumns): cannot bind or add element, because it is already bound to a node
-- at com.sap.tc.webdynpro.progmodel.context.Node.prepareAddElement(Node.java:649)
-- at com.sap.tc.webdynpro.progmodel.context.Node.addElement(Node.java:635)
-- at com.airfrance.tv1.teamviewer.components.TeamViewerApp.updateMainView(*TeamViewerApp.java:560*)
-- at com.airfrance.tv1.teamviewer.components.wdp.InternalTeamViewerApp.updateMainView(InternalTeamViewerApp.java:534)
-- at com.airfrance.tv1.teamviewer.components.views.TeamViewerView.onActionChangeView(TeamViewerView.java:197)
TeamViewerComp code :
wdThis.getColumnsMainView(viewId, userLanguage, userId); // get the columns infos
IGetColumns_ResultNode columns = wdContext.nodeGetColumns_Result();
for(int i=0; i<columns.size(); i++) {
IWDNodeElement column = columns.getElementAt(i); // get the #i column
wdContext.nodeMainViewColumns().addElement(column); +//add this column to my other context +
My context :
Component
- GetColumns (Model)
-- GetColumns_Output
--- GetColumns_Result
Colname
Heading
-- Langu
-- Uname
-- Viewid
- MainViewColumns (Value)
-- lot of infos
- SubViewColumns (Value)
-- lot of infos
My environment :
- os : Windows XP SP2
- procesor : 3GHz
- memory : 3Gb
- ide : SAP NWDS 7.0.12
- server JEE : 7.00 SP12
- server VM : Java Sun 1.4.2_12
Any help will be really appreciated
Thank you for your time!
AlphonseHI,
com.sap.tc.webdynpro.progmodel.context.ContextException: Node(HrChiefRedressalView.Ctx_FilteredOutput): cannot bind or add element, because it is already bound to a node
Try to bind or add element from the source of the node instead of mapped one.
Ex:
Controller->View
If your node is mapped from controller to view. bind/add element should be done at controller level not at view level.
Regards
Ayyapparaj -
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 -
ORA-12032: cannot use rowid column
Hi,
on 8.1.7 I have the following error :
ORA-12032: cannot use rowid column from materialized view log on "string"."string"
The solution is :
Action: A complete refresh is required before the next fast refresh. Add ROWID columns to the materialized view log, if required.
How can I do a complete refresh before the next fast refresh or Add ROWID columns ? How to know if Add ROWID columns is required ?
Thank you.
PS :
my script is :
START WITH TO_DATE('06-jul-2010 17:57:48','dd-mon-yyyy hh24:mi:ss')
NEXT SYSDATE+1/24user522961 wrote:
Hi,
on 8.1.7 I have the following error :
ORA-12032: cannot use rowid column from materialized view log on "string"."string"
The solution is :
Action: A complete refresh is required before the next fast refresh. Add ROWID columns to the materialized view log, if required.
How can I do a complete refresh before the next fast refresh or Add ROWID columns ? How to know if Add ROWID columns is required ?
Thank you.run above
EXECUTE DBMS_MVIEW.REFRESH('MV_NAME','C'); -
Mail landscape view in ipad, cannot suppress the column listing
I want to use landscape view To read email...but I cannot suppress the column listing my messages. In portrait that column is missing so I can see whole message.
What do I do?There is nothing that you can do. That is a feature of landscape viewing of mail.
Glor
Maybe you are looking for
-
HI, I am trying to connect my macbook pro, 18 months old, to a projector using the mini display port and a cable/connector to a VGA port on the back of the projector. It all fits but the there is nothing happening? no mirroring option. Any ideas ap
-
Exporting H.264 Blu-ray material in CS3
System: 2009 Mac Pro 3.33GHz Quad core Snow Leopard 10.6.5 16GB RAM Radeon HD 5870 Adobe Premiere Pro CS3, 3.2.0 Video material: DVCProHD, 1080p60i/24p, 23.976fps shot on P2, MXF file format. Exporting to: H.264 Blu-ray via Adobe Media Encoder I can
-
Mac G4 Tower/OS 10.4.7 Locking up
I hope this is the correct forum to ask; I have a Mac G4 Tower with OS 10.4.7 that has run flawless for years. Within the past week it is starting to lock up while only on the web. Either the cursor will freeze requireing a shutdown and restart or th
-
How to calculate the ROI?
Hello, I'm aware that I cannot build a simple formula to calculate the roi for bw. But what could be an approach? Since now I build an prototypic application for sales analyisis. Before that it was made by an ABAP-Report, with high force on R/3 and m
-
For the past couple of days I have been getting the following alert on my tape backups: Cannot verify tape data. The operation failed because of a protection agent failure. (ID 998 Details: No more data is on the tape (0x80070450)) It has completed t