Working with user-defined forms in SBO

Hi, newby here.
What is the right way to work with userdefined-forms in SBO?
My add-on adds a button to a system-form (when it is loaded).
User presses the new button, and the following code is executed:
- LoadFromXML("MyForm.xml")         ( like the sample code)
- oForm = SBO_Application.Forms.Item("SBOFormEditor_11")
- oForm.visible = true
The user-form is displayed
User presses the OK button on the new user-form, which triggers
- oForm.close()
This works. But a possible disadvantage may be that the form is loaded from XML, each time the user clicks the new button on the system-form.
I would prefer to load the form once, upon starting the add-on. And then display or hide it, by simply turning the oForm.visible-switch on and off. So, when user clicks the OK button: oForm.visible = false.
The problem here is that when the user clicks the close-form button (X), the new form seems to be gone/destroyed/removed.
So, when the user clicks the new button, I need to know how the user exited the new form previously:
If user clicked OK, then I can set the oForm.visible switch on,
but if the user had closed the form, I need to re-load it from XML.
In my experience, if a solution is not pretty, there is usually a better one. But then again...beauty is in the eye of the beholder.
Any comments, or better alternatives, would be appreciated.
Thanks
Erwin

Hi Erwin,
Welcome to the forum.
I don't think I've ever seen an addon which hides its forms until they are needed again but it's an interesting idea. Whereas I can see some advantages, I'd be inclined to always load the form from XML for a few reasons:
1) Most of the time I tend to be working with multiple instances of the same user form (ie the user can open my form multiple times like a lot of the system forms). Keeping track of how many instances of my form are open and whether they are hidden or not is more of a pain than just closing and opening the form.
2) Hidden forms still take up memory on the workstation, although that's probably a minor issue for one or two forms at a time.
3) Unless the form is quite complex (ie large number of controls or lots of comboboxes to populate) the load speed is acceptable.
If your form is quite complex and the user is likely to be opening and closing it regularly then I can see an advantage in hiding the form until it is needed again as this should speed up the response time.
There are ways to stop the user closing your form unless they use the Ok or Cancel buttons:
Re: Menu UID for Minimize/Maximize/Close buttons
Kind Regards,
Owen

Similar Messages

  • Working with User-Defined

    What do it event is used to capture the action later of inserted a data on Database?
    Thanks

    You can use formated search to catch events on a user defined field.  You should n't try to create SQL triggers by yourself.
    To do  a formated search you must create a new SQL query in the Query Editor then save it under s name.  Then you go on your UDF and press shift + Alt +  F2 and follow the process. Select 'Search By Saved Query' option then choose your query from the list.  Check the box 'Auto Refresh when field change', select the right field in your combo box.  That should do it.

  • Oracle Reports, Working with User defined template

    Dear Ones,
    I saw the Reports9i online help, there if i want to add my own template to the list of predefined template list , it said to add the template in the following directory:"ORACLE_HOME/REPORT60/ADMIN/TEMPLATE/US"
    But I am unable to find this directory in my ORACLE-HOME...Plz help me..
    Aijaz

    Hi Aijaz,
    On Windows installation in my machine, the directory structure mentioned is present. But on Solaris, it is under $ORACLE_HOME/reports60/admin/templates.
    Please let me know what exactly the help says.
    Also state where you are looking for online help.
    Are you using 6i / 9i Reports (because directory structure mentions "REPORT60") but you have mentioned who saw in Reports9i Online help. Please clarify.
    Thanks,
    Vinod.

  • Creating user defined table in SBO-COMMON

    Hello experts,
    I'd like to create a user defined table in SBO-COMMON. I'll tell you why:
    I have successfully created a SAP B1 addon which adds freight costs to an order if the total amount is under a certain threshold. We have 2 administrations running, a live one and a test administration. We have put the connectionstring to determine the expense code of the freight costs in the exe.config-file of the addon.
    We want to be able to point the addon from one administration to the other by modifying only one value, a centralized value, independent of SAP administration. The most proper way to do that in my opinion is to put it in SBO-COMMON and the only logical way to do that is a user defined table in SBO-COMMON.
    Is there such a way?
    My alternative is to abuse another database on the server and just add the info there, but I'd prefer to store it in SBO-COMMON.
    Thanks for your time!
    Vincent

    UDT cannot be created in sbo-common. You may create new db and work with table in this db (but it will be not UDT, but standard sql table), or create new company db only for this purposes and create UDT there.

  • User Defined Form problem...

    Hi,
    I have the Item Master Data form opened with the User Defined Form opened.
    Now the Form has the focus and I'm trying to get an User Defined Item control on the User Defined Form
    but it says Form not found and I did try to select it or to use the GetForm with the "-" + TypeEx of the current form but nothing seems to work.
    Any idea how I can switch from the form to the User Defined Form on which I need to get the control ?
    I havfe to mention that I'm trying it on a second opened Item Master Data form so the FormTypeCount = 2  Could it be a BUG ?
    Edited by: Marc Roussel on May 28, 2009 4:20 PM

    if (mo.ItemUID.IndexOf("U_") != -1)
        oCurrentForm.PaneLevel = 1; // I tought this could help since the UDF form has a pane level of 1 but it does nothing.
        oCurrentForm = _SBOApplication.Forms.GetForm("-" + FormType.ToString(), FormTypeCount);
        // I get a Form not found here............ HUH WHY ??????? It's there and visible.  I DON'T UNDERSTAND...
        // and FormType is really "150" which is the actual form opened......

  • Getting Login error while working with User Management

    Hi,
    I am new to EBS and learning to work with 'User Management'.
    I have EBS 11i installed on XP.
    I face following error message when try to open any screen in 'User Management' responsibility...
    *'This type of function cant be performed without logging into E-Business Suite Home Page'....*
    This error is strange for me because i login with SYSADMIN and then choose 'User Management' responsibility.
    Thanks in advance for any helpful hint.
    Regards,
    Sohail.

    Hi,
    I face following error message when try to open any screen in 'User Management' responsibility...
    *'This type of function cant be performed without logging into E-Business Suite Home Page'....*Please mention the navigation path to reproduce the issue.
    Also, please check Apache log files for any errors.
    This error is strange for me because i login with SYSADMIN and then choose 'User Management' responsibility.Please see (How to to Define an Application User That Has All The Priviledges in User Management Responsibility options As SYSADMIN User [ID 378262.1]).
    Thanks,
    Hussein

  • Display of document line items with user defined fields

    Hi all,
    I have created two user defined fields in CI_COBL structure and they are available on OBC4 screen. I maintained  optinal for entry in the screen layout. I posted one document with user defined fields and saved.
    Now the document is updated in BSEG table. I then display the document, and it display the doucment
    But when i double click on the one of the line items system gives an error that there is some problem in customising and entries missing in Table COBM.
    I checked OXK3 and see that in field information for user fields, it says entries maintained in table COBM.
    But still i couldnt display my line items in detail.
    Any solutions
    Thanks in advance
    Ram

    Yes your are looking at the correct sap note.
    Things look pretty straight forward in the notes documentation.
    1)Extend the VBKRED structure with the fields you want.
    2)Populate thse values in the user exit in program DBKMVF02 in FORM routine USER_EXIT_FUELLEN_XVBKRED.
    For extending a standard structure you need to create a zstructuree in se11 first and then append it to the standard structure.
    In your case you need to  extend VBKRED_EX1 structure rather than VBKRED.
    Regards,
    ravi

  • Error erase Queries in Query Manager- The query is used with user-define...

    Hello Experts
    I have deleted a User Field that had a Formatted Search and now I can not remove it because it is linked according to a UF, the error message is as follows:
    "The query is used with user-defined values [Message 952-23]"
    There will be a way to resolve this issue???
    Thanks in advance

    Hi Juan,
    I have tried this very limited, but the formid, is this a number in your case?
    SELECT * from cshs t0 inner join ouqr t1 on t0.queryid = t1.intrnalkey
    where t1.qname = '[%0]'
    Running this query I can get the form id that I need to recreate, but I have a feeling you already know the form id, is this correct?
    - Is there an error when you try to recreate the form id?
    - Will it not let you recreate the same form id because the id is given by the system?
    If it is not possible to recreate the form id, please prepare a backup and log a message. Support should be able to correct the entry in table cshs.
    Hope it helps.
    Jesper

  • Personalization Publication with user defined / multiple / discrete values

    Hello,
    I try to personalize a main report ( with Enterprise XI 12.1.0, Crystal Report XI  )
    ( parameter p_company_code ( as string ),  with user defined / multiple / discree and range values )
    with dynamic recipients ( Crystal Report ).
    For a single value it works.
    But I did not find a solution how to set up the values for my parameter p_company_code so that I can start the main report
    with the following company codes  ( 4711, 4712, 0815-0890 ) for one recipients ( only one report for all this company codes  )
    Thans for your help
    H. Blum

    Hi Fabio,
    It works as follows.
    let's say you have 3 multiple single lines for your cost center variable.
    once you are in the folder, select any single value & the layout is ready for planning with the corresponding cost center.
    now, select the "Cost center variable row" in the header of the folder within section "Name of Variable" & click on "Trash Can" icon to "Delete Selection" of variable.
    this basically deletes all the entered selections (3 entries) & displays for all.
    It works this way, because we don't have "resriction of values required by user".
    if am not wrong & correct me if am wrong,
    overall, this is nothing but equal to "planning level not restricted with any variable".
    I just tested this & the flaw in this is that, it is not only displaying for all the initially entered 3 lines but it displays for each & every cost center irrespective of the variable selections.
    hope it is clear.

  • Want to proceed with User defined fuction in Mapping i dont know java

    Hi all ,
                  i dont know Java , i want to proceed with user defined fuction , i  have worked with ABAP but not with java ,  i do want abt some knowledge about it ,
    thanks
    sridhar

    Hi,
    Please see the below links ,
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
    Difference in using java,xslt,message mapping
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
    /people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
    /people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
    /people/thorsten.nordholmsbirk/blog/2006/08/10/using-jaxp-to-both-parse-and-emit-xml-in-xi-java-mapping-programs
    /people/rahul.nawale2/blog/2006/07/18/java-mapping-an-alternate-way-of-reading-a-csv-file
    /people/amol.joshi2/blog/2006/03/10/think-objects-when-creating-java-mappings
    XSLT Mapping
    /people/prasadbabu.nemalikanti3/blog/2006/03/30/xpath-functions-in-xslt-mapping
    /people/sreekanth.babu2/blog/2005/01/05/design-time-value-mappings-in-xslt
    /people/anish.abraham2/blog/2005/12/22/file-to-multiple-idocs-xslt-mapping
    XSLT Mapping with java enhancement
    /people/pooja.pandey/blog/2005/06/27/xslt-mapping-with-java-enhancement-for-beginners
    Regards
    Chilla..

  • Type property for user defined forms

    Hi,
    When creating a user defined form using Screen Painter,
    how can we assign Type property for the form so that we are sure it will not clash with system forms in the future?
    Thanks,
    Satish.

    Thanks Juli
    Just one last question. It it be alright to assign a text value(Partner namespace in front) for the form type property.Does it have any drawbacks?
    Thanks,
    Satish

  • Regarding query generation to user defined forms

    Hi all,
    i had created user defined form with some fields and tables
    tables in the sense matrix
    i had entered the data in that table
    and added that data
    after that i came back to that form and used the fields that are below the table to calucalate the maximum and minimum from the columns of matrix
    so to get the data of that particular form only i used the $ command to extract data depending on the report number
    but iam unable to get the result
    any one help me regarding this
    it is required urgent
    Thanks And Regards
    sravanth.sm

    Sravanth,
    Let's see if I can help you.
    Assume your form's title table is called @TITLE and the matrix table is called @ROWS. In the form's title you have the record key DocEntry. In the Matrix you have a column COLUMN from were you are going to get some value. ok?
    Maximum of the column
    SELECT Max(T0.COLUMN) FROM [dbo].[@ROWS] T0 WHERE T0.DocEntry=$[@TITLE.DocEntry]
    To get the minimum, just use the Min() function.
    Regards,
    Vítor Vieira

  • Base Document and Target Document Menu for User Defined Forms

    Hi Experts,
    I am facing a problem regarding enabling the menu "Base Document" Menu UID="5898" and "Target Document" Menu UID="5899" . Both of these menu Items are not enabled for User Defined Form .Actually I have developed a user Defined form for Purchase Requisition that targets Purchase Order . User can Copy Line Items From Purchase Requisition to Purchase Order and I am tracking the DocEntry and LineId of PR into PO Item's using UDS . I want to Open this PR Document upon Click of BaseDocument Menu .I have tried all the options. I have used Form.enableMenu() method also . But none of those options work for this menu . I ahve also searched about this problem i this forum also but there is no soultion so far posted regarding this.
    I really want to confirm whether it is possible or not using SDK for User Defined Forms . Is there any possiblity of implementing any WorkArounds and Having this feature implemented .
    I am Expecting a true solutions as this Forum has so many Experienced Experts .
    Thanks and Regards,
    Pooja Singh.

    Hello Poja,
    It is not possible, because the requested menus are depending on the forms, and the are not exists,
    WorkAround:
    add the menus to the User Defined forms, and use right click to activate them:
    oForm.Menu.Add("5898", "Base Document", BoMenuType.mt_STRING, oForm.Menu.Count)
    oForm.EnableMenu("5898", True)
    And hanle the menu event when you clicked them and the form is your custom form.
    Regards,
    János

  • SQL Query for user defined form

    Hi experts,
    I want query to update some fields in my user defined form using stored procedure on clicking of ADD button.
    Explanation:
    I have User Defined form call "DC request" with Object 'DCLM'..On click of Add button, it is saving my record info into the form. But in one field if value in not entered then it is saving as 'Null'.
    Addon is already made, can not change in coding.
    I want to update this field with '0' value through query in stored procedure on click of Add Button. Can anyone help me out to achieve this.
    Thanks

    Hi Team Bone.
    Please try below Transaction Notification which will Restrict User to ADD if Field_Name is NULL and then User Need to Enter ZERO i.e. 0 for Adding.
    IF @OBJECT_TYPE = 'DCLM' AND (@TRANSACTION_TYPE = 'A' or @TRANSACTION_TYPE = 'U')
    BEGIN
    If Exists (Select T0.DocEntry from [Table_Name] T0 Where ( T0.Field_Name is null  OR  T0.Field_Name = ' ' ) AND T0.DocEntry  = @lisT_of_cols_val_Tab_del )
    begin
    SET @error = -100000
    SET @error_message = 'Filed_Name is NULL then So, Please enter ZERO Value i.e. 0 in Filed_Name'
    End
    End
    Please change Table_Name and Field_Name with with UDO field.
    Hope this help
    Regards::::
    Atul Chakraborty

  • Opening a Crystal Report in B1 8.8 in a User Defined Form representing UDO

    Hi Experts,
    Is it possible to open a Crystal Report from a User Defined Form representing my UDO?
    I had developed a 'Vendor Quotation' UDO and its  User Defined Form
    I wanted to show the report while clicking the Preview menu in SAP B1 8.8 toolbar.
    I have created the Crystal report and used the record selection as {@OVQT.DocEntry} = {DocKey@}
    Please help
    Also, is it possible to add Print layout and assign a default Print layout to this User Defined Form?
    Thanks in advance
    Regards
    Arun

    Hi,
    I also face the same problem. I make a master type using UDO. But i want to print it.
    In my opinion ( i haven't tried this way ). If we make a UDO ( master or document type ) , we will find the docentry and object field in our UDT. Both of these will connect between SAP form and Crystal report. In crystal report we select the tmsp_doclinetypelayout. It is a store procedure which will connect between SAP form and CR. Before that try to modify this SP by adding the udo object.
    Fyi, if i'm not mistake dockey is connected to docentry SAP form.
    Thanks
    regards
    bodhi86

Maybe you are looking for