Sqlite, moving sqlstatements to a custom class

I'm working on a FB AIR app.
I have a main.mxml file with a source to a main.as file.
My main.as file is getting very bloated with sqlstatements. I want to move these to a custom class, but I don't know how to proceed.
I found an example of a package on this page: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/data/SQLConnectio n.html#begin()
about a 3rd of the way down.
The example above is exactly what I want to do, but I don't know how to adapt this for use in my main.as file beyond importing the class and instantiating it. How do I assign my values to the class file? How do I use the class to load up the dataProvider, etc...
Also, in the example above the class extends Sprite. This sounds like it's meant for a Flash application. Would I still extend Sprite in Flex 4? I have done a couple of simple events, passing data back to the main app with the Flash.Events.Event, so the use of Sprite causes some confusion.
In a previous post, Amy suggested using Robotlegs. I think I need to get a handle on using Flex before I explore other architectures. I'm just not that sophisticated yet.
Thanks
Kristin

ok, a quick example
make a new package called utilities and then a new actionscript class called DatabaseManager
package utilities
     import flash.data.SQLConnection;
     import flash.data.SQLResult;
     import flash.data.SQLStatement;
     import flash.filesystem.File;
     import mx.collections.ArrayCollection;
     public class DatabaseManager
          private var sqlConnection:SQLConnection;
          private var stm:SQLStatement;
          public function DatabaseManager()
               //connect to database
               sqlConnection = new SQLConnection();
               sqlConnection.open(File.applicationStorageDirectory.resolvePath("whatever"));
               //create tables if not exist
               stm = new SQLStatement();
               stm.sqlConnection = sqlConnection;
               stm.text = "create your table here";
               stm.execute();
               //create more tables
          public function getThings():ArrayCollection
               stm = new SQLStatement();
               stm.sqlConnection = sqlConnection;
               stm.text = "your query";
          public function addStuff(stuff:Object):int
then in your main file you need to import
import utilities.DatabaseManager;
instantiate the class, this connects and creates tables
private var myDB:DatabaseManager = new DatabaseManager();
then to use it
var listFromDatabase:ArrayCollection = myDB.getThings();
insertid = myDB.addStuff(thingToAdd);
hope that gives you an idea 

Similar Messages

  • Help understanding custom class to access local sqlite db

    Hi;
    I'm using FB 4.5.
    I'm following a tutorial out of the Adobe Air 1.5 Cookbook. From Chapter 10 in case you're familiar. But I assume there is a common method without having to have the Cookbook in your possession.
    The example employs a custom class, and button presses for all the processes involved in the example. I'm trying to figure out how I can modify this example for my purposes. Loading the dataprovider is the result of a button click.
    I'm new to Flex and OOP is still not a clear picture in my mind, but I can sort of see how this project works, using getter/setter methods.
    Using this custom class, how can I load existing data upon startup?
    Thanks
    Kristin

    I posted this link http://forums.adobe.com/thread/890517?tstart=150
    in this thread http://forums.adobe.com/thread/893508?tstart=30
    which was then continued here http://forums.adobe.com/thread/894123?tstart=0

  • No Custom Class in CVP Session?

    Hi,
    I feel a little like I've just moved into The Twilight Zone here - is this a newbie question?
    In my CVP VXML application, I have 2 custom elements that use a custom class.  In the beginning of the call flow, I create an instance of the class, assign it to session, and then later in the call flow I retrieve it from session.
    CustomObject myAmazingObject = new CustomObject();
    actionData.setSessionData("amazingObject", myAmazingObject);
    When the object is retrieved from session, I got a ClassCastException when retrieving it, so I added some slightly more defensive code:
    CustomObject existingObject = null; //(CustomObject) actionData.getSessionData("amazingObject");
    Object anObject = actionData.getSessionData("amazingObject");
    System.out.println( "THE OBJECT IS: " + anObject.getClass().getName() );
    if( anObject instanceof CustomObject )
         existingObject = (CustomObject) anObject;
    What I'm wondering is, why the full classname is printed correctly in the logs but the instanceof test fails!
    What I need to find out is what needs to happen in order to be able to store/retrieve user-defined classes in the CVP session.  Is there a reason this would not be possible?  Strings work fine, more "creative" objects seem to be disallowed...
    Does the jar containing the object need to be in a special place maybe?
    Thanks,
    Chris

    Apparently what happened here is a side-effect of the "Magical Cache Syndrome".  :-) 
    It appears as though Eclipse or the CVP plugins creates a serialized cache of any jars added to a CVP Studio Project, and there may be a test in the caching mechanism that does not update the cache if only the serialVersionUID changes.  Thus the package+class name is the same, but the runtime instance becomes incompatible.  Maybe?
    Changing the package name of the object, rebuilding, redeploying, fixed the issue.
    Then again, it may not be a builder issue.  It may also be a Tomcat session issue (it uses serialization when bouncing to retain data), though with no active callers in the test environment I'm not sure why Tomcat would even retain a session, and wouldn't the "updateApp" command clobber it?
    Does anyone have any detailed technical information on how this entire mechanism works?  I only like magic tricks I can fully explain... :-)
    Thanks,
    Chris

  • Tween in custom class

    I'm a relative flash/actionscript newbie. I created a towers
    of hanoi solution moving movie clips around using Tweens. This all
    worked great when the action script containing the Tween creation
    existed on what I guess is the root movie clip (within the Action
    script window of my .fla file).
    I tried moving the hanoi solution into a custom class
    (extending EventDispatcher) and now the tween does not 'run'. I've
    stepped through my code with the debugger and added plenty of trace
    statements and am pretty sure all the arguments to the Tween
    constructor are correct.
    _currentTween = new Tween(_movingDiskMc, "_y",
    Regular.easeOut, _movingDiskMc._y, _yMin, _duration);
    Is there something fundamental I'm missing? Is the frame rate
    an issue with the custom class? The value of _duration above is 5.
    thx
    - Kurt

    ahhhh.... after further review found that my
    'onMotionFinished' event handlers were being called but in the
    debugger the scope is the Tween class not my Hanoi class. That's
    messed up
    found the discussion in the help topic regarding scope of
    event handlers and using the 'suggested strategy' things are
    working fine now

  • Change UIComponent to extend a custome class?

    hello,
    I was hoping to shed some light of extending core classes. I
    added some properties in FlexSprite.as, in a custom class called
    ModFlexSprite.as, and had the core UIComponent extend
    ModFlexSprite.as. However, these properties cannot be accessed vis
    the ItemListRenderer (which extends UIComponent->which extends
    FlexSprite).
    I realized that it's because of this code in the ListBase
    class:
    protected function moveRowVertically(i:int, numCols:int,
    moveBlockDistance:Number):void
    var r:IListItemRenderer;
    for (var j:int = 0; j < numCols; j++)
    r = listItems
    [j];
    r.move(r.x, r.y + moveBlockDistance);
    rowInfo.y += moveBlockDistance;
    i wanted to add properties to the var listItems via the new
    ModFlexSprite. so if i try to use my new ModFlexSprite properties,
    flex throws an error, saying 'undefined property'. Now, as you see,
    the var r casts as a IListItemRenderer, which is an interface, that
    never touches ModFlexSprite. Does this mean i have to create a
    custom Interface as well and implement it in the IListItemRenderer
    for my ModFlexSprite properties to work?
    thank you in advance! -brandon

    i didn't change the code in the FlexSprite class. Rather I
    created a class called ModFlexSprite that extended the FlexSprite
    class, and in UIComponent.as i changed the class to extend
    ModFlexSprite instead of FlexSprite. How would I recompile the
    entire flex framework in flex 3?
    What I want to ultimately do is to create a list that has a
    tweened scrolling effect. I thought the first step would be to
    extend the List class and override the moveRowVertically method
    (from ListBase.as, see first post in thread) and change the line:
    r.move(r.x, r.y + moveBlockDistance);
    to:
    TweenMax.to(r,1,{y:r.y}); //using TweenMax Class
    This works as expected when you click the scroll arrow and
    wait for the tween to finish, then click the arrow again. But if
    you scroll the thumb or click the scroll arrow before the tween
    ends, then unexpected tween issues occur.
    You
    can see the example here. this is because the r.y value is
    being calculated in a number of places in the ListBase class-
    before the tween is finished, and moving the listItem(s) into
    unexpected y positions.
    So, to fix that issue, i wanted to extend FlexSprite so that
    in the get y method, it would check to see if an "end_y" property
    was set first, and return the end_y value instead of the y value:
    //in ModFlexSprite:
    override public function get y():Number{
    return = (end_y)? end_y : _y;
    So then i could do something like this:
    r.end_y = r.y + moveBlockDistance;
    TweenMax.to(r,1,{y:r.y, onComplete:r.remove_end_y})
    the r.remove_end_y method would remove the end_y value when
    the tween completes. This should take care of the scrolling of
    items that are already on screen.
    I haven't figured out a way to animate the ListItems that are
    added to the list (as you can see in the example in the link above,
    the ones that "appear" if you click the scroll arrow). If you have
    any suggestions i would be greatful! Thank you. -b

  • Unit testing: Mocking custom classes with null

    Hi,
    I was trying to save time on testing the usual hashCode() and equals() methods so I got this class: http://www.cornetdesign.com/files/BeanTestCase.java.txt
    I altered it a bit as it wasn't handling standard classes only primitives.
    Anyway, I got to the point to include my own custom classes.
    I have to create a 'mock' object for my class properties, e.g. field.getType().newInstance()
    Fine, but there are some tricky instances. E.g. when I'd like to create an instance of java.net.URL which takes a URL as String in the constructor.
    This is almost impossible to automate as it has to be a valid URL format not just a random String.
    So, I thought I set them to null, e.g.
    assertTrue(o1.equals(o2))
    as both properties are null.
    Is this the right approach you think?
    I welcome any suggestions.
    My initial idea was to save enormous amount of time automating the hashCode() and equals() method tests as they took so long to write.
    Thanks

    Trouble would be that you are only testing the null branch of the equals or hashCode, which typically have to check for null, then if not null do an actual comparison.
    It's worth the effort of learning to use a package such as EasyMock to create and program mock objects. It's tidiier if you are progamming to interfaces, however, but it will mock ordinary objects, though probably not if they are final.
    What you could do is to define a factory interface, and have a table of anonymous classes wich generate various types. In effect create a library of dumy object factories.
    Something like:
    private interface DummyGenerator {
          Object generate(int idx);
          Class<?> getType();
    private final static DummyGenerator[] generatorsTable {
        new DummyGenerator() {
               public Object generate(int idx) {
                 return new URL("http://nowhere.com/" + idx);
         public Class<?> getType() { return URL.class; }
    .. generators for other classes
    private final static Map<Class<?>, DummyGenerator> genMap = new HashMap<Class<?>, DummyGenerator>(generatiorsTable.length);
    static {
        for(DummyGenerator gen : generatorsTable)
            genMap.put(gen.getType(), gen);
    }

  • Need help calling and looping custom classes

    Hi, I am writing a code with custom classes in it and another program that calls upon all of the classes in the first program. I can get the second one (L6) to call upon and execute all of the classes of the first (Foreign). However, I need the second one to loop until quit is selected from the menu on Foreign and I can't seem to figure out how to do it. Here are the codes:
    L6:
    public class lab6
    public static void main(String[] args)
    Foreign camount = new Foreign();
    camount = new Foreign();
    camount.get();
    camount.print();
    camount.intake();
    camount.convert();
    camount.vertprint();
    System.out.println(camount);
    Foreign:
    import java.util.Scanner;
    public class Foreign
    private String country;
    private int choice;
    private float dollars;
    private float conversionValue;
    private float conversionAmount;
    public Foreign()
    country = "null";
    choice = 0;
    dollars = 0;
    conversionValue = 0;
    conversionAmount = 0;
    public void get()
         Scanner Keyboard = new Scanner(System.in);
              System.out.println("Foreign Exchange\n\n");
    System.out.println("1 = U.S. to Canada");
    System.out.println("2 = U.S. to Mexico");
    System.out.println("3 = U.S. to Japan");
    System.out.println("4 = U.S. to Euro");
    System.out.println("0 = Quit");
    System.out.print("\nEnter your choice: ");
    choice = Keyboard.nextInt();
    public void print()
    System.out.print("\nYou chose " + choice);
    public void intake()
         Scanner Keyboard = new Scanner(System.in);
              if (choice >= 1 && choice <= 4)
    switch (choice)
              case 1: System.out.println("\nU.S. to Canada");
                        conversionValue = 1.1225f;
                        country = ("Canadian Dollars");
                        break;
              case 2: System.out.println("\nU.S. to Mexico");
                        conversionValue = 10.9685f;
                        country = ("Mexican Pesos");
    break;
              case 3: System.out.println("\nU.S. to Japan");
                        conversionValue = 118.47f;
                        country = ("Japanese Yen");
    break;
              case 4: System.out.println("\nU.S. to Euro");
                        conversionValue = 0.736377f;
                        country = ("European Union Euros");
    break;
                   System.out.print("\nEnter U.S. dollar amount: ");
              dollars = Keyboard.nextFloat();
    public void convert()
    conversionAmount = conversionValue * dollars;
    public void vertprint()
    System.out.println("\nCountry = " + country);
    System.out.println("Rate = " + conversionValue);
    System.out.println("Dollars = " + dollars);
    System.out.println("Value = " + conversionAmount);
    public String toString()
    String line;
    line = "\n" + country + " " + conversionValue + " " + dollars + " " + conversionAmount;
    return line;
    I appreciate any help anyone can give me. This is driving me crazy. Thanks.

    1. first you need to write method to get choice value from Foreign class.
    simply add this method.
       public class Foreign {
          // ... Add this
          public int getChoice() {
             return choice;
       }2. Then in your main, you can obtain with previos method.
    public static void main(String[] args) {
       Foreign camount = new Foreign();
       // remove this. you alredy create an instance in last statement.
       //camount = new Foreign();
       int choice = 0;
       do {
          camount.get();
          choice = camount.getChoice();
          // your process...
       } while (choice != 0);
    }

  • Use of deployment classpath or shared-libraries to pick-up "custom" classes

    Hi,
    I’m trying to determine an approach to dealing with how classes are found in a deployed ADF application via classpath, etc. I’ve tried to explain the situation below as best I can so it’s clear. If you have any comments/suggestions as to how this could be done, it would be much appreciated
    Current Application structure:
    Consists of an application initially deployed to OC4J 10.1.3.4 using an alesco-wss.ear file
    Application contains a single Web Module, initially deployed as wss.war file within the alesco-wss.ear file above.
    The Web Module (wss) was built in JDeveloper 10.1.3.4 using 2 projects, a Model and ViewController project, and uses ADFBC.
    The Model project seems to also generate an alesco-model.jar file in the /WEB-INF/lib/ folder, even though Model classes are in the /WEB-INF/classes/ folder below?
    Exploded structure of application on application server looks something like:
    applications/alesco-wss/META-INF/
    /application.xml <- specifies settings for the Application such as Web Module settings
    /wss/
    /app/ <- directory containing application .jspx pages protected by security
    /images/ <- directory containing application images
    /infrastructure/ <- directory containing .jspx files for login, logout and error reduced security
    /skins/ <- directory containing Skin image, CSS and other files
    /WEB-INF/
    /classes/ <- directory containing application runtime class files as per package sub-directories
    /lib/ <- JAR files used by application (could move some to shared-libaries?) – seems to contain alesco-model.jar
    /regions/ <- directory containing .jspx pages used for Regions within JSPX template page
    /templates/ <- directory containing template .jspx pages used for development (not really required for deployment)
    /adf-faces-config.xml
    /adf-faces-skins.xml
    /faces-config.xml
    /faces-config-backing.xml
    /faces-config-nav.xml
    /region-metadata.xml
    /web.xml
    testpage.jspx <- Publicly accessible page just to test
    The application runs successfully using the above deployment structure.
    We plan to use the exploded deployment structure so that updates to pages, etc. can be applied individually rather than requiring construction and re-deployment of complete .EAR or .JAR files.
    What I’m trying to determine/establish is whether there is a mechanism to cater for a customisation of a class, where such a class would be used instead of the original class, perhaps using a classpath mechanism or shared library?
    For example, say there is a class “talent2.alesco.model.libraries.ModelUtil.class”, this would in the above structure be found under:
    applications/alesco-wss/META-INF/classes/talent2/alesco/model/libraries/ModelUtil.class
    Classes using the above class would import “talent2.alesco.model.libraries.ModelUtil”, so they effectively use that full-reference to the class (talent2.alesco.model.libraries as a path, either expanded or within a JAR).
    From the Oracle Containers for J2EE Developer’s Guide 10.1.3 page 3-17, it lists the following:
    Table 3–1 Configuration Options Affecting Class Visibility
    Classloader Configuration Option
    Configured shared library <code-source> in server.xml
    <import-shared-library> in server.xml
    app-name.root <import-shared-library> in orion-application.xml
    <library> jars/directories in orion-application.xml
    <ejb> JARs in orion-application.xml
    RAR file: all JARs at the root.
    RAR file: <native-library> directory paths.
    Manifest Class-Path of above JARs
    app-name.web.web-mod-name WAR file: Manifest Class-Path
    WAR file: WEB-INF/classes
    WAR file: WEB-INF/lib/ all JARs
    <classpath> jars/directories in orion-web.xml
    Manifest Class-Path of above jars.
    search-local-classes-first attribute in orion-web.xml
    Shared libraries are inherited from the app root.
    We have reasons why we prefer not to use .JAR files for these “non-standard” or “replaced” classes, so prefer an option that doesn’t involve creating a .JAR file.
    Our ideal solution would be to have such classes placed in an alternate directory that is referred to in a classpath such that IF a class exists in that location, it will be used instead of the one in the WEB-INF/classes/ directories, and if not such class is found it would then locate it in the WEB-INF/classes/ directories.
    - Can a classpath be set to look for such classes in a directory?
    - Do the classes have to replicate the original package directory structure within that directory (<dir>/talent2/alesco/model/libraries)?
    - If the class were put in such a directory, without replicating the original package directory structure, I assume the referencing “import” statements would not locate it correctly.
    - Is the classpath mechanism “clever” enough to search the package directory structure to locate the class (i.e. just points to <dir>)?
    - Or would the classpath mechanism require each individual path replicating the package structure to be added (i.e. <dir>/talent2/alesco/model/libraries/ and any other such package path)?
    If we are “forced” to resort to the use of JAR files, does a JAR file used for the purpose of overwrite/extending a sub-set of classes in the original location need to contain ALL related package classes? Or does it effectively “superset” classes it finds in all JAR files, etc. in the whole classpath? That is, it finds talent2.alesco.model.libraries.ModelUtil in the custom.jar file and happily goes on to get the remainder of talent2.alesco.model.libraries classes in the other core JAR/location. Or does it need all of them to be in the first JAR file for that package?
    Any help would be appreciated to understand how these various class visibility mechanisms could be used to achieve what is required would be appreciated.
    Gene

    So, nobody's had any experience with deploying an ADF application, and providing a means for a client to place custom classes in such a way as they're used in preference to the standard application class, effectively to implement a customised class without overwriting the original "standard" class?
    Gene

  • Add button to a datagrid with custom class

    Hi.
    I have a custom class that i put in the dataprovider to a datagrid. And when i column with buttons i get the following error.
    ReferenceError: Error #1069: Property null not found on COMPONENTS.Output.OutputFile and there is no default value.
    at mx.controls::Button/set data()[E:\dev\3.0.x\frameworks\projects\framework\src\mx\controls\Button.as:873]
    at mx.controls::DataGrid/http://www.adobe.com/2006/flex/mx/internal::setupRendererFromData()[E:\dev\3.0.x\framework s\projects\framework\src\mx\controls\DataGrid.as:1646]
    at mx.controls::DataGrid/commitProperties()[E:\dev\3.0.x\frameworks\projects\framework\src\m x\controls\DataGrid.as:1606]
    at mx.core::UIComponent/validateProperties()[E:\dev\3.0.x\frameworks\projects\framework\src\ mx\core\UIComponent.as:5670]
    at mx.managers::LayoutManager/validateProperties()[E:\dev\3.0.x\frameworks\projects\framewor k\src\mx\managers\LayoutManager.as:519]
    at mx.managers::LayoutManager/doPhasedInstantiation()[E:\dev\3.0.x\frameworks\projects\frame work\src\mx\managers\LayoutManager.as:669]
    at Function/http://adobe.com/AS3/2006/builtin::apply()
    at mx.core::UIComponent/callLaterDispatcher2()[E:\dev\3.0.x\frameworks\projects\framework\sr c\mx\core\UIComponent.as:8460]
    at mx.core::UIComponent/callLaterDispatcher()[E:\dev\3.0.x\frameworks\projects\framework\src \mx\core\UIComponent.as:8403]
    What shuld i do?
    Thanks for help.

    If you are talking SE54 and Maintenance Views, when I do an SM30 on the Maintenance View and do SYSTEM->STATUS, I see GUI STATUS ZULG on program SAPLSVIM.  If you look at that status, I see two buttons with dynamic text.  The first one is call GPRF and has dynamic text VIM_PR_STAT_TXT_CH.  You can find a suitable PBO event to set the text of that function code and if that works, find a suitable PAI event to respond to that function.
    I recall finding some documentation on customizing the GUI STATUS but no luck today trying to find it.
    Let us know how it goes.

  • Xcode 6.1.1 Custom Class Outlets Missing

    I'm running through the basic Apple tutorial on iOS App Development https://developer.apple.com/library/ios/referencelibrary/GettingStarted/RoadMapi OS/index.html#//apple_ref/doc/uid/TP40011343-CH2-SW1
    Running Xcode Version 6.1.1 (6A2008a)
    After creating custom View Controller and TableView Controller classes (Tutorial:Storyboards) I find that although the .m files appear in Build Phases they do not appear in the drop down menu for custom class.  If I enter the name manually it correctly opens the .h files when clicking on the right arrow to the right of the custom name.
    The standard outlets of View Controller (Search Display Controller & View), do not appear in the connections inspector of the custom class.
    A test IBAction method does not appear as an option when connecting a Bar Button Item to the Exit object of the Custom View Controller.
    Searching the internet for a solution I can find lots of similar stories with random work arounds, none of which have worked for me.  However, most of these have been for previous versions of Xcode and one user reported that upgrading to 6.1 solved the problem.
    I have redone this a few time to ensure that it isn't finger trouble and I do have a number of years of cocoa/Xcode experience, I'm just getting used to storyboards.
    I have tried:
    Clean project / Delete Derived Data / Relaunch Xcode
    Delete references to .h & .m files of custom classes and then added them back in.
    Is there any way of 'forcing' Xcode to recheck for Outlets and Actions in custom classes?

    To find out where th problem is,  either Xcode or something in your environment, you should try to run Xcode as a different user.
    The guest account is ideal for this as your are sure you will get a clean environment. You could also make a new user account and try running from there. If Xcode starts then the problem is something in your original user environment. If Xcode fails to stsrt with the new account then there is a system wide problem.
    BTW is your account an admin account or a regular account?
    regards

  • Build app with ODT and Oracle UDT - Error while creating custom class

    Hello CShay,
    I am testing you sample code to create UDT with ASP.Net app. It is also published in Oracle magazine.
    The article is also published at following link:
    http://www.oracle.com/technology/oramag/oracle/08-may/o38net.html
    I am able to successfully implement all the steps before "Using Custom Class Wizard". When I right click on any of the object (CUSTOMER_OBJ, PHONELIST_OBJ, and ADDRESS_OBJ) and select Generate Custom Class, I get the following error:
    Oracle custom class wizard.
    Class can be generated only for either C#, VB or Managed C++ projects.
    Am I missing any thing?
    Thanks in advance for your help.

    Yes I confirm that I choose File->New Website.
    I don't see the following option
    File -> New Project, and then under Visual C#, select ASP.NET Web Application
    I am using VS2005 Professional Edition.
    The options I see under Visual C# are:
    If I click on
    Windows tab:
    Windows Application
    Windows Control Library
    Console Application
    Empty Project
    Class Library
    Web Control Library
    Window Servcie
    Crystal Report Application
    and Search Online Templates in My Templates tab.
    Couple of options for Smart Device which also doesn't include ASP.Net
    then Database, Starter kits and Office tabs which also doesn't include ASP.net thing.
    I don't know how did you see that option or you might be using different version of VS (Enterprise).
    But right now I am stuck.
    Please provide me your valuable comments.
    Thanks for your help.

  • Reproducing Incident Form Elements in a Custom Class

    Hello again everyone,
    I am trying to rollout a completely separate module in SCSM to record MACD (Move/Add/Change/Delete) requests. I decided to use the OOB incident module as my base class as it already contained many fields I require (I inherited the properties
    and relationships) and created a new form assembly in Visual Studio to wire the properties to.
    After created the form and labels, I imported the .dll into the Authoring Tool so I can just drag out each property from the MP explorer onto the form. Everything works except for the last few fields which are a bit more complex than a standard list or textbox.
    I cannot seem to add the controls for the more complicated items like "Affected Services" or "Affected Items", when I try to drag them out to the form I get an error saying cardinality is not set to 1... I am guessing this is because
    its trying to map a relationship between a workitem and a service instead of my custom class and a service...
    So I went back into Visual Studio and added a ListView to the form, thinking I will have to wire the data bindings inside the form itself. However, I am stuck as I am not sure where "Services" are being written to, as I will need this location
    to reference in my empty ListView. I have provided my code and commented where I believe I am missing logic. Thank you in advance for any help!
    Note: "servicerelatestoworkitem" is not actually an object, my logic is conceptual and I still have not found which class/object the list of services is being written to.
    C# Code containing button logic (an add button to add a service to the ListView, and a delete button to remove a service from the ListView.
    private void add_services_button_Click(object sender, RoutedEventArgs e)
       // Open list of Services here, allow user to pick a service, then add selected service to "servicerelatestoworkitem"
       // AffectedServicesListView is populated from servicerelatestoworkitem
    private void del_services_button_Click(object sender, RoutedEventArgs e)
        // Test to see if item is being selected and display selected item to confirm ability to manipulate variable
        try
            var itemSelected = ListView.GetIsSelected(AffectedServicesListView);
            MessageBox.Show(itemSelected.ToString());
        catch (Exception ex)
            MessageBox.Show(ex.Message);
        // Remove selected item from servicerelatestoworkitem and refresh AffectedServicesListView
    XAML Code containing the list view and two buttons: (Note: The binding is most likely incorrect, I was just experimenting with it)
    <ListView x:Name="AffectedServicesListView" HorizontalAlignment="Left" Height="95" Margin="10,414.6,0,0" VerticalAlignment="Top" Width="521" ItemsSource="{Binding Path=AffectedServicesListView, Mode=Default, UpdateSourceTrigger=PropertyChanged}">
                            <ListView.View>
                                <GridView>
                                    <GridViewColumn/>
                                </GridView>
                            </ListView.View>
                        </ListView>
                        <Button x:Name="add_services_button" Content="" HorizontalAlignment="Left" Margin="470.55,382.749,0,0" VerticalAlignment="Top" Width="27.674" Height="26.851" Click="add_services_button_Click" BorderBrush="{x:Null}">
                            <Button.Background>
                                <ImageBrush ImageSource="add.png"/>
                            </Button.Background>
                        </Button>
                        <Button x:Name="del_services_button" Content="" HorizontalAlignment="Left" Margin="503.224,382.749,0,0" VerticalAlignment="Top" Width="27.776" Height="26.851" Click="del_services_button_Click" BorderBrush="{x:Null}">
                            <Button.Background>
                                <ImageBrush ImageSource="delete.png"/>
                            </Button.Background>
                        </Button>

    Cardinality is a property of relationships classes, not a property of specific relationships. each type of relationship has it's own cardinality values, but the engine only really recognizes "one" and "many". it makes sense to say that
    the "affected user" relationship is many to one, because Each work item can have one and only one affected user, but each users may be the affected user of many work items. The Related work items relationship is a many to many, because each workitem
    may be related to many other work items. it doesn't make sense to say this specific relationship between this IR and that user is "many to one", because each instance is only between one specific object and another specific objects. the cardinality
    just controls how many of those specific relationships instances can exist for each type of relationship. 
    There are no out of the box controls for many to many relationships. the Instance Picker control is designed to support one to one and many to one relationships. you'd have to write your own controls for support many to one relationships. Consider Travis
    Wright's SR Example for 2010, since most of this code should execute in 2012 and 2012r2 with only minor modifications. 
    You'd have to either find the control that defines it, like with the history tab, or recreate it using the
    authoring tool or
    Visual Studio. 

  • Capture Customer Class in time of BP creation from Screen

    Hi All,
    I am facing a problem that I need to capture  Customer Class , Sales Area Template and ID type in time of BP creation in DCHCK event. I have to check if user is putting these value correctly or not. If user entered wrong value then I have to through error message and not to save to BP.
    Foe example I am using 'BUP_BUPA_BUT000_GET' to get all other data along with BP type and so on.
    Plesae help regarding this if any one is aware of it.
    Thanks & Regards
    Ajoy

    Hi,
    asaha... I want to know how it would be done ?
    by ABAP customization or in the CRM IMG itself ?
    can you brief about it ..
    Thanks
    " RA "

  • SE24 or In-line Declaration of Custom Class to be Used in a Custom Exit ???

    After our implementation of a custom screen in EXIT_SAPLIE01_007, the function-group XQSM contained the following custom elements:
    XQSM
        Function Modules
          EXIT_SAPLIE01_007     (this just includes ZXQSMU06)
        PBO Modules
          STATUS_9000
        PAI Modules
          USER_COMMAND_9000
        SCREENS
          9000                  (custom screen (modal dialog box))   
        GUI_STATUS
          9000                  (status for custom screen) 
        INCLUDES
          ZXQSMI01              (contains PAI module) 
          ZXQSMO01              (contains PBP module)
          ZXQSMTOP              (declares custom global variables)
          ZXQSMZZZ              (this just includes ZXQSMI01/ZXQSMO01
          ZXQSMU06              (this calls custom screen 9000)
    Then the users decided they wanted an editable ALV on custom screen 9000 (to handle multi-item GR postings in MIGO, not just single-item postings.)
    Since I never coded an editable ALV before, I first created a working editable ALV program from the SAP demo program BCALV_EDIT_03 plus some additions/modifications kindly provided by Uwe Schieferstein down in the ABAP Objects Forum.
    But now I'm stuck because I don't know which components of the XQSM function group I should put the following pieces of code in:
    1)
    class lcl_event_receiver definition deferred.
    data: g_event_receiver type ref to lcl_event_receiver.
    2)
    class lcl_event_receiver definition.
      public section.
      private section.
    endclass.
    3)
    class lcl_event_receiver implementation.
    endclass.
    Can someone please tell me where (1-3) belong inside XQSM - what components they should be put into?
    Or should I just build a custom class in SE24 and use it in the exit ???  (By "use it", I mean instantiate it and call its methods.)
    It seems to me that if I could define the class in SE24,it would be a lot easier, because everything else except (1-3) above clearly belongs in the PBO or PAIof the screen.

    Hello David
    In thread
    how to activate or deactivate a user-exit based a specific condition
    I have described a general strategy for implementing CMOD/SMOD exits. In your case, I would create a function group <b>ZXQSM</b> having two function modules:
    - <b>Z_EXIT_SAPLIE01_007</b> (= copy of EXIT_SAPLIE01_007) => calls the following fm
    - <b>Z_EXIT_SAPLIE01_007_SPEC</b> (-> specific exit that is executed only if certain conditions are fulfilled
    All you implementations for you editable ALV grid belong into your customer function group ZXQSM.
    Regards
      Uwe

  • Problem Using Custom Classes in UCCX8.5.1 SU3

    Dear All,
    My team is facing problem in using Java custom classes for UCCX 8.5.1 SU3
    The problem is that we have created some conditional prompts for currency in different languages, our custom java class contains two mathods GetEnglishString(parameter set) and GetUrduString(parameter set). We are able to use/call both methods one by one and both at same time in CCX Editor and validate the script successfully but when we set the script as application it failed.
    We tried to use both methods one by one and found that script with GetEnglishString is working ok but when we place GetUrduString (alone as well) MIVR logs say that method is unknown altough CCX Editor does not give us any error. We triend to restard Administration and Engine Services several time but to no avail. If somebody know the reason and solution kindly share it ASAP.
    Regards
    Kashif Surhio

    Hi
    In that case I would double check you have uploaded the file, and restart the server completely. In testing we found that restarting the engine didn't always reload the classes.
    Aaron

Maybe you are looking for