IBM Support

JR60053: YOU RECEIVE A SQLINTEGRITYCONSTRAINTVIOLATIONEXCEPTION WHILE CONVERTING A SERVICE IN THE WEB PROCESS DESIGNER

Subscribe to this APAR

By subscribing, you receive periodic emails alerting you to the status of the APAR, along with a link to the fix after it becomes available. You can track this item individually or track all items by product.

Notify me when this APAR changes.

Notify me when an APAR for this component changes.

Direct link to fix

 

APAR status

  • Closed as program error.

Error description

  • After you try to convert some services in the Service Conversion
    tab of the web IBM Process Designer, an Information message
    informs you that some of the services were not converted and
    suggests that you see the log for more details.
    
    Also, in the SystemOut.log file of one of the application
    servers in the cluster where IBM Business Process Manager (BPM)
    is deployed, you find a stack trace similar to the following
    stack trace, where the root cause is an exception of type
    com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException:
    
    [9/14/18 20:07:14:872 CEST] 000001a1 wle      E  CWLLG2229E: An
    exception occurred in an EJB call. Error:
    PreparedStatementCallback; SQL [insert into LSW_PROCESS_LINK
    (PROCESS_LINK_ID,VERSION_ID,NAME,DESCRIPTION,END_STATE_ID,GUID,L
    AST_MODIFIED,PROCESS_ID,FROM_PROCESS_ITEM_ID,TO_PROCESS_ITEM_ID,
    LAST_MODIFIED_BY_USER_ID,DATA) values
    (?,?,?,?,?,?,?,?,?,?,?,?)]; Error for batch element #8: DB2 SQL
    Error: SQLCODE=-545, SQLSTATE=23513,
    SQLERRMC=VIRTUSER.LSW_PROCESS_LINK.NAME, DRIVER=4.21.29; nested
    exception is
    com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException:
    Error for batch element #8: DB2 SQL Error: SQLCODE=-545,
    SQLSTATE=23513, SQLERRMC=VIRTUSER.LSW_PROCESS_LINK.NAME,
    DRIVER=4.21.29
    
    org.springframework.dao.DataIntegrityViolationException:
    PreparedStatementCallback; SQL [insert into LSW_PROCESS_LINK
    (PROCESS_LINK_ID,VERSION_ID,NAME,DESCRIPTION,END_STATE_ID,GUID,L
    AST_MODIFIED,PROCESS_ID,FROM_PROCESS_ITEM_ID,TO_PROCESS_ITEM_ID,
    LAST_MODIFIED_BY_USER_ID,DATA) values
    (?,?,?,?,?,?,?,?,?,?,?,?)]; Error for batch element #8: DB2 SQL
    Error: SQLCODE=-545, SQLSTATE=23513,
    SQLERRMC=VIRTUSER.LSW_PROCESS_LINK.NAME, DRIVER=4.21.29; nested
    exception is
    com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException:
    Error for batch element #8: DB2 SQL Error: SQLCODE=-545,
    SQLSTATE=23513, SQLERRMC=VIRTUSER.LSW_PROCESS_LINK.NAME,
    DRIVER=4.21.29
    at
    org.springframework.jdbc.support.SQLErrorCodeSQLExceptionTransla
    tor.doTranslate(SQLErrorCodeSQLExceptionTranslator.java:243)
    at
    org.springframework.jdbc.support.AbstractFallbackSQLExceptionTra
    nslator.translate(AbstractFallbackSQLExceptionTranslator.java:73
    )
    at
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.
    java:660)
    at
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.
    java:673)
    at
    com.lombardisoftware.utility.db.spring.BPMJdbcTemplate.execute(B
    PMJdbcTemplate.java:49)
    at
    com.lombardisoftware.server.ejb.persistence.dao.VersionedPODAO.d
    oInserts(VersionedPODAO.java:611)
    at
    com.lombardisoftware.server.ejb.persistence.dao.VersionedPODAO.s
    aveInternal(VersionedPODAO.java:600)
    ...
    at
    com.lombardisoftware.server.ejb.persistence.TWProcessPersistence
    Handler.save(TWProcessPersistenceHandler.java:41)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore.saveInternal(PersistenceServicesCore.java:465)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore.access$100(PersistenceServicesCore.java:76)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore$7.call(PersistenceServicesCore.java:440)
    at
    com.lombardisoftware.server.ejb.persistence.PersistenceServicesC
    ore$7.call(PersistenceServicesCore.java:434)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchMan
    ager$2.withWriteAccess(BranchManager.java:344)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchCon
    textImpl.writeAccessWithDBLock(BranchContextImpl.java:590)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchCon
    textImpl.writeAccessInTransaction(BranchContextImpl.java:510)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchCon
    textImpl.access$800(BranchContextImpl.java:70)
    at
    com.lombardisoftware.server.ejb.persistence.versioning.BranchCon
    textImpl$2.call(BranchContextImpl.java:450)
    at
    com.lombardisoftware.utility.spring.ProgrammaticTransactionSuppo
    rt$3.doInTransaction(ProgrammaticTransactionSupport.java:549)
    ...
    at
    com.lombardisoftware.client.delegate.common.WebsphereDelegateHel
    per.doAsCurrentSubjectContextSensitive(WebsphereDelegateHelper.j
    ava:225)
    at
    com.lombardisoftware.client.delegate.PersistenceServicesDelegate
    Default.save(PersistenceServicesDelegateDefault.java:457)
    at
    com.lombardisoftware.client.persistence.common.factorydelegate.V
    ersionedFactoryDelegate.save(VersionedFactoryDelegate.java:237)
    at
    com.lombardisoftware.client.persistence.common.AbstractVersioned
    POFactory.doSave(AbstractVersionedPOFactory.java:273)
    at
    com.lombardisoftware.client.persistence.AbstractLibraryPOFactory
    .save(AbstractLibraryPOFactory.java:38)
    at
    com.ibm.bpmsdk.tools.repo.client.RepositoryAccessHelper.convertS
    erviceCommon(RepositoryAccessHelper.java:3730)
    at
    com.ibm.bpmsdk.tools.repo.client.RepositoryAccessHelper.convertS
    ervice(RepositoryAccessHelper.java:3614)
    at
    com.ibm.bpmsdk.model.repository.facade.RepositoryAccessFactory.c
    onvertService(RepositoryAccessFactory.java:688)
    at
    com.ibm.bpmsdk.rest.pub.conversion.ConversionResource.convertSer
    vice(ConversionResource.java:886)
    ...
    at
    com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
    at
    com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHand
    ler.java:775)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1892)
    Caused by:
    com.ibm.db2.jcc.am.SqlIntegrityConstraintViolationException:
    Error for batch element #8: DB2 SQL Error: SQLCODE=-545,
    SQLSTATE=23513, SQLERRMC=VIRTUSER.LSW_PROCESS_LINK.NAME,
    DRIVER=4.21.29
    at com.ibm.db2.jcc.am.kd.a(kd.java:806)
    at com.ibm.db2.jcc.am.kd.a(kd.java:66)
    at com.ibm.db2.jcc.am.kd.a(kd.java:140)
    at com.ibm.db2.jcc.t4.bb.a(bb.java:574)
    at com.ibm.db2.jcc.t4.bb.a(bb.java:70)
    at com.ibm.db2.jcc.t4.p.a(p.java:57)
    at com.ibm.db2.jcc.t4.wb.a(wb.java:225)
    at com.ibm.db2.jcc.am.tp.a(tp.java:3573)
    at com.ibm.db2.jcc.am.tp.d(tp.java:5825)
    at com.ibm.db2.jcc.am.tp.a(tp.java:5259)
    at com.ibm.db2.jcc.am.tp.c(tp.java:4915)
    at com.ibm.db2.jcc.am.tp.executeBatch(tp.java:3048)
    at
    com.ibm.ws.rsadapter.jdbc.WSJdbcPreparedStatement.pmiExecuteBatc
    h(WSJdbcPreparedStatement.java:1145)
    at
    com.ibm.ws.rsadapter.jdbc.WSJdbcStatement.executeBatch(WSJdbcSta
    tement.java:855)
    at
    com.lombardisoftware.server.ejb.persistence.dao.VersionedPODAO$6
    .doInPreparedStatement(VersionedPODAO.java:628)
    at
    org.springframework.jdbc.core.JdbcTemplate.execute(JdbcTemplate.
    java:644)
    ... 167 more
    
    
    PRODUCTS AFFECTED
    IBM Business Process Manager
    IBM Business Automation Workflow
    

Local fix

  • Before performing the conversion, complete the following steps
    
    1) Open the affected service in the desktop Process Designer.
    2) Shorten the name of each activity at the end of a sequence
    flow that starts at a gateway. The name of this activity should
    be no more than 60 characters; the exact limit depends on the
    language.
    3) Save the service.
    4) Convert the saved service in the web Process Designer.
    

Problem summary

  • If a sequence flow starts at a gateway and ends at an activity,
    the service conversion concatenates the name of the sequence
    flow by including the target activity name. If the name of the
    target activity is long (close to 64 characters), the name of
    the sequence flow is too long to be stored in the database.
    

Problem conclusion

  • A fix will be included in a future release of IBM Business
    Automation Workflow that ensures that in a service flow names of
     sequence flows that start at a gateway and end at an activity
    are not assigned during the service conversion. The original
    names, as present in the heritage service, are kept instead.
    

Temporary fix

Comments

APAR Information

  • APAR number

    JR60053

  • Reported component name

    BPM

  • Reported component ID

    5737A5700

  • Reported release

    860

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2018-09-25

  • Closed date

    2018-10-02

  • Last modified date

    2018-10-02

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    BPM

  • Fixed component ID

    5737A5700

Applicable component levels

[{"Business Unit":{"code":"BU059","label":"IBM Software w\/o TPS"},"Product":{"code":"SSFPJS","label":"IBM Business Process Manager"},"Component":"","ARM Category":[],"Platform":[{"code":"PF025","label":"Platform Independent"}],"Version":"8.6.0.0","Edition":"","Line of Business":{"code":"LOB45","label":"Automation"}}]

Document Information

Modified date:
14 September 2022