About Event Handling in user Defined Form (In Addon)

Hi Every One,
Can Anyone Give Me Notes On EventHandling in forms That are Disgened using Sdk UIAPI .Like Button event ,application event, menuevent... etc with saple code
Regards
Srinivas

Hi Sura,
Hope this helps. C# sample code.
//   SAP MANAGE UI API 2005 SDK Sample
//   File:      CatchingEvents.cs
//   Copyright (c) SAP MANAGE
//  THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF
//  ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO
//  THE IMPLIED WARRANTIES OF MERCHANTABILITY AND/OR FITNESS FOR A
//  PARTICULAR PURPOSE.
//  BEFORE STARTING:
//  1. Add reference to the "SAP Business One UI API"
//  2. Insert the development connection string to the "Command line argument"
//  1.
//     a. Project->Add Reference...
//     b. select the "SAP Business One UI API 2005" From the COM folder
//  2.
//      a. Project->Properties...
//      b. choose Configuration Properties folder (place the arrow on Debugging)
//      c. place the following connection string in the 'Command line arguments' field
//  0030002C0030002C00530041005000420044005F00440061007400650076002C0050004C006F006D0056004900490056
using System;
using System.Windows.Forms;
class CatchingEvents  {
    //  This parameter will use us to manipulate the
    //  SAP Business One Application
    private SAPbouiCOM.Application SBO_Application;
    private void SetApplication() {
        //  Use an SboGuiApi object to establish connection
        //  with the SAP Business One application and return an
        //  initialized appliction object
        SAPbouiCOM.SboGuiApi SboGuiApi = null;
        string sConnectionString = null;
        SboGuiApi = new SAPbouiCOM.SboGuiApi();
        //  by following the steps specified above, the following
        //  statment should be suficient for either development or run mode
        sConnectionString = System.Convert.ToString( Environment.GetCommandLineArgs().GetValue( 1 ) );
        //  connect to a running SBO Application
        SboGuiApi.Connect( sConnectionString );
        //  get an initialized application object
        SBO_Application = SboGuiApi.GetApplication( -1 );
    public CatchingEvents() {
        //  set SBO_Application with an initialized application object
        SetApplication();
        // events handled by SBO_Application_AppEvent
        SBO_Application.AppEvent += new SAPbouiCOM._IApplicationEvents_AppEventEventHandler( SBO_Application_AppEvent );
        // events handled by SBO_Application_MenuEvent
        SBO_Application.MenuEvent += new SAPbouiCOM._IApplicationEvents_MenuEventEventHandler( SBO_Application_MenuEvent );
        // events handled by SBO_Application_ItemEvent
        SBO_Application.ItemEvent += new SAPbouiCOM._IApplicationEvents_ItemEventEventHandler( SBO_Application_ItemEvent );
        // events handled by SBO_Application_ProgressBarEvent
        SBO_Application.ProgressBarEvent += new SAPbouiCOM._IApplicationEvents_ProgressBarEventEventHandler( SBO_Application_ProgressBarEvent );
        // events handled by SBO_Application_StatusBarEvent
        SBO_Application.StatusBarEvent += new SAPbouiCOM._IApplicationEvents_StatusBarEventEventHandler( SBO_Application_StatusBarEvent );
    private void SBO_Application_AppEvent( SAPbouiCOM.BoAppEventTypes EventType ) {
        //  the following are the events sent by the application
        //  (Ignore aet_ServerTermination)
        //  in order to implement your own code upon each of the events
        //  place you code instead of the matching message box statement
        switch ( EventType ) {
            case SAPbouiCOM.BoAppEventTypes.aet_ShutDown:
                SBO_Application.MessageBox( "A Shut Down Event has been caught" + Environment.NewLine + "Terminating Add On...", 1, "Ok", "", "" );
                //  Take care of terminating your AddOn application
                System.Windows.Forms.Application.Exit();
                break;
            case SAPbouiCOM.BoAppEventTypes.aet_CompanyChanged:
                SBO_Application.MessageBox( "A Company Change Event has been caught", 1, "Ok", "", "" );
                //  Check the new company name, if your add on was not meant for
                //  the new company terminate your AddOn
                //     If SBO_Application.Company.Name Is Not "Company1" then
                //          Close
                //     End If
                break;
            case SAPbouiCOM.BoAppEventTypes.aet_LanguageChanged:
                SBO_Application.MessageBox( "A Languge Change Event has been caught", 1, "Ok", "", "" );
                break;
    private void SBO_Application_MenuEvent( ref SAPbouiCOM.MenuEvent pVal, out bool BubbleEvent ) {
        //  in order to activate your own forms instead of SAP Business One system forms
        //  process the menu event by your self
        //  change BubbleEvent to False so that SAP Business One won't process it
        BubbleEvent = true;
        if ( pVal.BeforeAction == true ) {
            SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event BEFORE SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
            //  to stop SAP Business One from processing this event
            //  unmark the following statement
            //  BubbleEvent = False
        else {
            SBO_Application.SetStatusBarMessage( "Menu item: " + pVal.MenuUID + " sent an event AFTER SAP Business One processes it.", SAPbouiCOM.BoMessageTime.bmt_Long, true );
    private void SBO_Application_ItemEvent( string FormUID, ref SAPbouiCOM.ItemEvent pVal, out bool BubbleEvent ) {
        //  BubbleEvent sets the behavior of SAP Business One.
        //  False means that the application will not continue processing this event.
        BubbleEvent = true;
        if ( pVal.FormType != 0 ) {
            //  the message box form type is 0
            //  I chose not to deal with events triggered by a message box
            //  every event will open a message box with the event
            //  name and the form UID how sent it
            SAPbouiCOM.BoEventTypes EventEnum = 0;
            EventEnum = pVal.EventType;
            // To prevent an endless loop of MessageBoxes,
            // we'll not notify et_FORM_ACTIVATE and et_FORM_LOAD events
            if ( ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_ACTIVATE ) & ( EventEnum != SAPbouiCOM.BoEventTypes.et_FORM_LOAD ) ) {
                SBO_Application.MessageBox( "An " + EventEnum.ToString() + " has been sent by a form with the unique ID: " + FormUID, 1, "Ok", "", "" );
    private void SBO_Application_ProgressBarEvent( ref SAPbouiCOM.ProgressBarEvent pVal, out bool BubbleEvent) {
        SAPbouiCOM.BoProgressBarEventTypes EventEnum = 0;
        EventEnum = pVal.EventType;
        BubbleEvent = true;
        SBO_Application.MessageBox( "The event " + EventEnum.ToString() + " has been sent", 1, "Ok", "", "" );
    private void SBO_Application_StatusBarEvent( string Text, SAPbouiCOM.BoStatusBarMessageType MessageType ) {
        SBO_Application.MessageBox( @"Status bar event with message: """ + Text + @""" has been sent", 1, "Ok", "", "" );
Regards,
Jay.

Similar Messages

  • 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

  • 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

  • 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......

  • Give authorisation To User defined form

    How to give authorisation to User defined form
    Regards,
    Pravin

    hi,
    After you have created the additional Authorization in Additional Authorization Creator window you still need to define the authorization in the Authorization Window located at Administration -->> System Initialization -->> Authorizations -->> General Authorizations. then select your desired user and assign your desired Authorization.
    regards,
    Fidel

  • 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

  • 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

  • Include the COPY TO Option in User Define form

    Hi Experts
    How can we include the COPY TO Option in User Define form
    Thanks In Advance
    A S VAMSI KRISHNA

    Hi,
    In SAP B1 i think there is no default functionality  for copy to in user defined form. As Parminder said you can use the control button combo and write your own method for populating  data.
    Regards
    Arun

  • Problem When Try to add Master data record for User define form

    Hi,
    I have made one user define form. And assign UDO and fields proerly in form.
    But when I try to add the record from the form it will give me error
    Invalid Code [Operation Master  -Code] [Message 173-36]
    I have already bind the code field of the table to one field in the screen painter.
    Please give me the reply.
    Regards,
    Gunjan Shukla.

    Dear Shukla
    Can you please try to do the binding in the code (after loading the from).
    Doing that, do you still have the problem?
    Best regards,
    Miki

  • About event handler

    hi
    i am trying to develop a event handler for all the attributes of a resource that when user is modified is attributes. he need get a notification that paritcular attribute or u r data is modified..
    actually i have seen that they have return adapter for each attribute but dont want so many adapters to be writtten so i want to develop a event handler for that scenario... please provide the sample code so that i can modifie or re coding it....
    thanks
    avinash

    Hi,
    I had created one dissconnected resource and one application form for it... the user had filled the form of that resource and submitted and when he want to update the form once again the event handler should be tirrger and paritcular attribute should be update and he had to send email notification that attribute is changed...
    here is once thing that if he had change numberof attributes at a time but we have to send only one email notification for all the attributes...
    regards
    avinash

  • Error management in an event handler in a powershell form

    Hi guys
    I wrote a powershell form using event handler. It ask for a name and a IP adress and other things
    In the event handler,
    - if the user leave the name blank, I open a message box saying it should not be empty
    - if the user enter a wrong ip adress, I open a message box saying it should be like x.x.x.x
    If both occurs, it displays 2 message box.
    But I would like to display only the first message box of the first error and then exit the handler, to avoid displaying many messages.
    How to exit from a handler  and stay in the form  (not like the cancel button handler which close the form with a form.close() statement)
    I tried break statement or exit without success
    thanks
    ML

    Hi guys
    This is the code I wrote today. I may give also the full code of the interface, but it reach 1300 lines.
    $Retry variable lets me control the first error in the interface to display the message box.
    It's not finished yet, I need to add something like "formclose" if $Retry is false.
    I use semicolons because for me, it's easier to read :-).
    I'm sorry I don't understand the explanation in your link.
    http://msdn.microsoft.com/en-us/library/system.componentmodel.canceleventargs%28v=vs.110%29.aspx
    What would happen if I type
    $_.Cancel = $true
    instead of $Retry = 1, it will exit immediately from the handler ? I can't try now, I'm came back home
    Thanks
    ML
    function IsIP($value) {
    $match = "\b(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)(\.(25[0-5]|2[0-4]\d|1\d\d|[1-9]?\d)){3}\b"
    return $value -match $match
    function IsURL([string]$Url)
    if($Url -eq $null) {return $false}
    else {return $Url -match "^(ht|f)tp(s?)\:\/\/[0-9a-zA-Z]([-.\w]*[0-9a-zA-Z])*"+`
    "(:(0-9)*)*(\/?)([a-zA-Z0-9\-\.\?\,\'\/\\\+&%\$#_]*)?$"}
    function toBinary ($dottedDecimal){
    $dottedDecimal.split(".") | %{$binary=$binary + $([convert]::toString($_,2).padleft(8,"0"))}
    return $binary
    #Provide Custom Code for events specified in PrimalForms.
    $handler_WinFactoryGUI_Load=
    #TODO: Place custom script here
    $HardwareCombo.SelectedIndex = 0 # Default values of Combo boxes
    $WindowsEditionCombo.SelectedIndex = 0
    $ServerName.Select()
    $handler_cancel_Click=
    #TODO: Place custom script here
    $WinFactoryGUI.Close()
    $Handler_Server_Info_Leave=
    #TODO: Place custom script here
    $Handler_DNS_Config_Leave=
    #TODO: Place custom script here
    $Handler_GenerateIso_Click=
    #TODO: Place custom script here
    $Retry = $false
    # ServerName
    $ServerName2Install = $ServerName.Text
    if ($ServerName2Install -eq "") {$MSg = "Server name is missing"; $Retry = $true}
    # Windows Version
    $TabWindowsVersion = @("2008R2STD","2008R2ENT","2008R2DTC","2012R2STD","2012R2DTC")
    $i = $WindowsEditionCombo.SelectedIndex
    $WindowsVersion = $TabWindowsVersion[$i]
    if (! $Retry) {
    # OperIP : mandatory
    $OperIP = $OperIP1.Text + "." + $OperIP2.Text + "." + $OperIP3.Text + "." + $OperIP4.Text
    $OperMask = $OperMask1.Text + "." + $OperMask2.Text + "." + $OperMask3.Text + "." + $OperMask4.Text
    $DefaultGateway = $Gateway1.Text + "." + $Gateway2.Text + "." + $Gateway3.Text + "." + $Gateway4.Text
    $Msg = ""
    $OperIPOK = IsIP($OperIP); if (! $OperIPOK) { $Msg = $Msg + "OperIP is invalid`n";$Retry = $true }
    $OperMaskOK = IsIP($OperMask); if (! $OperMaskOK) { $Msg = $Msg + "OperMask is invalid`n";$Retry = $true }
    $DefaultGatewayOK = IsIP($DefaultGateway); if (! $DefaultGatewayOK) { $Msg = $Msg + "DefaultGateway is invalid`n";$Retry = $true}
    $ipBinary = toBinary $OperIP
    $smBinary = toBinary $OperMask
    #how many bits are the network ID
    $netBits=$smBinary.indexOf("0")
    #validate the subnet mask
    if(($smBinary.length -ne 32) -or ($smBinary.substring($netBits).contains("1") -eq $true)) {$Msg = "Subnet Mask is invalid!";$Retry = $true}
    else {
    #validate that the IP address
    if(($ipBinary.length -ne 32) -or ($ipBinary.substring($netBits) -eq "00000000") -or ($ipBinary.substring($netBits) -eq "11111111")) {$Msg = "IP Address is invalid!";$Retry = $True}
    # TechIP : optional
    if (!$Retry) {
    if (($TechIP1.Text -eq "") -and ($TechIP2.Text -eq "") -and ($TechIP3.Text -eq "") -and ($TechIP4.Text -eq ""))
    $TechIP = "0.0.0.0"
    $TechMask = "0.0.0.0"
    else
    $TechIP = $TechIP1.Text + "." + $TechIP2.Text + "." + $TechIP3.Text + "." + $TechIP4.Text
    $TechMask = $TechMask1.Text + "." + $TechMask2.Text + "." + $TechMask3.Text + "." + $TechMask4.Text
    $TechIPOK = IsIP($TechIP)
    if (! $TechIPOK) { $Msg = $Msg + "TechIP is invalid`n";$Retry = $true }
    $TechMaskOK = IsIP($TechMask)
    if (! $TechMaskOK) { $Msg = $Msg + "TechMask is invalid`n";$Retry = $true }
    # DNS domain
    if (! $Retry) {
    $DnsDomainSrv2Install = $DnsDomain.Text
    if ($DnsDomainSrv2Install -eq "") {$Msg = $Msg + "DNS Domain is invalid`n";$Retry = $true }
    # DNS Suffixes
    if (! $Retry) {
    $DnsSuffixes2Install = $DnsSuffixes.Text.replace("`n",":")
    if ($DnsSuffixes2Install[$DnsSuffixes2Install.Length] -eq ":") {
    $DnsSuffixes2Install = $DnsSuffixes2Install.Substring(0,$DnsSuffixes2Install.Length-1)
    if ($DnsSuffixes2Install -eq "") {$Msg = $Msg + "DNS suffixes list is invalid`n";$Retry = $true }
    # DNS adresses
    if (! $Retry) {
    if ($DNSIP11.Text -ne "") {
    $DNSIP1 = $DNSIP11.Text + "." + $DNSIP12.Text + "." + $DNSIP13.Text + "." + $DNSIP14.Text
    $DNSIP1POK = IsIP($DNSIP1) ; if (! $DNSIP1POK) { $Msg = $Msg + "DNS IP 1 is invalid`n";$Retry = $true } else { $DNSAddrList = $DNSIP1}
    if ($DNSIP21.Text -ne "") {
    $DNSIP2 = $DNSIP21.Text + "." + $DNSIP22.Text + "." + $DNSIP23.Text + "." + $DNSIP24.Text
    $DNSIP2POK = IsIP($DNSIP2) ; if (! $DNSIP2POK) { $Msg = $Msg + "DNS IP 2 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP2}
    if ($DNSIP31.Text -ne "") {
    $DNSIP3 = $DNSIP31.Text + "." + $DNSIP32.Text + "." + $DNSIP33.Text + "." + $DNSIP34.Text
    $DNSIP3POK = IsIP($DNSIP3) ; if (! $DNSIP3POK) { $Msg = $Msg + "DNS IP 3 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP3}
    if ($DNSIP41.Text -ne "") {
    $DNSIP4 = $DNSIP41.Text + "." + $DNSIP42.Text + "." + $DNSIP43.Text + "." + $DNSIP44.Text
    $DNSIP4POK = IsIP($DNSIP4) ; if (! $DNSIP4POK) { $Msg = $Msg + "DNS IP 4 is invalid`n";$Retry = $true } else {$DNSAddrList = $DNSAddrList + ":" + $DNSIP4}
    else { $Msg = $Msg + "At least, one Dns server IP must be provided`n";$Retry = $true }
    # Hardware
    $TabHardware = @("VM","HP","MS")
    $i = $HardwareCombo.SelectedIndex
    $Hardware = $TabHardware[$i]
    # vCenter
    $vCenterName = "parameter.not.used"
    # Flags
    #""_;_;_;1;_;http://m011ML-SCCM.pocx86.tstwinx.net:8530;1"""
    if (! $Retry) {
    $Flag = ""
    if ($CheckBoxPED.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxOmnivision.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxBackup.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxNagiosInstall.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    if ($CheckBoxInstallSRM.Checked -eq $true) {$Flag = $Flag + "1;"} else {$Flag = $Flag + "_;"}
    $WsusUrl2Configure = $WsusUrl.Text;
    if ($WsusUrl2Configure -eq "") {$WsusUrl2Configure = "_"}
    else {
    $WsusURLOK = IsUrl($WsusUrl2Configure)
    if (! $WsusURLOK) {$Msg = $Msg + "WSUS Url is Invalid`n";$Retry = $true }
    $Flag = $Flag + $WsusUrl2Configure
    if ($CheckBoxHPSA.Checked -eq $true) {$Flag = $Flag + ";1"} else {$Flag = $Flag + ";_"}
    $Flag = """""$Flag"""""""
    if ($Retry) {[System.Windows.Forms.MessageBox]::Show($Msg,"Status",0);$Msg = ""}
    else { $WinFactoryCall = "start-process ""cmd.exe"" ""/c .\GenBootImage.cmd "
    $WinFactoryCall = $WinFactoryCall + $ServerName2Install + " " + $WindowsVersion + " " + $OperIP + " " + $OperMask + " " + $DefaultGateway + " " + $TechIP + " " + $TechMask
    $WinFactoryCall = $WinFactoryCall + " " + $DNSAddrList + " " + $DnsDomainSrv2Install + " " + $DnsSuffixes2Install + " " + $Hardware + " " + $vCenterName + " " + $Flag + " -wait"
    write-host $WinFactoryCall
    $OnLoadForm_StateCorrection=
    {#Correct the initial state of the form to prevent the .Net maximized form issue
    $WinFactoryGUI.WindowState = $InitialFormWindowState
    ML

  • Document Numbering Issue in user defined form

    Dear All,
    There is UDO with manageseries = true. Series and DocNum fileds are binded to database (Combobox And Edittext). I can easly get next number and assign to Docnum field while selecting series from Combobox. The problem is when i choose series diferent than default and add document i get warning message "The actual posted document number is :XXXXXXX". No matter which series i choose system always takes default one. I found other threads accourding to this issue but no solution found.
    Regards,
    Guru

    Hello,
    How guru. Is your problem solved? As i'm have a similar peroblem -
    I have created a user form using screen painter and want to save data to my user defined table -
    Document - U_OPCD
    Document Rows - U_OPCD1
    First i was using the SAPbobsCOM.UserTable object to save data to my usertable. But after registering it as a UDO (as i wanted document numbering series for it) i'm unable to save data using this SAPbobsCOM.UserTable object. As i'm uable to access the default fields (DocNum, DocDate, Series....)  added to the table by SAP.
    Can u help please?

  • Question on program structure about event handling in nested JPanels in GUI

    Hi All,
    I'm currently writing a GUI app with a wizard included in the app. I have one class that acts as a template for each of the panels in the wizard. That class contains a JPanel called contentsPanel that I intend to put the specific contents into. I also want the panel contents to be modular so I have a couple of classes for different things, e.g. name and address panel, etc. these panels will contain checkboxes and the like that I want to event listeneres to watch out for. Whats the best way of implementing event handling for panel within panel structure? E.g for the the checkbox example,would it be a good idea to have an accessor method that returns the check book object from the innerclass/panel and use an addListener() method on the returned object in the top level class/panel. Or is it better to have the event listeners for those objects in the same class? I would appreciate some insight into this?
    Regards!

    MyMainClass.main(new String[] { "the", "arguments" });
    // or, if you defined your main to use varags (i.e. as "public static void main(String... args)") then you can just use
    MyMainClass.main("the", "arguments");But you should really extract your functionality out of the main method into meaningful classes and methods and just use those from both your console code and your GUI code.

  • About semantic indexing using user defined ontology

    hi zhe,
    according to the dev. guide, you can do semantic index on a document using user defined ontology. however, multiword class names, individual names and property names defined in the ontology are usually concatenated and cannot have space. if I have a multiword concept such as "http://www.example.org/medicalProblem/DiagnosedPastNeurologicalDeficit" rather than "http://www.example.org/medicalProblem/Diagnosed Past Neurological Deficit" in the ontology and a loaded document in the table also contains the concept "Diagnosed Past Neurological Deficit", so how is the extractor able to identify the concept in the document? do I need to describe the concept in the ontology using rdfs:lable like this "<rdfs:label xml:lang="en">Diagnosed Past Neurological Deficit</rdfs:label>" so that extractor can identify the concept in the document? I am not clear how to use user defined ontology to semantically index documents. thanks a lot in advance.
    hong

    Hi Hong,
    The semantic indexing feature is itself a framework. There is no native NLP engine bundled with it.
    There are NLP engines like Open Calais, GATE, and Lymba that can work with this framework. Some engines
    can take an ontology and map entities (events, individuals, relationships etc.) embedded in the text to definitions in the ontology. You can also perform the mapping yourself. For example, you can take out the rdfs:label (or comment, or some other descriptive parts) of URIs, build an Oracle Text index, perform a fuzzy text match for a given piece of phrase, and select the URI that gives the best matching score.
    Hope it helps,
    Zhe Wu

Maybe you are looking for