Matrix With UDO Datasource

Hi,
I have been through all the Matrix Samples and read many threads here but I just dont get a few things with the Matrix.
I have created an add on that adds a new folder to the Business Partners Form,
I can have built a matrix in this form and created bound columns bound to my UDO Table @xxxx
I have an event that fires when a business partner is chosen and the folder is only shown when a Customer is selected.
I can even get the matrix to fill with data related to the specific customer only when the customer is selected - using conditions on the DBDataSource.
This is all great but the 2 problems I have are :
I have created a button called Add Row that Adds a Row to Matrix - this button turns into an Update button when the row is added in the Matrix.
Problem 1 : When the row is added in the Matrix it takes the data from the last row of the data and duplicates it in the new row - you can change this data of course however I would like a blank row inserted instead.
Problem 2 : When I update I do a Matrix.FlushToDataSource - then I requery but it has not saved the new entry ?
How do I get the new entry to save into the database.
Any Help would be appreciated.
Thanks

Thanks - I sent the Screen shot - here is the event code
            If ((pVal.FormType = 134 And pVal.EventType <> SAPbouiCOM.BoEventTypes.et_FORM_UNLOAD) And (pVal.Before_Action = True)) Then
                 oForm = SBO_Application.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount)
                If ((pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_LOAD) And (pVal.Before_Action = True)) Then
                        oNewItem = oForm.Items.Add("BOMFolder", SAPbouiCOM.BoFormItemTypes.it_FOLDER)
                    oItem = oForm.Items.Item("9")
                    oNewItem.Top = oItem.Top
                    oNewItem.Height = oItem.Height
                    oNewItem.Width = oItem.Width
                    oNewItem.Left = oItem.Left + oItem.Width
                    oFolderItem = oNewItem.Specific
                    oFolderItem.Caption = "Lynxs BOM"
                    oFolderItem.GroupWith("9")
                    SetupBOMMatrix()
                    oForm.PaneLevel = 1
                End If
                If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
                    If pVal.ItemUID = "mat" Or pVal.ItemUID = "colitem" Then
                        Try
                            Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
                            oCFLEvento = pVal
                            Dim sCFL_ID As String
                            sCFL_ID = oCFLEvento.ChooseFromListUID
                            Dim oForm1 As SAPbouiCOM.Form
                            oForm1 = SBO_Application.Forms.Item(FormUID)
                            Dim oCFL As SAPbouiCOM.ChooseFromList
                            oCFL = oForm1.ChooseFromLists.Item(sCFL_ID)
                            If oCFLEvento.BeforeAction = False Then
                                Dim oDataTable As SAPbouiCOM.DataTable
                                oDataTable = oCFLEvento.SelectedObjects
                                Dim val As String
                                Dim nam As String
                                Try
                                    val = oDataTable.GetValue(0, 0)
                                    nam = oDataTable.GetValue(1, 0)
                                 Catch ex As Exception
                                    val = "none"
                                    nam = "none"
                                End Try
                                 Try
                                    Call UpdateCells(oForm1, pVal.Row, val, nam)
                                Catch
                                    MsgBox("Couldnt Set Data Tables")
                                End Try
                            End If
                        Catch
                            MsgBox("Error in Item Event - CFL : " & Err.Description)
                        End Try
                    End If
                End If
                 If pVal.ItemUID = "btnAddRow" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED And pVal.Before_Action = True Then
                    ' SOMETHING IS AMISS HERE
                    Dim ob As SAPbouiCOM.Button = oForm.Items.Item("btnAddRow").Specific
                    Dim oe As SAPbouiCOM.EditText = oForm.Items.Item("5").Specific
                    oMatrix = oForm.Items.Item("mat").Specific
                    If MatrixMode = "Nothing" Then
                        oMatrix.AddRow()
                        Dim i As Integer
                        i = oMatrix.RowCount
                        Dim oc As SAPbouiCOM.Column
                        Dim ocell As SAPbouiCOM.Cell
                        Dim oed As SAPbouiCOM.EditText
                        oc = oMatrix.Columns.Item("colArea")
                        oed = oc.Cells.Item(i).Specific
                        oed.String = ""
                        oc = oMatrix.Columns.Item("colItem")
                        oed = oc.Cells.Item(i).Specific
                        oed.String = ""
                        oc = oMatrix.Columns.Item("colItemtxt")
                        oed = oc.Cells.Item(i).Specific
                        oed.String = ""
                        oc = oMatrix.Columns.Item("colFitted")
                        oed = oc.Cells.Item(i).Specific
                        oed.Value = 0
                        oc = oMatrix.Columns.Item("colCritica")
                        oed = oc.Cells.Item(i).Specific
                        oed.Value = 0
                        oc = oMatrix.Columns.Item("colSpares")
                        oed = oc.Cells.Item(i).Specific
                        oed.Value = 0
                        MatrixMode = "Add"
                        ob.Caption = "Update Row"
                    Else
                        oMatrix.FlushToDataSource()
                        Dim oConditions As SAPbouiCOM.Conditions
                        Dim ocondition As SAPbouiCOM.Condition
                        oConditions = New SAPbouiCOM.Conditions
                        ocondition = oConditions.Add
                        ocondition.BracketOpenNum = 1
                        ocondition.Alias = "U_CARDCODE"
                        ocondition.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
                        ocondition.CondVal = oe.Value.ToString
                        ocondition.BracketCloseNum = 1
                        oDBDatasource.Query(oConditions)
                        oMatrix.LoadFromDataSource()
                        MatrixMode = "Nothing"
                        ob.Caption = "Add Row"
                    End If
                End If
                If pVal.ItemUID = "BOMFolder" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_ITEM_PRESSED And pVal.Before_Action = True Then
                    '// when the new folder is clicked change the form's pane level
                    '// by doing so your items will apear on the new folder
                    '// assuming they were placed correctly and their pane level
                    '// was also set accordingly
                    oForm.PaneLevel = 11
                End If
            End If

Similar Messages

  • Matrix with UDO

    Hi,
    I've just created an UDO Matrix. The problem I've got is I can't add data without creating a Botton to insert.
    If realized if I create the same Matrix without UDO all the fields are editable.
    Is there anything I'm doing wrong or is it a limitation for UDO objects???
    Thanks in advance.

    You must use the button, and handle the click event. Here is the code that i´m using:
             oDS.InsertRecord(oDS.Size)
            oDS.Offset = oDS.Size - 1
            oMatrix.AddRow(1, oDS.Size - 1)
    Unfortunelly, I haven´t found any other way yet.  Maybe in the SDK 2005 it is possible to handle events of the right mouse button for the matrix, but you will still need the code.
    Thanks,
    Christiano.

  • Load System Matrix with Data

    Hi,
    I like to fill system Matrix with data; please find the code below.
    Thank you very much for your good work and support.
    Thank you,
    Rune
    CODE
    #region SalesOrderItemLine_GetDataFromDataSource
    public void SalesOrderItemLine_GetDataFromDataSource( SAPbouiCOM.Form oForm, bool Matrix77_AddRefresh )
         try
              if ( Matrix77_AddRefresh )
    oForm.DataSources.DataTables.Add("SYS_77");
              oForm.DataSources.DataTables.Item("SYS_77").ExecuteQuery("SELECT [Code],[Name],[U_Weight],[U_PoNo],[U_CoopName],[U_Consignee],[U_PalGroup],[U_Container],[U_ItemCode],[U_CheckBoxSelect] FROM [dbo].[@MyTable] WHERE [U_MatrixAorB] = 'A' AND [U_WRKsalesOrderYN] = 'N'");
              ( ( SAPbouiCOM.Matrix ) ( oForm.Items.Item("77").Specific ) ).Columns.Item("1").DataBind.Bind("SYS_77", "U_ItemCode");
              ( ( SAPbouiCOM.Matrix ) ( oForm.Items.Item("77").Specific ) ).Clear();
              ( ( SAPbouiCOM.Matrix ) ( oForm.Items.Item("77").Specific ) ).LoadFromDataSource();
              ( ( SAPbouiCOM.Matrix ) ( oForm.Items.Item("77").Specific ) ).AutoResizeColumns();
         catch ( Exception Error )
              oApplication.MessageBox("Add-On Error-3232: = " + Error.Message, 1, "Ok", "", ""); // My Error Code
    #endregion

    Hi David!
    This is a Product Development Collaboration suggestion!
    I like to load data into system matixes...that could be really nice!
    (No my problem is still out there...
    Thank you,
    Rune

  • How to fill matrix with the output of recordset query?

    Hi all,
    I want a user matrix to load data when I hit a button and the data to be filled is the output of an sql query. binding the matrix columns with table columns and then load the matrix with DBDatasource attached to that table will not do in this case as the columns in the sql query are from several different tables or views. 
    writing following line to do this takes several minutes to load the data:
    For j = 0 To Reordset.RecordCount - 1
    Matrix.AddRow()
    Matrix.Columns.Item("col1").Cells.Item(i).Specific.value =  Recordset.Fields.Item("cardcode").Value
    Recordset.movenext()
    next
    Is there any other way to fill the matrix in this case, which loads the data faster?
    Regards,

    Hello Binita,
    I've tested the CFL for DataTable-Matrixes in my test-AddOn. But there's still one problem left. Maybe you find it out (I will need this in the future too...).
    The ChooseFromList must be added behind the DataTable-Bind, which is done on every MTX-Load (it's not from the sample above, so the UIDs are new ones):
                oDt = oDts.Item("dt_test")
                query = "SELECT  * FROM [@T_CONVTOOLS01]"
                oDt.ExecuteQuery(query)
                oMtx.Columns.Item("0").DataBind.Bind("dt_test", "Code")
                oMtx.Columns.Item("1").DataBind.Bind("dt_test", "U_Alpha01")
                oMtx.Columns.Item("2").DataBind.Bind("dt_test", "U_Price01")
                oMtx.Columns.Item("3").DataBind.Bind("dt_test", "U_Quant01")
                oMtx.Columns.Item("4").DataBind.Bind("dt_test", "U_Date01")
                AddChooseFromLists()
                oMtx.LoadFromDataSource()
    ...where AddChooseFromLists() is...
      Private Shared Sub AddChooseFromLists()
            Try
                Dim oCfls As SAPbouiCOM.ChooseFromListCollection
                Dim oCons As SAPbouiCOM.Conditions
                Dim oCon As SAPbouiCOM.Condition
                Dim oCfl As SAPbouiCOM.ChooseFromList
                Dim oCflCreationParams As SAPbouiCOM.ChooseFromListCreationParams
                Dim oBtn As SAPbouiCOM.Button
                Dim oMtx As SAPbouiCOM.Matrix
                Dim oCol As SAPbouiCOM.Column
                Dim oEtx As SAPbouiCOM.EditText
                oMtx = oForm.Items.Item("MTX_TEST02").Specific
                oCfls = oForm.ChooseFromLists
                oCflCreationParams = SboCon.SboUI.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
                oCflCreationParams.MultiSelection = False
                oCflCreationParams.ObjectType = SAPbouiCOM.BoLinkedObject.lf_BusinessPartner
                oCflCreationParams.UniqueID = "CFL_C1"
                oCfl = oCfls.Add(oCflCreationParams)
                '### OPTION:
                '# Shown ChooseFromList restricted by Conditions
                oCons = oCfl.GetConditions()
                oCon = oCons.Add()
                oCon.Alias = "CardType"
                oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
                oCon.CondVal = "C"
                oCfl.SetConditions(oCons)
                oCol = oMtx.Columns.Item("1")
                oCol.ChooseFromListUID = "CFL_C1"
                oCol.ChooseFromListAlias = "CardCode"
            Catch e As Exception
                Microsoft.VisualBasic.MsgBox(className & ".AddChooseFromLists()" & vbCrLf & "Exception:" & vbCrLf & e.Message.ToString)
            End Try
        End Sub
    But I'm running into problems when trying to set the MTX-Cell via DataTable at the CFL-Event (see comment):
                If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
                    Dim oMtx As SAPbouiCOM.Matrix
                    Dim oCFLEvent As SAPbouiCOM.IChooseFromListEvent
                    Dim oCFL As SAPbouiCOM.ChooseFromList
                    Dim oDataTable As SAPbouiCOM.DataTable
                    Dim cflID As String
                    Dim oDt As SAPbouiCOM.DataTable = oForm.DataSources.DataTables.Item("dt_test")
                    oCFLEvent = pVal
                    cflID = oCFLEvent.ChooseFromListUID
                    'Dim oForm As SAPbouiCOM.Form
                    'oForm = SboConnection.SboUI.Forms.Item(FormUID)
                    oCFL = oForm.ChooseFromLists.Item(cflID)
                    If Not oCFLEvent.BeforeAction Then
                        oDataTable = oCFLEvent.SelectedObjects
                        If oDataTable Is Nothing Then Exit Sub
                        '############## Matrix Test #######################################################################
                        If (oCFLEvent.ItemUID = "MTX_TEST02") Then
                            oMtx = oForm.Items.Item("MTX_TEST02").Specific
                            '### CFL Results to UserForm
                            oDt.Rows.Offset = oCFLEvent.Row - 1
                            MsgBox(oDt.GetValue("U_Alpha01", oCFLEvent.Row - 1))
                            MsgBox(oDataTable.GetValue("CardCode", 0))
                            ' PROBLEM - can't get this working - don't know at the moment:
                            ' on other forms SetValue works....
                            oDt.SetValue("U_Alpha01", oCFLEvent.Row - 1, oDataTable.GetValue("CardCode", 0))
                            ' this also gives me problems...:
                            'oMtx.Columns.Item("1").Cells.Item(oCFLEvent.Row).Specific.value = oDataTable.GetValue("CardCode", 0)
                            oForm.Update()
                        End If
                    End If
                End If
    The CFL-Form opens and returns the choosen value(s) at the CFL-event. But writing to MTX still not works with this code...
    Maybe you find the last piece. If so: please write here.
    Cheers,
    Roland
    p.s.:
    David Nussböck wrote
    LOL - ROLAND WAS FASTER ))
    ...just one minute...

  • Matrix with DataTable - GetLineData and SetLineData B1 8.8 Bug

    Hi experts,
    I have a matrix bounded to a DataTable and I succefully load the matrix with:
    DataTable dt = form.DataSources.DataTables.Item("matDT");
    dt.ExecuteQuery(sql);
    Matrix mat = form.Items.Item("mat").Specific as Matrix;
    mat.LoadFromDataSource();
    mat.AutoResizeColumns();
    Now in Event et_VALIDATE(after), i would like to change some not editable column of the matrix
    [B1Listener(BoEventTypes.et_VALIDATE, false)]
    public virtual void OnAfterValidate(ItemEvent pVal) {
              if(pVal.ItemUID!="mat")
                    return;
              Form form = B1Connections.theAppl.Forms.Item(pVal.FormUID);
              Matrix mat = form.Items.Item("mat").Specific as Matrix;
              DataTable dt = form.DataSources.DataTables.Item("matDT");
              //Pont 1)
              mat.GetLineData(pVal.Row)     
              //Point 2
              //Change Values
              int minutes = dt.GetValue("U_Minutes", pVal.Row-1);
              dt.SetValue("U_Hours",pVal.Row-1, (double) minutes / 60);
              //Point 3
              mat.SetLineData(pVal.Row);
    Now I will expain the problem:
    For simplicity assume the matrix has 2 rows after load. After the user edit a column, validate event fires and:
    -) After the call of GetLineData  in Point 1) I verified that all DataTable Rows are identical (derived from the first row in the matrix)
    -) If I substitute GetLineData   in point 1) with FlushToDataSource, DataTable became corret but after the call of SetLineData in point 3) all the matrix rows are identical (derived from the first DataTable row).
    -) If I also substitute SetLineData   in point 3) with LoadFromDataSource, all works fine but i loose focus and performances
    Is it a B1 8.8 Bug?

    Yes, but sap said that my  customer is not officially approved.
    the following is the original text.
    Please note that SAP Business One Release 8.8 has only been released for
    Ramp-Up. Because of this, only approved projects for productive usage a
    re fully supported by SAP Business One Support. However feedback on prod
    uct quality or bugs reporting from all partners - even from partners who
    are not part of the Ramp-Up - is welcome and highly appreciated.
    According to the information we have, your customer is not officially ap
    proved for Ramp-Up yet. Due to the difficulty to estimate the number of
    messages that will be submitted, SAP cannot commit itself to solving all
    issues reported about projects not officially approved for Ramp-Up, nor
    guarantee any response times.
    Kind regards,
    SAP Business One Support

  • Matrix with textbox.

    Dear colleagues,
    I have a table with a number, date, description  and a text.
    I want a form where I can scroll the records in a matrix (or grid) and then see the text belonging to the highlighted record in a textbox below.
    How can I do this?
    Something with a datasource?
    Can someone help me a little?
    Kind regards,
    John

    Hi
    More samples you can find in SAP SDK Samples and this forum.
    For your example, I used MatrixAndDataSources sample (look COM UI\VB.NET\06.MatrixAndDataSources\2003).
    To have form what do you want need adding of some rows of vb code.
    1) Open project 06.MatrixAndDataSources\2003 and paste this sub
    what create the text field. See comments.
    Private Sub AddMyTextField()
      '// we will use the following object to add items to our form
      Dim oItem As SAPbouiCOM.Item
      '// to have space for our field :)... change Width of the Phone field text box from 163 to 80
      oItem = oForm.Items.Item("txtPhone")
      oItem.Width = 80
      '// Adding a Text Edit item "txtMyField"
      oItem = oForm.Items.Add("txtMyField", SAPbouiCOM.BoFormItemTypes.it_EDIT)
      oItem.Left = 428
      oItem.Width = 80
      oItem.Top = 172
      oItem.Height = 14
      '// Matrix: so we set single row selection mode
      oMatrix.SelectionMode = SAPbouiCOM.BoMatrixSelect.ms_Single
    End Sub
    2) At the last row of CreateFormWithMatrix() sub add row with call to our AddMyTextField() sub
    Private Sub CreateFormWithMatrix()
      '// AFTER THIS ROW ...
      AddMatrixToForm()
      ' +++++++++++++++++++++++++++++++++++++
      ' ADD Call to my text field subroutine
      ' +++++++++++++++++++++++++++++++++++++
      Call AddMyTextField()
    End Sub
    3) Add matrix row selection event catching: in the Sub SBO_Application_ItemEvent(...) add this code:
    Private Sub SBO_Application_ItemEvent( _
      ByVal FormUID As String, _
      ByRef pVal As SAPbouiCOM.ItemEvent, _
      ByRef BubbleEvent As Boolean _
    ) Handles SBO_Application.ItemEvent
      ' +++++++++++++++++++++++++++++++++++++++++++++++++
      ' CATCHING SELECT ROW EVENT
      ' +++++++++++++++++++++++++++++++++++++++++++++++++
      If (pVal.FormUID = "UidFrmMatrix") Then
          If ((pVal.ItemUID = "Matrix1") And _
                    (pVal.EventType = SAPbouiCOM.BoEventTypes.et_CLICK) And _
                    (pVal.Before_Action = False)) Then
           ' So we get value of CardCode cell (column DSCardCode) in the selected row
           Dim i As Integer = pVal.Row
           Dim oEdit As SAPbouiCOM.EditText
           oEdit = oMatrix.Columns.Item("DSCardCode").Cells.Item(i).Specific
           Dim sValue As String = oEdit.String
           ' So we set value of txtMyField
           oEdit = oForm.Items.Item("txtMyField").Specific
           oEdit.Value = sValue
           ' So we stop catching events
           BubbleEvent = False
          Else
           BubbleEvent = True
          End If
      End If
    End Sub
    Run SAP Client and launch the project.
    Hope it help you.
    Sierdna S.

  • Matrix with ChooseFromList

    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! =)

  • Data of matrix(with userdatasource columns) dissapear in  form_add mode

    Hi all,
    Why when i put the mode of my userform in ADD_mode the data of my matrix (with userdatasource data in columns,not linked to one table) disapear?.
    How i can do to not lost data? Exist any way?
    Thank you all again.
    Regards.

    Aitor,
    I guess you are using UDO, and set it  the ObjectType to form.
    It is a default behavior that B1 will clear the form for new entry, when it switchs to add mode.
    Would you specify the scenario more? Why would you like to keep the data in the form from Find / OK to Add mode?
    Kind Regards
    -Yatsea

  • Load Matrix with Select

    When loading a table from the database in a Matrix, I like this:
    - I created the method of example "CreateFormWithMatrix."
    - OItem oForm.Items.Add = ("Matrix1" SAPbouiCOM.BoFormItemTypes.it_MATRIX);
    =-oColumns oMatrix.Columns;
    oColumns.Add-oColumn = ("Code" SAPbouiCOM.BoFormItemTypes.it_EDIT);
    oForm.DataSources.UserDataSources.Add-oUserDataSource = ("IntPhone" SAPbouiCOM.BoDataType.dt_SHORT_TEXT, 20);
    oForm.DataSources.DBDataSources.Add-oDBDataSource = ("@ TB_TESTE");
    - OColumn oColumns.Item = ("Code");
             oColumn.DataBind.SetBound (true, "@ TB_TESTE", "Code");
    -oMatrix.Clear ();
    -oMatrix.AutoResizeColumns ();
    -oDBDataSource.Query ();
    -oUserDataSource.Value = "prefix";
    -oMatrix.LoadFromDataSource ();
    So fill the matrix with all data from my table.
    How do I show in my matrix to only the data that filter through a select?
    Example: Show the data in the matrix where the name is "Jesus."

    Hello
    You can fill matrix with a query, using datatable
    You may try this sample
    Dim oForm As SAPbouiCOM.Form = sbo_application.Forms.Add("MATRIXTEST")
            oForm.Visible = True
            oForm.Width = 300
            oForm.Height = 400
            oForm.DataSources.DataTables.Add("oMatrixDT")
            oForm.DataSources.DataTables.Item("oMatrixDT").Clear()
            Dim sSQL As String = "SELECT * FROM OQUT  WHERE Name= 'Jesus' "
            oForm.DataSources.DataTables.Item("oMatrixDT").ExecuteQuery(sSQL)
            Dim oItem As SAPbouiCOM.Item = oForm.Items.Add("oMTX", SAPbouiCOM.BoFormItemTypes.it_MATRIX)
            Dim oMatrix As SAPbouiCOM.Matrix = oItem.Specific
            Dim oColumn As SAPbouiCOM.Column = oMatrix.Columns.Add("#", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.TitleObject.Caption = "#"
            oColumn = oMatrix.Columns.Add("1", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.DataBind.Bind("oMatrixDT", "Col1")
            oColumn.TitleObject.Caption = "Customer Code"
            oColumn = oMatrix.Columns.Add("2", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.DataBind.Bind("oMatrixDT", "DocEntry")
            oColumn.TitleObject.Caption = "Quote Key"
            oColumn = oMatrix.Columns.Add("3", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.DataBind.Bind("oMatrixDT", "NumAtCard")
            oColumn.TitleObject.Caption = "Cust Ref Number"
            oColumn = oMatrix.Columns.Add("4", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oColumn.DataBind.Bind("oMatrixDT", "DocDate")
            oColumn.TitleObject.Caption = "Document Date"
            oColumn.DisplayDesc = False
            oMatrix.LoadFromDataSource()
    Regards

  • Filling matrix with Dummy Data

    I am doing a demo screen for a client and I need to fill a matrix with hard coded data. I followed the sample code and I have the following code but it is not working for me (it throws a matrix-line exists exception):
    // Now get the matrix Item.
    SAPbouiCOM.Item matrixItem  = oForm.Items.Item("v33_Grid");
    theMatrix = (SAPbouiCOM.Matrix) matrixItem.Specific;
    Form.Freeze(true);
    SAPbouiCOM.UserDataSource uds;
    uds = oForm.DataSources.UserDataSources.Add("salesUds",SAPbouiCOM.BoDataType.dt_SHORT_TEXT, 10);
    theMatrix.AddRow(1, theMatrix.RowCount);
    SAPbouiCOM.Column     col      = null;
    // Ready Matrix to populate data
    theMatrix.AutoResizeColumns();
    col = theMatrix.Columns.Item("desc1");
    col.DataBind.SetBound(true, "", "salesUds");
    uds.Value = "Test description";
    // setting the user data source data
    theMatrix.LoadFromDataSource();
    oForm.Freeze(false);
    oForm.Update();     
    I really need to get this working. ANyone got any ideas what I am doing wrong?

    Hi Laura,
    You should use theMatrix.SetLineData() which is the avaiable statement for user matrixes.
    Here is some code that loads a form with a matrix from an XML. This way you can edit form values in the XML, instead of hard coding.
    Dim oXMLDoc1 As Xml.XmlDocument = New Xml.XmlDocument
    oXMLDoc1.Load("C:BaseForm.xml")
    App.LoadBatchActions(oXMLDoc1.InnerXml)
    Dim oForm As SAPbouiCOM.Form = App.Forms.GetForm("ITA0002", 1)
    Dim oMatrix As SAPbouiCOM.Matrix = oForm.Items.Item("5").Specific()
    Dim Informes As SAPbouiCOM.UserDataSource = oForm.DataSources.UserDataSources.Item("Informes")
    Dim ID As SAPbouiCOM.UserDataSource = oForm.DataSources.UserDataSources.Item("ID")
    Dim i As Int16 = 1
    oMatrix.AddRow(ListaInformes.Length)
    For Each Informe As String In NameList
       Informes.ValueEx = Informe
       ID.ValueEx = i.ToString
       oMatrix.SetLineData(i)
       i = i + 1
    Next
    The xml is this one:
    <?xml version="1.0" encoding="UTF-16"?>
    <Application>
         <forms>
              <action type="add">
                   <form AutoManaged="1" BorderStyle="4" FormType="ITA0002" ObjectType="-1" SupportedModes="1" appformnumber="ITA0002" client_height="284" client_width="291" color="0" default_button="1" height="316" left="363" mode="1" pane="1" title="Informes" top="149" type="4" visible="1" width="297">
                        <datasources>
                             <userdatasources>
                                  <action type="add">
                                       <datasource size="254" type="9" uid="Informes"></datasource>
                                  </action>
                                  <action type="add">
                                       <datasource size="10" type="9" uid="ID"></datasource>
                                  </action>
                             </userdatasources>
                        </datasources>
                        <items>
                             <action type="add">
                                  <item AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" enabled="1" font_size="0" forecolor="0" from_pane="0" height="19" left="6" linkto="" right_just="1" supp_zeros="0" tab_order="10" text_style="0" to_pane="0" top="260" type="4" uid="1" visible="1" width="65">
                                       <AutoManagedAttribute></AutoManagedAttribute>
                                       <specific caption="OK"></specific>
                                  </item>
                                  <item AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" enabled="1" font_size="0" forecolor="0" from_pane="0" height="19" left="77" linkto="" right_just="1" supp_zeros="0" tab_order="20" text_style="0" to_pane="0" top="260" type="4" uid="2" visible="1" width="65">
                                       <AutoManagedAttribute></AutoManagedAttribute>
                                       <specific caption="Cancelar"></specific>
                                  </item>
                                  <item AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" enabled="1" font_size="0" forecolor="-1" from_pane="0" height="20" left="5" linkto="" right_just="0" supp_zeros="0" tab_order="0" text_style="0" to_pane="0" top="5" type="99" uid="3" visible="1" width="80">
                                       <AutoManagedAttribute></AutoManagedAttribute>
                                       <specific AffectsFormMode="1" caption="Informes" val_off="0" val_on="1">
                                            <databind alias="Informes" databound="1" table=""></databind>
                                       </specific>
                                  </item>
                                  <item AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" enabled="1" font_size="0" forecolor="-1" from_pane="1" height="224" left="8" linkto="" right_just="0" supp_zeros="0" tab_order="60" text_style="0" to_pane="1" top="28" type="127" uid="5" visible="1" width="276">
                                       <AutoManagedAttribute></AutoManagedAttribute>
                                       <specific SelectionMode="2" layout="0" titleHeight="0">
                                            <columns>
                                                 <action type="add">
                                                      <column AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" editable="0" font_size="12" forecolor="-1" right_just="0" text_style="0" title="2" type="16" uid="2" val_off="N" val_on="Y" visible="1" width="20">
                                                           <databind alias="ID" databound="1" table=""></databind>
                                                           <ExtendedObject></ExtendedObject>
                                                      </column>
                                                      <column AffectsFormMode="1" backcolor="-1" description="" disp_desc="0" editable="0" font_size="12" forecolor="-1" right_just="0" text_style="0" title="Nombre" type="16" uid="1" val_off="" val_on="" visible="1" width="255">
                                                           <databind alias="Informes" databound="1" table=""></databind>
                                                           <ExtendedObject></ExtendedObject>
                                                      </column>
                                                 </action>
                                            </columns>
                                       </specific>
                                  </item>
                             </action>
                        </items>
                        <items>
                             <action type="group">
                                  <item uid="3"></item>
                                  <item uid="4"></item>
                             </action>
                        </items>
                        <FormMenu></FormMenu>
                        <DataBrowser></DataBrowser>
                   </form>
              </action>
         </forms>
    </Application>
    Regards,
    Ibai Peñ

  • JRC bug: apostrophe in string parameter passed to Crystal Report with Command datasource to SQL Server

    Post Author: nl11087
    CA Forum: JAVA
    A single quote/apostrophe in string parameter passed to a Crystal Report with Command datasource connecting to a SQL Server database, using sqljdbc driver does not escape the special character correctly. When doing a preview in the Crystal Reports IDE it allows you to escape the input parameter as expected and work correctly, but through the JRC component it fails. For string parameters without special sql server characters I experience no problems at all. When replacing the Command with a direct table there is also no problem.
    Reproduction:
    1. create a database db1, create a table table1 with a String type column col1.
    2. Create new report Report1.rpt, create a connection to above, Add Command using 'SELECT col1, col2, col3 FROM table1 WHERE col1 = '{?Par1}' . Add a parameter field Par1 : String
    3. In your java stand alone application using JRC add the parameter Par1 with a value "Jon Doe's Value" containing a single apostrophe. Export to PDF. (I also tried MSWord and this failed too, similar behavior). Additionally, in another test try to replaceAll("'","''") to escape it, preventing the code to break, but now it does not retrieve the expected row anymore and you end up with an empty report.
    Exception StackTrace:
    com.crystaldecisions.reports.exportinterface.exceptions.ExportException: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)
    at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
    at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
    Caused by: com.crystaldecisions.reports.formatter.formatter.c: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.if(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.l.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.p.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.p.a(Unknown Source)
    at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
    ... 17 more
    Caused by: com.crystaldecisions.reports.dataengine.be: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.nr(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.bn(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.bp(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
    at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.aa(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
    ... 23 more
    Caused by: com.crystaldecisions.reports.reportdefinition.datainterface.n: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.reportdefinition.datainterface.p.a(Unknown Source)
    ... 35 more
    Caused by: com.crystaldecisions.reports.queryengine.driverImpl.m: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.queryengine.driverImpl.o.eC(Unknown Source)
    at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.ea(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.h(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.dV(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ax.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ae.cy(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ae.cz(Unknown Source)
    at com.crystaldecisions.reports.queryengine.b1.bc(Unknown Source)
    ... 36 more
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 's'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(Unknown Source)
    ... 48 more
    - JRCAgent3 detected an exception: An error occured while exporting the report
    at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)

    Post Author: nl11087
    CA Forum: JAVA
    A single quote/apostrophe in string parameter passed to a Crystal Report with Command datasource connecting to a SQL Server database, using sqljdbc driver does not escape the special character correctly. When doing a preview in the Crystal Reports IDE it allows you to escape the input parameter as expected and work correctly, but through the JRC component it fails. For string parameters without special sql server characters I experience no problems at all. When replacing the Command with a direct table there is also no problem.
    Reproduction:
    1. create a database db1, create a table table1 with a String type column col1.
    2. Create new report Report1.rpt, create a connection to above, Add Command using 'SELECT col1, col2, col3 FROM table1 WHERE col1 = '{?Par1}' . Add a parameter field Par1 : String
    3. In your java stand alone application using JRC add the parameter Par1 with a value "Jon Doe's Value" containing a single apostrophe. Export to PDF. (I also tried MSWord and this failed too, similar behavior). Additionally, in another test try to replaceAll("'","''") to escape it, preventing the code to break, but now it does not retrieve the expected row anymore and you end up with an empty report.
    Exception StackTrace:
    com.crystaldecisions.reports.exportinterface.exceptions.ExportException: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.formatter.a.c.if(Unknown Source)
    at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
    at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)
    Caused by: com.crystaldecisions.reports.formatter.formatter.c: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.objectformatter.bv.if(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.l.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.p.<init>(Unknown Source)
    at com.crystaldecisions.reports.formatter.formatter.e.p.a(Unknown Source)
    at com.crystaldecisions.reports.formatter.a.c.a(Unknown Source)
    ... 17 more
    Caused by: com.crystaldecisions.reports.dataengine.be: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.nr(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.bn(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.bp(Unknown Source)
    at com.crystaldecisions.reports.dataengine.n.else(Unknown Source)
    at com.crystaldecisions.reports.dataengine.s.a(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.aa(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.<init>(Unknown Source)
    at com.crystaldecisions.reports.dataengine.bk.a(Unknown Source)
    ... 23 more
    Caused by: com.crystaldecisions.reports.reportdefinition.datainterface.n: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.reportdefinition.datainterface.p.a(Unknown Source)
    ... 35 more
    Caused by: com.crystaldecisions.reports.queryengine.driverImpl.m: JDBC Error: Incorrect syntax near 's'.
    at com.crystaldecisions.reports.queryengine.driverImpl.o.eC(Unknown Source)
    at com.crystaldecisions.reports.queryengine.driverImpl.o.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.ea(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.h(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ap.dV(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ax.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.if(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
    at com.crystaldecisions.reports.queryengine.bc.do(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ae.cy(Unknown Source)
    at com.crystaldecisions.reports.queryengine.ae.cz(Unknown Source)
    at com.crystaldecisions.reports.queryengine.b1.bc(Unknown Source)
    ... 36 more
    Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near 's'.
    at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(Unknown Source)
    at com.microsoft.sqlserver.jdbc.IOBuffer.processPackets(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.doExecuteStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement$StatementExecutionRequest.executeStatement(Unknown Source)
    at com.microsoft.sqlserver.jdbc.CancelableRequest.execute(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeRequest(Unknown Source)
    at com.microsoft.sqlserver.jdbc.SQLServerStatement.execute(Unknown Source)
    ... 48 more
    - JRCAgent3 detected an exception: An error occured while exporting the report
    at com.businessobjects.reports.sdk.b.b.int(Unknown Source)
    at com.businessobjects.reports.sdk.JRCCommunicationAdapter.request(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.x.a(Unknown Source)
    at com.crystaldecisions.proxy.remoteagent.q.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.dd.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.ReportSource.a(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.sdk.occa.report.application.PrintOutputController.export(Unknown Source)
    at com.crystaldecisions.reports.sdk.PrintOutputController.export(Unknown Source)

  • How to fill column value of a matrix with specific color when there is no value in that specific cell?

    Hi All,
    I need to create a 5/5  matrix in SSRS report. The data will be :
    Col_Side   Col_Header   Col_data
    1                  1                1
    1                  1                 1
    1                  2                1
    1                  5                1
    1                  5                1
    1                  5                1
    2                  3                1
    2                  5                1
    3                  1                2
    3                  1                2
    3                  1                2
    4                   2               1
    4                   4               1
    5                   1               1
    5                   1               1
    5                   5               1
    So, the matrix column will be Col_Header and matrix row will be Col_Side and count(Col_data) will be on the data.
    Finally, it will create a 5 by 5 matrix with Count(Col_data) as its data for each combinations. If there is no combination (for ex: in the above data we do not have no combination of (1,3) , (1,4) , (2,1) etc..) then the matrix will be filling that corresponding
    cell with zero.
    Here I need to fill the cells with some colors based on some criteria.
    I need to fill (5,3), (5,4), (5,5) combination with "Red" color.  Like this , I need to give different colors in each of the cells. Here, (5,5) combination will be having 1 in its cell.  (5,4) and (5,3) will be having zero in its corresponding
    cells. I 'm trying to fill all the 3 cells with "Red" color. But, I am able to fill only (5,5) with "Red" color. Since the other 2 cells (5,3) and (5,4), has zero in their cells, it will not fill the cells with "Red" color. 
    How can I fill those two cells (5,3) and (5,4) with red color?
    I know this is very vague. I have no option to give the picture here..
    Please suggest

    Hi Julie,
    According to your description, there is a 5/5 matrix with three fields: Col_Side, Col_Header, Col_data. You drag Col_Side field to Rows, Col_Header to Columns and Col_data to Data, then filling blank cells with zero using expression. Now you want to fill 
    (5,3), (5,4), (5,5) cells with red color using expression, but it has no effect on cells (5,3) and (5,4).
    According to my test, the expression has on effect on cells (5,3) and (5,4) since there is no corresponding data and the cells are blank. As a workaround, we can insert data for cells (5,3) and (5,4) in dataset, then use expression by following steps:
    In the dataset, insert two sets of data (5,3,0), (5,4,0).
    Right-click the cell of data, click Text Box Properties.
    Click Fill in left pane, click (fx) button, then type the expression like below, then click OK.
    =iif(Fields!Col_Side.Value=5 and Fields!Col_Header.Value >=3 ,"red","white" )
    The following screenshot is for your reference:
    If you have any more questions, please feel free to ask.
    Thanks,
    Wendy Fu

  • How to create Matrix with Group report layout in xml

    Hi,
    i would be glad if anyone could tell me How to create Matrix with Group report layout in xml?
    Here i am attaching the required design doc
    below is the code
    select COST_CMPNTCLS_CODE,
    -- crd.RESOURCES,
    NOMINAL_COST,
    cmm.COST_MTHD_CODE,
    -- crd.COST_TYPE_ID,
    gps.period_code
    -- ORGANIZATION_ID
    from CM_RSRC_DTL crd,
    gmf_period_statuses gps,
    CM_MTHD_MST cmm,
    CR_RSRC_MST crm,
    CM_CMPT_MST ccm
    where gps.period_id = crd.PERIOD_ID
    and crd.cost_type_id = cmm.cost_type_id
    and crd.RESOURCES = crm.RESOURCES
    and crm.COST_CMPNTCLS_ID = ccm.COST_CMPNTCLS_ID
    and gps.period_code in (:p_period1, :p_period2, :p_period3)
    group by COST_CMPNTCLS_CODE, cmm.COST_MTHD_CODE, gps.period_code,NOMINAL_COST
    order by 1,2,3,4.
    The o/p of the report shoud be as given below
              Period-1     Period-2     Period-3     Period-4
    COMPONENT                         
    LABOUR - DIRECT                         
         Actual     1     2     3     4
         Actual Rate     10     10     10     10
         Standard Rate                    
         Var%                    
    DEPRICIATION-DIRECT                         
         Actual                    
         Actual Rate                    
         Standard Rate                    
         Var%                    
    OVERHEAD - DIRECT                         
         Actual                    
         Actual Rate                    
         Standard Rate                    
         Var%                    
    LABOUR - IN DIRECT                         
         Actual                    
         Actual Rate                    
         Standard Rate                    
         Var%                    
    Thanks in advance

    Your friend is obviously not a reliable source of HTML
    information.
    Murray --- ICQ 71997575
    Adobe Community Expert
    (If you *MUST* email me, don't LAUGH when you do so!)
    ==================
    http://www.dreamweavermx-templates.com
    - Template Triage!
    http://www.projectseven.com/go
    - DW FAQs, Tutorials & Resources
    http://www.dwfaq.com - DW FAQs,
    Tutorials & Resources
    http://www.macromedia.com/support/search/
    - Macromedia (MM) Technotes
    ==================
    "Mr.Ghost" <[email protected]> wrote in
    message
    news:f060vi$npp$[email protected]..
    > One of my friends advised me to develop my whole site on
    the layout mode
    > as its
    > better than the standard as he says
    > but I couldnot make an ordinary table with rows and
    columns in th layout
    > mode
    > is there any one who can tell me how to?
    > thanx alot
    >

  • Different templates with different datasource files

    Hi All,
    Can someone tell me how we can have two different templates with different datasource files in one BIP report.
    I need PDF template based on one xml file and CSV teamplate based on another in one report.
    Thanks.

    you can have two data-set or query , and select concatenated data and have a single xml file.
    But pdf template will look at those, dataset in the xml, which you want. and CSV will look only on the other dataset.
    what method are you using for CSV ?

  • How to build a Matrix with Group Left Report

    I want to build a Matrix with Group Left Report,not Matrix with Group Above Report,i am still finding the solution, any help is useful.
    thanks
    <[email protected]>

    Hi,
    The problem in your output is not clear. The report output should appear like:
    Order Mode.....Sales_Rep_ID > 10..11..12..
    Online.........Order Status
    ...............A..............x....x...x
    ...............B..............x....x...x
    ...............C..............x....x...x
    Order Mode.....Sales_Rep_ID > 10..11..12..
    Retail.........Order Status
    ...............A..............x....x...x
    ...............B..............x....x...x
    ...............C..............x....x...x
    Here "Order Mode" is the group field (it repeats for every group). Could you pl specify what output you are getting?
    If the problem is that you don't want the Title (like "Order Mode" in the above example) to print in every group, just place it outside the group repeating frame. It will print only once.
    Navneet.

Maybe you are looking for

  • Just reinstalled iPhoto and now it won't open the photos I saved on CDs

    I recently had a major hard drive crash and had to get a new hard drive. I was so glad that I had all my photos backed up on CDs. But when I reinstalled the software, I can't get iPhoto to open the CDs. I get a message that says the photo libraries w

  • New Photo/Video Import Lost Due to Power Cut - Any Ideas?

    I am using OS X 10.9.1, and iPhoto '08, V7.1.5.  My iMac was in the closing stages of a photo/video import from my iPhone 5 when a power cut occured.  I had thought the photos would already be in the new album that I'd just created because I had just

  • Problem With Date Format Mask

    Hi everyone, when i set the date format mask in any field.. if i enter any wrong date format messages are coming in to loop is this is bug of format mask? how can i avoid this.. thanks in advance anand mohan

  • Cache Refresh Problem

    Hi, We updated XI 3.0 to SP4, and started seeing several problems related to Cache Refresh and JCo. In the <b>SAPGUI in transaction SXI_CACHE</b>, we are unable to refresh the cache, and getting the following error: Connection to system RUNTIME using

  • Material Ledger - Actual / Standard costing

    Hi Experts, we need some help in material price determination with material ledger. Due to local regulations, we need to have our material master with price control determination valued to V in local currency, however, due to IFRS regulations, we nee