Frontend application user status is locked

Hi,
I have migrated one user using FNDLOAD utility from one instance to another.The user is created with the same resposibility as previous one but the status of the account is showing as locked.
Can any one please suggest the possible solution for this.
Many Thanks,
Nabin

Hi Hussain,
Thanks a lot for your response.
My EBS release is 11.5.10.2 and I used the following command for migrating the user:
Download
FNDLOAD apps/*** 0 Y DOWNLOAD $FND_TOP/patch/115/import/afscursp.lct /tmp/userlist.ldt FND_USER USER_NAME="USERNAME"
Upload
FNDLOAD apps/*** 0 Y UPLOAD $FND_TOP/patch/115/import/afscursp.lct /tmp/userlist.ldt
when I reset the user manually then the status changed to active and the issue resolved.
But is there any other way to do this.
Thanks,
Nabin

Similar Messages

  • Find Locked Application users in Ebs R12

    hi,
    how to find locked Application users in Ebs R12.
    Regards,

    Please see these docs -- It is applicable to R12 as well.
    How Do User Accounts Get Locked After Exceeding the Signon Password Failure Limit In 11.5.10.2? [ID 367947.1]
    "Signon Password Failure Limit" Profile Option Does Not End Date User in FNDSCAUS Form [ID 332577.1] -- Run the query under Workaround1
    Thanks,
    Hussein

  • Any Pointers to set user status in iw31 and iw32

    Hi all,
    I am working on an enhancement where I need to set the user status for an order every time a new order is created(iw31) or an existing order is changed(iw32) and a material in that is flagged as a retirement unit material.
    Is there any function module to do that?

    Hello Anu
    I would like to point to the BAPI documentation where a useful BAdI (<b>IBAPI_ALM_ORD_MODIFY</b>) is mentioned:
    FU BAPI_ALM_ORDER_MAINTAIN
    Short Text
         Process Maintenance-/Service Order
    Functionality
         This Business Application Programming Interface (BAPI) is used for
         changing maintenance- or service orders and their lower-level objects.
         The following objects of an order can be processed (for restrictions,
         see the note at the end of the documentation):
         o   Order header
         o   Partner
         o   User status
         o   Order operations
         o   Relationships
         o   Components
         o   Long texts for order header, operations, and components
       Function
         Calling up this BAPI once allows you to perform all the operations. For
         this the system supplies the function module with a method table
         containing the methods to be performed. The entries in the method table
         refer to data records in the optionally filled-out data tables. All the
         methods from the method table are performed. Alternatively, just lower-
         level objects from existing orders can be changed.
         You can process the transferred data with the Business Add-In (BAdI)
         IBAPI_ALM_ORD_MODIFY to, for example, merge data from the external
         system with data from the R/3 system. The BAdI is called up as soon as
         the transferred data is converted into the internal format. The tests
         then take place after this.
       Construction of Method Table
         o   REFNUMBER   Reference number for linking object methods - attributes
             The reference number is the line of the database which contains the
             corresponding data. The data table is determined by the object type.
         o   OBJECTTYPE  Object category
             The object category specifies which object from the order should be
             processed. The key words listed here are not language-dependent and
             must  be transferred exactly as they are. The following objects
             exist:
             -   HEADER      Order header
             -   PARTNER     Partner data
             -   USERSTATUS  User status
             -   OPERATION   Operation data
             -   RELATION        Relationships
             -   COMPONENT   Components
             -   TEXT            Long texts
             -   (empty)     ,General BAPI functions (save)
         o   METHOD      Methods
             The methods with which the data should be processed. The following
             functions exist:
             -   CREATE          Create objects
             -   CHANGE          Change objects
             -   DELETE          Delete objects
             -   RELEASE         Release
             -   TECHNICALCOMPLETE   Technically complete
             -   ATPCHECK            Availability check
             -   CALCULATE       Calculate
             -   SCHEDULE            Schedule
             -   DELELTEDSEX     Delete the status for external scheduling at
                 operation level
             -   SAVE                Save all data
             -   DIALOG          Call-up dialog. See explanation below.
             -   TRACE       Write trace file in the specified file to the
                 frontend
         o   OBJECTKEY       SAP external object key
             This key is for assigning the lower-level objects correctly to the
             corresponding objects, as there is always just one key in the data
             table. The key must have the following structure:
             -   1-12        Order number
                 When creating orders with internal number assignment, a
                 reference number  beginning with % must be entered here. The
                 BAPI then returns this number and the number actually assigned.
             -   13-16       Operation number
             -   17-20       Sub-operation number
             For relationships, the key is structured as follows:
             -   1-12    ,Order number from
             -   13-16   Operation number from
             -   17-28   Order number to
             -   29-32   Operation number to
         The following methods are permissible for the individual objects:
         o   HEADER:
             CREATE, CHANGE, RELEASE, TECHNICALCOMPLETE, ATPCHECK, CALCUALTE,
             SCHEDULE
         o   OPERATION
             CREATE, CHANGE, DELETE, DELETEDSEX
         o   PARTNER, RELATION, COMPONENT, USERSTATUS, TEXT:
             CREATE, CHANGE, DELETE
         o   (empty):
             SAVE, DIALOG, TRACE
       Data tables and update tables
         The objects have one or more data tables. For some objects you can
         specify which of the fields specified in the structure should be
         changed. For this you must set the field in the corresponding table to X
         as in the data table. If no update-table  is transferred, then only
         those fields are set that have a value that is not initial. This
         simplifies the transfer data. However, this means it is not possible to
         delete fields. If an update structure should  only be specified for some
         data records, the table with the update fields must nonetheless have the
         same amount of lines as the data table.  The empty lines are then
         treated as if no update structure was transferred. The objects
         "Partner", "User Status", and "Text" have no update tables. The whole
         data record is always copied here.
       References
         The objects use the field REFNUMBER from the method table to refer to
         the lines in the data table. Counting always begins with 1. In doing
         this, REFNUMBER also refers to the update table. However, in the method
         table there is a second reference to higher-level objects for
         lower-levels objects. The field OBJECTKEY must be filled with  order
         number, operation number, and sub-operation number, as specified above.
         If lower-level objects of a newly-created order should be changed, then
         you must enter a temporary order number that must begin with %. Several
         orders can be numbered serially, for example, with  %00000000001,
         %00000000002 ... .
         The following objects have special treatment for REFNUMBER:
         o   Partner
         o   Texts
         Partners have an order number in the data table. During processing of
         the method table, all those entries in the data table are processed
         which have an order number that is the same as that in the line to which
         the method refers. Thus, through just one entry in the method table,
         several partners can be changed.
         Texts are composed of two tables. The first table (IT_TEXT) is made up
         of the header data of the text. Here you must specify the object and the
         first and last line of the text table (respectively inclusive, counting
         from 1). Through this, a line segment is specified in the text line
         table (IT_TEXT_LINES).
       Peculiarities in processing
         The BAPI processes the transferred methods in a particular sequence,
         which must not correspond to the sequence in the methods table.
         o   Write trace file
         o   Change user status time period 1
         o   Delete objects (dependent first)
         o   Create new objects
         o   Change existing or newly-created objects
         o   Change user status time period 2
         o   Status change of order
         o   Save data
         The methods are performed such that lower-level objects can also be
         assigned to newly-created objects. For example, first the operations are
         created, and then the components. Long texts can also be created for the
         objects.
         Components have an exceptional position. Components are created through
         the assignment to an operation, that is, using the "key" order/
         operation (item number). However, as this is not the unique component
         key, you can only access the components to change them, delete them, or
         add long texts by using the reservation number/-item, which is only
         given after saving. This means that, for example, you cannot create a
         long text when you create the component.
         User status changes can take place at two different time points. Time
         point 1 is before the object changes, time point 2 is after the object
         changes and before the status change of the system. These time points
         should be defined in the transfer table in the field CHANGE_EVENT. The
         field documentation contains the possible values.
         The external scheduling is offered by the BAPI as a special function.
         THe BAPI can set the date field directly at the operation level, and
         select the operation with the status DSEX "Date set by external system".
         This status prevents any further scheduling of the operation, it keeps
         the transferred dates. For this, set the category 'X' in the restriction
         categories. When reading the operation, this category is also returned,
         independent of the category of restriction set in the dialog. To delete
         the status, you can call up the method DELETEDSEX for the object
         operation. The external scheduling cannot be influenced in the dialog.
         All changes to the scheduling restrictions in the dialog are saved as
         normal, but are not relevant for the scheduling as long as the status
         DSEX is active.
         Every time the BAPI is called up, a SAVE or DIALOG method must be
         transferred. Normally, calling up a BAPI is seen as a transaction. All
         data that is changed in the BAPI should be saved to the database
         immediately. The BAPI checks whether a SAVE method exists, otherwise it
         terminates processing. A test run of the BAPI is composed of a normal
         call-up using the SAVE method and a subsequent
         BAPI_TRANSACTION_ROLLBACK. To call up the BAPI without the SAVE method,
         for example, to realize dialog transactions, the BAPI can be called up
         with the DIALOG method. This switches off the check for the SAVE method.
         The processor must then ensure that later either a SAVE method or a
         BAPI_TRANSACTION_ROLLBACK is called up.
         A BAPI_TRANSACTION_COMMIT without SAVE method terminates processing in
         the update to ensure that no inconsistent data is written to the
         database. The processor who called up the BAPI does not receive any
         confirmation for the termination of the update in the target system.
         This logic is necessary as the order data was flagged for updating with
         BAPI_TRANSACTION_COMMIT through the SAVE method. However, the status
         information was already flagged for updating when the BAPI was called
         up. A BAPI_TRANSACTION_COMMIT without SAVE method then just saves the
         status information and would generate inconsistent orders, if the
         updating was not terminated.
       Customer Enhancement
         The BAdI IBAPI_ALM_ORD_MODIFY can be used to change the transferred
         data. The BAdI is called up after the conversion of the transfer
         structure into the structures used internally. Additional data can be
         transferred using the table EXTENSION_IN. Only then is the data checked.
    Example
         The following examples should clarify the use.
       Creating an order
         OBJECTKEY should be filled with a temporary key. The BAPI returns  this
         key together with the assigned order number in the return table
         ET_NUMBERS . The order number in the HEADER table should also be filled
         with the number. For external number assignment, the external number
         should be specified. The update structure can be transferred if
         necessary.
         Methods table
         REFNUMBER   OBJECTTYPE  METHOD      OBJECTKEY
         1           HEADER      CREATE      %00000000001
         IT_HEADER
         ORDERID     ORDER_TYPE  PLANPLANT   ...
         %00000000001    PM01    1000        ...
       Creating an order with operation and long text
         Methods table
         REFNUMBER   OBJECTTYPE  METHOD      OBJECTKEY
         1           HEADER      CREATE      %00000000001
         1           OPERATION   CREATE      %00000000001
         1           TEXT        CREATE      %000000000010010
         IT_HEADER
         ORDERID     ORDER_TYPE  PLANPLANT   ...
         %00000000001    PM01    1000        ...
         IT_OPERATION
         ACTIVITY    SUB_ACTIVITY    CONTROL_KEY WRK_CNTR    ...
         10                      PM01        MECHANIC    ...
         IT_TEXT
         ACTIVITY    ...         TEXTSTART   TEXTEND
         10          ...         1           2
         IT_TEXT_LINES
         TDFORMAT    TDLINE
          *          Longtext for operation 10, line 1
          *          Line 2 of the long text
    Notes
       Using the BAPI to process the order data cannot support all the functions
       of the transaction. This applies in particular for the following
       functions:
         Order header data
         o   The object list cannot be processed.
         o   Refurbishment orders are not supported.
         o   The estimated costs cannot be processed - only the estimated overall
             costs of the order.
         o   Notification data cannot be processed with the order BAPI. Even if
             the settings in Customizing are such that the orders and
             notifications can be maintained on one screen, no notification is
             created for the order.
         o   Permits cannot be processed.
         o   The order addresses cannot be processed.
         o   Individual partner addresses cannot be maintained.
         o   The settlement rule cannot be maintained.
         Order functions
         o   Printing the papers is not possible.
         o   Locking and unlocking the order is not possible.
         o   Accepting and rejecting quotations is not possible.
         o   Business completion is not possible.
         o   Flagging for deletion is not possible.
         o   The log cannot be displayed.
         o   User default values are not used.
         o   The field selection is not checked.
         o   The Customer Exits/BAdIs are not executed completely.
         o   Joint ventures are not supported.
         o   Funds Management is not supported.
         o   Investment orders are not supported.
         o   No integration of service products with task lists possible.
         o   No integration of configurable service products possible.
         o   Assignment of sales document items with service products in
             accordance with the aforementioned conditions.
         Operation data
         o   A change of the control key in the operation is not possible, if
             this leads to a change of the processing type (internal-/external
             processing)
         o   User status change not possible.
         o   Production resources and tools cannot be processed.
         o   Service lines cannot be processed.
         o   Task list integration is not supported.
         o   Linking operations with object list is not supported.
         Component data
         o   User status change not possible.
         o   BOM data cannot be processed.
         o   The delivery address cannot be processed.
    Further information
         See also the documentation for the individual transfer tables.
    Parameters
         IT_METHODS
         IT_HEADER
         IT_HEADER_UP
         IT_HEADER_SRV
         IT_HEADER_SRV_UP
         IT_USERSTATUS
         IT_PARTNER
         IT_PARTNER_UP
         IT_OPERATION
         IT_OPERATION_UP
         IT_RELATION
         IT_RELATION_UP
         IT_COMPONENT
         IT_COMPONENT_UP
         IT_TEXT
         IT_TEXT_LINES
         EXTENSION_IN
         RETURN
         ET_NUMBERS
    Exceptions
    Function Group
         IBAPI_ALM_ORDER
    Regards
      Uwe

  • User status in sales orders

    Hi all!
    Can anyone tell me if there is a way to control the possibility of changing a sales order through the status?
    I wanted that when a sales order reaches a certain user status, for it to be blocked to modifications, as if it was display only...
    Thanks!!!
    Best Regards,
    Carina Maeiro

    Hi Carina,
    Requirement is strange, but still may be possible,.
    Can you give some more info like..
    1. all the users have to be blocked or only particular user?
    2. what wud be the next flow processing of tht order ? like after blocking what you wanna do ? want to raise a message or ?
    Some Work arounds for the above 2 scenarios wud be.....
    1. if a set of users have to be blocked, its very much possible thru customization like, you can define status Authorization keys in Status Management in SPRO where u will be setting the auth key for the user profile
    2. if you want to just block the user not to go ahead i e atleast he shudnt save the order, you can implement CRM_ORDER_STATUS Badi in which you have to raise a error message on the application log saying tht it cannot be saved for so and so reason
    if this solves..coool ....if not tell me the exact scenario ..
    Siva

  • How to change user status

    Hi
    I want to change the user status from  X - > Y - > Z  - > X based on config... so in doing that my system status would be set to released.
    I am doing the updation each time from X--> Y and calling  crm_order_maintain, crm_order_save, commit work and save , wait up to 20 seconds, crm_order_initialize.
    Without doing wait up to 20 seconds, i am getting an error "Order cannot be changed" when i am updating the user status from Y->Z next time for same guid object ( contract item ).
    My questions are
    1. How do we identify whether we can change contract, for next user status using any FM.  It says contract cannot be changed as "Transferring not completed". I used FM "CRM_ORDER_CHECK_CHANGE_ALLOWED" , but it always gives message "in transferring in middleware". Is there any other way to avoid wait up to 20 seconds , instead determine whether the contract can be changeable.
    2. Can we update X>Y>Z--->X in single crm_order_maintain.. can system track this changes that contract item has gone through various user status. When i checked it only keeps Y status.  I am passing all user status as active. Can we pass in any other manner?..
    3. When i call order initialize after each update of status , the lock is getting released and for next status chnage when i call order maintain, if some other user opens same contract in that time... lock error comes..  when i pass Keep lock in order initialize it is not working.. does that work and why does its not working....
    Regards,
    D

    Deepthi,
    Dont pass all the statuses at once to CRM_ORDER_MAINTAIN,
    For eg :
    To get to status Z  from X->Y->Z , you can follow below procedure
    take staus - X
    fill it_status and it_inputfields with a record each corresponding to status X.
    Call CRM_ORDER_MAINTAIN
    take staus - Y
    fill it_status and it_inputfields with a record each corresponding to status Y.
    Call CRM_ORDER_MAINTAIN
    take staus - Z
    fill it_status and it_inputfields with a record each corresponding to status Z.
    Call CRM_ORDER_MAINTAIN
    After reching Z , call ORDER_SAVE and COMMIT.
    Please use a internal table for all your status and place the order_maintain in loop , so that each status gets maintained while you navigate to next status.
    Regards,
    Nithish
    Edited by: nithish P on May 17, 2011 8:15 AM

  • IW32 change of user status

    Hi,
    In Plant Maintenance orders to help users to manage the work process of
    user statuses,
    When we open the order using tcode IW32, we should be able to set the
    userstatus to JBDN, but it should not get reversed from JBDN to any
    other previous status(like from JBDN to WIP i.e., high to low). We want to restrict the
    authorizations in one role for this type of status change.
    Similarly, we want authorizations to be restricted in another role
    where we should ONLY be able to set the status from JBDN to WIP(It
    means, it should not allow to change the status from WIP to JBDN in the
    same role i.e., lower status to higher status).
    It mean, we want the user status to be allowed to change in one way.
    We tried to restrict the authorization with B_USERSTAT. But it is
    allowing to change the status in both ways(i.e., from JBDN to WIP and
    also from WIP to JBDN) which should not be the case.
    Please let me know what authorization objects to be restricted for this.
    Regds
    Sekhar.

    Hi,
    As per my knowledge/experience, it is not possible to restrict the user from select options only 1 way and this kind of restrictions are not included in SAP authorizations. May be, you need to look for a customized program, which can lock the option once selected.
    Rgds,
    Raghu

  • How to define user status that forbids editing the document

    Hi All,
    Im working on CRM 7.0
    I need to define a user status say " ON HOLD" . when this user status is set the document should not be edited or changed by anyone.  However as soon as we move to next status document should be editable.
    I configured a user status and in the TRANS column
    selected CLks .
    in the transaction control i have change document set to forbidden.
    The problem is when i set this status on the document , the document is locked as desired and i am not allowed to change the status itself (not desired) .
    How do i configure the status so that i can also switch between on hold  and other user statuses  or  how can i release the On Hold status?
    How do you set the Delete  option in transaction control for any allowed transaction for a user status.
    Thanks In advance!
    Survee

    Robert,
    Thank you for your input.
    We have defined a simple status  where in editing is  not alllowed by validation during save.
    We are controlling the status change from "On hold" to next status  by authorization group.
    Basically if the user has access to the auth group he can change the status to next status.
    Cheers
    Survee

  • User Status change problem in Process Order

    Hi,
    We are in process of upgrading our system from 4.6C to ECC 6.0. I have a problem with User status change for process Orders.
    In 4.6C we are using the profile x with settings:
    10     ZNEW     Created process order     10     90     1     1     ZSTA
    20     ZLCK     Locked process order     20     90     1     1     ZREV
    30     ZOPN     Reopened process order     20     90     1     1     ZOPN
    40     ZMST     MES order started     20     90     1     1     ZMST
    50     ZMCL     MES order closed     20     90     1     1     ZMCL
    90     ZTEC     Technically completed      20     90     1     1     ZTEC
    In ECC 6.0 we also use the same profile settings as above.
    The problem is in ECC 6.0 when I do a goods receipt the User status changes to ZTEC . The process followed is ..Create process order, Release Order, Goods issue, Phase partuial confirmations, Goods receipt and then Finla confirmations of phases. Now in 4.6C if i do the above process the User status remains at ZMST and it only changes to ZTEC when i technically complete the order but in ECC 6.0 when I do a goods recipt from above steps the User status changes to ZTEC. THis should not happen.
    Any pointers will be very helpful.

    Hi,
    The log for production order preliminiary costing is not saved. Therefore, once the order is saved, there is no log available anymore (this is by the way a question of PP; none of the logs is saved).
    Hope that helps...
    Regards,
    Declan

  • How to verify the status of lock object???

    Hello,
    How to verify the status of lock object???
    I need to know the status of the lock object and put the user in list.
    Exists a FM for this?
    Thanks!

    You can check the list of lock objects for the ztable by this way....
    Go to SE11, click the radibutton for lock object, then do F4 on the field. Click the "All Selections" icon, in the "Basis Table" field, put the table that you want the lock object for. click green check.
    Regards.

  • User Status LKD is active(ORDTMC1001)

    Hi,
    While doing capital purchase order through internal order a message is being appeard as "User status LKD is active(ORDTMC1001).
    What could be the possible solution ?
    Best Regards,
    Samrat Roy

    Dear Waman,
    Whenever I create new Internal Order user status shows PLIM and LKD under Control Data of Internal Order master. Go to Set / Reset and uncheck the tick from status LKD and save the record. Why this status become locked i.e, LKD automatically in every internal order creation ? How it can be removed and during creation of new internal order user status will show only "PLIM". What should be the actual status of Status Profile for Internal Order ?
    Best Regards,
    Samrat Roy

  • How can SAP be configured to prevent users from consuming locks?

    How can SAP be configured to prevent users from consuming locks?
    The issue is that we want to prevent users to use upto maximum locks and so that we will not get lock table overflow issue. I know that we can assign parameter "enque/table_size" a good amount of value. But it is not for any specific user.
    Also want to alert in CCMS if any user reaches to its maximum speficified limit of locks.
    Thanks
    Gopesh

    You cannot set a limit of locks per user. There are two ways to reduce/control the number of locks:
    - change fewer records within one transaction
    - cover more records with one lock using wildcards
    Basically it is an application / development issue.
    Best regards, Michael

  • Can we set user status in tj30 ?

    Hi all,
    can we set user status in tj30 ?
    i've created a new status profile and it seems SAP automaticaly generate all of status in my status profile to table tj30.
    but the data in column estat of table tj30 that created is started from E0001.
    can we set the data start from certain number ( for example : from E0060 ) not from E0001 ?
    or can we update it from E0001 to E-something ( for example : to E0056 ) ?
    please advice or breif me.
    many thanks in advance

    Hi Eddhie,
    You must perform the following steps manually:
    1. Transaction SPPFCADM
    2. Select the application
                  "CRM_ORDER"
    1. Click 'Define action profiles and actions'
    2. Select the action profile (if you are using the standard action profile)
                  "SMSD_SERVICE_ORDER_DNO"
    1. Double-click 'Action definition'
    2. Select the action
                  "SMSD_SRVC_ORDER_DNO_SAP_UPDATE"
    1. Double-click 'Processing types'
    2. Go to the change mode using the 'Display/change' button
    3. Press the "Change" button in the screen area "Method call settings" in the line "Define processing parameters".
    4. Click the 'Create' pushbutton in the dialog box that is then displayed.
    5. Enter the following data:
    a) Element: USER_STATUS
    b) Name: USER_STATUS
    c) Short description: USER_STATUS
    d) Data type tab, ABAP dictionary reference
                             Structure TJ30
                             Field ESTAT
    e) "Initial value" tab page, entry "E0060" in the field USER_STATUS (or another allowed user status from the status profile used if desired).
    f) Copy the entries.
    6. Save
    Check OSS Note (663970) for more detail.
    Please award points if the solution is helpful.
    Thanks
    Sumi

  • Restroring unity conneciton application users in CMBE

    hi,
    I think i am in a bit of a mess here, deleted the operator and undeliverablemessagesmailbox application users from cucm. unity connection now shows the operator user as as an orphaned account. Tried recreating the "operator" unity application user under cucm, but the operator account under unity connection is still not reassociating with the new "operator" application user account. how can revert back the operator account to its default configuration ?
    Reassociated the undeliverablemessagesmailbox account under unity to a different user, need to change this as well and set the configuration to the way it was by deafult.
    Appreciate all the help i can get.
    Thanks.
    Radhesh

    You can have LDAP integrated users and local users on UCXN, if user was created initially by importing from LDAP, but then the user was deleted in LDAP within 48 hour that user is converted to local user. You can check that by searching the user in UCXN admin page and looking at the "LDAP Integration Status" setting on the main page.
    HTH,
    Chris

  • USer Status for Project Elements in cProjects 4.0

    Hi All,
    I have created Status profile in cProjects 4.0
    How can I replace the system status with my created status profile?
    In other words, when I select my Status profile, the system status (Created, Released, Lock) should get replaced by the custom (Ex: Available, Closed, etc)
    <b>Useful answers will definitely be rewarded.</b>
    Regards,
    Sujay!

    cProjects allows User Status as an addition to System Status.
    In case you need to use user status you can change it only after selecting the status profile through the status tab page. Once a status profile has been attached, System as well as user status can be selected.

  • SDO gives JBO-26030: Failed to lock the record, another user holds the lock

    Hi,
    I have a question thats on the boundary between ADF and BPEL but I posted in this forum because its highly related to ADF Model with Service Interface.
    We have a BPEL batch process that spawns multiple child BPEL processes that handle threads inside the batch in parallel. These child processes all update the same batch record in a database with for example the lastActionDateTime. We do this by invoking an update service on a SDO application that we built following this tutorial: http://jianmingli.com/wp/?p=2838
    It all works good but sometimes when updating the same row from multiple BPEL process instances at the same time, we sometimes get a SDO JBO-26030: Failed to lock the record, another user holds the lock.
    I'm a bit stunned by this, because all we really do is updating a record. From BPEL we just invoke the updateBatch webservice method of the Service Interface.
    I can imagine that there will be wait time when these updates come in at the same time, but I didn't expect an exception would occur. Also the arbitrariness confuses me. If a child process would lock the record, I would expect this error to happen always and not at random.
    From BPEL the error displays as follows:
         <fault>
              <bpelFault>
                   <faultType>1</faultType>
                   <ServiceException>
                        <part  name="ServiceErrorMessage">
                             <tns:ServiceErrorMessage>
                                  <tns:code>26030</tns:code>
                                  <tns:message>JBO-26030: Failed to lock the record, another user holds the lock.</tns:message>
                                  <tns:severity>SEVERITY_ERROR</tns:severity>
                                  <tns:exceptionClassName>oracle.jbo.AlreadyLockedException</tns:exceptionClassName>
                             </tns:ServiceErrorMessage>
                        </part>
                   </ServiceException>
              </bpelFault>
         </fault>However when I dive into soa_server1-diagnostic.log I see the following exception:
    [2011-10-28T17:37:37.770+02:00] [soa_server1] [ERROR] [] [oracle.jbo.server.svc.ServiceJTATxnHandlerImpl] [tid: [ACTIVE].ExecuteThread: '8' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: <anonymous>] [ecid: a1484c49db38e963:-581f01fc:13345d7173d:-8000-00000000000322f4,0:1:0x5f5e2bf:33] [WEBSERVICE_PORT.name: ECMControllerSDOServiceSoapHttpPort] [APP: ECMControllerSDO] [composite_name: ECMProcessController] [component_name: ProcessControllerBPEL] [component_instance_id: 240335] [J2EE_MODULE.name: ECMControllerSDO] [WEBSERVICE.name: ECMControllerSDOService] [J2EE_APP.name: ECMControllerSDO] [[
    oracle.jbo.RowInconsistentException: JBO-25014: Another user has changed the row with primary key oracle.jbo.Key[CDS_20111028_8 ].
         at oracle.jbo.server.OracleSQLBuilderImpl.doEntitySelectForAltKey(OracleSQLBuilderImpl.java:1077)
         at oracle.jbo.server.BaseSQLBuilderImpl.doEntitySelect(BaseSQLBuilderImpl.java:553)
         at oracle.jbo.server.EntityImpl.doSelect(EntityImpl.java:8134)
         at oracle.jbo.server.EntityImpl.lock(EntityImpl.java:5863)
         at oracle.jbo.server.EntityImpl.beforePost(EntityImpl.java:6369)
         at oracle.jbo.server.EntityImpl.postChanges(EntityImpl.java:6551)
         at oracle.jbo.server.DBTransactionImpl.doPostTransactionListeners(DBTransactionImpl.java:3275)
         at oracle.jbo.server.DBTransactionImpl.postChanges(DBTransactionImpl.java:3078)
         at oracle.jbo.server.DBTransactionImpl.commitInternal(DBTransactionImpl.java:2088)
         at oracle.jbo.server.DBTransactionImpl.commit(DBTransactionImpl.java:2369)
         at oracle.jbo.server.DefaultJTATxnHandlerImpl.commit(DefaultJTATxnHandlerImpl.java:156)
         at oracle.jbo.server.svc.ServiceJTATxnHandlerImpl.commit(ServiceJTATxnHandlerImpl.java:216)
         at oracle.jbo.server.svc.ServiceJTATxnHandlerImpl.beforeCompletion(ServiceJTATxnHandlerImpl.java:124)
         at sun.reflect.GeneratedMethodAccessor2677.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.jbo.server.svc.WLSContextCrossAppProxy$WLSCrossAppProxy.invoke(WLSContextCrossAppProxy.java:66)
         at $Proxy377.beforeCompletion(Unknown Source)
         at weblogic.transaction.internal.ServerSCInfo.doBeforeCompletion(ServerSCInfo.java:1239)
         at weblogic.transaction.internal.ServerSCInfo.callBeforeCompletions(ServerSCInfo.java:1214)
         at weblogic.transaction.internal.ServerSCInfo.startPrePrepareAndChain(ServerSCInfo.java:116)
         at weblogic.transaction.internal.ServerTransactionImpl.localPrePrepareAndChain(ServerTransactionImpl.java:1316)
         at weblogic.transaction.internal.ServerTransactionImpl.globalPrePrepare(ServerTransactionImpl.java:2132)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:272)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:239)
         at weblogic.ejb.container.internal.BaseRemoteObject.postInvoke1(BaseRemoteObject.java:625)
         at weblogic.ejb.container.internal.StatelessRemoteObject.postInvoke1(StatelessRemoteObject.java:49)
         at weblogic.ejb.container.internal.BaseRemoteObject.__WL_postInvokeTxRetry(BaseRemoteObject.java:444)
         at weblogic.ejb.container.internal.SessionRemoteMethodInvoker.invoke(SessionRemoteMethodInvoker.java:53)
         at nl.kpn.ecm4crm.am.server.serviceinterface.ECMControllerSDOServiceImpl_51vl7y_ECMControllerSDOServiceImpl.updateBatches(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:85)
         at $Proxy373.updateBatches(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:355)
         at oracle.j2ee.ws.server.jaxws.ServiceEndpointRuntime.processMessage(ServiceEndpointRuntime.java:196)
         at oracle.j2ee.ws.server.jaxws.JAXWSRuntimeDelegate.processMessage(JAXWSRuntimeDelegate.java:479)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:1187)
         at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:1081)
         at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:581)
         at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:232)
         at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:192)
         at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:459)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.jbo.server.svc.ServiceContextFilter.doFilter(ServiceContextFilter.java:78)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)Thank you for reading, any directions suggestions on how to solve this will be highly appreciated.
    regards,
    Gerben

    Thanks Frank.
    Already tried that , please let me know if there is any other way to get this .
    This is being discussed here :
    Re: Update without No wait
    and i am following what John Stegeman has suggested.

Maybe you are looking for

  • Error while saving a document in BO 4.1

    Hi Experts I created a new report and publish it to one of our folders in BI 4.1 CMS. I got below error Any idea ?

  • Make ALV Layout selectable on selection screen

    Hi, Iu2019m trying to make the Layout of the ALV output of a report selectable. How can I generate the F4 help for the variable which Iu2019m using? Thanks Thomas Moderator message: this is quite basic ALV functionality, please search for available i

  • Status of the Background Job

    Hello Gurus, My requirement is that I am running a current program in the foreground mode .This program can be run in the background mode. In the program I need to check that whether the program is running is foreground mode.if yes then I need to fet

  • Name of Lockbox set in Remote Portlet Web Service?

    Using the ALUI 6.0 IDK API, does anybody know how to get the name of the Lockbox a Remote Portlet Web Service is using? Authentication Settings / Credential Vault Settings / Lockbox

  • What trigger Line Protocol Down?

    Hi, Recently I encountered a problem on "line protocol down" as I'd posted on 4th April. Could anyone direct me to any webpage or sites where there's a detail explaination of how & what would trigger a line protocol down. Or these kinda data-link fai