cancel
Showing results for 
Search instead for 
Did you mean: 

Suppress system message when creating UDTs

Former Member
0 Kudos

I'm writing an add-on that adds user-defined tables on start-up. After the add-on program adds the UDTs, a system message is displayed warning the database has been modified. The user is prompted to click on Yes to continue or No to reboot. I would like the additon of the UDTs to be seamless and not have the end-users interact with the add-on to add the UDTs.

1) Is there a way to suppress this message?

2) Should the add-on have exclusive access prior to adding the UDTs?

3) Is it possible to add the UDTs during installation?

Thanks for your help,

Paula

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

1) Is there a way to suppress this message?

I think this is a system message too, in that case I have suppressed it on a previous occasion like this.

catch the form in form load

the formTypeEx = "0" for system message

the form title is also "System Message"

then simpy go


oSBOApplication.Forms(FormUID).Items("1").Click ct_Regular

user will not see anything. I hope this is what u are looking for.

Indika.

Answers (3)

Answers (3)

former_member185703
Active Contributor
0 Kudos

2005 UI API will provide a new property in the Application object:

MetadataAutoRefresh (a Boolean read-write property) can be used to suppress this message...

Please see details in the UI API 2005 help.

Just in case you missed it:

There were sessions about SDK / DI API + UI API (available on SAP Service Marketplace... => SMB Portal => "Education" section...):

SDK & DI API - New Features and Enhancements

Replay (wrf, 13.60 MB):

https://websmp106.sap-ag.de/~sapidb/011000358700002914632005E.wrf

Presentation (pdf, 173 KB):

https://websmp106.sap-ag.de/~sapidb/011000358700002914622005E.pdf

(SDK &) UI API - New Features and Enhancements

Replay (wrf, 13.90 MB):

https://websmp106.sap-ag.de/~sapidb/011000358700002942972005E.wrf

Presentation (pdf, 226 KB):

https://websmp106.sap-ag.de/~sapidb/011000358700002933092005E.pdf

HTH,

Frank

PS: Please note that especially in the DI API there are even more new properties exposed for "old" objects than currently marked with the red star (as usual)!

I hope this will be fixed very soon...

Former Member
0 Kudos

3) It IS possible to create your UDT's upon installation!

You can create a small programm that uses the DI to create the UDT's. Run this small programm using your setup.exe will result in creation of your UDT's upon installation.

Problem stays that they will be only created in the running company, or in selected companies (with a dialog box in your exe or something).

T avoid further problems it would still be wise to check for the availability of the fields every time you start your AddOn butn this will not be so timeconsuming anymore and further dialogs will be avoided.

Succes!

Ivo Vink

Former Member
0 Kudos

Thank you for your help, and yes, I have another question. How can I connect the program to add the meta-data to the DI during installation? Can I get the command string as I would when launching an addon in the UI or do I need to write an interface for the end-user to enter sign-on info?

Thanks again,

Paula

Former Member
0 Kudos

You would use a process call SingleSignOn , what it does :

it will connect you to the DI using the current UI conenction. you need to have connected to UI first

see the code I use below (VB6)


Public Function ConnectWithSingleSignOn() As Boolean
    On Error GoTo theerr
    Dim strCookie As String
    Dim strConnStr As String
    Dim lngRetval As Long
    
    'variable were declared elsewhere as follows 
    'Public gObjCompany As SAPbobsCOM.Company  
    'Private WithEvents mobjSBOApplication As SAPbouiCOM.Application
    strCookie = gObjCompany.GetContextCookie
    strConnStr = mobjSBOApplication.Company.GetConnectionContext(strCookie)

    lngRetval = gObjCompany.SetSboLoginContext(strConnStr)
    If Not lngRetval = 0 Then
        '---operation failed
        Err.Raise 500 + vbObjectError, CONST_STR_APP_NAME & "ConnectWithSingleSignOn", "gObjCompany.SetSboLoginContext(strConnStr) : Failed"
    End If

    lngRetval = gObjCompany.Connect
    
    Dim lErrCode As Long
    Dim sErrMsg As String
    If lngRetval <> 0 Then
        gObjCompany.GetLastError lErrCode, sErrMsg
        Err.Raise lErrCode, CONST_STR_APP_NAME & "ConnectWithSingleSignOn", sErrMsg
    End If
Exit Function
theerr:
    Err.Raise Err.Number, Err.Source, Err.Description & vbCrLf & " Function: Connedt With Single Sign On "
    
End Function

AdKerremans
Active Contributor
0 Kudos

1. There is no way to suppress this message

2. It is better to start the add-on the first time without any one else using B1

3. no

We have that same problem. some tips

make an own parameter table with a version in it and check the version in that table whether to create table/fields or not.

Make a seperate executable to create the tables/fields just run this once and check in the add-on if the tables/fields exist.

Hope this helps