Object binding and ISDN connections

Forté users,
the problem is the following:
we have a win95 client running remotely and connected to a server
(ultrasparc solaris) via an ISDN line.
The application works normally for almost all applicative functionality and
Fortè mechanisms (events posted from clients included) except one: the
task.Part.ObjectLocationMgr.bindObject method.
We use the task.Part.ObjectLocationMgr.bindObject method to bind an object
on a client A to an object on a client B (we use this direct communication
link from one client to another to implement a sort of 'remote' control of
client B from the client A).
This solution normally WORKS when A e B are in our in-house LAN and NOT
when A or B connect to the rest of the system via an ISDN line! (I have not
tried a modem connection). I repeat all other functionalities works
normally.
Has someone encountered this problem before? Has someone an idea to solve
the problem or to understand the reason of this behavoiur?
We are using Forté 2.0.H.1.
Thank you very much in advance.
Corrado Tamietti (Tel : +39 11 3168.733)
CSI Piemonte (Consorzio per il Sistema Informativo)
C.so Unione Sovietica 216
I-10134 Torino (ITALY)

hi,
For that you have to create custom BO(using SWO1) which supertype is current BO.
then in that ZBO you can change the value using below code:
in top of programme include<CNTN01>.
then to get that element use :
swc_get_element container 'PERNR' empid.
then process on it or create new container element using
swc_create_element 'PERNR' empid.
then fill it using
swc_set_element container 'IT_EMP' IT_EMP.
or if it is multi line element use:
swc_set_table
           lt_event_container
             'ZMAIL' it_TEXT1.
don't forget to include<cntn01>.
then copy existing standard task(using PFTC) and define necessary container element and do binding!
Hope magic Works!
Regards,
Purvesh Patel.

Similar Messages

  • Business Objects Dashboard and Webi Connectivity

    Hi All,
    I am on BI 4.0 Sp6 and would like to create a BO Dashboard based on Webi Instance. What is the best approach to do the same.
    1. I want the BO Dashboard data to be visible on Ipad ( hence no data source connections)
    2. In case of live office , how does the refresh mechanism work
    3. Does add on tools like XWIS help in mitigating the issue
    Would like to hear best practices around the same.
    Thanks
    Vijay

    Hi Vijay,
    I am on BI 4.0 Sp6 and would like to create a BO Dashboard based on Webi Instance. What is the best approach to do the same.
    If you are using LO connection, then its not mobile supported connections & struggled a lot to make it stabilize. but still its a good connection to view the data in dashboard design time.
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/b02e31fb-3568-2e10-e78f-92412c3c0a96?quicklink=index&…
    Take look at the below links for the up's & down for BIWS Connection.
    Xcelsius and Business Intelligence Web Services (BIWS)
    Xcelsius and Business Intelligence Web Services (BIWS)- Part 2
    http://everythingxcelsius.com/topics/web-intelligence
    How to create Xcelsius Dashboard based of BI Web Service ( BIWS )
    I want the BO Dashboard data to be visible on Ipad ( hence no data source connections)
    If you are looking for a connection which is specific to mobile supported, then look into the below links.
    You can get all aspect of information which is necessary to create a dashboard.
    How to Configure and Access Dashboards from IPad
    Dashboards currently support only data manager connections defined using Query Browser as Live Data connections and QaaWS and Flash variable connections support is planned in BI 4.1
    In case of live office , how does the refresh mechanism work
    Refresh can be done webi side by scheduling the report in repository or you can keep a refresh button in dashboard to refresh the data. I hope automatic refresh is not possible here.
    Does add on tools like XWIS help in mitigating the issue
    I have no idea regarding this,
    Hope this helps.

  • CRM/ISU: Notes (or Texts) at Connection Object Level and replication

    Hi there,
    I am trying to replicate to CRM (and back to ISU) the Text objects linked against the Connection Object in ISU.
    The idea is to have two texts area in the Connection Object in the WebIC that can be replicated back to the related ISU's ones.
    The requirement is to replicate those texts (multiline texts, textarea, notes) linked against the Connection Object from CRM to ISU.
    The connection object in CRM is a "casted" Individual Object that can be linked against Notes (or Texts), isn't it?
    So the IObjects can have a Notes Assignment Block.
    The problem is that from an WebIC point of view the Notes Assignment block obviously are not shown.
    Have someone of you done something like that before? Any idea?
    Thanks.
    Regards,
    Carlo.

    Hey Bill, thanks for the links.  Question - is the Utilities Check Cockpit available externally?  I try the link but receive an authorization issue using my new S-id
    I am trying the following link:
    https://service.sap.com/~sapdownload/011000358700001040272011E
    Thanks,
    James

  • PRI 2CE1B and DB-15 cable to simulate ISDN connection

    I am looking to do a test at a lab (to simulate a real life design). I have got two routers, each router has got PRI 2CE1B interface card.
    Can I connect these tow router by using :
    E1 Interface Cable for 120-Ohm, Balanced Connections (with DB-15 Connector),to simulate ISBN PRI connection ?? or I have to buy an ISDN simulator for this purpose ?
    Similarly If I want to simulate BRI between two routers (that have BRI Interface card) , can I use a specific cable for that ? or also I need to buy simulator ?
    Regards

    No, that's not correct.
    For ISDN PRI, you can connect router back-to back with just a crossed cable, and one side configured with "clock internal" under controller, and "isdn protocol-emulate network". See:
    http://cisco.com/en/US/products/sw/iosswrel/ps1834/products_feature_guide09186a008007fe72.html
    For ISDN BRI, depending if you are using hardware for voice or data, again use a crossed cable, add the command "isdn layer1-emulate network". See:
    http://cisco.com/en/US/tech/tk652/tk653/technologies_configuration_example09186a008010ef6c.shtml
    Hope this helps, please rate post if it does!

  • View Objects , whereclauseparam and PERFORMANCE in JSP

    We experience that using the method setWhereClauseParam gives VERY BAD performance in our JSP applications.
    According to JDev team and others, "best practice" is to use setWhereClauseParam(s), so we wonder why the performance degrade significantly compared to a simpler approach (=define the whereclause when the datasource is created). To avoid the shared pool to grow we were tempted to use the recommended best-practice-parameter-binding approach, but due to performance we had to drop that idea.
    Our JSP (pseudo) code look like this:
    <jbo:ApplicationModule id="am" .......
    <jbo:DataSource id="ds" appid="am" viewobject="ourView" rangesize="0"/>
    <%
    ViewObject ourVo= ds.getApplicationModule().FindViewObject("ourView");
    ourVo.setWhereClauseParam(0, 'xxx');
    ourVo.setWhereClauseParam(1, 'yyy');
    %>
    <jbo:RowsetIterate datasource="ds" >
    bla bla bla ..
    </jbo:RowsetIterate>
    THIS IS SLOW !! ..... compared to:
    <jbo:ApplicationModule id="am" .......
    <% String clause = "Col1 = 'xxx' and Col2 = 'yyy' %>
    <jbo:DataSource id="ds" appid="am" whereclause='<%= clause %>' viewobject="LabelHeadersView" rangesize="0"/>
    <jbo:RowsetIterate datasource="ds" >
    bla bla bla ..
    </jbo:RowsetIterate>
    We get the same results but the last method is times 100 faster ??
    Any ideas are appreciated .
    Thanks, Jens

    OK. I believe I now know what the culprit it. It is your use of the where clause fragment:
    (pdk_files_id = ? OR ? IS NULL)
    Here's how I arrived at this (while at the same time ruling BC4J out of the picture as a potential cause of the problem).
    I following the steps below:
    [list]
    [*]Connected as SCOTT in SQLPlus, I create the table:
    CREATE TABLE files( pdk_files_id NUMBER PRIMARY KEY, name VARCHAR2(20));
    [*]I insert one row into the new files table:
    INSERT INTO files values (1111, 'SteveTest');
    COMMIT;
    [*]I connect as SYSTEM, an run the script ORACLE_HOME/sqlplus/admin/plustrce.sql to create the SQL*Plus PLUSTRACE role so that SCOTT will be able to use the SQLPlus AutoTrace feature
    [*]As SYSTEM still, I ran the command: GRANT PLUSTRACE TO SCOTT
    This gives SCOTT the privilege to use the SQL*Plus autotrace command
    [*]I connect as SCOTT, and run the script ORACLE_HOME/rdbms/admin/utlxplan.sql
    this created the plan table in my SCOTT schema needed to run the autotrace feature
    [*]In SQLPLUS, still connected as SCOTT I issue the command:
    SET AUTOTRACE ON EXPLAIN
    [*]Then I do the following to create a SQL*Plus bind variable
    VAR v VARCHAR2(20)
    [*]And then do the following to set its value at the SQL*Plus command prompt:
    EXEC :v := '1111';
    [list]
    Finally, I try some different queries and look at the autotrace output:
    SQL> select * from files where pdk_files_id = 1111
      2  /
    PDK_FILES_ID NAME
            1111 SteveTest
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'FILES'
       2    1     INDEX (UNIQUE SCAN) OF 'SYS_C003006' (UNIQUE).
    This shows that using the literal value 1111 uses the index.
    SQL> select * from files where (pdk_files_id = 1111 or 1111 is null)
      2  /
    PDK_FILES_ID NAME
            1111 SteveTest
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'FILES'
       2    1     INDEX (UNIQUE SCAN) OF 'SYS_C003006' (UNIQUE).
    This shows that using the literal values together with the OR clause, still uses the index.
    SQL> select * from files where (pdk_files_id = :v)
      2  /
    PDK_FILES_ID NAME
            1111 SteveTest
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'FILES'
       2    1     INDEX (UNIQUE SCAN) OF 'SYS_C003006' (UNIQUE).
    Using my ":v" bind variable I defined, it uses the index, too, even though the type of the bind variable is VARCHAR2 and the type of the PDK_FILES_ID column is NUMBER. This is because this is a simple enough case for the database to do automatic type coersion to convert my string value '1111' for the bind variable into the number value 1111 and then use that for the index lookup.
    HOWEVER, when I try the case that simulates what you are doing in BC4J, which is using a bind variable together with the OR clause for the NULL test, we see...
    SQL> select * from files where (pdk_files_id = :v OR :v IS NULL)
      2  /
    PDK_FILES_ID NAME
            1111 SteveTest
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE
       1    0   TABLE ACCESS (FULL) OF 'FILES'.
    So in this case, the database DOES NOT use the index, and hence explains why your query is slow.
    I believe the database works this way because when it hard-parses the SQL statement, it is at this time that it determines the query plan for the SQL statement. The plan needs to remain stable since the same plan will be cached and reused for all uses of the same parsed SQL statement, so the plan cannot be conditional based on the values of the bind variables. Since it cannot decide without knowing the value of the bind variable, it apparently disqualifies your index from being used.
    Even introducing an optimizer hint only improves the problem a little. I tried this example:
    SQL> select /*+INDEX (files sys_c003006)*/ *
      2  from files where (pdk_files_id = :v or :v IS NULL)
      3  /
    PDK_FILES_ID NAME
            1111 SteveTest
    Execution Plan
       0      SELECT STATEMENT Optimizer=CHOOSE (Cost=826 Card=5 Bytes=125)
       1    0   TABLE ACCESS (BY INDEX ROWID) OF 'FILES' (Cost=826 Card=5 Bytes=125)
       2    1     INDEX (FULL SCAN) OF 'SYS_C003006' (UNIQUE) (Cost=26 Card=82).
    In this case it still has to fully scan the index where above it was able to do a unique scan.
    MORAL OF THE STORY:The tiny cost of having two different View Objects in your application, one to use when you want to find by PDK_FILES_ID, and one to use when you want to find by your other key criteria, is well worth the performance improvement that can be had by using bind variables and using them in a way that the database will use the index.
    As Tom Kyte says in his excellent book Expert One on One: Oracle in a passage that made me laugh:
    "If I were going to write a book about building Oracle applications that do not scale, "Don't Use Bind Variables" would be the first and last chapter." :-)
    So, by using a few design-time-created view objects that uses bind variables and avoid the use of the (COL = ? OR ? IS NULL) construct, you get the following benefits:
    [list]
    [*]The database doesn't have to hard-parse your SQL statement each time you execute it (which it does if you keep sending queries that have literal values in the SQL statement, making each query different as far as the SGA is concerned)
    [*]The indexes will get used correctly as we saw above
    [*]Your code actually might be clearer, since you can name one of your view objects "FindFileById" and the other one "FindFileByName", or what have you
    [list]
    Hope this helps.

  • Networking and SWING connection

    hello,
    i am developing a voice chat software,which requires recording,sending voice over the network;this module works by itself very well when i put the code of this class(instantiated an object) inside the "actionperformed" event of the button,
    my module(record/send) creates 3 threads and works over the UDP connection.it does not work the way it should i.e when compared to working independantly.please help. should i use AWT threads? will running it from GUI create any networking problem relating to the port nos.?

    I'm confident that we have everything set up on the Mac correctly. We've tried it every which way, but there are only a few settings to choose from and now that we have the internet sharing for the ISDN modem to any computers on the network I think that's correct. I'm also confident that the problem is on the PC side of the setup. We've taken the firewalls off both computers, at least until we get things running and then we will tweak it. But both computers are wide open. I know this isn't a PC forum, but since this is a PC and Mac connection I'm working on, I'll throw this out there.
    In the "Network Connections" on the Control Panel of the PC, there is an icon labeled "Internet Gateway". The 2 Buffalo routers show as LAN connections as well. But the icon "Internet Gateway" states underneath "Internet Connection unavailable - device disabled Internet Connection." I double clicked on the icon and that brought up the "Internet Connection Properties" box. I selected the "Settings" tab and it launched a box for "Advanced Settings" with a "Services" tab on top. There was nothing in the "Services" tab window but there is an "Add" button at the bottom. I selected that and a "Service Settings" window pops up. It asks for the IP adress of the computer that is hosting the internet service on the network. So I assume I have to input the IP address of the Mac mini. But under that are two boxes that ask for the External Port number and the Internal Port number for this service, and to the right of this are options to select TCP or UDP. I think this may be where our problem is but I have no clue what to input for the External or Internal Port numbers. I went all through the Network, Sharing, and Accounts, sections on the Mac and could find nothing about port numbers. Any ideas on where to find the correct numbers? I tried to do it with just inputting the IP address and no port numbers and it wouldn't accept that.

  • Questions on ADF View Objects, Links and Iterators

    I have a number of questions regarding using ViewObjects in applications where there are alot of relationships between tables.
    First, lets say that I have ViewObject SomeView that was added to the App Module (AM) as VO1. And because it has a number of "detail" records that have to be iterated through in a "report like" view it has those other VO's added under it as "children" in the AM.
    So I have
    VO1 (an instance of SomeView)
    --> VO2 (an instance of some other view)
    --> VO3 (an instance of some other view)
    that is used on pages where only a single VO1 is shown at a time.
    Now because I had another page I wanted to make that had a listing of all SomeView objects. Some of the fields in SomeView are foreign keys to records in VO2 and VO3 and while I don't want to show all the fields from VO2 and VO3, I do want to show a name field from each rather than just the foreign key.
    My experience (though I've never read this anywhere) tells me that when doing a "table" that is a list of rows from a VO, you can't display info from the child VO's because the child VO's are on whatever record corresponds to the "currentRow" in the parent VO and just displaying the rows in a rangeSet doesn't make each the "currentRow" so even we display 10 records in a for loop, the "currentRow" is just one, and the child VO's iterators aren't moved as we go through the for loop. (Can someone confirm if I am correct on this conclusion????)
    So the only way I know of to show some field from a related table in each row is to make the VO have the entity objects from the related tables be part of the view as references. Is this the only way?
    If I do that on a view that didn't have other views as children defined in the AM I don't have any problem and it works like I want.
    But if I do it on a view that did have other views as children defined in the AM it makes the page(s) using that view with the children iterators behave badly. Half the information quits showing up, etc.
    For example, ... if I go to the "SomeView" which was defined with only one entity object association, and I add the entity objects (that are the basis of instances of VO2 and VO3 ) as referenceable only, it totally breaks the page where I display a single VO1 and use it's VO2 and VO3 children. IS THIS NORMAL OR AM I MISSING SOMETHING?
    So, is the solution that I have to have more view objects defined for different purposes ?
    Can anyone give any general guidelines for when/where to use different view objects vs. when to use different iterators. I'm not having much luck with using secondary RSI's and haven't found much info on them.
    Also, how about issues of naming iterators that are in various binding containers (ie. UI Model for a page). If I do and LOV it creates an iterator and gives it a default name like ViewNameIterator1. If I already have a different page that uses a regular (non LOV) iterator with that name, and the user goes back and forth between those pages, is that a clash?
    Finally, I've read a couple of Steve Muench's blogs on View Link consistency but I'm not sure what the rules are on when it applies and doesn't. How you turn it on or off, etc. One of his examples in http://radio.weblogs.com/0118231/2004/02/27.html talks about it in the context of two view objects that are NOT typically "linked" in a master/detail kind of way. Like an AllDepartments and a DepartmentsLessThan view. Do you have to create a View Link between them to have results of one be reflected in the other if they aren't used in the same page in a web app? Or does it happen automatically (with the caveat that you have to do the rowQualifies method). Just feels like I'm missing some pieces.
    Thanks in advance,
    Lynn

    Hi,
    I am also interested in a best-practice note from oracle.
    Currently we store history in seperate history tables for columns that changed. All this implemented in our BaseEoImpl overriding the EntityImpl.prepareForDML().
    Thanks

  • Getting bug error while compiling object binding code in javaFX

    I am new to javaFX and exploring it from just last two days.
    today i tried a simple binding object example and got weird exception about bug.
    i created a simple file with name Calculator.fx having just one line public var result=1;and used object binding in another file Customer.fx with following code
    var myStreet=21;
    var address= bind Calculator{
         result:myStreet;
    println({address.result});i got following output error
    init:
    deps-jar:
    Note: An internal error has occurred in the OpenJFX compiler. Please file a bug at the
    Openjfx-compiler issues home (https://openjfx-compiler.dev.java.net/Issues)
    after checking for duplicates.  Include in your report:
    - the following diagnostics
    - file C:\Users\omnidoc\AppData\Local\Temp\javafx_err_59993.txt
    - and if possible, the source file which triggered this problem.
    Thank you.
    C:\cc_storage\Caculator\src\Customer.fx:3: cannot find symbol
    symbol  : variable VOFF$result
    location: class Calculator
    def address= bind Calculator{
    1 error
    ERROR: javafxc execution failed, exit code: 1
    C:\cc_storage\Caculator\nbproject\build-impl.xml:143: exec returned: -1
    BUILD FAILED (total time: 2 seconds)Am i doing something wrong or is it really a bug.
    Also can anyone tell me how to do object binding in javaFX.
    thanks
    chauhan

    chauhan2003 wrote:
    Am i doing something wrong or is it really a bug.When you get such error, that's both: you made a mistake (and at least you get a generally helpful message about it) but the compiler is bugging out and crashing...

  • Error when determining a number from object BI_TSDTEL and number 01

    Hi BW Experts,
    After Transporting Infosources (Master & Transaction) to BW QA, the transfer rules were not getting activated in QA. The following error message was diaplyed.
    "Error when determining a number from object BI_TSDTEL and number 01
    Object name can only contain characters from syntactical character set
    Object name can only contain characters from syntactical character set
    Data element for InfoObject KOKRS 0CO_AREA could not be created
    Data element for InfoObject KOKRS 0CO_AREA could not be created
    Transfer structure 0IM_FA_IQ_2_SB activated under the name 0IM_FA_IQ_2_SA
    It is not necessary to copy dependent objects for transfer structure 0IM_FA_IQ_2_SA
    Transfer structure 0IM_FA_IQ_2_SA does not exist
    Error RSAR 440 when handling objects with type R3TR ISTS."
    I have gone through the Note: 674818.
    Could someone clear me about BI_TSDTEl, By using this do we need to maintain object intervals manually in all the systems like BW ( Dev & QA ), R/3 (Dev & QA).
    Because  I have not seen the Intervals in R/3 ( Dev & QA) systems.
    please could someone provide Inputs for this.
    Thanks in Advance
    Regards
    SK

    Hi,
    Try to see that transfer structure is existing in the sytem which is connecting in
    the BW quality.
    You need the same to be transported from the development server of R/3 to quality server of R/3.
    Just check if this helps.
    Regards
    Rahul Bindroo

  • The replication agent has not logged a progress message in 5 minutes. This might indicate an unresponsive agent or high system activity. Verify that records are being replicated to the destination and that connections to the Subscriber, Publisher, and Dis

    Does anyone know what is this mean and how to fix this?
    I checked the records and they are not being replicated, and the connection to the subscriber are not active for some reason; but I don't know how to fix it.
    Thanks
    Philly Database developer

    It basically means that the replication agent has not logged a status message back to the replication subsystem.
    Basically you can't stop it, and these messages let you know if the agent has hung.
    However you can delay the time before the subsystem will report this message. Do this by the following query - this will delay this message to 10 minutes from the default of 5 minutes. I have set this to days when replicating over ISDN/Phone lines.
    USE master
    exec sp_changedistributor_property
    @property = N'heartbeat_interval',
    @value = 10;
    GO
    looking for a book on SQL Server 2008 Administration?
    http://www.amazon.com/Microsoft-Server-2008-Management-Administration/dp/067233044X looking for a book on SQL Server 2008 Full-Text Search?
    http://www.amazon.com/Pro-Full-Text-Search-Server-2008/dp/1430215941
    after changes below query...USE master
    exec sp_changedistributor_property
    @property = N'heartbeat_interval',
    @value = 10;
    GO still not working...

  • SQL Developer and TOAD connection.

    Hi,
    I am able to see the DDL script for tables using TOAD, but NOT using SQL Developer (2.1.1). Same user, pass, and tnsname file.
    They use same tnsname.ora file on my computer. I set basic and TNS connection for SQL Developer.
    The connection is from my computer to the server (Oracle 11.1.0.7 EE).
    ORA-31603: object "ALARM_DEFINITION" of type TABLE not found in schema "AIRCOM"
    ORA-06512: at "SYS.DBMS_SYS_ERROR", line 105
    ORA-06512: at "SYS.DBMS_METADATA", line 3241
    ORA-06512: at "SYS.DBMS_METADATA", line 4812
    ORA-06512: at line 1
    It is same with packages. I cannot see package body.
    What is the different and which additional privileges I need to see the DDL script?
    Thanks in advance for your help!
    Konstantin

    I don't think it's a connection issue. There seem to be differences in how Oracle and Toad access system views to show objects. If you search the boards you see it has effected a couple of people. Sometimes they post what permissions they changed to get things to work for them.
    ie... Re: Issue with viewing Package Body  in SQL Developer 2.1 RC1
    I don't think I've seen any official documentation to indicate what privileges need to be granted in order to see them thought. And I think there is a bug that prevents generating DDL for tables owned by other users. I don't know if that extends to generating stored procedure code.

  • Creating Business Object Reports and Dashboards utilizing Informatica

    I need to create Business Object Reports and Dashboards utilizing Informatica database. Please let me know what connections I need to create to integrate the data into Web Intelligence, Universe, Xcelsius, and Crystal Reports.
    Thank you

    I've just done some quick checking and I don't see a native connection type for Infomatica in Designer or Crystal.  (Designer is a tool for building universes - WebI and Xcelsius both read data through a universe, Crystal can read data through a direct connection to the database or through a universe.) This means you'll probably have to set up a "generic" ODBC connection in order to connect to it.
    -Dell

  • Object ID and Object ID Version fields in Displaying Object Properties - XI

    Hi,
    In displaying Object Properties in XI we can see different fields like Type, Description, SCV, Object ID, Object ID Version, Status, Person Responsible, Changed On, Changed By, Display Language, Original Language.
    But when i refer to the SAP Library documentation for these fields, Object ID and Object ID Version are not included. Here is the link for the documentation
    http://help.sap.com/saphelp_nw04/helpdata/en/f0/fc9a3de2ec0753e10000000a114084/frameset.htm
    http://help.sap.com/saphelp_nw04s/helpdata/en/f0/fc9a3de2ec0753e10000000a114084/frameset.htm
    With that said, i have no information on those two fields, only assumptions i've made that i would like to verify in this forum with the questions below
    1.
    Please correct me if i'm wrong, the Object ID is the unique identifier for the object and the Object ID Version is directly connected with the versioning concept for IR and ID, so the Object ID is generated when you create the object  (e.g. MM) and the Object ID Version changes every time that object is edited and change list activated for it. Is this correct?
    Or does the Object ID change every time the object is edited and change list activated for it?
    What is the behavior of these two fields when transported? e.g. dev to qa...  are they both retained on the target IB's?  (specifically for ID objects because the change list needs to be activated first on the target ID)
    2.
    Does any one know where the Object ID and Object ID Version gets stored?  (saved on a table in the ABAP stack or saved somewhere in the Java stack? e.g. can be viewed in Visual Admin or a URL)  I am thinking of extracting all the XI objects with their corresponding Object ID and Object ID Version (per system) in one step.  I know this is possible only if the Object ID & Object ID Version are stored in an ABAP table...
    Kindly give me some inputs.
    Please answer directly with the questions above. I will reward points for it.
    Thanks in advance.

    HI,
    >Please correct me if i'm wrong, the Object ID is the unique identifier for the object and the Object ID Version is directly connected with the versioning concept for IR and ID, so the Object ID is generated when you create the object (e.g. MM) and the Object ID Version changes every time that object is edited and change list activated for it. Is this correct?
    The Object Id is created the first time you create the object.
    Object Version Id is created the first time you save/activate a object.
    Now suppose if you modify the object a new Object Version Id will be created but the Object ID will remain the same.
    For IR Objects the Object Id & Object Version ID will remain the same across systems.
    For ID Objects the Object Id & Object Version ID is not the same across systems.
    Not sure about the table. Can you try in SE11 and check all tables with SXMS*. Could be also that tables might not be available from GUI i.e you might have to login to DB to find out.
    Regards,
    Sumit

  • Passing Array of java objects to and from oracle database-Complete Example

    Hi all ,
    I am posting a working example of Passing Array of java objects to and from oracle database . I have struggled a lot to get it working and since finally its working , postinmg it here so that it coudl be helpful to the rest of the folks.
    First thinsg first
    i) Create a Java Value Object which you want to pass .
    create or replace and compile java source named Person as
    import java.sql.*;
    import java.io.*;
    public class Person implements SQLData
    private String sql_type = "PERSON_T";
    public int person_id;
    public String person_name;
    public Person () {}
    public String getSQLTypeName() throws SQLException { return sql_type; }
    public void readSQL(SQLInput stream, String typeName) throws SQLException
    sql_type = typeName;
    person_id = stream.readInt();
    person_name = stream.readString();
    public void writeSQL(SQLOutput stream) throws SQLException
    stream.writeInt (person_id);
    stream.writeString (person_name);
    ii) Once you created a Java class compile this class in sql plus. Just Copy paste and run it in SQL .
    you should see a message called "Java created."
    iii) Now create your object Types
    CREATE TYPE person_t AS OBJECT
    EXTERNAL NAME 'Person' LANGUAGE JAVA
    USING SQLData (
    person_id NUMBER(9) EXTERNAL NAME 'person_id',
    person_name VARCHAR2(30) EXTERNAL NAME 'person_name'
    iv) Now create a table of Objects
    CREATE TYPE person_tab IS TABLE OF person_t;
    v) Now create your procedure . Ensure that you create dummy table called "person_test" for loggiing values.
    create or replace
    procedure give_me_an_array( p_array in person_tab,p_arrayout out person_tab)
    as
    l_person_id Number;
    l_person_name Varchar2(200);
    l_person person_t;
    l_p_arrayout person_tab;
    errm Varchar2(2000);
    begin
         l_p_arrayout := person_tab();
    for i in 1 .. p_array.count
    loop
         l_p_arrayout.extend;
         insert into person_test values(p_array(i).person_id, 'in Record '||p_array(i).person_name);
         l_person_id := p_array(i).person_id;
         l_person_name := p_array(i).person_name;
         l_person := person_t(null,null);
         l_person.person_id := l_person_id + 5;
         l_person.person_name := 'Out Record ' ||l_person_name ;
         l_p_arrayout(i) := l_person;
    end loop;
    p_arrayout := l_p_arrayout;
         l_person_id := p_arrayout.count;
    for i in 1 .. p_arrayout.count
    loop
    insert into person_test values(l_person_id, p_arrayout(i).person_name);
    end loop;
    commit;
    EXCEPTION WHEN OTHERS THEN
         errm := SQLERRM;
         insert into person_test values(-1, errm);
         commit;
    end;
    vi) Now finally create your java class which will invoke the pl/sql procedure and get the updated value array and then display it on your screen>Alternatively you can also check the "person_test" tbale
    import java.util.Date;
    import java.io.*;
    import java.sql.*;
    import oracle.sql.*;
    import oracle.jdbc.driver.*;
    import java.text.DateFormat;
    import java.text.ParseException;
    import java.text.SimpleDateFormat;
    public class ArrayDemo
    public static void passArray() throws SQLException
    Connection conn = getConnection();
    ArrayDemo a = new ArrayDemo();
    Person pn1 = new Person();
    pn1.person_id = 1;
    pn1.person_name = "SunilKumar";
    Person pn2 = new Person();
    pn2.person_id = 2;
    pn2.person_name = "Superb";
    Person pn3 = new Person();
    pn3.person_id = 31;
    pn3.person_name = "Outstanding";
    Person[] P_arr = {pn1, pn2, pn3};
    Person[] P_arr_out = new Person[3];
    ArrayDescriptor descriptor =
    ArrayDescriptor.createDescriptor( "PERSON_TAB", conn );
    ARRAY array_to_pass =
    new ARRAY( descriptor, conn, P_arr);
    OracleCallableStatement ps =
    (OracleCallableStatement )conn.prepareCall
    ( "begin give_me_an_array(?,?); end;" );
    ps.setARRAY( 1, array_to_pass );
         ps.registerOutParameter( 2, OracleTypes.ARRAY,"PERSON_TAB" );
         ps.execute();
         oracle.sql.ARRAY returnArray = (oracle.sql.ARRAY)ps.getArray(2);
    Object[] personDetails = (Object[]) returnArray.getArray();
    Person person_record = new Person();
    for (int i = 0; i < personDetails.length; i++) {
              person_record = (Person)personDetails;
              System.out.println( "row " + i + " = '" + person_record.person_name +"'" );
                        public static void main (String args[]){
         try
                             ArrayDemo tfc = new ArrayDemo();
                             tfc.passArray();
         catch(Exception e) {
                        e.printStackTrace();
              public static Connection getConnection() {
         try
                             Class.forName ("oracle.jdbc.OracleDriver");
                             return DriverManager.getConnection("jdbc:oracle:thin:@<<HostNanem>>:1523:VIS",
                             "username", "password");
         catch(Exception SQLe) {
                        System.out.println("IN EXCEPTION BLOCK ");
                        return null;
    and thats it. you are done.
    Hope it atleast helps people to get started. Comments are appreciated. I can be reached at ([email protected]) or [email protected]
    Thanks
    Sunil.s

    Hi Sunil,
    I've a similar situation where I'm trying to insert Java objects in db using bulk insert. My issue is with performance for which I've created a new thread.
    http://forum.java.sun.com/thread.jspa?threadID=5270260&tstart=30
    I ran into your code and looked into it. You've used the Person object array and directly passing it to the oracle.sql.ARRAY constructor. Just curios if this works, cos my understanding is that you need to create a oracle.sql.STRUCT out of ur java object collection and pass it to the ARRAY constructor. I tried ur way but got this runtime exception.
    java.sql.SQLException: Fail to convert to internal representation: JavaBulkInsertNew$Option@10bbf9e
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:112)
                        at oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:146)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatum(OracleTypeADT.java:239)
                        at oracle.jdbc.oracore.OracleTypeADT.toDatumArray(OracleTypeADT.java:274)
                        at oracle.jdbc.oracore.OracleTypeUPT.toDatumArray(OracleTypeUPT.java:115)
                        at oracle.sql.ArrayDescriptor.toOracleArray(ArrayDescriptor.java:1314)
                        at oracle.sql.ARRAY.<init>(ARRAY.java:152)
                        at JavaBulkInsertNew.main(JavaBulkInsertNew.java:76)
    Here's a code snippet I used :
    Object optionVal[] =   {optionArr[0]};   // optionArr[0] is an Option object which has three properties
    oracle.sql.ArrayDescriptor empArrayDescriptor = oracle.sql.ArrayDescriptor.createDescriptor("TT_EMP_TEST",conn);
    ARRAY empArray = new ARRAY(empArrayDescriptor,conn,optionVal);If you visit my thread, u'll see that I'm using STRUCT and then pass it to the ARRAY constructor, which works well, except for the performance issue.
    I'll appreciate if you can provide some information.
    Regards,
    Shamik

  • Getting "Ordinal binding and Named binding cannot be combined" error

    Hello,
    I am getting following exception while calling stored produre:
    *"Ordinal binding and Named binding cannot be combined"*
    I am calling stored procedure with JDBC with 1 input parameter and 1 output parameters as mentioned below:
    CallableStatement collableStat = connection.prepareCall("{ call sp_clnt_intermed_validation(?,?) };
    // Registering In parameters          
    collableStat.setString("p_user_name", "SampleUser");                              
    // Registering Out parameters
    for(String paramKey : paramKeysSet) {                                   
    collableStat.registerOutParameter("p_success_flag", Types.VARCHAR);
    // execute stored procedure
    collableStat.execute();
    Please guide.
    Regards,
    Akshay.
    Edited by: 914678 on Feb 15, 2012 5:48 AM

    Why is the registerOutParameter in a loop?
    You don't state your DB version but as of 10g there is no support for named parameters for a PL/SQL function because there is no 'name' of the returned parameter. So use ordinal indexes for both parameters.
    Instead of
    collableStat.setString("p_user_name", "SampleUser");
    collableStat.registerOutParameter("p_success_flag", Types.VARCHAR);use
    collableStat.setString(1, "SampleUser");
    collableStat.registerOutParameter(2, Types.VARCHAR);Next time post this in the JDBC forum.
    Edited by: rp0428 on Feb 15, 2012 11:48 AM

Maybe you are looking for

  • How do I put 2 or more pictures into one frame?

    Please help.

  • How to call a calander in oracle forms6i

    Oracle Forms 6i Hai All How to call a calander for a botton.I my form I have a button called process date When i press a button the calander need to display and select a date and i need to the process date. How can i do this Pls tell Me Any help is h

  • 1099 MISC 2011 file length

    Hi Experts This relates to 1099 MISC 2011 file length. We have applied SAP note 1666672 that pertains to 2011 changes.While the form print looks good, when i compared the file with P1220 ( The publication that specifies details on tax filing), i foun

  • Transfer photos to iPad.

    How do I upload photos from my camera directly to my iPad 2?

  • IHeaderHelperBean isn't working - any ideas how to make it work?

    Hi, IHeaderHelperBean is one of the 3 or 4 predefined Spring Beans for Composites in SOA Suite. However, it isn't working for me as expected. I'm following the Oracle Tutorial by Ramkumar Menon "Predefined Spring Beans" available here: https://blogs.