Force COMMIT in ODI

Hi,
I am using an ODI package that has 1 interface + 1 odi invoke web service.
for the interface the commit is off.
When the interface populates the data, the bpel WS is called then. BPEL ws is async.
However since the commit happens at the end of the session bpel cant see the data.
I need a way to force a COMMIT, so that bpel can see the data.
Thanks,
Rosh

roshParab wrote:
Should not matter. COMMIT is fired at the end of a sucessful session. Hi Rosh
1st you should understand where you should aply above criteria.This is generally for interface where you have manually set the commit to false but not for the interface where commit is already set to true.I agree with GURU.It will be commited after the loading.You just test it by setting your commit to true and you will know whether its commiting or not.
Thanks

Similar Messages

  • Need help in force commit transaction .

    Hi gurus,
    Could some one put some light on one of the error log which looks like below.
    DISTRIB TRAN 44444444.6A18C37038F78D45B83D166359109F1400000000
    is local tran 241.0.3 (hex=f1.00.03)
    change pending prepared tran, scn=98405872087 (hex=16.e97271d7)
    to pending forced commit tran, scn= (hex=0.00000000)
    Any suggestion is highly apprciated.
    Thanks

    Distributed Transactions are transactions that involve more than one database --- transactions that do DML over Database Links.
    It would seem that your database has one or more Database Links to one or more other databases. Users or the Application code or scheduled jobs execute transactions that involve one or more databases. The one or more remote databases has/have failed / shutdown and a transaction that was "in flight" has not been committed (Distributed Transactions use a Two-Phase commit mechanism whereby every database involved in the transaction must acknowledge it). Oracle will attempt to automatically resolve a transaction if the remote database becomes available again (is restarted). If the remote database is not available, the DBA / Manager must make a decision about the Distributed Transaction.
    For example, a distributed transaction could involve deleting one row from database "A" (local) and inserting a row in database "B" (remote). If the remote database has not acknoweldged the insert, should the local database do a FORCE COMMIT of the deletion ? How would you handle database "B" if it comes up (is restarted later) and you find that the row did not get deleted there at all ---- (in fact, how will you identify the row ?).
    Since a "FORCE COMMIT" is breaking ACID (you have two databases that are inconsistent with respect to that row if you FORCE COMMIT the delete), Oracle, wisely, does not do it automatically. It leaves the decission to the DBA / Manager who must invoke a FORCE COMMIT (or ROLLBACK) manuallyl.
    (imagine the transaction deleting 3 rows from two tables and inserting one row in one table locally while at the same time updating 45 rows in 3 different remote tables --- how do you decide a FORCE COMMIT or ROLLBACK ?)
    Hemant K Chitale

  • Arrow keys force "commit" of Transform

    I'm dragging some large images into a FW document and then transforming them (Command-T) to a smaller size. When I get them close to final size I nudge them around to make sure they're really the size I want - but as soon as I tap an arrow key the Transform control handles go away and I'm no longer in "transform" mode.
    I assume this means that FW resamples the image pixels at that point - and so any further transforming counts as a second transformation (with further pixel degradation).
    Why would using the arrows cause the Transform to "commit" like this? Photoshop doesn't do it...
    Just another CS 4 inconsistency I guess (sigh)...

    Thanks for the link. I'm still gonna gripe here - bit less of a black hole, plus more chance of stirring up a mob, pitchforks, torches, etc.
    I'm getting the feeling FW is a bit more solid on the PC. Wonder if it started life there?
    It's interesting - I was talking to my wife about UI "feel" in various programs. We're all Mac so can't speak to the PC side, but Photoshop on the Mac just responds like it's reading your mind. FW does not - frequently misses clicks, doesn't select "intuitively", things drag funny or not where you want them to, etc. Flash too, maybe a little less so. Illustrator is picky too to some extent. InDesign as well. They all feel different and none as smooth as Photoshop.
    We both miss Freehand. Interesting since it was also a Macromedia app (and other apps like FW or Flash don't seem to "feel" as smooth), but like Photoshop it seemed to have a well tuned UI as far as selecting and manipulating things. Illustrator feels a bit more "professional" as an app but not as slick in UI responsiveness.
    Fireworks is this weird app that I want to like, and I think I DO like it, except that it has all these parts that just don't work like they "should" (i.e. like the user expects/intuits them to). Kind of like an old British motorcycle. I'm forcing myself to use it instead of my previous Photoshop/Imageready workflow, and I must say it's nice to stay in one app to work. Still takes me twice as long to do anything but guess that's learning curve.

  • Partial Commit in ODI

    Can ODI does partial commit of large batch of data neglecting erroneous ones. If so how to achieve this? This would be very helpful especiall in a batch transaction where instead of rolling back entire batch due to erroneous records atleast the correct records can be commited to target

    Hi,
    Adding some more points,
    As per i suggested eariler you can use CKM for capturing the error records. Using CKM is also a permanent solution for the data flow.
    Below is the steps for CKM processings,
    1. In your target data store declare a constraint (right click on the constraints, say INSERT CONDITION)
    2. Lets assume that you need to capture records in a field which is not a number ie.,rather than numeric values. Then in the condion window select Sunopsis condition and in the Where box REGEXP_LIKE(<col_name>, '^[[:digit:]]*$'). It will pull all such records to E$ table.
    3. Add this data store in your target and say FLOW_CONTROL to YES and RECYCLE_ERROR to YES in the Control tab of your interface select the CKM and constraints.
    Your error records will be moved to E$ table and in the second run once you correct the error records in E$ table those records will again move to target table (recycle error).
    Please explore the below link for more information on REGEXP.
    http://www.oracle.com/technology/oramag/webcolumns/2003/techarticles/rischert_regexp_pt1.html
    All the best.
    Thanks,
    Guru

  • Cannot commit during managed transaction - MDB

    Hi
    I use message-driven bean to asynchronously send newsletters. To avoid restarting process from the beginning in case of any error, I save the recipients in database table, and remove row by row after email has been sent. To not mark my mail server as spammer I send it in chunks of 90 per minute. My recipients list is quite big, about 30k addresses. The code works perfect, but only few minutes... Then transaction is timed out, deleting of already sent recipients is not commited and the process begins again! That of course results in delivering the same message multiple times to the same recipients.
    I tried setting autocommit to false and forcing commit before thread going sleep, but I kept getting error "cannot commit managed transaction".
    Can anybody help?
    Michal
                int sentCount = 0;
                con = locator.getPGDataSource().getConnection();           
                PreparedStatement stmt = con.prepareStatement("SELECT * " +
                        "FROM mail_recipient " +
                        "WHERE task_id = ? " +
                        "ORDER BY id ASC " +
                        "LIMIT " + CHUNK_SIZE + " ");
                stmt.setInt(1, Integer.parseInt(id));
                ResultSet rs = stmt.executeQuery();
                StringBuffer sentIds = new StringBuffer();
                while(rs.next()) {
                    if(!checkInProgressStatus(file))
                        return;
                    email = rs.getString("email");
                    String from_address = getMailProperty(account, "mail");
                    String display_name = getMailProperty(account, "display_name");
                    InternetAddress inetAddr = new InternetAddress(from_address,
                            display_name);
                    Mail mail = new Mail(inetAddr,
                            getMailProperty(account, "username"),
                            getMailProperty(account, "password"));
                    try {
                        mail.sendEmail(email, subject, content);
                    } catch (MessagingException ex) {
                        log.error("Cannot send to: " + email + " - user " + rs.getInt("customer_id"));
                    sentIds.append(rs.getInt("id") + ",");               
                    if(++sentCount % CHUNK_SIZE == 0) {
                        try {
                            try {
                                rs.close();
                                stmt.close();
                                con.close();
                            } catch (SQLException ex) {                           
                            Connection con2 = null;
                            con2 = locator.getPGDataSource().getConnection();
                            PreparedStatement stmt2 =
                                    con2.prepareStatement("DELETE FROM mail_recipient " +
                                    "WHERE id IN(" +
                                    sentIds.substring(0, sentIds.length()-1) + ")");
                            stmt2.executeUpdate();
                            sentIds = new StringBuffer();
                            stmt2 = con2.prepareStatement("SELECT COUNT(*) " +
                                    "FROM mail_recipient " +
                                    "WHERE task_id = ?");
                            stmt2.setInt(1, Integer.parseInt(id));
                            ResultSet rs2 = stmt2.executeQuery();
                            rs2.next();
                            int count = rs2.getInt(1);
                            log.error(count + "");
                            taskNode.setAttribute("recipients_left", count + "");
                            saveXML(doc, file);
                            try {
                                rs2.close();
                                stmt2.close();
                                con2.close();
                            } catch (SQLException ex) {
                            Thread.sleep(60*1000);
                        } catch (InterruptedException ex) {
                        con = locator.getPGDataSource().getConnection();                  
                        stmt = con.prepareStatement("SELECT * " +
                                "FROM mail_recipient " +
                                "WHERE task_id = ? " +                           
                                "ORDER BY id ASC " +
                                "LIMIT " + CHUNK_SIZE + " ");
                        stmt.setInt(1, Integer.parseInt(id));
                        rs = stmt.executeQuery();
                }

    Using Kodo's connection pooling fixed the problem.
    Thanks for the help.
    Chris West wrote:
    I suspect JBoss connection pooling could be the problem. A couple of
    questions...
    1. Do you know which versions of JBoss have this problem.
    2. How do I configure Kodo to use it's own connection pool on JBoss?
    -Chris West
    Stephen Kim wrote:
    I would highly suggest using Kodo's connection pool first and see if
    that alleviates the problem. I recall JBoss having some connection pool
    issues in certain versions.
    Steve Kim
    [email protected]
    SolarMetric Inc.
    http://www.solarmetric.com

  • Error while execution ODI procedure : java.lang.NullPointerException

    Hi,
    I`m trying to execute a simple ODI procedure and I`m getting the following exception:
    java.lang.NullPointerException
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execCollOrders(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.j(e.java)
         at com.sunopsis.dwg.cmd.g.F(g.java)
         at com.sunopsis.dwg.dbobj.SnpScen.a(SnpScen.java)
         at com.sunopsis.dwg.dbobj.SnpScen.localExecuteSync(SnpScen.java)
         at com.sunopsis.dwg.tools.StartScen.actionExecute(StartScen.java)
         at com.sunopsis.dwg.function.SnpsFunctionBaseRepositoryConnected.execute(SnpsFunctionBaseRepositoryConnected.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.execIntegratedFunction(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTaskTrt(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSqlS.treatTaskTrt(SnpSessTaskSqlS.java)
         at com.sunopsis.dwg.dbobj.SnpSessTaskSql.treatTask(SnpSessTaskSql.java)
         at com.sunopsis.dwg.dbobj.SnpSessStep.treatSessStep(SnpSessStep.java)
         at com.sunopsis.dwg.dbobj.SnpSession.treatSession(SnpSession.java)
         at com.sunopsis.dwg.cmd.DwgCommandScenario.treatCommand(DwgCommandScenario.java)
         at com.sunopsis.dwg.cmd.DwgCommandBase.execute(DwgCommandBase.java)
         at com.sunopsis.dwg.cmd.e.j(e.java)
         at com.sunopsis.dwg.cmd.g.z(g.java)
         at com.sunopsis.dwg.cmd.e.run(e.java)
         at java.lang.Thread.run(Thread.java:595)
    The source of the procedure:
    select
    P_ID,
    P_NAME,
    to_char(START_TIME_KEY,'DD-MON-YYYY HH24:MI:SS') as START_TIME_KEY,
    to_char(END_TIME_KEY,'DD-MON-YYYY HH24:MI:SS') as END_TIME_KEY,
    P_IS_ACTIVE,
    from persons
    The target of the procedure:
    DECLARE
    v_START_TIME_KEY DATE;
    v_END_TIME_KEY DATE;
    v_NAME VARCHAR2(200);
    v_ID NUMBER;
    BEGIN
    v_NAME := '#P_NAME';
    commit;
    END;
    ODI version: 10.1.3.5.5
    Source and target technology: Oracle Database 11g Enterprise Edition Release 11.1.0.6.0 - 64bit Production
    Thanks!

    Hello,
    Is your aim to get the Name from the table into the variable. ?
    And if there is only one row from the table you can use refresh variable to get the name:
    if there are more rows and you want to do somehthing repeatedly using the name, then you need to use the method you have described.
    Declare the variable in the pakcage and give some default value to the variable then call the procedure.
    Regards
    Reshma

  • WTK 2.5 bug - jsr234, commit

    I was testing CommitControl.setDeferred(false) and noticed that this api doesn't make pending changes to the Spectator. Is this a bug? Is the Spectator not considered a 'control' of the GlobalManager? It is the only place to obtain the listener, and when deferred mode is true the changes to the listener do not have an immediate effect. If this is a bug, can we get a patch somewhere?
    "The CommitControl affects the parameters for these controls on the GlobalManager and all the SoundSource3D objects.
    public void setDeferred(boolean deferred)
    When switching back from the deferred mode to the immediate mode (setDeferred(false)) all the pending parameters from the buffer are transmitted to the audio processing system automatically."
    Thanks.

    sound is to left of listener.
    press 5 to turn on deferred mode
    press 6 six times to move sound to the right
    press 5 - should commit the changes, but audio still on the left
    press 0 - changes are actually committed and sound is now heard from the right
    import javax.microedition.lcdui.*;
    import javax.microedition.midlet.*;
    import javax.microedition.media.*;
    import javax.microedition.media.control.*;
    import javax.microedition.amms.*;
    import javax.microedition.amms.control.*;
    import javax.microedition.amms.control.audio3d.*;
    import javax.microedition.amms.control.audioeffect.*;
    public class MoveCommit extends MIDlet implements CommandListener {
    private MainCanvas myCanvas;
    private Display myDisplay;
         CommitControl com;
         LocationControl loc;
         SoundSource3D ss3d;
         Spectator man;
         Player p;
         static int FACTOR = 1000; //convert to mm
    public MoveCommit() {
    myCanvas = new MainCanvas();
    myDisplay = Display.getDisplay(this);
         init();
    public void startApp() throws MIDletStateChangeException {
    myDisplay.setCurrent(myCanvas);
    public void pauseApp() {
    public void destroyApp(boolean unconditional) {
    public void commandAction(Command c, Displayable s) {
    myDisplay.setCurrent(myCanvas);      
    myCanvas.repaint();
    class MainCanvas extends Canvas
    public void paint(Graphics g)
    public void keyPressed (int key)
              int[] pos = loc.getCartesian();
              int x=pos[0] / FACTOR;
              int y=pos[1] / FACTOR;
              int z=pos[2] / FACTOR;
              if (key == Canvas.KEY_NUM5)
                   if (com.isDeferred())
                        System.out.println("----automatically committing changes----");
                        com.setDeferred(false);
                        System.out.print("position now: ");
                        report();
                        System.out.println();
                   else
                        com.setDeferred(true);
                        System.out.print("last known parameters: ");
                        report();
                        System.out.println();
              else if (key == Canvas.KEY_NUM0)
                   System.out.println("--force commit--");
                   com.commit(); //auto-commit may not be working in WTK2.5 Beta
                   System.out.print("position now: ");
                   report();
                   System.out.println();
    else
                   moveXY(key,x,y,z);
              repaint();
    } //end keypressed()
         void moveXY(int key, int x, int y, int z)
         if (key == Canvas.KEY_NUM1)
         {   //move
                   loc.setCartesian((x-1)*FACTOR,(y+1)*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM2)
         {   //move
                   loc.setCartesian(x*FACTOR,(y+1)*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM3)
         {   //move
                   loc.setCartesian((x+1)*FACTOR,(y+1)*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM4)
                   loc.setCartesian((x-1)*FACTOR,y*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM6)
         {   //move
                   loc.setCartesian((x+1)*FACTOR,y*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM7)
                   loc.setCartesian((x-1)*FACTOR,(y-1)*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM8)
         {   //move
                   loc.setCartesian(x*FACTOR,(y-1)*FACTOR,z*FACTOR);
         else if (key == Canvas.KEY_NUM9)
         {   //move
                   loc.setCartesian((x+1)*FACTOR,(y-1)*FACTOR,z*FACTOR);
         void report()
              int[] pos = loc.getCartesian();
              System.out.println( "X="+pos[0]/FACTOR+
    " Y="+pos[1]/FACTOR+
    " Z="+pos[2]/FACTOR);
         void init()
              try
                   p = Manager.createPlayer(getClass().getResourceAsStream("helicopter.wav"), "audio/x-wav");
                   p.realize();
                   p.setLoopCount(-1); //loop forever
                   ss3d = GlobalManager.createSoundSource3D();
                   ss3d.addPlayer(p);
                   p.start();
                   loc = (LocationControl)ss3d.getControl("javax.microedition.amms.control.audio3d.LocationControl");
                   com = (CommitControl)GlobalManager.getControl("javax.microedition.amms.control.audio3d.CommitControl");
                   loc.setCartesian(-3*FACTOR,0,0); //place object to the left of the listener
                   System.out.println("Initialized.");
                   report();
              catch (Exception e) {System.out.println(e); }
    } //end midlet

  • PO ORDCHG - idoc - releationship browser population Error

    Hi ,
    I tried to create a purchase order and changed it. All the configurations for IDOC are working fine for Purchase order creation and Change. The IDOC generated for Purchase order create is populated in the Releation ship browser but however the IDOC Created with ref to Change is not populating in the relationship browser.
    ANY IDEA please.
    Thanks and Regards,
    Mukthineni Krishna

    HI,
    probably there's something wrong with the COMMIT phase. Try to force COMMIT during the  IDOC creation in the CHANGE phase of Purchase Order or to use a WAIT instruction ...

  • Oracle BPM Issue - By lock held by indoubt transaction

    Hi ,
    I am getting the below issue while processing the work items(Applications) in the Oracle BPM. I am using Oracle BPM 10g R3 (10.3.1.0.0  Build# 100812) in Linux Environment.
    An unexpected error occured while trying to execute an automatic task,pending automatic tasks will continue to be executed. Details:\n"An error occured while accessing the database. Detail: SQL statement: 'SELECT DUETIME, ID, PROCESSID,INSTDID, THREADID, ANCESTORTHREADID, TSTAMP, TYPE, ACTIVITYNAME,ORIGINPROCESSDN, REAL THREADID, NETYPE, PRIORITY, LATER, DATA FROM PTODOITEMS WHERE DUETIME=2011-12-22 11:23:53.0 AND PROCESSID=31 AND ID=94370151 FOR UPDATE' Caused by :[BEA][Oracle JDBC Driver][Oracle]ORA-01591: lock held by in doubt distributed transaction 9.30.1176766 fuego.transaction.DatabaseException; An error occured while accessing the database. Detail:SQL statment: 'SELECT DUETIME, ID, PROCESSID,INSTDID, THREADID, ANCESTORTHREADID, TSTAMP, TYPE, ACTIVITYNAME,ORIGINPROCESSDN, REAL THREADID, NETYPE, PRIORITY, LATER, DATA FROM PTODOITEMS WHERE DUETIME=2011-12-22 11:23:53.0 AND PROCESSID=31 AND ID=94370151 FOR UPDATE' at
    If I force COMMIT the Transaction 9.30.1176766 in the dba_2pc_pending, pending_trans$, pending_sessions$ tables, I am able to move forward.
    Please help me to resolve this issue.
    Thanks In Advance.
    Bhaskara

    Hi ,
    I am getting the below issue while processing the work items(Applications) in the Oracle BPM. I am using Oracle BPM 10g R3 (10.3.1.0.0  Build# 100812) in Linux Environment.
    An unexpected error occured while trying to execute an automatic task,pending automatic tasks will continue to be executed. Details:\n"An error occured while accessing the database. Detail: SQL statement: 'SELECT DUETIME, ID, PROCESSID,INSTDID, THREADID, ANCESTORTHREADID, TSTAMP, TYPE, ACTIVITYNAME,ORIGINPROCESSDN, REAL THREADID, NETYPE, PRIORITY, LATER, DATA FROM PTODOITEMS WHERE DUETIME=2011-12-22 11:23:53.0 AND PROCESSID=31 AND ID=94370151 FOR UPDATE' Caused by :[BEA][Oracle JDBC Driver][Oracle]ORA-01591: lock held by in doubt distributed transaction 9.30.1176766 fuego.transaction.DatabaseException; An error occured while accessing the database. Detail:SQL statment: 'SELECT DUETIME, ID, PROCESSID,INSTDID, THREADID, ANCESTORTHREADID, TSTAMP, TYPE, ACTIVITYNAME,ORIGINPROCESSDN, REAL THREADID, NETYPE, PRIORITY, LATER, DATA FROM PTODOITEMS WHERE DUETIME=2011-12-22 11:23:53.0 AND PROCESSID=31 AND ID=94370151 FOR UPDATE' at
    If I force COMMIT the Transaction 9.30.1176766 in the dba_2pc_pending, pending_trans$, pending_sessions$ tables, I am able to move forward.
    Please help me to resolve this issue.
    Thanks In Advance.
    Bhaskara

  • ComboBox in grid

    Here is my column:
    <mx:DataGridColumn 
    headerText="Name" editorDataField="selectedValue"
    width="
    {accounts.width*.9}"
    dataField="
    ccompany">
    </mx:DataGridColumn>
    ItemEditor:
    [Bindable]
     var availAccounsEditor:ClassFactory = new ClassFactory(comboItemRenderer); 
    private function populateSalesRepsAccounts(resultXML:XML, dummy:Object):void{ 
    var availAccounts:DataGridColumn = accounts.columns[0];availAccounsEditor.properties = {labelField :
    "ccompany", dataProvider : resultXML.customers};availAccounts.itemEditor = availAccounsEditor;
    ItemEditor:
    package 
    modulecode{
    import flash.events.Event; 
    import mx.collections.*;  
    import mx.controls.*;  
    import mx.controls.listClasses.*;  
    import mx.events.*; 
    public class comboItemRenderer extends ComboBox implements IDropInListItemRenderer {
    private var _selectedValue:String; 
    private var bSelectedValueSet:Boolean = false;  
    private var bDataProviderSet:Boolean = false;  
    public var dataProviderCopy:Object = new Object;  
    public function comboItemRenderer(){
    super();}
    override public function set dataProvider(value:Object):void {
    super.dataProvider = value;  
    // This may get called before dataProvider is set, so make sure not null and has entries  
    if (value!=null && value.length){
    // Got it, set flag bDataProviderSet =
    true;}
    // Override committ, this may be called repeatedly  
    override protected function commitProperties():void{
    // invoke ComboBox version  
    super.commitProperties();  
    // If value set and have dataProvider  
    if (bSelectedValueSet && bDataProviderSet){
    // Set flag to false so code won't be called until selectedValue is set again bSelectedValueSet=
    false; 
    // Loop through dataProvider  
    for (var i:int=0;i<this.dataProvider.length;i++){
    // Get this item's data  
    var item:String = dataProvider[i][DataGrid(listData.owner).columns[listData.columnIndex].dataField]; 
    // Check if is selectedValue  
    if(item == _selectedValue){
    // Yes, set selectedIndex  
    this.selectedIndex = i;  
    break;}
    override public function set data(value:Object):void{
    super.data = value; selectedValue = value[DataGrid(listData.owner).columns[listData.columnIndex].dataField];
    // set for selectedValue  
    public function set selectedValue(s:String):void{
    // Set flag bSelectedValueSet =
    true; 
    // Save value _selectedValue = s;
    // Invalidate to force commit invalidateProperties();
    public function get selectedValue():String{
    return _selectedValue;}
    How do set the the selected from combobox value back to dataGrid?
    Thanks

    Hi Lan
    Try This For Matrix......
    'For Adding Values
      oColumn = oColumns.Add(&quot;Drink&quot;, SAPbouiCOM.BoFormItemTypes.it_COMBO_BOX)
            oColumn.TitleObject.Caption = &quot;Drink&quot;
            oColumn.Width = 100
            'Add Valid Values
            oColumn.ValidValues.Add(&quot;Cola&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;7up&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Fanta&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Orange Juice&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Water&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Lemonade&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Ice Tea&quot;, &quot;&quot;)
            oColumn.ValidValues.Add(&quot;Coffee&quot;, &quot;&quot;)
    'For selected Value
    Dim ocombo As SAPbouiCOM.ComboBox
                Dim oform As SAPbouiCOM.Form
                Dim omat As SAPbouiCOM.Matrix
                oform = SBO_Application.Forms.Item(&quot;MOR1&quot;)
                omat = oform.Items.Item(&quot;mat&quot;).Specific
                ocombo = omat.Columns.Item(&quot;Drink&quot;).Cells.Item(1).Specific
                ocombo.Select(&quot;Fanta&quot;, SAPbouiCOM.BoSearchKey.psk_ByValue)
    Thanks
    Shafi

  • Changing Excel decimalseperator using webutil

    Hi all
    I am migrating a few forms from 6i to 11g, one of this forms in 6i sends data (number data type) to excel cells, excel does some calculations and sends back the result.
    In 11g this is becoming a nightmare, in Forms we are using SPANISH NLS_LANG and windows reginal setting to Spain so the decimal separator is comma however when we run the form in 11g I am always getting a number format error, I observed this error in jvm console:
    java.lang.NumberFormatException: For input string: "1916,2232"
    at sun.misc.FloatingDecimal.readJavaFormatString(Unknown Source)
    at java.lang.Double.valueOf(Unknown Source)
    at java.lang.Double.<init>(Unknown Source)
    looks like JVM uses dot as decimal seperator and not a comma, I am not sure.
    So if I cannot change JVM decimal seperator I think my best bet is change excel decimal seperator. Is this possible using webutil?
    Thanks

    Hi
    1. What is the complete Forms version you are using? 11.1.1.4
    2. What is the compete JRE version you are using? 1.6_21
    3. What is the complete WebUtil version you are using? 11.1.1.4
    4. What is the complete Jacob version you are using? 1.10.1
    5. Have you tested this with a more common character set? For example: AMERICAN_AMERICA.WE8ISO8859P1 Yes, I have tested
    The problem seems to me is following:
    Forms (Spanish, comma decimal seperator) -> Webutil -> Excel (Spanish, comma decimal seperator) ERROR, I get the jaa number format error
    If I try this:
    Forms (AMERICAN, dot decimal seperator) -> Webutil -> Excel (Spanish, comma decimal seperator) ERROR when running excel calculation because excel is expecting comma decimal seperator
    So far I only know how to change decimal seperator in Forms using NLS_NUMERIC_CHARACTER or NLS_LANG, I dont have a clue how can I force Webutil Or Jacob to use comma as decimal seperator, I dont know how to force comma as decimal seperator in excel and that is my question here unless anyone know how I can change decimal seperator in Webutil or Jacob?
    Thanks!

  • Xml file datamodel always the same file

    Hello,
    i have this kind of issue, i configured my ODI in the topology to load an external Xml file that will arrive every day. My load works good but i'm seeing now that ODI doesn't know that the file that i point to with configuration is different from one launch to another. It doesn't realize that the data inside are changed. I'm doing some test so every time that i receive a new xml file i rename the old one and i put there the new one. In my production system will be like this and scheduled but i'm scared about the fact that my ODI is not knowing the difference between my old file and the new one. Only if i close it and start it again he realize that the file is new and load the new data.
    Have i forgot some configuration in some place? If yes where is and how i've to manage?
    Thank you in Advance.
    Corrado

    Hello C.
    Actually it's an ODI Procedure.
    Try this:
    PACKAGE_XML (your XML process package)
    A) ODI PROCEDURE 01 (insert this step)
    B) XML INTERFACES
    C) ODI PROCEDURE 02 (insert this step)
    Configure ODI PROCEDURES like this:
    ODI PROCEDURE 01
    Technology: XML
    Comand on Target: SYNCHRONIZE FROM FILE
    Schema: Your Source XML Schema.
    Commit: Commit.
    ODI PROCEDURE 02
    Technology: XML
    Comand on Target: SYNCHRONIZE FROM DATABASE
    Schema: Your Target XML Schema.
    Commit: Commit.
    That is also explained on ODI Docs.
    Let me know if that helps.
    []'s

  • Message ID CPF7024, reason Code # 2

    Hi Guys,
    In our SCM production system, we use the the program given by SAP for managing the journal receivers..It deletes an old journal from the journal library and saves it to a another library, which we back off everynight...
    Now all of a sudden, the program is not able to delete one of the old journals, and hence the subsequent journals are also not deleted, and hence our ASP is shooting up.
    The reason code for not being able to delete the journal, its showing as Message ID CPF7024, reason Code # 2...which basically states that :
      2 -- The receiver contains entries for changes that are not committed or
    rolled back.  These entries are necessary for IPL recovery operations.   
    This receiver is from last night...Is there a way to commit these or look at what has not been committed,  so that we can delete the journals....
    I have not brought down the system so far(offline)...and have not tried deleting this journal after that. I am speculating that it may give me the same message after that as well...
    Any suggesstions?? Will it be alright if i bring down the system and then try the operation...??
    Thanks
    Abhi

    Hi all, i have the same problem.
    But in my case i can't do the IPL because the upgrade still running...
    Is there other options to delete the journals manually?
    I have search on internet and i got the following below, to use WRKJRNA...
    Valid Reasons Why a DLTJRNRCV Receives Message CPF7024 RC2
    The following are valid reasons why a DLTJRNRCV receives message CPF7024 with RC2 - the receiver contains entries for changes that are not committed or rolled back:
    o
    There are uncommitted changes. To resolve the problem, type WRKJRNA for the journal, press F15 to get into the receiver directory, and select Option 8 on the journal receiver to be deleted. For example, if a journal receiver called rcv34011 was attached on 12-13-99 at 13:03 and detached at 13:18, the user can locate the job that has not done a commit or rollback since 13:18. The user can use the WRKJRNA for the journal, press F19 and use Option 6 to display all commitment definitions currently associated with the journal. Work with each job that is active and determine if it was started after the Journal Receiver in question was attached and if this job can be ended. On this Work with Commitment Definitions screen, press F11 until the State field is displayed.  Any commitment definitions with a State of PREPARED or LAST AGENT PENDING represent transactions that the application tried to commit, but are in-doubt due to a failure between phases one and two of the two-phase commit. Now determine whether the in-doubt commitment definitions are XA transactions by pressing F11 again until the Global Transaction ID field is displayed. If that field is blank, the transaction is non-XA, and should resolve by itself once communications are re-established with the remote system(s) involved in the transaction. If some unrecoverable error has occurred that will prevent communications with those system(s) from ever being re-established, the transaction will have to be manually completed using Option 14=Forced commit or Option16=Forced rollback, followed by Option 19=Cancel resync to make the commitment definition go away. If the Global Transaction ID field is not blank, the commitment definition represents an XA transaction. Such transactions must be completed per XA standard protocol.  If any of the commitment definitions are not in a PREPARED or LAST AGENT PENDING state, they are still pending commit or rollback. You can display the commit cycle for such transactions by using Option 5=Display from the Work with Commitment Definitions screen, then Option F6=Display resource status, page down and select Journal, then Option 5=Display commit cycle entries. If the timestamp of the first entry (C SC) is later than the timestamp when the journal receiver was detached, this transaction is not preventing the receiver from being deleted. If the C SC timestamp is older than that, the user will have to determine why their application has not committed or rolled back such an old transaction.
    Can somebody explain me how to use it?
    Thanks all,
    Cheung

  • In combobox 'g' is getting cut off, 'g' is not fully visible

    Hi Flex people,
    I am facing problem in combobox, I have the items : 'moon' , 'manager' , 'marketing' in the combobox.
    The text 'moon' is fully visible, but the in text 'manager' , 'g' is cut off, means character 'g' is not fully visible.
    Please give solution to how to make the 'g' to visible in  the selected item of combobox.
    Please find the attached snapshot, that will give clear idea.
    Thanks,
    Sushant

    Try this component:
    <?xml version="1.0" encoding="utf-8"?>
    <mx:ComboBox xmlns:mx="http://www.adobe.com/2006/mxml" creationComplete="init();" updateComplete="adjustComboDropDownWidth();"
        buttonMode="true">
        <mx:Script>
        <![CDATA[
            import mx.controls.List;
             private var _selectedValue:String;
             private var _selectedLable:String;
             private var bSelectedValueSet:Boolean = false;
             private var bDataProviderSet:Boolean = false;
             [Bindable]
                private var myDropdownFactory:ClassFactory;   
             // Override committ, this may be called repeatedly
             override protected function commitProperties():void
                // invoke ComboBox version
                super.commitProperties();
                // If value set and have dataProvider
                if (bSelectedValueSet && bDataProviderSet)
                   // Set flag to false so code won't be called until selectedValue is set again
                   bSelectedValueSet=false;
                   // Loop through dataProvider
                   for (var i:int=0;i<this.dataProvider.length;i++)
                      // Get this item's data
                      var item:String = this.dataProvider[i].data;
                      // Check if is selectedValue
                      if(item == _selectedValue)
                         // Yes, set selectedIndex
                         this.selectedIndex = i;
                         break;
             // Trap dataProvider being set
             override public function set dataProvider(o:Object):void
                // invoke ComboBox version
                super.dataProvider = o;
                // This may get called before dataProvider is set, so make sure not null and has entries
                if (o!=null && o.length)
                   // Got it, set flag
                   bDataProviderSet = true;
             // set for selectedValue
             public function set selectedValue(s:String):void
                // Set flag
                bSelectedValueSet = true;
                // Save value
                _selectedValue = s;
                // Invalidate to force commit
                invalidateProperties();
              * @author       : Prashant Shelke.
              * @date         : 17/10/07
              * @method name : init()
              * @i/p params  : -
              * @return            : void
              * @description : To show tool-tip on line items objects of combobox.
              public function init():void
                    myDropdownFactory         = new ClassFactory(List);
                    myDropdownFactory.properties = {showDataTips:true, dataTipFunction:myDataTipFunction}
                    this.dropdownFactory    = myDropdownFactory;
                 private function myDataTipFunction(value:Object):String
                    return (value.label);
               * @author       : Prashant Shelke.
              * @date         : 17/10/07
              * @method name : adjustComboDropDownWidth()
              * @i/p params  : ComboBox
              * @return         : Number
              * @description : computes dropdown width according to what dataprovider provided to it.
              private function adjustComboDropDownWidth():void
                      this.dropdownWidth    = calculateCustomPreferredSizeFromData();                  
              * @author       : Prashant Shelke.
              * @date         : 16/10/07
              * @method name : calculateCustomPreferredSizeFromData()
              * @i/p params  : -
              * @return            : Number
              * @description : computes dropdown width according to what dataprovider provided to it.
              public function calculateCustomPreferredSizeFromData():Number
                    var dropDownWidth:Number    = this.calculatePreferredSizeFromData(this.dataProvider.length).width+14;
                    if(dropDownWidth > this.width)
                        return dropDownWidth;
                    else
                        return this.width;
          ]]>
       </mx:Script>
    </mx:ComboBox>

  • Workflow WS20000317 - Problem please help

    Hi Sapgurus,
    I am currently working on Workflow WS20000317, basically my requirement is that when the notification is created i have to intimate the user that a notification has been generated , but i don't know how to configure this workflow.
    Could anybody please help me out so that i can complete my scenario.
    Well i am starting a workflow also tha ti have created tru the user exit but it is giving me this dumb.
         IF lh_transaction IS NOT BOUND.
           lh_transaction = cl_swf_utl_transaction=>create( im_commit_work_control = l_do_c
           l_transaction_created = 'X'.
         ENDIF.
         IF do_commit EQ 'W'.
           CALL METHOD lh_transaction->set_trfc_executed( ).
         ENDIF.
         l_enqueue_owner = l_fbname.
         CALL METHOD cl_swf_run_transaction_manager=>get_instance
           EXPORTING
             im_transaction   = lh_transaction
             im_enqueue_owner = l_enqueue_owner
           RECEIVING
             re_instance      = lh_txmgr.
         CALL METHOD cl_swf_run_wim_factory=>create_via_api
           EXPORTING
             im_context   = l_crt_ctx
             im_parameter = ls_wi_create
             im_tx        = lh_txmgr
             im_language  = language
           RECEIVING
             re_wi_handle = lh_wi_handle.
         CALL METHOD lh_txmgr->save( ).
         IF l_do_commit EQ 'X'.
           COMMIT WORK.
         ENDIF.
       CATCH cx_swf_run_wim INTO l_excp.
         IF l_transaction_created EQ 'X'.
           CALL METHOD lh_transaction->remove( ).
         ENDIF.
          lh_alm_context = cl_swf_alm_factory=>create_context(
                     im_category    = cl_swf_alm_factory=>c_cat_wi_create
                     im_system_type = cl_swf_alm_factory=>c_system_webflow ).
          CALL METHOD lh_alm_context->raise_exception( l_excp ).
         MESSAGE ID l_excp->t100_msg-msgid
                 TYPE l_excp->t100_msg-msgty
                 NUMBER l_excp->t100_msg-msgno
                 WITH l_excp->t100_msg-msgv1 l_excp->t100_msg-msgv2
                      l_excp->t100_msg-msgv3 l_excp->t100_msg-msgv4
         RAISING id_not_created.
    ENDTRY.
    Thanks and Regards,
    Rachti khanna
    Message was edited by:
            Rachit Khanna

    Hi,
    What about the container element values how can i set it the one i have told you .
    I m not able to understand how to configure it i m totally confused please guide me.
    I tried to run the workflow from my user exit using SWW_WI_START_SIMPLE but it is giving me this dumb
          ENDIF.
    *- create transaction and force commit work
          lh_transaction = cl_swf_utl_transaction=>get( ).
          IF lh_transaction IS NOT BOUND.
            lh_transaction = cl_swf_utl_transaction=>create( im_commit_work_control = l_do_commi
            l_transaction_created = 'X'.
          ENDIF.
          IF do_commit EQ 'W'.
            CALL METHOD lh_transaction->set_trfc_executed( ).
          ENDIF.
          l_enqueue_owner = l_fbname.
          CALL METHOD cl_swf_run_transaction_manager=>get_instance
            EXPORTING
              im_transaction   = lh_transaction
              im_enqueue_owner = l_enqueue_owner
            RECEIVING
              re_instance      = lh_txmgr.
          CALL METHOD cl_swf_run_wim_factory=>create_via_api
            EXPORTING
              im_context   = l_crt_ctx
              im_parameter = ls_wi_create
              im_tx        = lh_txmgr
              im_language  = language
            RECEIVING
              re_wi_handle = lh_wi_handle.
          CALL METHOD lh_txmgr->save( ).
          IF l_do_commit EQ 'X'.
            COMMIT WORK.
          ENDIF.
        CATCH cx_swf_run_wim INTO l_excp.
          IF l_transaction_created EQ 'X'.
            CALL METHOD lh_transaction->remove( ).
          ENDIF.
         lh_alm_context = cl_swf_alm_factory=>create_context(
                    im_category    = cl_swf_alm_factory=>c_cat_wi_create
                    im_system_type = cl_swf_alm_factory=>c_system_webflow ).
         CALL METHOD lh_alm_context->raise_exception( l_excp ).
          MESSAGE ID l_excp->t100_msg-msgid
                  TYPE l_excp->t100_msg-msgty
                  NUMBER l_excp->t100_msg-msgno
                  WITH l_excp->t100_msg-msgv1 l_excp->t100_msg-msgv2
                     l_excp->t10
        RAISING id_not_created.
    ENDTRY.
    Could you please tell me what is the mistake here
    Thanks for your reply.
    Message was edited by:
            Rachit Khanna

Maybe you are looking for