Change data in existing "Choose from list" matrix

Hi,
  in UI GUI->order form . When add a new order, hit "TAB" to select BP from existing list. I want to use my own sql to populate the BP list (currently the GUI defaults to return all customers).
Is there a way? I mean if I just want to change data in the matrix and let B1 continue to make the "Choose from list" form (form "10001") with my own new customer list.  Set BubbleEvent = true will just re-read all cards after I query my result.
  any help is appriciated!

Hello,
I came across the same issue with the Items Choose from List on the Sales Order screen. It is possible to load your own Choose from List form and populate the matrix using recordset objects and userdatasources. The same logic could be applied to the BP Choose from List form. The following code displays the user form and matrix items - separate code is needed to handle the selection process on this form. There maybe a faster way of acheiving this using UDTs etc but it seems to work ok.
'When user presses Tab key in Item No. column.
If pVal.EventType = et_KEY_DOWN Then
If pVal.ItemUID = "38" And pVal.ColUID = "1" And _
pVal.Before_Action = True And pVal.CharPressed = vbKeyTab Then
'Load new Choose from List form.
'This is actually an exported and edited version of the SBO form.
LoadFromXML sIIS_ITEMLIST_XML
'Populate matrix with items returned from SQL query.
'Use recordset, arrays, userdatasources.
Set oRecordSet = oCmp.GetBusinessObject(BoRecordset)
sSql = "Select OITM.ItemCode, OITM.ItemName, OITM.OnHand FROM OITM " & _
    "Where Upper(Left(OITM.ItemCode,2)) = 'B1'"
oRecordSet.DoQuery sSql
nRows = oRecordSet.RecordCount
If nRows <> 0 Then
'Array declarations.
Dim ItemCode(), ItemName(), OnHand()
ReDim ItemCode(nRows - 1)
ReDim ItemName(nRows - 1)
ReDim OnHand(nRows - 1)
'Add userdatasources to form.
oForm.DataSources.UserDataSources.Add "ItemCode", dt_LONG_TEXT, 20
oForm.DataSources.UserDataSources.Add "ItemName", dt_LONG_TEXT, 100
oForm.DataSources.UserDataSources.Add "OnHand", dt_LONG_NUMBER
i = 0
'Populate arrays from recordset.
Do While oRecordSet.EOF <> True
    ItemCode(i) = oRecordSet.Fields.Item(0).Value
    ItemName(i) = oRecordSet.Fields.Item(1).Value
    OnHand(i) = oRecordSet.Fields.Item(2).Value
    oRecordSet.MoveNext
    i = i + 1
Loop
'Bind data fields to form items.
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemCode")
oColumn.DataBind.SetBound True, "", "ItemCode"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("ItemName")
oColumn.DataBind.SetBound True, "", "ItemName"
Set oMatrix = oForm.Items.Item("7").Specific
Set oColumn = oMatrix.Columns.Item("OnHand")
oColumn.DataBind.SetBound True, "", "OnHand"
'Get data from datasources.
Dim oUItemCode As SAPbouiCOM.UserDataSource
Dim oUItemName As SAPbouiCOM.UserDataSource
Dim oUOnHand As SAPbouiCOM.UserDataSource
Set oUItemCode = oForm.DataSources.UserDataSources.Item("ItemCode")
Set oUItemName = oForm.DataSources.UserDataSources.Item("ItemName")
Set oUOnHand = oForm.DataSources.UserDataSources.Item("OnHand")
oMatrix.Clear
'For each returned record in recordset then
'add row to matrix and populate it from
'userdatasource.
For i = 1 To nRows
    oMatrix.AddRow
    oUItemCode.Value = ItemCode(i - 1)
    oUItemName.Value = ItemName(i - 1)
    oUOnHand.Value = OnHand(i - 1)
    oMatrix.SetLineData
Next i
End If
'Show form. This also sets focus to edittext field.
oForm.Visible = True
'Don't display standard SBO item list form.
BubbleEvent = False
End If
End If
Regards,
Andrew.

Similar Messages

  • Choose from list in Matrix

    Hey All,
    Has anyone been able to get the choose from list in a matrix text field working in SBO 2005 patch level 6? We have tried the tech demo and it works for new rows but not for existing rows. Also we have written our own code to set the matrix text box on the choose from list event and we get a general failure exception even though the value still gets set properly.
    If anyone has this working please post so we can all know how to do this properly.

    Hi there,
    This "Choose from list" thing is new for me, there's a Choose from List example in the new techDemo but i don't understand the code.. too complicated for me.. Is there any simple code/sample for this?
    Well i manage to trigger the choose from list .. but don't know how to put the selected value to the cell..
    Bruce..

  • Choose from List in A matrix for choosing two or more rows at same time

    Hi Friends,
    Actually I m using choose from list to select Items in a row, i can select Two or more rows from the List but while clicking choose it is taking only one value.
    The no of rows are not activated tat i m choosing from list.
    Thanks in advance
    Vivek

    Hi.
    Here is a [link|https://forums.sdn.sap.com/click.jspa?searchID=12829558&messageID=5584893] where are you can find on of my example on CFL on matrix column.
    I think, you need to made some changes in code from these lines...
        Dim oDataTable As SAPbouiCOM.DataTable
        oDataTable = oCFLEvento.SelectedObjects
        for ...
        end for
    Reply if this guideline was usefull for you.
    Bye

  • Choose From List and Golden arrow link in System Matrix UDF column

    I'm wondering if there is a way through the SDK to create a 'Choose From List' and Golden arrow linked button in a System Matrix UDF column? 
    For example the Item Code in a sales order matrix does both.

    Hi,
    Try this code for adding CFL.             
                   SAPbouiCOM.ChooseFromListCollection oCFLs = null;
                    SAPbouiCOM.Conditions oCons = null;
                    SAPbouiCOM.Condition oCon = null;
                    oCFLs = oForm.ChooseFromLists;
                    SAPbouiCOM.ChooseFromList oCFL = null;
                    SAPbouiCOM.ChooseFromListCreationParams oCFLCreationParams = null;
                    oCFLCreationParams = ( ( SAPbouiCOM.ChooseFromListCreationParams )( SBO_Application.CreateObject( SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams ) ) );
                    oCFLCreationParams.MultiSelection = false;
                    oCFLCreationParams.ObjectType = "object id ";
                    oCFLCreationParams.UniqueID = "CFL1";
                    oCFL = oCFLs.Add( oCFLCreationParams );
                   oColumn.ChooseFromListUID = "CFL1";
                  //where oColumn is the instance of that column.
    Hope u will get help....
    Thanks and Regards,
    Lalit

  • Choose From list in Matrix UDF

    i create a UDF in Sales Order Row, I want to assign choose From list in the Matrix for the UDF once user click on tab button.
    How can i assign the Choose from list for the UDF column?

    Hi,
    Try this code for adding CFL.             
                   SAPbouiCOM.ChooseFromListCollection oCFLs = null;
                    SAPbouiCOM.Conditions oCons = null;
                    SAPbouiCOM.Condition oCon = null;
                    oCFLs = oForm.ChooseFromLists;
                    SAPbouiCOM.ChooseFromList oCFL = null;
                    SAPbouiCOM.ChooseFromListCreationParams oCFLCreationParams = null;
                    oCFLCreationParams = ( ( SAPbouiCOM.ChooseFromListCreationParams )( SBO_Application.CreateObject( SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams ) ) );
                    oCFLCreationParams.MultiSelection = false;
                    oCFLCreationParams.ObjectType = "object id ";
                    oCFLCreationParams.UniqueID = "CFL1";
                    oCFL = oCFLs.Add( oCFLCreationParams );
                   oColumn.ChooseFromListUID = "CFL1";
                  //where oColumn is the instance of that column.
    Hope u will get help....
    Thanks and Regards,
    Lalit

  • Add Choose From List to a Matrix

    Hi,
    Need help on how to add a choose from list to a matrix column?
    Thanks!

    Hi,
    Step1 :First step is to create the CFL as below
    Private Sub AddChooseFromListToWorkOrder()
            'Choose From List Collection object to store the collection
            Dim oCFLs As SAPbouiCOM.ChooseFromListCollection
            'Conditions object to set the conditons
            Dim oCons As SAPbouiCOM.Conditions
            'Condition object to set the conditons
            Dim oCon As SAPbouiCOM.Condition
            'Getting the Form Choose From Lists
            oCFLs = oForm.ChooseFromLists
            'Choose From List object to store the ChooseFromList
            Dim oCFL As SAPbouiCOM.ChooseFromList
            'ChooseFromListCreationParams to create the parameters for the CFL
            Dim oCFLCreationParams As SAPbouiCOM.ChooseFromListCreationParams
            oCFLCreationParams = oSBOApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
            oCFLCreationParams.MultiSelection = False
            oCFLCreationParams.ObjectType = "4"
            oCFLCreationParams.UniqueID = "UDCFL1"
            oCFL = oCFLs.Add(oCFLCreationParams)
            ' Adding Conditions to CFL
            oCons = oCFL.GetConditions()
            oCon = oCons.Add()
            oCon.Alias = "U_HasPSC"
            oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
            oCon.CondVal = "Y"
            oCFL.SetConditions(oCons)
        End Sub
    Step2: Then add this cfl in form load
    AddChooseFromListToWorkOrder()
    oMatrix = oForm.Items.Item("matItems").Specific
    oColumns = oMatrix.Columns
    oColumn = oColumns.Item("colItem")
    oColumn.ChooseFromListUID = "UDCFL1"
    oColumn.ChooseFromListAlias = "ItemCode"
    Step 3: catch the CFL Event in Item events of the form
    If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
                            oForm = oSBOApplication.Forms.Item("IS_WKORDER")
                            Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
                            oCFLEvento = pVal
                            Dim sCFL_ID As String
                            sCFL_ID = oCFLEvento.ChooseFromListUID
                            Dim oCFL As SAPbouiCOM.ChooseFromList
                            oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
                            If oCFLEvento.BeforeAction = False Then
                                Dim oDataTable As SAPbouiCOM.DataTable = oCFLEvento.SelectedObjects
                                'oForm.DataSources.DBDataSources.Add("@IS_WKO_ROWS")
                                Try
                                    If pVal.ItemUID = "matItems" And pVal.ColUID = "colItem" And oCFL.UniqueID = "UDCFL1" Then
                                        oMatrix = oForm.Items.Item("matItems").Specific
                                        oEdit = oMatrix.Columns.Item(2).Cells.Item(pVal.Row).Specific
                                        oEdit.Value = oDataTable.GetValue(1, 0).ToString()
                                        oEdit = oMatrix.Columns.Item(4).Cells.Item(pVal.Row).Specific
                                        oEdit.Value = strUOM
                                        oEdit = oMatrix.Columns.Item(5).Cells.Item(pVal.Row).Specific
                                        oEdit.Value = strPSCode
                                        oEdit = oMatrix.Columns.Item(1).Cells.Item(pVal.Row).Specific
                                        oEdit.Value = oDataTable.GetValue(0, 0).ToString()
                                    End If
                                Catch ex As Exception
                                End Try
                            End If
                        End If
    Hope This helps
    Regards,
    Noor
    Edited by: noor_023 on Mar 31, 2010 10:55 AM

  • Choose from list - data display with condition

    Hi,
    I 've developed a form using screen painter, I ' ve attached a choose from list to fill GRPo Number.  In the choose from list the GRPo no. should not display again which once I have selected and saved. 
    Let me have a good solution please and it would be appreciated.
    Thanks & Regards,
    Venkatesan G.

    Hi suresh,
    where did you put this code?....In the choose_from_list event handler?..I've tried a similar solution, before reading your post, but it doesn't work because if i dynamically set the condition for the choose from list i got an empty table.
    i've tried to put my code when beforeaction=true and i have this kind of problem. The difference is that i need to set the filter starting with the value i've entered on the field connected to the choose from list. I put code here, so it's more clear
    If (pVal.Before_Action = True) And (pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST) Then
                        Dim oCFL As SAPbouiCOM.ChooseFromList
                        Dim oCons As SAPbouiCOM.Conditions
                        Dim oCon As SAPbouiCOM.Condition
                        Dim sItemCode As String
                        oEditText = oMatrix.Columns.Item("V_ItemCode").Cells.Item(pVal.Row).Specific
                        sItemCode = oEditText.Value.ToString
                        oCFL = oForm.ChooseFromLists.Item("CFL_Item")
                        oCons = oCFL.GetConditions()
                        oCon = oCons.Add()
                        oCon.Alias = "ItemCode"
                        oCon.Operation = SAPbouiCOM.BoConditionOperation.co_START
                        oCon.CondVal = sItemCode
                        oCFL.SetConditions(oCons)
                    End If
    My situation is that i type something in V_ItemCode column and after that i press the tab key to open the choose from list.
    Would be ok if i get the SAP standard beahviour too, that doesn't open the choose from list, but fills the field with the first code starting with what you type.
    Thanks in advance

  • Choose From List used in UDO (B1 2004)

    Hi,
    in the presentation "Creating a UDO of document type.pps" (slide 53+55) provided with the SDK 2004 they use the Choose From List to select business partners and/or items in their UDO form when adding a new document. Does anyone know, how this has to be done? The sample, from the presentation is not provided in the sample codes.
    Do I have to use an implementation DLL for my UDO to use this functionality?
    My problem is, that it takes too long (about 5 times longer than with the system CFL) to get all items in my custom defined matrix.
    thanks,
    Markus

    Hi Markus,
    You cannot use the built-in CFL in version 2004. It is only exposed from version 2005. The only suggestion is to look at optimizing your matrix. All CFLs in the system uses DB Datasources which makes populating the grid faster than using User data sources.
    Hope it helps,
    Adele

  • Data target 'XYZ' removed from list of loadable targets; not loadable

    Hi Guys,
    I am trying to run one of the infopakcage. When i open the IP i get this error (red) message "Data target 'XYZ' removed from list of loadable targets; not loadable".
    I tired deleting and re-creating the IP but still get the same message. I checked the data target "XYZ" but could not find in the system. It does not exists.
    This is not just a warning but an error which does not allow me to schedule the IP. I checked many forumns on this topic but did not get solution for this. I saw some of the OSS notes on other similar foroums but those not applicable.
    I would appreciate if anyone could provide me the right solution for this.
    Thanks,
    Manmit

    Manmit90
    The XYZ data target has not been part of initilization but this is connected to the datasource. since the data target has been deleted now, system is throwing you an error that "Data target 'XYZ' removed from list of loadable targets; not loadable."
    Old init is corrupted now. you will have to try a fresh one.
    Before running the re-init, run the delta's and make sure that no the RSA7 is emptied for this datasource.
    There will not be any problem with the re-init, it's just that you are trying to modify the data target selections.
    The re-init will load delta data to only those targets that you choose now.
    Regards,
    Sudheer.

  • Is it possible to populate a Choose From List manually?

    Hi
    I've got a requirement in a SDK screen that needs to be written to have a Choose From List contained on a Matrix column that should allow the selection of Item Masters as well as the selection of specific data contained within a User Defined Table. Whenever using ChooseFromLists I've always only ever used them to link to a object such as Items, Sales Order etc. and not a combination, or even to a User Defined Table. Is this even possible.
    If not I guess the only way around it would be to create a form mimicking the ChooseFromList which I could populate with what ever I like?
    Thanks
    Steve

    Hi Steven,
    Yes, Its possible which behaves as system CFL.
    Design the form like cfl having grid, choose button, cancel button and edittext of find. When you tab on edittext on form open the CFL form and after load form fill the grid by Datatable using sql query. Write code for select grid line on click of grid. Write the code on choose button which retrive value from grid.
    Thanks,
    Mahesh

  • Removing Duplicates from a choose from list

    Hi All,
    I have a choose from list of obj 73 )Catalog Numbers (Table OSCN)
    I also added conditions in the CFL that it only shows the Substitute for the CardType = 'S' (Supllier) Business Partners.
    But I want to remove all the duplicate Substitutes from the CFL so that only distinct Catalog Numbers shows in the CFL.
            //  Adding 2 CFL, one for the button and one for the edit text.
                    oCFLCreationParams.MultiSelection = false;
                    oCFLCreationParams.ObjectType = "73";
                    oCFLCreationParams.UniqueID = "CFL1";
                    oCFL = oCFLs.Add(oCFLCreationParams);
                    //Adding Conditions to CFL1
                    oCons = oCFL.GetConditions();
                    oCon = oCons.Add();
                    oCon.Alias = "Substitute";
                    SAPbobsCOM.Recordset oSuppliers = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.BoRecordset);
                    oSuppliers.DoQuery("Select Distinct t1.Substitute From OSCN t1 Join OCRD t2 on t1.CardCode = t2.CardCode Where t2.CardType = 'S' Group By t1.Substitute");
                    oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                    while (!oSuppliers.EoF)
                        oCon.CondVal = oSuppliers.Fields.Item(0).Value.ToString();
                        oCon.Relationship = SAPbouiCOM.BoConditionRelationship.cr_OR;
                        oCon = oCons.Add();
                        oCon.Alias = "Substitute";
                        oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL;
                        oSuppliers.MoveNext();
                    oCFL.SetConditions(oCons);
    Please advise....
    Kind Regards,
    Brenden Draper

    Hi Brenden,
    what you are trying to archieve won't work. Simply because CFL is getting all row data from  OSCN and ItemCode or CardCode can differ for a specific substitute.
    For example.
    ItemCode,CardCode,Substitute
    ItemA,BP1,sub1
    ItemA,BP2,sub1
    Would be 2 resultlines both with sub1 as substitute.
    SQL equivalent :
    Select Distinct t0.* from oscn t0 inner join OCRD t1 on t0.CardCode = t1.CardCode where t1.CardType = 'S'
    My advise would be to open a simple form with a grid and datatable bound.
    Some lines of coding and you get all you need.
    regards,
    Maik

  • Edit and text and choose from list

    hello,
    I am trying to create a form that resemle to the purchase order form.
    In the purchase order form when we select the card code from the choose from list
    the system fill all the fileds like the name docnum .. with relevant information.
    i tried to do that by using the vent et_evaluate of the edit text bind with the Card code in my form.
    The problem is that when i clik on the choose from list button the event is lanched  and then the value of the card code is "" so i can't crate my queries to get the infomation like suplier name and ..
    does any body have an answer?
    This my code:
    switch (pVal.ItemUID)
                                                case "3":
                                                        _Form.Freeze(true);
                                                        try
                                                            string NumFournisseur =
                                                                ((EditText) _Form.Items.Item("3").Specific).Value;
                                                            ArrayList DFournisseur =
                                                                new DB.PurchaseRequest(_SboCompany).
                                                                    GetDetailsFournisseur(NumFournisseur);
                                                            EditText Textvar;
                                                            // remplir nom fournisseur et nom contact
                                                            Textvar = (EditText) _Form.Items.Item("2").Specific;
                                                            Textvar.String = DFournisseur[0].ToString();
                                                            Textvar = (EditText) _Form.Items.Item("4").Specific;
                                                            Textvar.String = DFournisseur[1].ToString();
                                                            // remplir les dates comptable , de livraiosn et du document
                                                            Textvar = (EditText) _Form.Items.Item("17").Specific;
                                                            Textvar.String = DateTime.Today.ToString();
                                                            Textvar = (EditText) _Form.Items.Item("19").Specific;
                                                            Textvar.String = DateTime.Today.ToString();
                                                            Textvar = (EditText) _Form.Items.Item("21").Specific;
                                                            Textvar.String = DateTime.Today.ToString();
                                                            // remplir devise partenaire et numéro document
                                                            ((EditText) _Form.Items.Item("59").Specific).String =
                                                                new DB.PurchaseRequest(_SboCompany).GetCurrencyCode(
                                                                    NumFournisseur);
                                                            _Form.Items.Item("59").Visible = true;
                                                            _Form.Items.Item("59").Enabled = false;
                                                            ((ComboBox) _Form.Items.Item("10").Specific).Select(
                                                                "primary",
                                                                BoSearchKey.
                                                                    psk_Index);
                                                            ((EditText) _Form.Items.Item("11").Specific).String =
                                                                new DB.PurchaseRequest(_SboCompany).GetLastDocNum().
                                                                    ToString();
                                                            ((EditText) _Form.Items.Item("12").Specific).String = "0";
                                                        catch (Exception e)
                                                            Console.WriteLine(e.Message);
                                                        _Form.Freeze(false);
                                                        break;
                                            break;
                                        catch (Exception ex)
                                            Console.Write(ex.Message);
                                break;

    Hey Achref,
    You can use the event and code like this:
    string vendCode = string.Empty;
    SAPbouiCOM.IChooseFromListEvent oCFLEvento = (SAPbouiCOM.IChooseFromListEvent) pVal;
    string sCFL_ID = oCFLEvento.ChooseFromListUID;
    SAPbouiCOM.ChooseFromList oCFL = oVendorSourcingForm.ChooseFromLists.Item(sCFL_ID);
    SAPbouiCOM.DataTable oDataTable =  oCFLEvento.SelectedObjects;
    if (oDataTable != null)
         //get selected value from datatable
         if (oDataTable.Rows.Count > 0)vendCode = oDataTable.GetValue(0, 0).ToString();
    Also check out 17.ChooseFromList in the samples that you can download.
    Hope that helps
    Curtis

  • Choose from list in the system

    Hi
    I want to create the Choose from list in the System form (Employee Master Data) in the edit box. what is the coding for this ? can anyone help me ...
    Regards
    Bhuvana
    Edited by: bhuvana eshwari on Aug 7, 2008 8:23 AM

    Hi
    i am adding three fields in Employe Master Data under Adminstration folder and fourth field in Employe  Master Data,
    Choose from list is added in the fourth field. please see this coding...
    Public Class class1
        Public WithEvents oApplication As SAPbouiCOM.Application
        Private oOrderForm As SAPbouiCOM.Form
        Private oNewItem As SAPbouiCOM.Item
        Private oItem As SAPbouiCOM.Item
        Private oFolderItem As SAPbouiCOM.Folder
        Private oOptionBtn As SAPbouiCOM.OptionBtn
        Private oCheckBox As SAPbouiCOM.CheckBox
        Dim ostatic As SAPbouiCOM.StaticText
        Dim ocombo As SAPbouiCOM.ComboBox
        Dim oCompany As SAPbobsCOM.Company
        Dim oRecordSet, rs1, rs2 As SAPbobsCOM.Recordset
        Dim oSboGuiApi As SAPbouiCOM.SboGuiApi
        Dim nerr As Long
        Dim oedit, oedit1, oedit2 As SAPbouiCOM.EditText
        Dim obutton As SAPbouiCOM.Button
        Dim oform As SAPbouiCOM.Form
        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
        Public Sub setapplication()
            Dim Cookie, EncryptedCookie, Connstring As String
            Dim nerr As Long
            oCompany = New SAPbobsCOM.Company
            Connstring = Environment.GetCommandLineArgs.GetValue(1)
            oSboGuiApi = New SAPbouiCOM.SboGuiApi
            oSboGuiApi.Connect(Connstring)
            oApplication = oSboGuiApi.GetApplication
            oApplication.MessageBox("hi u r connected to the application")
            Cookie = oCompany.GetContextCookie
            EncryptedCookie = oApplication.Company.GetConnectionContext(Cookie)
            nerr = oCompany.SetSboLoginContext(EncryptedCookie)
            oApplication.MessageBox("single sign on worked")
            If oCompany.Connected = False Then
                nerr = oCompany.Connect
                If nerr <> 0 Then
                Else
                    oApplication.MessageBox("Company got connected successfully")
                End If
            End If
        End Sub
        Private Sub AddItemsToOrderForm()
            oItem = oOrderForm.Items.Item("90")
            oNewItem = oOrderForm.Items.Add("s1", SAPbouiCOM.BoFormItemTypes.it_STATIC)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            ostatic = oNewItem.Specific
            ostatic.Caption = "Referal Name"
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            oItem = oOrderForm.Items.Item("81")
            oNewItem = oOrderForm.Items.Add("e1", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            oedit = oNewItem.Specific
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            oedit.DataBind.SetBound(True, "OHEM", "U_rename")
            oItem = oOrderForm.Items.Item("s1")
            oNewItem = oOrderForm.Items.Add("s2", SAPbouiCOM.BoFormItemTypes.it_STATIC)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            ostatic = oNewItem.Specific
            ostatic.Caption = "ReferalEmp No "
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            oItem = oOrderForm.Items.Item("e1")
            oNewItem = oOrderForm.Items.Add("e2", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            oedit = oNewItem.Specific
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            oedit.DataBind.SetBound(True, "OHEM", "U_reid")
            oItem = oOrderForm.Items.Item("s2")
            oNewItem = oOrderForm.Items.Add("s3", SAPbouiCOM.BoFormItemTypes.it_STATIC)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            ostatic = oNewItem.Specific
            ostatic.Caption = "Floor"
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            oItem = oOrderForm.Items.Item("e2")
            oNewItem = oOrderForm.Items.Add("e3", SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            ocombo = oNewItem.Specific
            ocombo.ValidValues.Add("", "")
            ocombo.ValidValues.Add("FLOOR1", 0)
            ocombo.ValidValues.Add("FLOOR2", 1)
            ocombo.ValidValues.Add("FLOOR3", 2)
            ocombo.ValidValues.Add("FLOOR4", 3)
            ocombo.ValidValues.Add("FLOOR5", 4)
            oNewItem.FromPane = 3
            oNewItem.ToPane = 3
            ocombo.DataBind.SetBound(True, "OHEM", "U_refl")
            oItem = oOrderForm.Items.Item("3")
            oNewItem = oOrderForm.Items.Add("s4", SAPbouiCOM.BoFormItemTypes.it_STATIC)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            ostatic = oNewItem.Specific
            ostatic.Caption = "Referal Details"
            oNewItem.FromPane = 0
            oNewItem.ToPane = 0
            oItem = oOrderForm.Items.Item("33")
            oNewItem = oOrderForm.Items.Add("e4", SAPbouiCOM.BoFormItemTypes.it_EDIT)
            oNewItem.Left = oItem.Left
            oNewItem.Top = oItem.Top + 18
            oNewItem.Width = oItem.Width
            oNewItem.Height = oItem.Height
            oNewItem.Visible = True
            oedit = oNewItem.Specific
            oNewItem.FromPane = 0
            oNewItem.ToPane = 0
            addcfl()
            oedit.DataBind.SetBound(True, "OHEM", "U_refer")
            oedit.ChooseFromListUID = "cfl_1"
            oedit.ChooseFromListAlias = "firstName"
        End Sub
        Public Sub New()
            MyBase.New()
            setapplication()
        End Sub
        Private Sub LoadFromXML(ByRef FN As String)
            Dim oXmlDoc As Xml.XmlDocument = New Xml.XmlDocument
            Dim sPath As String
            sPath = IO.Directory.GetParent(Application.StartupPath).ToString
            oXmlDoc.Load(sPath & "\" & FN)
            oApplication.LoadBatchActions(oXmlDoc.InnerXml)
        End Sub
        Public Sub oApplication_ItemEvent(ByVal FormUID As String, ByRef pVal As SAPbouiCOM.ItemEvent, ByRef BubbleEvent As Boolean) Handles oApplication.ItemEvent
            If pVal.FormType = "60100" Then
                If ((pVal.EventType = SAPbouiCOM.BoEventTypes.et_FORM_LOAD) And (pVal.Before_Action = True)) Then
                    oOrderForm = oApplication.Forms.GetFormByTypeAndCount(pVal.FormType, pVal.FormTypeCount)
                    AddItemsToOrderForm()
                End If
            End If
            If pVal.FormTypeEx = "60100" And pVal.ItemUID = "e4" And pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST And pVal.InnerEvent = False Then
                Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
                oCFLEvento = pVal
                If oCFLEvento.Before_Action = True Then
                    oform = oApplication.Forms.ActiveForm
                    Try
                        oCFL = oform.ChooseFromLists.Item("cfl_1")
                        Dim oDataTable As SAPbouiCOM.DataTable
                        Dim oEdit As SAPbouiCOM.EditText
                        Dim Name As String
                        oform = oApplication.Forms.Item("60100")
                        oDataTable = oCFLEvento.SelectedObjects
                        oEdit = oform.Items.Item("e4").Specific
                        Name = oDataTable.GetValue("firstName", 0)
                        oEdit.String = Name
                    Catch ex As Exception
                        oApplication.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_None)
                    End Try
                End If
            End If
            If oedit.Value = "firstName" Then
                LoadFromXML("new.srf")
                oform = oApplication.Forms.Item("re_form")
                oform.Visible = True
                oedit = oform.Items.Item("cf1").Specific
            End If
        End Sub
        Private Sub addcfl()
            Dim ocflcreation As SAPbouiCOM.IChooseFromListCollection
            ocflcreation = oApplication.CreateObject(SAPbouiCOM.BoCreatableObjectType.cot_ChooseFromListCreationParams)
            ocflcreation.MultiSelection = True
            ocflcreation.ObjectType = "171"
            ocflcreation.UniqueID = "cfl_1"
            oCFLs = oform.ChooseFromLists
            oCFL = oCFLs.Add(ocflcreation)
        End Sub
    End Class
    Regards
    Bhuvana

  • Choose from list for purchase  Item

    Dear Experts,
    i have created Choose from list in matrix using Screen Painter. its working properly but i want to display only Purchase Items in CFL.
    For Customer we are using
    oCons = oCFL.GetConditions()
                oCon = oCons.Add()
                oCon.Alias = "CardType"
                oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
                oCon.CondVal = "C"
                oCFL.SetConditions(oCons)
    Like this, How to set condition for Purchase items thru coding or Screen painter
    Mathi

    Hi Mathi,
    Try this and tell me if it worked.
    oCons = oCFL.GetConditions()
    oCon = oCons.Add()
    oCon.Alias = "PrchseItem"
    oCon.Operation = SAPbouiCOM.BoConditionOperation.co_EQUAL
    oCon.CondVal = "Y"
    oCFL.SetConditions(oCons)
    If this works dont forget to reward points..
    Regards,
    Vasu Natari.
    Edited by: vasu natari on Jul 29, 2008 12:37 PM

  • Problem in Choose from list.

    Hi,
    As I tried CFL for a user defined form, when I select an item from CFL and it is displaying in the relevant field.  And when I save the data it is perfectly saving with the message of "Operation has been completed successfully".  But the data is not saving in the field in which is the CFL is activating. 
    It would be appreciated, if any one can give the solution please.
    The steps I' ve followed as,
    1.  In the screen painter I' ve added the choose from list thru' the collection folder.
    2.  Then the choose from list id is attached and give the allias in the item's specific property.
    3. Then I' ve written code in the load form function as follows.
                Oform.DataSources.UserDataSources.Add("EditDS", SAPbouiCOM.BoDataType.dt_SHORT_TEXT)
                txtaccode.DataBind.SetBound(True, "", "EditDS")
    4. In the item event
            If pVal.EventType = SAPbouiCOM.BoEventTypes.et_CHOOSE_FROM_LIST Then
                Dim oCFLEvento As SAPbouiCOM.IChooseFromListEvent
                oCFLEvento = pVal
                Dim sCFL_ID As String
                sCFL_ID = oCFLEvento.ChooseFromListUID
                Dim oForm As SAPbouiCOM.Form
                oForm = SBO_Application.Forms.Item(FormUID)
                Dim oCFL As SAPbouiCOM.ChooseFromList
                oCFL = oForm.ChooseFromLists.Item(sCFL_ID)
                If oCFLEvento.BeforeAction = False Then
                    Dim oDataTable As SAPbouiCOM.DataTable
                    oDataTable = oCFLEvento.SelectedObjects
                    Dim val As String
                    Dim val1 As String
                    Dim val2 As String
                    Dim val3 As String
                    Try
                        Try
                            val = oDataTable.GetValue(0, 0)
                            val1 = oDataTable.GetValue(1, 0)
                            If (pVal.ItemUID = "txtaccode") Then
                                oForm.DataSources.UserDataSources.Item("EditDS").ValueEx = val
                                txtaccode.Value = val
                                oForm.DataSources.UserDataSources.Item("EditDS1").ValueEx = val1
                            End If
                        Catch ex As Exception
                            Exit Sub 'For Exception raised for Cancel Button
                        End Try
                    Catch ex As Exception
                        SBO_Application.MessageBox(ex.Message)
                    End Try
                End If
            End If
        End Sub

    Checks if  the property TableName in the field is pointed to the table to store de data.
    Go to  Example: How to binding CFL  to a UDO in a customized System Form. and rate it
    regards

Maybe you are looking for

  • HT201700 where can i find a european adapter for my mac?

    I will be traveling to Spain and i need a european adapter for my macbook pro charger. as well as for my iphone. Also, will it be okay to use to charge with the adapter or do i need additional items, due to high voltage? thanks

  • Need media help

    My phone keeps telling me to format my media card. The first time I formatted it I lost every that was saved on it (that is supposed to happen). However, I got another message that the media card needs to be formatted. I have done the following about

  • What are the new features on the DESKTOP version of LR 6?

    I was going to upgrade until I had a chat with customer service and was told that the new HDR, photo merge, etc, were not on this version. Why should I spend the $79 to upgrade.  What does the new version have.  I have been using LR 4 successfully wi

  • GetDisposition

    I have been using a simple Java Mail program to read an incoming mail and if the mail has an attachment save the attachment as a file. Here is a part of the code: String fileName = p.getFileName(); String disposition = p.getDisposition(); String cont

  • My Membership has been expired

    My Membership has been expired due to some payment details, so again i taken a new new one year subscription. my payments has been successfully done. But still it showing popups saying that "We are having trouble verifying  your membership" what to d