Customised SAP AddOn

Our teams has been developing and installing Customised SAP AddOns on client sites for testing. 
However, we always encounter 2 common problems:
(a) "Another version of the program has been installed" - when trying to uninstall from SAP B1 AddOn Administration.
I notice there is SAP Notes that suggest removing 'AddOnsInstall.sbo' and 'AddOnsLocalRegistration.sbo' .  However, this solution requires reinstalling all AddOns after the removal.
Is there a particular reason this happen that we can include in our program as a fix? 
(b) Sometimes, after uninstalling from SAP Business One, we still see that the AddOns hangging in Control Panel--> Add/Remove Program.  If we try to uninstall the AddOn from Add/Remove Program, we receive an error "Object reference not set to an instance".
Any advice on this?

Hi,
For the first one, instead of deleting the files, open them with the notepad, and delete the XML nodes regarding your addon.
I think this would solve the second too, but I´m not 100% sure. If not, have a look at the SARI table in the SBO-Common database.
Hope helps,
Ibai Peñ

Similar Messages

  • Uninstall SAP Addon

    Hi Basis Experts,
    Can any one tell me How to uninstall a SAP addon/component?
    Appreciate your time and help
    Thanks
    CG

    Prince,
    That is what i thought. I think there should be a way to uninstall the addon/component.
    I was trying to figure out this and could'nt find any document or procedure to do this.
    Thanks
    CG

  • Error when installing SAP Addons

    Hi all,
    When i am installing a SAP addon i got the following error:
    "Error: -1603 Fatal error during installation. Consult Windows Installer Help (Msi.chm) or MSDN for more information."
    Can somebody how to fix this problem.
    Thanks in advance,
    Chief

    I solved it what you need to do is: To clean the temp directory.
    Via Start - Run - %temp%.
    Greetz,
    Chief

  • Pre-requisite before going for training to customise sap business one.

    what are the pre requisite before going for training to customise sap business one according to our requirements...I am going for training on SAP business one to Germany

    Hi
    In SAP B1 there is only 3 Modules.
    1 Technical Basic Knowldege in Programming in Visual Studio
    2 Accounting
    3 Logistics
    2 & 3 are Functional Consultant. Basic Knowledge in Business Management is Enough.
    SAP B1 is easy to learn and Understand.
    You can Manage. Well
    Regards
    Srini

  • Trouble Installing SAP Addons

    Hi,
    While installing any of the SAP Addon like Outlook Integration or EFM Format its generating a dmp file. Can anyone sugget what can be done.
    Following message is prompted while installing the Addon:
    Application has a problem
    Diagonistic file "C:\Documents and Settings\Administrator\Local Settings\Application Data\SAP\SAP Business One\SAP Business One_20110524174113.dmp was created. Please contact support and attach the diagonistic file.
    Liza

    Hi Liza,
    Welcome to SDN !!!!!!!
    On version you are installing ? Patch ?
    On which OS ?
    Thanks
    Kevin

  • Customise Sap Report -- Add logo and change report layout

    Hi All,
    I have a requirement to amend sap standard report to add logo and change layout, could some one pls point me to teh right direction. Should we .1 Create a new smartfrom if yes -- how to to create smartfroms
    2. Should we create new Zreport...3. Is Adobe Interactive forms any good---- cld you please share the steps to create Adobe Ine Form 4. is sap script any good way in my situation
    Thanks
    Smith

    Changes to SAP Standard are always a bit tricky, specially if we are talking about legal reports. If the standard report uses smartform, you can change the standard form without needing a SSCR key, so no need to create a Z report or smartform even, but like every change on SAP Standard, if further changes are made by SAP through Support packages you will always have to replicate them yourself everytime this happens. I would suggest creating a new Z report by copy of standard and new Z smartform, that way you can always recurr to the standard and see what was changed and then replicate them in you Z reports.
    To create smartform, go to TCode smarforms and you can create one by copy of an existing smartform.
    Adobe Interactive forms is more complex then smartforms and unless the standard uses a print form, i would not suggest you creating one as it will envolve a bit more knowledge.

  • Layout problem for Customised SAP Script  ZQM_QCERT_01

    hey guys,
                     i need to generate a customised layout for QM_QCERT_01 used in QC21 tcode.
    I had copied QM_QCERT_01 INTO ZQM_QCERT_01 but after making changes in the HEADER,the table goes to second page and the alignment of all the fileds in table also gets changed. What should i do in this regard ??
                 Pls reply ,,,,<removed by moderator>
    Thanks in Advance,
    Ajay
    Edited by: Thomas Zloch on Nov 21, 2011 11:52 AM

    With the information you provided, I think the easiest thing to do is to create a new copy. Or then you could check the differences by comparing the old and new smartform.

  • Creating SAP Addons

    Hi I'm trying to create an add using the SAP B1 AddOnInstaller .Net wizard however i follow the instructions and after i click finish to create the project, it opens up a program called Add-On registration Data generator. why does it do this? what is it for? and how do i use it?
    Thanks Matt.

    Matthew,
    Please look at the SAP Business One SDK Help Center documentation and specifically at the "Package and Deployment" sections as this will give you an overview of packaging your add-on.
    HTH,
    Eddy

  • Error in customised SAP script for F-58

    Hi experts,
    I'm facing one strange error.
    While doing F-58 transaction along with any Z-sapscript , the values are getting populated into fields of table REGUH (Settlement data from payment program).
    One field REGUH-ZADNR (Payee's Address Number) the value coming as 'XXXXXXXXXX'.
    while processing this value ...It results in runtime error as "CONVT_NO_NUMBER"
    Unable to interpret "XXXXXXXXXX" as a number.
    What could be the reason.
    Any useful inputs on this will be rewared points.
    Thanks
    Lakshmiraj A

    Well it is actually the functional guys task. For the payment run transaction F110 they have to do many configurations to maintain the payee, bank, cheque lot, company details etc. So better ask them to check the configuration of payment run, in that check if the payee has the correct address.
    Hope it helps.
    Please inspire by rewarding points.
    FY

  • Error While Starting XL Reporter Addon on SAP Business One Server

    Hi Everyone,
    I have got the following error message while starting XL Reporter Addon on SAP Business One Server:-
    1. "Unable to Connect SAP Business One, Connection string is not valid [66000-84]. The user is not licensed." 
    2. "Addon does not have a License"
    while license is installed on this machine.

    Hi,
    Try these below steps:
    In Business One from the main menu go to Administration -> License -> License Administration.
    Select the user you wish to connect to the XL reporter.
    Assign the user the SAP AddOn License.
    JimM

  • SBO ADDON 绑定 SAP

    ADDON在连接SBO的时候,怎么可以实现单一绑定SBO呢?以避免同时开启多个SAP的时候,ADDON开启多个,但是只在最后开启的SAP,或者第一个开启的SAP出现,也就是有没有方式使得
           Set SBO_Application = SboGuiApi.GetApplication(X) 中的X能自动修改,而不是:
          Set SBO_Application = SboGuiApi.GetApplication(-1)
         或
           Set SBO_Application = SboGuiApi.GetApplication(0)

    Dear Matrix hu,
    UI API 的ADD-ON 是通过Connection String 连接到当前运行的B1客户端的:
        '// connect to a running SBO Application
        SboGuiApi.Connect sConnectionString
    SboGuiApi.GetApplication() 只是得到当前运行B1的一个运行实例,并不能用来区分多个B1客户端。
    Best Regards
    Jane Jing
    SAP Business One Forums team

  • SAP system hang when start the addon.

    Dear Expert,
    I just upgrade one of the SAP B1 server from 2007A to SAP B1 8.8 PL15, everything going smooth both server and clients.
    Except one client (new laptop with Win 7 Pro x86), this laptop fail to start the addon.
    Others clients with same specs Win 7 Pro have no problem to start addon.
    Addon started manually.
    After click start button for that addon, the system hang. If without the addon system working fine.
    If anyone have ideas to check much appreciate and thanks in advance.
    Regards,
    Mat

    Hi Bala,
    I did try your steps, but no luck. System still hang when start the addon.
    But, I can start SAP addon , example i try Screen Painter, and can start successfully. Only our addon cannot start.
    I'm not suspect our addon because others client working smooth, even the server also working fine.
    I did re-install DIAPI, even re-install SAP client a few time, but still fail to start addon (delete SAP client folder before install).
    Any one face this problem?
    Regards,
    mat
    Edited by: Mat Mat on Apr 21, 2011 10:43 AM

  • How to add check box in SAP B1 grid controls..

    hi all,
    Anyone know how to add check box in SAP grid control?
    It will be great if you could show me some sample code.
    thanks.
    regards,
    sohch

    Hi Sohch,
    1. First of all you should define the Column in a matrix as it_CHECK_BOX. Like
            oColumns = oMatrix.Columns
            oColumn = oColumns.Add("chk_YesNo", SAPbouiCOM.BoFormItemTypes.it_CHECK_BOX)
            oColumn.TitleObject.Caption = "YesNo"
            oColumn.Width = 60
            oColumn.Editable = True
    2. Bind it with a DBDataSource as defined
            oColumn = oColumns.Item("chk_YesNo")
            oColumn.DataBind.Bind("UDTable", "U_YesNo")
    3. Make Sure that the value that is being put into the Database is either 'Y' or 'N'.
    Hope this Helps
    Rizwan Hafeez
    Team Lead
    SAP Addon Development Section
    Abacus Consulting - Pakistan

  • Table Creation taking a lot of time in SAP 2007...

    I have an SAP Addon which is created in SAP2005...Right now i changed the code to SAP 2007...But the Problem i am facing is, it takes a lot of time to created the usertabels thorugh SAP 2007 code...Around 5 minutes it takes....But i created the usertables through SAP 2005 less than 2 minutes....I ahve to create 18 usertables thorugh this code....
    can anyone help me to solve this issue.. as well as i want to know whether any change is there in codes in SAP 2005 or SAP 2007.for creating Usertables....
    My Code:
    Private Sub AddUserTable(ByVal Name As String, ByVal Description As String, ByVal Type As SAPbobsCOM.BoUTBTableType)
    Try
    oUserTablesMD = oCompany.GetBusinessObject(SAPbobsCOM.BoObjectTypes.oUserTables)
    If oUserTablesMD.GetByKey(Name) = False Then
    oUserTablesMD.TableName = Name
    oUserTablesMD.TableDescription = Description
    oUserTablesMD.TableType = Type
    lRetCode = oUserTablesMD.Add
    If lRetCode 0 Then
    'oCompany.GetLastError(lRetCode, sErrMsg)
    'MsgBox(sErrMsg)
    End If
    End If
    Catch ex As Exception
    'pEve_Application.StatusBar.SetText(ex.Message, SAPbouiCOM.BoMessageTime.bmt_Short, SAPbouiCOM.BoStatusBarMessageType.smt_Error)
    Finally
    System.Runtime.InteropServices.Marshal.ReleaseComObject(oUserTablesMD)
    End Try
    End Sub
    Waiting for Positive Reply...
    Thanks
    Hari

    Hi hari,
    I suggest you create you user tables, fields, keys, permissions through XML.
    Here's a sample:
    <?xml version="1.0" encoding="UTF-16"?>
    <BOM>
         <BO>
              <AdmInfo>
                   <Object>153</Object>
              </AdmInfo>
              <OUTB>
                   <row>
                        <TableName>TABLE_ID</TableName>
                        <Descr>TABLE_DESCRIPTION</Descr>
                        <ObjectType>1</ObjectType>
                   </row>
              </OUTB>
         </BO>
         <BO>
              <AdmInfo>
                   <Object>152</Object>
              </AdmInfo>
              <CUFD>
                   <row>
                        <TableID>@TABLE_ID</TableID>
                        <AliasID>FIELD_NAME</AliasID>
                        <Descr>FIELD_DESCRIPTION</Descr>
                        <TypeID>A</TypeID>
                        <EditType></EditType>
                        <Dflt></Dflt>
                        <EditSize>100</EditSize>
                   </row>
              </CUFD>
              <UFD1>
              </UFD1>
         </BO>
    </BOM>
    If you have already created the fields before (through code or through B1 UI), you can query the OUTB, CUFD and UFD1 tables to check what values you need to put in the XML file.
    You can use the following function to process a single XML file with the definition of tables, fields, keys and permissions.
        Public Function LoadBDFromXML(ByRef oCompany As SAPbobsCOM.Company, ByRef oApplication As SAPbouiCOM.Application, _
                ByRef Directory As String, ByRef FileName As String) As Boolean
            Dim sXmlFileName As String
            Dim iElementCount As Long
            Dim iCounter As Long
            LoadBDFromXML = False
            Try
                '// Inicializar a barra de progresso, caso seja nada.
                If BarraDeProgresso Is Nothing Then
                    BarraDeProgresso = oApplication.StatusBar.CreateProgressBar(UpdatingDB, 1, False)
                End If
                sXmlFileName = Directory & "" & FileName
                iElementCount = oCompany.GetXMLelementCount(sXmlFileName)
                BarraDeProgresso.Maximum = iElementCount
                BarraDeProgresso.Value = 0
                For iCounter = 0 To iElementCount - 1
                    oCompany.XmlExportType = BoXmlExportTypes.xet_ExportImportMode
                    Select Case oCompany.GetXMLobjectType(sXmlFileName, iCounter)
                        '// Tabela de Utilizador
                        Case BoObjectTypes.oUserTables
                            Dim oTable As SAPbobsCOM.UserTablesMD = oCompany.GetBusinessObjectFromXML(sXmlFileName, iCounter)
                            Try
                                BarraDeProgresso.Value += 1
                                BarraDeProgresso.Text = "UDT: " & oTable.TableDescription
                                If oTable.Add <> 0 Then
                                    oApplication.MessageBox(TranslateStr(oApplication, ErrAddUDT) & vbCrLf & _
                                    TranslateStr(oApplication, Error_) & oCompany.GetLastErrorCode.ToString & ", " & _
                                    oCompany.GetLastErrorDescription & vbCrLf & TranslateStr(oApplication, Element) & _
                                    iCounter & ", " & oTable.TableDescription)
                                    Exit Function
                                End If
                            Catch ex As Exception
                                oApplication.MessageBox(TranslateStr(oApplication, Error_) & _
                                TranslateStr(oApplication, ErrUDT) & ", " & ex.ToString)
                            Finally
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oTable)
                                oTable = Nothing
                                GC.Collect()
                            End Try
                            '// Campos de Utilizador
                        Case BoObjectTypes.oUserFields
                            Dim oFields As SAPbobsCOM.UserFieldsMD = oCompany.GetBusinessObjectFromXML(sXmlFileName, iCounter)
                            Try
                                BarraDeProgresso.Value += 1
                                BarraDeProgresso.Text = "UDF: " & oFields.TableName & "." & oFields.Name & " - " & oFields.Description
                                If oFields.Add <> 0 Then
                                    oApplication.MessageBox(TranslateStr(oApplication, ErrAddUDF) & vbCrLf & _
                                    TranslateStr(oApplication, Error_) & oCompany.GetLastErrorCode.ToString & ", " & _
                                    oCompany.GetLastErrorDescription & vbCrLf & TranslateStr(oApplication, Element) & _
                                    iCounter & ", " & oFields.Name)
                                    Exit Function
                                End If
                            Catch ex As Exception
                                oApplication.MessageBox(TranslateStr(oApplication, Error_) & _
                                TranslateStr(oApplication, ErrUDF) & ", " & ex.ToString)
                            Finally
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oFields)
                                oFields = Nothing
                                GC.Collect()
                            End Try
                            '// Chaves de Utilizador
                        Case BoObjectTypes.oUserKeys
                            Dim oKeys As SAPbobsCOM.UserKeysMD = oCompany.GetBusinessObjectFromXML(sXmlFileName, iCounter)
                            Try
                                BarraDeProgresso.Value += 1
                                BarraDeProgresso.Text = "UDKey: " & oKeys.KeyName & "(" & oKeys.TableName & ")"
                                If oKeys.Add <> 0 Then
                                    oApplication.MessageBox(TranslateStr(oApplication, ErrAddUDK) & vbCrLf & _
                                    TranslateStr(oApplication, Error_) & oCompany.GetLastErrorCode.ToString & ", " & _
                                    oCompany.GetLastErrorDescription & vbCrLf & TranslateStr(oApplication, Element) & _
                                    iCounter & ", " & oKeys.KeyName)
                                    Exit Function
                                End If
                            Catch ex As Exception
                                oApplication.MessageBox(TranslateStr(oApplication, Error_) & _
                                TranslateStr(oApplication, ErrUDK) & ", " & ex.ToString)
                            Finally
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oKeys)
                                oKeys = Nothing
                                GC.Collect()
                            End Try
                            '// Árvore de Autorizações
                        Case BoObjectTypes.oUserPermissionTree
                            Dim Tree As SAPbobsCOM.UserPermissionTree = oCompany.GetBusinessObjectFromXML(sXmlFileName, iCounter)
                            Try
                                BarraDeProgresso.Value += 1
                                BarraDeProgresso.Text = PermTree & Tree.Name
                                If Tree.Add <> 0 Then
                                    oApplication.MessageBox(TranslateStr(oApplication, ErrAddUPT) & vbCrLf & _
                                    TranslateStr(oApplication, Error_) & oCompany.GetLastErrorCode.ToString & ", " & _
                                    oCompany.GetLastErrorDescription & vbCrLf & TranslateStr(oApplication, Element) & _
                                    iCounter & ", " & Tree.Name)
                                    Exit Function
                                End If
                            Catch ex As Exception
                                oApplication.MessageBox(TranslateStr(oApplication, Error_) & _
                                TranslateStr(oApplication, ErrUPT) & ", " & ex.ToString)
                            Finally
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(Tree)
                                Tree = Nothing
                                GC.Collect()
                            End Try
                            '// Objectos de Utilizador
                        Case BoObjectTypes.oUserObjectsMD
                            Dim oUDO As SAPbobsCOM.UserObjectsMD = oCompany.GetBusinessObjectFromXML(sXmlFileName, iCounter)
                            Try
                                BarraDeProgresso.Value += 1
                                BarraDeProgresso.Text = "UDO: " & oUDO.Code & "(" & oUDO.Name & ")"
                                If oUDO.Add <> 0 Then
                                    oApplication.MessageBox(TranslateStr(oApplication, ErrAddUDO) & vbCrLf & _
                                    TranslateStr(oApplication, Error_) & oCompany.GetLastErrorCode.ToString & ", " & _
                                    oCompany.GetLastErrorDescription & vbCrLf & TranslateStr(oApplication, Element) & _
                                    iCounter & ", " & oUDO.Name)
                                    Exit Function
                                End If
                            Catch ex As Exception
                                oApplication.MessageBox(TranslateStr(oApplication, Error_) & _
                                TranslateStr(oApplication, ErrUDO) & ", " & ex.ToString)
                            Finally
                                System.Runtime.InteropServices.Marshal.ReleaseComObject(oUDO)
                                oUDO = Nothing
                                GC.Collect()
                            End Try
                    End Select
                Next iCounter
                If Not BarraDeProgresso Is Nothing Then
                    BarraDeProgresso.Stop()
                    BarraDeProgresso = Nothing
                End If
                LoadBDFromXML = True
            Catch ex As Exception
                If oCompany.InTransaction = True Then oCompany.EndTransaction(BoWfTransOpt.wf_RollBack)
                oApplication.MessageBox("LoadBDFromXML(" & FileName & "): " & oCompany.GetLastErrorCode.ToString & ", " & ex.ToString)
            End Try
        End Function
    Note: BarraDeProgresso is my progress bar.
    You can also register UDO's through XML, but I prefer to do it by code.
    Regards,
    Vítor Vieira

  • How we can use the stored procedures  in sap b one -pld,

    HI , actualli i m a fresher in PLD and want to add a new field in preiview ofr which we have to bind the data  using stored procedure which is the inbuilt given option for the properties of any field (in contents).Is anyone help me egarding this .
    then pls mail me the solution at:[email protected]
    bye

    Hi Premraj,
    PLD only supports User Defined Queries generated through the Query Wizard or the Query Generator in the Reports Module of SAP B1. Though I would personally recommend NOT to use Stored Procedures since they are not supported by  B1 solution certification guidelines. Instead take a look at PLD Tutorials available on the SDN Site and formulate a query accordingly.
    Regards
    Rizwan Hafeez
    Team Lead
    SAP Addon Development Section
    Abacus Consulting - Pakistan

Maybe you are looking for

  • Insert Opportunity - Product Revenue Child using WS2 - SBL-EAI-04316 error

    Hello, I´ve got the following error message trying to insert a product revenue child object to opportunity using WS2. Fehler beim Übertragen der Daten ins CRM on Demand! Tue Apr 26 08:06:21 CEST 2011 :: Fehler bei der Verarbeitung von Argument (Error

  • AirPort to Linksys WRT54G w/WPA

    So it's the holidays and I'm at my mother's house, where someone set up a wireless network through a Linksys WRT54G. Through her computer we printed up the router's security info, but the network seems to be carefully hidden--nothing shows up under t

  • Receivables question: AR invoices/credit memos between Supplier Sites

    I'm trying to solution a client requirement of having the ability to transfer AR invoices/credit memos between supplier sites of the same supplier. Is this possible or is there a comparable workaround available in Receivables R12? Thanks, Chris

  • Color problems in CS3

    I've searched all the forums but haven't found a solution yet.  My color swatches have lost the RGB colors in photoshop CS3. I've checked all the normal solutions, like color settings,  tried the fly out menu settings, etc and found all to be set cor

  • Financial Report Backup

    Hi, Please guide me how to take Financial Report (11.1.1.3) Backup? Thank You EP