Developp with multiple class and module

Hi all,
I'm a beginner with developping Add-on with SAP. All the example show a "SubMain" which call a unique class where all the code is. I'd like to simplify my code in creating separate module and i have problem with the SBO_Application.
Here is my code, when I declare Sbo_Application in a general module, the Sub_connect is OK but not the Handles of the SBO_Application_AppEvent. If I declare it like this code. the sub_connect is wrong.
Have you an idea?
Sorry for my bad English.
Thanks in advance
Sylvie
Module SubMain
    Public Sub Main()
        Dim obj_Easypay As New Class_Easypay    ' execute the add-on code
        System.Windows.Forms.Application.Run()  ' Starting the Application
    End Sub
End Module
Friend Class Class_Easypay
    Public WithEvents SBO_Application As SAPbouiCOM.Application
    Public Sub New()
        MyBase.New()
        'Connection to SAP Business one application
        Sub_Connect_SBO()
    End Sub
    Private Sub SBO_Application_AppEvent(ByVal EventType As SAPbouiCOM.BoAppEventTypes) Handles SBO_Application.AppEvent
         SBO_Application.Messagebox(" ")
    end sub
end class

Hello,
I have readed that your project has been stopped but for logging i am answering your question:
You should create a global variable for holding the application object tp manupulate with outside your class.
Module SubMain
  Public g_SBO_Application As SAPbouiCOM.Application ' this is for all modules, without events
  Public Sub Main()
  Dim obj_Easypay As New Class_Easypay ' execute the add-on code
  System.Windows.Forms.Application.Run() ' Starting the Application
  End Sub
End Module
' Do not use Friend class -  memory weaks
Friend Class Class_Easypay
Private WithEvents SBO_Application As SAPbouiCOM.Application ' local you can use only inside form the class
Public Sub New()
  MyBase.New()
  'Connection to SAP Business one application
  Sub_Connect_SBO()
   g_SBO_Application = SBO_Applicatio
End Sub
'Use Private
Private Sub sbo_application_AppEvent (ByVal EventType As SAPbouiCOM.BoAppEventTypes) Handles sbo_application.AppEvent      
  Test ()' or MyModule1.Test()  
end sub
end class
Module MyModule1
  Sub Test
    g_SBO_Application.statusbar.settext("TEST")
  End sub
End Module
Module MyModule
  Sub MyApp_EventHandler(sbo_application_AppEvent)
    g_SBO_Application.statusbar.settext("TEST")
  End sub
End Module
Regards,
János

Similar Messages

  • Part interchangeability with FFF class and FFFC - HERB material type

    Experts-
    Have you worked with Part interchangeability with FFF class and FFFC or HERB material type?
    I am looking for cross-reference functionality for interchangeable materials from maintenance/service perspective. We have users changing manufacturer's part number as and when needed and maintaining cross-reference via classification. Maintaining SAP part number and HERS is too much data maintenance, so we are looking for simple solution.
    We are in standard ECC 6.0. (No APO). I checked OSS 181764, but it doesn't help us in instructions for enhancement.
    If this needs activation for DIMP or A&D, do you know enhancement for this?
    Thanks for your help.
    RP

    Hi
    I have been involved with a client who is interested to know the implementation of FFF functionality. Can you share your experience  in a bit more details.
    The client is interested in using parts where multiple models are available in the market and few of them are interchangeable. They would like to purchase it as an asset and then manage the inventory as non valued material. How does it work throuh the APO for forecasting and demand planning functionalities.
    Thanks in advance.

  • Help With Multiple Class Objects With Methods

    I am dealing with multiple classes. I am wondering why I am getting an error on this line it's by the bottom
              obj1.array() = newArray[i];
    It gives the array out of bounds. On another note I believe I can change obj1 to just like incomingArray if I wanted correct since it's just a reference because I should be able to do this method sort on any array.
    method : selSort
    input - none
    output - void
    This is where we sort the arary
    Pseudocode Code:
    1 Initialize variable oldlocation to hold spot of smallest number in original array
    2 Initialize variable smallnumber to store smallest number in original array
    3 Initialize new integer array
    4 Set new array length to length of original array
    5 Initialize variable length to store lengh of new array
    6 For i = 0 and continue till i < new array length
    6.1 Find smallest number in original array
    6.2 Put the smallest number in new array
    6.3 Remove smallest number from original array
    7 Copy contents of new array that is sorted to original array
    Basic concept is to repetitively find the smallest
    (or largest) item in the original array. Once smallest
    is found, move it to the next spot in a new array and
    remove it from the old array.
    public void selSort ()
         int oldlocation = 0;
         int smallnumber = 0;
         int [] newArray = obj1.array();
         newArray = new int [obj1.length()];
         int length = newArray.length;
         for (int i = 0; i < newArray.length; i++)
    //          System.out.println("Test 1");
              newArray[i] = obj1.sortSmall();
    //          System.out.println("Test 2");
              smallnumber = obj1.sortSmall();
    //          System.out.println("This is the smallest number " + smallnumber);
              oldlocation = obj1.location(smallnumber);
    //          System.out.println("This is the old location " + oldlocation);
    //          System.out.println("Test 3");
              obj1.removeLocation(oldlocation);
    //          System.out.println("Test 4");
         System.out.println();
         System.out.println("The sorted array looks like");
         for (int k = 0; k < newArray.length; k++)
              System.out.print(newArray[k] + " ");
         System.out.println();
         System.out.println();
         obj1.resize(newArray.length);
         for (int i = 0; i < newArray.length; i++)
              obj1.array()[i] = newArray[i];
         return;

    method : selSort
    input - none
    output - void
    This is where we sort the arary
    Pseudocode Code:
    1 Initialize variable oldlocation to hold spot of smallest number in original array
    2 Initialize variable smallnumber to store smallest number in original array
    3 Initialize new integer array
    4 Set new array length to length of original array
    5 Initialize variable length to store lengh of new array
    6 For i = 0 and continue till i < new array length
    6.1 Find smallest number in original array
    6.2 Put the smallest number in new array
    6.3 Remove smallest number from original array
    7 Copy contents of new array that is sorted to original array
    Basic concept is to repetitively find the smallest
    (or largest) item in the original array. Once smallest
    is found, move it to the next spot in a new array and
    remove it from the old array.
    public void selSort ()
         int oldlocation = 0;
         int smallnumber = 0;
         int [] newArray = obj1.array();
         newArray = new int [obj1.length()];
         int length = newArray.length;
         for (int i = 0; i < newArray.length; i++)
    //          System.out.println("Test 1");
              newArray[i] = obj1.sortSmall();
    //          System.out.println("Test 2");
              smallnumber = obj1.sortSmall();
    //          System.out.println("This is the smallest number " + smallnumber);
              oldlocation = obj1.location(smallnumber);
    //          System.out.println("This is the old location " + oldlocation);
    //          System.out.println("Test 3");
              obj1.removeLocation(oldlocation);
    //          System.out.println("Test 4");
         System.out.println();
         System.out.println("The sorted array looks like");
         for (int k = 0; k < newArray.length; k++)
              System.out.print(newArray[k] + " ");
         System.out.println();
         System.out.println();
         obj1.resize(newArray.length);
         for (int i = 0; i < newArray.length; i++)
              obj1.array() = newArray[i];
         return;

  • How do you download all chapters of a video at once?  I purchased a yoga video with multiple chapters and only the first one loaded.  It says I can't download another chapter for 90 days.

    I purchased a yoga video with multiple chapters and only the first one loaded.  It says I can't download another chapter for 90 days.  How do I get all chapters to download?

    Once a device or computer is associated with your Apple ID, you cannot associate that device or computer with another Apple ID for 90 days.
    http://support.apple.com/kb/ht4627

  • With multiple iPhones and iPad, how do you keep from downloading data from one device to another? ie, my calander ended up on my daughter's iPad.

    With multiple iPhones and an iPad, how do I keep from downloading info from one device to another? All of my info, example my calendar, ended up on my daughter's iPad.

    Each device has its own sync preferences with iTunes when syncing multiple devices with the same iTunes library under the same computer login account.
    If sync calendars with the same calendar is selected under the Info tab for your daughter's iPad sync preferences with iTunes, the same calendar will be synced with her iPad.

  • TO DRAW A TABLE WITH MULTIPLE ROWS AND MULTIPLE COLOUMNS IN FORM

    Hi,
       How to draw a table with multiple rows and columns seperated by lines in form printing?

    check this
    http://sap-img.com/ts003.htm
    Regards
    Prabhu

  • With the new Time Capsule does the beam forming occur with multiple clients, and do these clients have to be 802.11ac compatible?

    With the new Time Capsule 5th Gen does the beam forming occur with multiple clients, and do these clients have to be 802.11ac compatible?

    does the beam forming occur with multiple clients
    Yes, but Apple is unclear about how many cients can be connected simultaneously with this feature.
    do these clients have to be 802.11ac compatible?
    Yes

  • Multiple classes and drawImage

    First I should start by saying I am VERY new to Java. I have written a program that
    uses multiple classes, and i would like to place boolean b =
    g.drawImage(cardPics[j],x2,yPos,50,75),this); in my class. I have passed Graphics g
    from paint. I am able to use g.drawString, etc, but when I try to drawImage, it will
    not even compile. I CAN use
    boolean b = g.drawImage(cardPics[j],x2,yPos,50,75,this); in paint outside of the
    classes, so I believe I have the image array set up right.
    This is what the compilers reads:
    cannot resolve symbol
    boolean b =g.drawImage(cardPics[j],x2,yPos,50,75,this);
    (The symbol that it is referring to is the period between g and drawImage)
    Any help is greatly appreciated.
    Thankyou
    Apryl

    The last argument to drawImage must be an ImageObserver. Therefore, for this line of code to work, it must be placed in a non-static method of a class that implements ImageObserver.

  • How to make an editable bulleted list with multiple lines and custom bullets?

    How do I create an editable bulleted list in Acrobat Pro? I've figured out how to add text fields with multiple lines, and how to add a list box, but I don't see the check box for multiple lines in the list box or how to add bullet points. Can someone please give me step by step instructions? Also is it possible to use custom bullet points?

    Is it a text field or a list box field? The two are not the same...
    The bullets are something that the user will have to enter manually (into a text field, they can only select values in a list-box).
    They can use any unicode character, or special characters if the font used for that field allows for it. You can't use images for the bullets, if that's what you mean.

  • Posting an Idoc with Multiple Headers and Multiple Lines

    Hi all,
    I have a scenario like this fileXIIdoc
    Invoice file comes in text file with multiple header and multiple lines like this
    111               aaa     13214234    US   (header)
    09082010     ABC    9999            A     (Line)
    222               ccc     43454543    US   (header)
    09082010     XYZ    7777            B     (Line)
    09082010     PQR    8888            C     (Line)
    I need to post single Idoc with all the headers and lines
    we are planning to use Custom Idoc,Is this possible by having the header segment as unbounded??
    Regards
    Edited by: Vamsi Krishna on Sep 8, 2010 8:05 PM

    hi,
    lets go again.
    you have to edit the custom IDoc and change the ocurrance on the header segment. also modify the details segment adding an addtional field that identify which header that this detail belong.
    for this case you cannot change the occurrance in SAP PI because you wont identify what i have told you before.  in PI apply to change the occurrance if you could send ONE Idoc Per Header.
    now is better clear???
    Let us know.
    Thanks
    Rodrigo P-.

  • Can bookmarks be protable for multiple computers? Is it an option to log on and use my bookmarks with multiple computers and locations? Thanks

    Can bookmarks be protable for multiple computers? Is it an option to log on and use my bookmarks with multiple computers and locations? Thanks

    Profile is a folder which store all your personal data in a safe place
    * https://support.mozilla.com/en-US/kb/Profiles
    You can use this button to go to the current Firefox profile folder:
    * Help > Troubleshooting Information > Profile Directory: Open Containing Folder
    here explain how to backup profile
    * https://support.mozilla.com/en-US/kb/Backing%20up%20your%20information
    Here explain how to restore it
    *https://support.mozilla.com/en-US/kb/Recovering%20important%20data%20from%20an%20old%20profile

  • Import Illustrator File with multiple layers and sublayers as composition retaining all layers and sublayers

    I have drawn a country map with multiple layers and sublayers including streets, cities, rail lines, ...
    Now I want to create a template for my collegues in After Effects.
    For this I want to import the .ai file into After Effects retaining all sublayers and layers in compositions and subcompositions.
    When I do that, I get the first couple of layers correctly, the other ones comes in one merged composition.
    What can I do, to get all layers each as a layer in After Effects?
    Yours, Raphael

    Illustrator only imports the first level of layers. If you have groups or paths below you need to release the groups to layers. The layers will then be stacked in order as sub layers. Then you need to move them up.
    The steps are to select a layer in the Illustrator layer panel, then without selecting any specific element in the layer click on the menu in the top right corner and select release to layers. All a elements in that layer will be converted to layers. Now select them all and drag them up above the original layer. This will leave the original layer empty and put all elements in new layers.
    Here's a tutorial I did a zillion years ago which uses this technique to turn a blend into a morph.
    Morphing With Adobe Illustrator. I hope this helps.

  • How to achieve no-downtime solution deployment on farms with multiple WFEs and LB

    Taking SharePoint Solution Deployer, my opensource PowerShell deployment script, to the next level,
    Bill Simser got me the idea of making the deployment even more smooth on farms with multiple WFEs and load balancer in order to achieve a no-downtime deployment
    The basic idea is to deploy the solutions on each WFEs one-by-one by
    1. Taking one WFE offline
    2. Installing the solution with the -local switch
    //Solution deployment
    Install-SPSolution -Identity <solutionname>.wsp –GACDeployment –CASPolicies –Local
    // Solution upgrade
    Update-SPSolution -Identity <solutionname>.wsp -LiteralPath LocalPathOfTheSolution.wsp -GacDeployment -Local
    3. Run post-deployment actions on the WFE (ie. restart services, recycle apppools or IIS reset, warmup server), which my script already does for each server
    4. Take WFE online again
    5. Repeat step 1-4 for all other WFEs
    I am struggling with three things here:
    1. The whole deployment process could be quite risky when something goes wrong in between. And in order to roll back I would require the original solution if it was already deployed before (which I can back up of course before I replace
    it)
    Anything which involves changing the content dbs should of course be done after the solutions is deployed to the whole farm, so this should not hurt in this case.
    Anyway MSDN says that the "DeployLocal" method (which I assume is the same as the -local switch in PS ) should be only used
    for
    troubleshooting purposes.
    So it would be great to hear about anyones experiences with it
    2. As there can be different types of load balancers (hardware, software) which might not be configurable through my script I assume that taking out the WFE from the the load balancer may not always be possible.
    So I thought about just taking the server offline.
    I haven't found an option yet to take only one server in the farm offline (without removing it from the farm of course), so maybe I miss something. Any ideas?
    3. Before taking a single WFE offline, I would like to assure that this server does not have any open sessions, operations of users ongoing. Unfortunately I found only the possibility to quiesce the whole farm, but not a single
    server. Am I missing something?
    Appreciate any ideas which might point me in the direction to solve the overall goal!
    SharePoint Architect, Speaker, MCP, MCPD, MCITP, MCSA, MCTS, Scrum Master/Product Owner
    Blog: www.matthiaseinig.de, Twitter:
    @mattein
    CodePlex: SharePoint Software Factory,
    SharePoint Solution Deployer

    Hi Mike, 
    unfortunately not. I tried several different approaches but didn't really success reliably with any of them. So eventually I gave up on it.
    Interesting idea though that Eric Hasley is commenting on the blog post you mentioned.
    "There is another approach that has worked for me in the past.  Because the deployment to each server is handled through a timer job,
    by stopping the timer service in a controlled fashion you can rollout your solution without incurring any user outage."
    It could work like that (in theory).
    Stop the SPTimerV4 on all servers in the farm apart from one.
    Take out the one to deploy to from the NLB
    Wait until it has no connections
    Deploy the solutions on it in the ordinary way (eg. with my
    SharePoint Solution Deployer ;))
    Put it back into the NLB and take the others out
    Wait until they have no connections left
    Activate the timer service on the others servers and let them deploy
    Put them back into the NLB
    No clue if this is actually working and you still have the problem with the NLB, so it could take a while.
    Also I am not certain what happens in state 5 if users use different versions of your solutions at the same time (old version on the remaining open connections, new version on the updated server)
    I do not have a suitable farm at hand to play with it though, so can't test it.
    Cheers
    Matthias
    Matthias Einig, CEO, SharePoint MVP
    Blog: www.matthiaseinig.de, Twitter:
    @mattein
    Projects: SharePoint Code Analysis Framework (SPCAF),SharePoint Code Check (SPCop),
    SharePoint Software Factory,
    SharePoint Solution Deployer

  • Downloading .xls file with multiple rows and Columns

    Hi ALL,
    I need to genarate .xls file with multiple rows and and Columns and sent as an email.Since our customer having Problem with .CSV files need to genarate .XLS file.
    Please do the needful.
    Thanks
    Madhu

    Hi Madhu,
    You might also consider using Excel Spreadsheet XML as the target structure (namespace is urn:schemas-microsoft-com:office:spreadsheet).  When you double-click the resulting xml on a PC it automatically opens with Excel. So, users don't see a difference.  It will open up a lot of options with formatting including creating multiple worksheets if you wanted to.  Best of all you can stick with XML.
    See my response in this thread:
    Re: Convert XML data into XLS 
    Thanks,
    -Russ

  • I made a project with multiple tracks and had it all panned and mixed.  Now it's only playing in the right speaker.  Not even regestering a left side in the master volume?  What happened, how can I get both sides back?

    I made a project with multiple tracks and had it all panned and mixed.  Now it's only playing in the right speaker.  Not even regestering a left side in the master volume?  What happened, how can I get both sides back?

    Thank you for that info.
    For video, the codec is MPEG-4 Video (XVID) and for audio it says MPEG Audio Layer 1/2/3 (mpga).
    There are two issues with that file:
    The first is the Xvid CODEC (not meant for editing), and then the MPEG Audio/MPGA. I would convert that file, to something that is more editable.
    Good luck,
    Hunt

Maybe you are looking for