No container definition available

Hi all,
I have a file 2 file scenario using BPM.
There is <b>one container element</b> of category <b>Abstract Interface</b>.
The scenario is a simple one having <b>one recieve and one send step</b>.
Both the steps are using the container element in their <b>'Message'</b> properties
On doing a syntax check (F7)the msg is <b>'no errors found'</b>.
But on activation in <b>SXI_CACHE</b> the return code is <b>99</b>.
The msg with type <b>'E'</b> says <b>'No container definition available'</b>.
How do I rectify this problem?
Please guide
Regards
Neetu

Hi Neetu,
1) Go to IR and BPM and change and activate the BPM once again( make sure that all your step properties are given correctly
2)Reimport the Integrtaion PRocess in the Dirrectory and then execute the scenario.
3) Then check SXI_CAHCE if you get any error
4)Did you activate the IP in sxi_cache once again..i.e click on 'Repeat activation' function in transaction SXI_CACHE
5) Execute transaction SWF_XI_CUSTOMIZING. All status displays must be green
4) Refer this SAP note-901366
Hope this helps,
Regards,
Moorthy

Similar Messages

  • Error:No container definition available

    hey guys
    i m doin a synchronous File to RFC scenario,the return code for BPM in SXI_CACHE is 99 and i m getting a E message saying NO container definition available,when i press F7 in BPM,its not giving me any erros.
    any idea what else i can check?
    one more thing i m unable to refresh BPM as i m not registered in OSS
    thanx
    ahmad

    Hey
    well i m taking help from the following blog /people/arpit.seth/blog/2005/06/27/rfc-scenario-using-bpm--starter-kit
    i have defined two container elements AI_sender and AI_receiver which i m using in receive step and send step respectively for the sync send step in between these two i m using AI_sync as synchronous interface,AI_sender as request message and AI_receiver as response message,after defining container elements,do i need to do anythin else with dem too?(like activate dem or anythin like dat)
    thanx
    ahmad

  • Issue with project having Tag File containing definition of other Tag File

    Hi Everyone,
    I have a small problem which you experts are able to help with.
    As the subject of this Post has suggested, I have a project which was originally built in NetBean 6.0 and I'm trying to migrate it across to JDeveloper 10.1.3. So far, I've managed to compiled all jsps and java source files successfully but I'm now stuck with the following error messages during building of the project in JDeveloper:
    --- START OF ERROR ---
    Error(6): Unable to instantiate tag: menu:tab (class: oracle.jsp._tag._tabmenu._tab_tag) Make sure that the tag class is available and that the tag library containing the class is not excluded from this application.
    Error(6): Unable to find class for bean: null defined by tag with class: oracle.jsp._tag._tabmenu._tab_tag
    --- END OF ERROR ---
    I believe the reason was that I have this Tag file (menu.tag) that contains definitions and references to another Tag file and here is its content:
    --- START OF TAG FILE ---
    <%@ taglib prefix="menu" tagdir="/WEB-INF/tags/tabmenu" %>
    <%@ attribute name="tab" required="true" type="java.lang.String" %>
    <jsp:useBean id="login" class="au.wa.apa.webbeans.WrsLogin" scope="session" />
    <div id="menu">
    <ul>
    <menu:tab tab="NEW" currentTab="<%=tab%>" label="New Query" tooltip="Create New Query" url="aq/adv_new_query.wrs?formMode=new"/>
    <menu:tab tab="OPEN" currentTab="<%=tab%>" label="Open Queries" tooltip="View Open/Active Queries" url="aq/adv_queries_list.wrs?view=OPEN"/>
    <menu:tab tab="CLOSED" currentTab="<%=tab%>" label="Closed Queries" tooltip="View Closed Queries" url="aq/adv_queries_list.wrs?view=CLOSED"/>
    <menu:tab tab="SEARCH" currentTab="<%=tab%>" label="Search" tooltip="Search Query" url="aq/adv_queries_search.wrs?view=OPEN"/>
    <% if (!"STAFF".equals(login.getUserType())) { %>           
    <menu:tab tab="ATTN" currentTab="<%=tab%>" label="Attention Of" tooltip="Attention Of Administration" url="aq/adv_query_attention_of_list.wrs"/>
    <% } else { %>
    <menu:tab tab="TEMP" currentTab="<%=tab%>" label="Templates" tooltip="Template Management" url="aq/adv_query_template_list.wrs"/>
    <% } %>
    </ul>
    <div class="clear"></div>
    </div>
    --- END OF TAG FILE ---
    I've this problem for several days now and have not been able to solve it and I hope you are able to help me with this problem. Thank you for time and assistance and have a nice day.
    Kind Regards,
    John

    Hi Guys,
    Do we have any workaround to this problem? Any feedback will be welcomed.
    Thanks and Regards,
    John

  • Container definition for Abstract Synchronus Interface

    I am trying the simple scenario where the bpm process consumes soap request message (opens S/A bridge). After it queries another web services and sends back synchronously soap response, closing S/A bridge.
    I've walked through different weblogs and forum posts but still not getting how the interface variables should be created in this case.
    All my abstract interfaces are synchronous, and container definition for category "Abstract type" is only for Asynchronous interfaces.
    Should I create two additional asynchronous interfaces with the same request/response message names to be able create interface variables?
    And if message names are different in both soap calls should I create 4?
    Thanks,
    Evgeni
    scenario is similar to the one described in the weblog https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1403 [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken] [original link is broken]
    but without call to the legacy system and instead of JDBC it is another webservice.

    Hi, thanks for replay,
    >So this Abstract interface is used in the Receive step of the BPM(opening of the Sync/Async Bridge).
    I've created Abs Sync interface and used it in the Receive step. My problem is I can not assign value to the Message Name in the step Properties.
    To assign value I need first create container. To create container I need provide Type, which can be selected from the list of the "Message interfaces". But the list displays only Async Abs interfaces not Sync. How I should create container for Sync Request message?
    Looking on the help link you provided. How I should create following:
    Container
       Request
         BpmPatternBridgeRequest
       Response
         BpmPatternBridgeResponse
    Kind regards,
    Evgeni.

  • Recently lost videos from my photo albums. It appears any video that wasn't uploaded directly to the ipad is now missing. They were definitely available prior to say two months ago. I've had the ipad since March. Any ideas why? Looking to reload manually

    Had current ipad since March. Recently videos (in photos app) that were able to be viewed are now missing. The commonality is that they were videos that were not uploaded directly to the ipad. Anything that I've uploaded since March is still accounted for. Just strange because I have viewed these videos since using this ipad. Only recently have they been "removed." WIll try to manually load them back, but any thoughts as to why? Thanks

    If the videos were not uploaded to the iPad - (and I'm never sure what that means to another user - synced from iTunes?)- and they were taken with the iPad itself, you will have to restore from a backup in order to recover the videos if they are really gone from the device.
    If they are purchased videos and they are in your iTunes library, sync them back to the iPad.
    How to backup and restore from a backup
    http://support.apple.com/kb/HT1766

  • BPM error After transports

    Hi
    We have trasported all  our objects from Dev to QA, after a cache refresh in QA server we found that some BPM's are in state 0 and some are in status 99. There are no cache refresh error in SXI_CACHE "cache contents are up-to-date" and there are no errors when checked through SLD cache notifications.
    The BPM's which are having status 99 giving following error
    S     --- Translating step type 'RECEIVE' with ID '3' ---
    E     No container definition available
    S     --- Translating step type 'SWITCH' with ID '7' ---
    E     Syntax error in expression Line1 Ext. ID64788F0009A411DAC1A5D943C2C9A7A9
    E     The exception occurred (program: CL_SAI_SWF_RULE
    E     Container element 'GEN_NRQ' does not exist
    S     --- Translating step type 'TRANSFORM' with ID '5' ---
    S     --- Translating step type 'SEND' with ID '17' ---
    S     --- Translating step type 'SEND' with ID '24' ---
    I     Language not set. Using system default E
    All these BPM's are working fine in dev environments.
    Any idea , inputs on how to resolve this.
    Regards
    Prahllad

    Hi Michal
    The transport mechanisim is file import/export. We imported repository objects at namespace level and directory objects at scenario level. Just give some more input on this issue, before transport of all our objects (around 170) we did a sample tranport of only one interface object (both directory and repository objects)that worked perfectly.
    Then we imported rest of all our objects and at this point we got cache refresh error in SXI_CACHE (communication error). We set the "No Timeout" option in the RFC destination INTEGRATION_DIRECTORY_HMI and all cache contents got re-freshed. After this we found only some BPM's are in status 0 but most of them in status 99.
    I verified the container elements are present in my Dev BPM it is present and it works correctly. Hope this might give some clue on where the issue could be.
    Regards
    Prahllad

  • Problem in SXI_CACHE ReturnCode 99

    Hi Everyone,
    We're encountering a problem in our Test box. The return code for one of our integration processes is still 99 even after activating it in SXI_CACHE. In our acceptance box and Dev box, the return code is 0. Everything is working fine for both the systems. The error is in the test box only (dev -> test -> acceptance). We have tried reactivating the whole SCV and transporting but it did not work. We have also tried reactivating the Integration process in ID, and transporting it but still no luck. We have also tried the various suggestions in the forum but we're still having an error.
    The error message in SXI_CACHE is :
    E    For http://xxx yyy there is already definition ZXI_PROXY_xxx
    E    For http://xxx yyy there is already definition ZXI_PROXY_yyy
    S    --- Translating step type 'RECEIVE' with ID '3' ---
    E    No container definition available
    S    --- Translating step type 'SEND' with ID '9' ---
    S    --- Translating step type 'SEND' with ID '18' ---
    Any suggestion is welcome.
    Thanks.

    1. make some dummy change to the IP in IB
    2. if not works then re-import the IP in IB (delete and re-import)

  • Available Layouts for Creating Portal Page

    Hi, When selecting a layout for creating a Portal Page we are presented with a plethora of available Layouts. 
    1.  What is the difference between the 1 Column (Full Width) and Light: 1 Coumn (Full Width).
    2. Why would there be no Layouts with a Row Type Organization.  Everything is Column Based.  What if I want to Rows?
    thanks for any help.

    Hi Kenneth,
    1. Difference between 1 Column (Full Width) and Light: 1 Coumn (Full Width) is that the second is used for light framework which will not load HTMLB. If you compare the JSP code for the two layouts,  the container definition in light layout is not surrounded by hbj tags.
    2. As Ajay said, you can add multiple iviews in one container and you get multiple rows in a column. You can always create your own layout which can can have rows as well. One such layout from SAP is T-Layout (Top - Full Width; Bottom - Narrow:Wide).
    Regards,
    Min

  • Adobe Reader 11.0.0 Availability

    Hi,
    Could you please let me know why links to Adobe Reader 11.0.0 installation packages (in English) for different operating systems were removed from this page: http://get.adobe.com/reader/otherversions/?
    Thank you.

    Hi Claudio,
    Thanks for your reply! I am interested exactly in 11.0.0 version. Earlier http://get.adobe.com/reader/otherversions/ contained all available versions of Reader, but recently all older versions (that were issued before 11.0.01, 10.1.5 and 9.5.3) were removed from this repository. Maybe latest Reader revisions contain critical security updates or bugs fixes, so that all older version can't be used any more. But this is just my suggestion, and I'm still interested in the real reasons for this.

  • Idoc data definitions- TPSDL01,SHPMNT03,TPSSHT01

    My translator allows me to import idoc standards.
    My customer is not sure how to export the data definitions from SAP. Are the above IDOC data type definitions available on the web? 
    Sample definition:
    BEGIN_RECORD_SECTION
      BEGIN_CONTROL_RECORD
        BEGIN_FIELDS
          NAME                 TABNAM
          TEXT                 Name of table structure
          TYPE                 CHARACTER
          LENGTH               000010
          FIELD_POS            0001
          BYTE_FIRST           000001
          BYTE_LAST            000010
          NAME                 MANDT
          TEXT                 Client
          TYPE                 CHARACTER
          LENGTH               000003
          FIELD_POS            0002
          BYTE_FIRST           000011
          BYTE_LAST            000013
          VALUE_TABLE          T000

  • How to close the REOPEN container number in SAP ME5.1

    Hi,
    I found a issue maybe it is a bug for the 5.1, for the Pack/Unpack activity, when we unpack a container number which has already been closed status, and remove all their SFCs from this container number, and then this container number is changed to REOPEN status, but at this moment, I found this reopen container number has never been able to add any SFCs, and we are also not able to close this container number.
    In our system we have a lot of those kinds of REOPEN container number, but if there are any container contained the REOPEN container numbers, we couldn't change any information in the container maintenance, this is our problem, we want to find a solution how to fix this. Any idea of this kind of issue?
    Thanks a lot and best regards,
    Leon Lu

    Hi Sergiy,
    I also  would agree the container shouldn't be changed from the logic perspective if it has the OPEN/REOPEN container number, but here are the scenario why we want to change them:
    1. We use this pack/unpack function more than 4 years, we define the containers nearly without any limitations, because we select the pack level as Item, but put the pack value as * as well as shop order as *, which means, as long as users select this container, any available SFCs are able to be packed into this container. Recently we investigated out a few more powerful functionalities with your pack/unpack function, like, we can define the specific item numbers, so now users want to use this functionalities;
    2. Because in the container maintenance, we need configure the documents which will be used by this container for label printing, but our customers request to change the label templates, we create a new document but we found it is not possible to modify in the container maintenance.
    Creating a new container is a choice for us, but the problem is, the old one is still open, we can't delete/disable/hold (actually this is our purpose) this container because there are a lot of REOPEN container numbers, thus users are still able to select this container (actually it is  invalid) and pack SFCs into this container.
    As far as I identified, the ME5.2 doesn't have this limitation, I am curious that what the purpose you changed this logic in the new product, and how did you handle the logic what you have described:-)
    Thanks a lot and best regards,
    Leon Lu

  • Just signed up for cc, message not available at present, what happens now and when will it be availa

    just signed up for cc, message back Not available at present, what do i now do and wen will it be available

    What's not available? The activation  server? Or payment? or something else?
    The Cloud is definitely available right now.

  • Automator bug?  Missing "not contains" conditional

    This discussion was archived, but I am having the same problem. Does anyone know of a fix or workaround?
    Basically, the automator filter finder items action does not allow filtering OUT names. For example, I want to filter out all files that do NOT contain the text "@2x" but I can't find a way of doing that...
    http://discussions.info.apple.com/message.jspa?messageID=10126735

    Quick workaround if the equipment is readily available: Build the workflow--or at least its skeleton--in Leopard, then copy it to Snow Leopard. When launching the Leopard-built workflow in SL, you'll be warned that "the action Filter Finder Items is deprecated," but the workflow will run anyway and you'll have the "does not contain" option available again.

  • Is the newer (the one that comes standard with bb bold 9790) operating system available to all BB bold 9700?

    I've had a replacement BB Bold 9700 for a while now and only just found this forum, anyway at the moment it has the standard 9700 software (the one where it is just the five icons at the bottom of the home screen, and then you can press the bb logo and you get a dark screen with all the icons accessable on) but loads of my friends who have the BB 9700 have the newer software (I think that's the word, the one where it has the icons at the bottom but you can scroll through them sideways with things like frequent, media, etc and then you can expand each one of them upwards) but I haven't been able to figure out anyway for me to get mine to update to that. I have searched everything I can, I have the desktop software and everything but it says there are no updates available for my phone, adn when I go on the internet on my bb looking for updates to the system it still finds nothing... any ideas/is it just not possible to update on some BB 9700s? Thank you, Sarah

    Ok, I did the thing where you can then choose your service provider and then it gives you a lit of the software, I chose to download the 6 one and it saves ine adn then does its instally thing (but not ure what exactly it is trying to install and to what) and then it's like restart your computer now for changes to take effect, so I restarted and thought then when I loaded the desktop software it mght finally update it but no, made absolutely no change, what am I doing wrong/how do I make it work? I know now for sure it's definitely available!!!

  • Bad exec plan when joining tables using primary keys together w/ Contains

    Hello all...this is something that confuzzles me....
    When joining 2 tables, the exec plan shows that the domain index is first accessed, before checking if there is a record in the other table using a highly selective index.
    create table users
    (userid varchar2(20),
    name varchar2(100),
    resume clob
    create table seeker
    (seekerid varchar2(20),
    userid varchar2(20),
    jobid varchar2(20)
    create index user_idx on users(userid)
    create index job_resume_index on users(resume)
    indextype is ctxsys.context
    create unique index seeker_unik on seeker(seekerid)
    create index seeker_index on seeker(jobid,userid)
    then sample records where inserted, then the text index was sync'ed.
    Query and Execution Plan:
    select u.userid, u.name
    from users u, seeker s
    where s.jobid = 'HJOBP000000000218627'
    and u.userid = s.userid
    and contains(resume,'texas') > 1
    Execution Plan
    0 SELECT STATEMENT Optimizer=CHOOSE (Cost=3 Card=1 Bytes=72)
    1 0 NESTED LOOPS (Cost=3 Card=1 Bytes=72)
    2 1 TABLE ACCESS (BY INDEX ROWID) OF 'USERS' (Cost=2 Card=1
    Bytes=30)
    3 2 DOMAIN INDEX OF 'JOB_RESUME_INDEX' (Cost=0)
    4 1 INDEX (RANGE SCAN) OF 'SEEKER_INDEX' (NON-UNIQUE) (Cost=
    1 Card=1 Bytes=42)
    The problem with execution plan is if the domain index returns huge number of records i.e. 40k rows, then it has to check each userid with the SEEKER table, and returns only 10 rows. I can add a hint to specify the use of the user_idx instead of the domain index to improve performance.
    My question is how does the database determine when to use the domain index or to use other highly selective index with out the aid of a HINT. The trace file shows the use of "CTXSYS"."TEXTOPTSTATS".ODCIStatsIndexCost and "CTXSYS"."TEXTOPTSTATS".ODCIStatsFunctionCost. Are these used to compute and compare the cost of each index and decide on what index to used? If so, why does it return a lower cost for domain index when the btree index is more efficient? I have all statistics gathered for all tables and indexes (inc dr$ tables and its indexes)
    Thanks,
    jojo

    Hi,
    What I'm pasting here is actually from Ch9 of Expert PL/SQL. It shows what happens during a select with CONTAINS. It does not include a join with another table, or an additional column in the where clause. Hope it helps.
    ================================================
    By default, the Extensible Query Optimizer is enabled. When enabled, the Extensible Query Optimizer can determine the I/O and CPU cost associated with the CONTAINS predicate, find the cost of each call to the CONTAINS() function, and determine the selectivity of the CONTAINS predicate.
    To see this in action I ran the basic select earlier. Examining the SQL trace shows the steps.
    Step 1 - Determine the I/O and CPU cost of the CONTAINS() function:
    --Available online as part of contains_trace.doc
    "CTXSYS"."TEXTOPTSTATS".ODCIStatsFunctionCost(
    sys.ODCIFuncInfo('CTXSYS',
    'CTX_CONTAINS',
    'TEXTCONTAINS',
    2),
    cost,
    sys.ODCIARGDESCLIST(
    sys.ODCIARGDESC(
    2, 'DOCUMENT_REPOSITORY', 'PLSQL',
    '"DOCUMENT"', NULL, NULL, NULL),
    sys.ODCIARGDESC(3, NULL, NULL, NULL, NULL, NULL, NULL)),
    NULL,
    'constitution',
    sys.ODCIENV(0,0,0,1));
    Step 2 – Determine the selectivity of the CONTAINS predicate
    -- Available online as part of contains_trace.doc
    "CTXSYS"."TEXTOPTSTATS".ODCIStatsSelectivity(
    sys.ODCIPREDINFO('CTXSYS',
    'CTX_CONTAINS',
    'TEXTCONTAINS',
    32),
    sel,
    sys.ODCIARGDESCLIST(
    sys.ODCIARGDESC(3, NULL, NULL, NULL, NULL, NULL, NULL),
    sys.ODCIARGDESC(5, NULL, NULL, NULL, NULL, NULL, NULL),
    sys.ODCIARGDESC(2, 'DOCUMENT_REPOSITORY', 'PLSQL',
    "DOCUMENT"', NULL, NULL, NULL),
    sys.ODCIARGDESC(3, NULL, NULL, NULL, NULL, NULL, NULL)),
    0,
    NULL,
    NULL,
    'constitution',
    sys.ODCIENV(0,0,0,1));
    Step 3: Determine the I/O and CPU cost of the CONTAINS predicate
    -- Available online as part of contains_trace.doc
    "CTXSYS"."TEXTOPTSTATS".ODCIStatsIndexCost(
    sys.ODCIINDEXINFO('PLSQL',
    'EXPERT_IDX',
    sys.ODCICOLINFOLIST(
    sys.ODCICOLINFO('PLSQL', 'DOCUMENT_REPOSITORY',
    '"DOCUMENT"', 'BFILE', NULL, NULL)),
    NULL,
    0,
    0),
    50.00000000,
    cost,
    sys.ODCIQUERYINFO(
    2,
    sys.ODCIOBJECTLIST(sys.ODCIOBJECT('SCORE', 'CTXSYS'))),
    sys.ODCIPREDINFO('CTXSYS', 'CONTAINS', NULL, 0),
    sys.ODCIARGDESCLIST(
    sys.ODCIARGDESC(3, NULL, NULL, NULL, NULL, NULL, NULL),
    sys.ODCIARGDESC(5, NULL, NULL, NULL, NULL, NULL, NULL),
    sys.ODCIARGDESC(2, 'DOCUMENT_REPOSITORY', 'PLSQL',
    '"DOCUMENT"', NULL, NULL, NULL),
    sys.ODCIARGDESC(3, NULL, NULL, NULL, NULL, NULL, NULL)),
    1,
    NULL,
    'constitution',
    sys.ODCIENV(0,0,0,1));
    Note: The 50.00000000 in this last call is the selectivity retrieved from step 2.
    Only after these three steps complete does the query actually get executed:
    -- Available online as part of contains_trace.doc
    SELECT score(1), title
    FROM document_repository
    WHERE CONTAINS(document, 'constitution', 1) > 0
    ORDER BY 1 DESC;
    This is not the end of the processing though. To retrieve the records, the $I table (the index data table) is queried as follows:
    -- Available online as part of contains_trace.doc
    SELECT /*+ INDEX(i) */ TOKEN_FIRST,TOKEN_LAST,TOKEN_COUNT,ROWID
    FROM "PLSQL"."DR$EXPERT_IDX$I" i
    WHERE TOKEN_TEXT = 'CONSTITUTION'
    AND TOKEN_TYPE = 0
    ORDER BY TOKEN_TEXT, TOKEN_TYPE, TOKEN_FIRST;
    Note: The search term is UPPERCASE when querying against the DR$EXPERT_IDX$I table because all of the tokens are stored in uppercase by default. The original SELECT was in lowercase. This automatic conversion to uppercase allows the Text index to provide case-insensitive searching.
    This query returns the following result:
    TOKEN_FIRST TOKEN_LAST TOKEN_COUNT ROWID
    1 2 2 AAAN54AAEAAAOvEAAo
    Finally, the $R table (the rowid table) is queried.
    -- Available online as part of contains_trace.doc
    SELECT data
    FROM "PLSQL"."DR$EXPERT_IDX$R"
    WHERE row_no = 0;
    Only now do I see the results of my query:
    SCORE(1) TITLE
    55 United States Constitution
    8 Bill of Rights
    Keep in mind that modifications to the query, such as the addition of other columns in the where clause or the addition of operators, will result in a different trace.
    ===============================

Maybe you are looking for

  • 2007 Macbook Pro hookup to TV

    Hello fellow apple users. I know this has been asked before and I have read through most the disscussions but I still can not figure this out. I am looking to hook up my 2007 Macbook Pro (2.4 Ghz 15 Inch Screen) to my sony bravia 32 inch TV. Seeing h

  • How to declare a header line table in class

    Hi Experts ; I m writing a class.I must display a picture in class. So Im find a below code   TYPES: BEGIN OF ZW3QUERY,           NAME(30) TYPE C,           VALUE(255) TYPE C,          END OF ZW3QUERY.   data DOCKING type ref to CL_GUI_DOCKING_CONTAI

  • Problem with connection

    USE Jdevelopment to access Otn. 1.my program is : package mypackage1; import oracle.soap.transport.http.OracleSOAPHTTPConnection; import org.apache.soap.encoding.soapenc.BeanSerializer; import org.apache.soap.encoding.SOAPMappingRegistry; import org.

  • PNP authority check

    Hi all, I have a problem with authority check in a report. I have to access to a field in an infotype and subtype. I have all authorizations for this subtype and infotype. I'm trying to retrieve this data from an employee, but this employee has infor

  • Using base classes for common attributes

    Can TopLink handle use of non-mapped abstract base classes? There are a number of fields that are common to each and every one of my domain objects which, following good OO design principals, are moved up to a common superclass. So I have: public abs