Transaction Time out error in EJB while using Websphere Application Server.
Hi All,
I am using Websphere Application server and getting the transaction time out error. By default the transaction time out is 120 second. I am using session bean for doing a set of transaction. These set are dynamically generated. Is there any way to set the transaction time out for only this session bean to infinite ?
Thanks in advance
Vivek
Hi,
According to WAS 6 , every opened connection has to be commited (or rolledback) explicitly (didnt try autocommit) before closing. Even if all you have done with that connection is a SELECT Query.
This has apparently solved the same problem I was getting. implement it and see whether it helps you.
Similar Messages
-
Error in EJB running on WebSphere Application Server v6
Hi,
I am getting the following exception when a transaction ends in
Stateless Session EJB:
[8/4/05 13:04:00:396 CDT] 0000004d LocalTranCoor W WLTC0033W: Resource
imssDS rolled back in cleanup of LocalTransactionContainment.
[8/4/05 13:04:00:406 CDT] 0000004d LocalTranCoor W WLTC0032W: One or more
local transaction resources were rolled back during the cleanup of a
LocalTransactionContainment.
[8/4/05 13:04:00:456 CDT] 0000004d SystemOut O Error en el servlet:
CORBA TRANSACTION_ROLLEDBACK 0x0 No; nested exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK:
javax.transaction.TransactionRolledbackException: ; nested exception is:
com.ibm.websphere.csi.CSITransactionRolledbackException: vmcid: 0x0
minor code: 0 completed: No
[8/4/05 13:04:00:456 CDT] 0000004d SystemOut O terminaTransaccion().
Rollback
[8/4/05 13:04:00:456 CDT] 0000004d SystemOut O
javax.servlet.ServletException: CORBA TRANSACTION_ROLLEDBACK 0x0 No; nested
exception is:
org.omg.CORBA.TRANSACTION_ROLLEDBACK:
javax.transaction.TransactionRolledbackException: ; nested exception is:
com.ibm.websphere.csi.CSITransactionRolledbackException: vmcid: 0x0
minor code: 0 completed: No
at HClinicaPPServlet.service(HClinicaPPServlet.java:597)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1
212)
at
com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.
java:629)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2837)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:220)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:204)
at
com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:1681)
at
com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:77)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(Ht
tpInboundLink.java:421)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(Ht
tpInboundLink.java:367)
at
com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.j
ava:276)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscrimin
aters(NewConnectionInitialReadCallback.java:201)
at
com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewCon
nectionInitialReadCallback.java:103)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManage
r.java:548)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java
(Compiled Code))
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java
:934)
at
com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.jav
a:1021)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1332)The EJB is being invoked from a servlet. The servlet calls three methods
from the EJB, the first one initializes a database connection, the second
one executes a query against a SQL Server database and the third method
closes the connection. The exception occurs while calling the third method.
The EJB was working fine in WebSphere Application Server 4.0, but we are
helping this customer migrate to WebSphere Application Server 6, but this
error arised.
The EJB is defined as follows in the ejb-jar.xml deployment descriptor:
<session id="HistClinicaPP">
<ejb-name>HistClinicaPPEJB</ejb-name>
<home>HistoriaClinica.HistClinicaPPHome</home>
<remote>HistoriaClinica.HistClinicaPP</remote>
<ejb-class>HistoriaClinica.HistClinicaPPBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Bean</transaction-type>
<resource-ref id="ResourceRef_1123110667486">
<description>
</description>
<res-ref-name>imssDS</res-ref-name>
<res-type>javax.sql.DataSource</res-type>
<res-auth>Application</res-auth>
<res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>
</session>The ibm-ejb-jar-ext.xmi files contains the following:
<ejbExtensions xmi:type="ejbext:SessionExtension"
xmi:id="SessionExtension_1123174793374">
<enterpriseBean xmi:type="ejb:Session"
href="META-INF/ejb-jar.xml#HistClinicaPP"/>
<beanCache xmi:id="BeanCache_1123175678367" activateAt="ONCE"/>
<internationalization xmi:id="BeanInternationalization_1123175807173"
invocationLocale="CALLER"/>
<localTransaction xmi:id="LocalTransaction_1123174793374"
boundary="BeanMethod" resolver="Application" unresolvedAction="Rollback"/>
</ejbExtensions>I tried copying the configuration from WAS 4.0, the only piece of the 4.0.x
descriptor missing in the ext file is <structure>, since I couldn't find a
matching property in Rational Application Developer 6.0 for WAS 6.0. This is
what the ibm-ejb-jar-ext.xmi in WAS 4.0 contains for this bean:
<ejbExtensions xmi:type="ejbext:SessionExtension"
xmi:id="SessionExtension_17" timeout="600">
<enterpriseBean xmi:type="ejb:Session"
href="META-INF/ejb-jar.xml#Session_9"/>
<structure xmi:id="BeanStructure_17" inheritenceRoot="false"/>
<beanCache xmi:id="BeanCache_17" activateAt="ONCE"/>
<internationalization xmi:id="BeanInternationalization_17"
invocationLocale="CALLER"/>
<localTran xmi:id="LocalTran_17" boundary="BEAN_METHOD"
unresolvedAction="ROLLBACK"/>
</ejbExtensions>I am not an expert in EJBs, so I don't know how to correct this problem, any
help would be appreciated.
Thanks in advance,
Jorge GomezHi,
According to WAS 6 , every opened connection has to be commited (or rolledback) explicitly (didnt try autocommit) before closing. Even if all you have done with that connection is a SELECT Query.
This has apparently solved the same problem I was getting. implement it and see whether it helps you. -
Time out error in J1INQEFILE while generation ETDS file
hi,
when ever i am executing transaction J1INQEFILE. it giving Time out error. in dump folloeing message is coming.
Termination occurred in the ABAP program "J_1I_QER_EFILE" - in "MOVE_VENDOR".
The main program was "J_1I_QER_EFILE ".
In the source code you have the termination point in line 1410
of the (Include) program "J_1I_QER_EFILE_FETCH_DATA".
i checked in program. can you people tell me how to optimize this query after making this program as a Y program.so that this error can be avoided.
Thanks
SPHi Prateek,
Thanks for your replay. I am able to open the URL from XI/PI.
I tried by testing the same URL by using XI 3.0, its working fine and i am getting required data, but in PI 7.1 i am getting an error.
Error is:
In MONI:
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect
In RWB:
Message processing failed. Cause: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection timed out: connect
What could be the reason?
Regards,
Venu -
Getting error while configuring WebSphere application server in JDeveloper
Hi all,
I have installed Oracle Jdeveloper 11g(11.1.1.5.1) and WebSphere application server 7
I am trying to create New Application server as "WebSphere" and entered following information.
Host Name : wkstn90
SOAP Connector port: 8880
Server Name: server1
Target Node: wkstn90Node01
TargetCell: wkstn90Node01Cell
wsadmin script file location: C:\Program Files\IBM\WebSphere\AppServer\bin\wsadmin.bat
So once click on test connection it will comes up with following error,
Testing WsAdmin ... failed.
Could not connect to SOAP port 8880 using script C:\Program Files\IBM\WebSphere\AppServer\bin\wsadmin.bat.
Testing DeploymentConfig ... failed.
Cell wkstn90Node01Cell was not found on the WebSphere server.
Please help me how to resolve this issue. Any extra configuration am i need to carry out in WebSphere server.
Please let me know. Waiting for positive response.
By,
skHi,
Use the Deployment Manager Soap port not the Application Server port
Maddy -
Time out error in deploying the process on weblogic server
Hi,
While deploying the BPEL process in Weblogic 10.3.4, following Exception comes on soa server console. I am sure this is not related to my application, but due to this I am not able to deploy the process on server, it lead with connection time out. I increased my connection time out also to 480.
Exception:
<Jun 8, 2011 10:15:37 PM SGT> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '0' for
queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "634" seconds working on the reques
t "weblogic.servlet.internal.ServletRequestImpl@22ea883[
POST /soa-infra/deployer HTTP/1.1
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
Cookie2: $Version="1"
Accept-Encoding: gzip, x-gzip, compress, x-compress
ECID-Context:
Authorization: Basic d2VibG9naWM6d2VibG9naWMx
Cookie: JSESSIONID=JB0KNvdct5X1X5z02FhLDm8jVWjdvXB0chchkQhXpzQFGb9JlF8L!-186412258
Content-type: application/octet-stream
Content-Length: 14824044
]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-16 "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in
native, suspended, priority=1, DAEMON> {
jrockit.net.SocketNativeIO.readBytesPinned(SocketNativeIO.java:???)
jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:24)
java.net.SocketInputStream.socketRead0(SocketInputStream.java:???)
java.net.SocketInputStream.read(SocketInputStream.java:107)
oracle.net.nt.MetricsEnabledInputStream.read(TcpNTAdapter.java:707)
oracle.net.ns.Packet.receive(Packet.java:243)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:309)
oracle.net.ns.NetInputStream.read(NetInputStream.java:254)
oracle.net.ns.NetInputStream.read(NetInputStream.java:187)
oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:1
22)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:77)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1172)
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1153)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:303)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:181)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:382)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:70)
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1017)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1330)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3722)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3869)
^-- Holding lock: oracle.jdbc.driver.T4CConnection@d2596e[thin lock]
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.j
ava:1508)
weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:160)
oracle.mds.internal.persistence.db.platform.OracleDB.insertStreamedContent(OracleDB.java:890)
oracle.mds.internal.persistence.db.DBStreamedContentHelper.insertContent(DBStreamedContentHelper
.java:73)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:173
0)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:161
5)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocumentWithComment(BaseDBMSConnection
.java:1811)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocument(BaseDBMSConnection.java:1698)
oracle.mds.persistence.DelegatingMetadataStoreConnection.saveDocument(DelegatingMetadataStoreCon
nection.java:501)
oracle.mds.internal.persistence.BufferedMSConnection.saveDocument(BufferedMSConnection.java:545)
oracle.mds.persistence.PTransaction.saveStoreDocument(PTransaction.java:1314)
oracle.mds.persistence.PTransaction.saveDocument(PTransaction.java:824)
oracle.mds.internal.persistence.PersistenceUtils.createOrSaveDocument(PersistenceUtils.java:448)
oracle.mds.internal.transfer.InternalMDSTransfer.transferDocument(InternalMDSTransfer.java:3032)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnit(InternalMDSTransfer.java:2
897)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnitList(InternalMDSTransfer.ja
va:2828)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1341)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1263)
oracle.mds.internal.transfer.InternalMDSTransfer.transfer(InternalMDSTransfer.java:426)
oracle.integration.platform.blocks.deploy.servlet.MDSManager.transferCompositeData(MDSManager.ja
va:401)
oracle.integration.platform.blocks.deploy.servlet.BaseDeployProcessor.deploySARs(BaseDeployProce
ssor.java:116)
^-- Holding lock: java.lang.Object@6253346[thin lock]
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:122)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:107)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeploy(DeployProcessor.java:
96)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.process(DeployProcessor.java:6
8)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPostInsideLoggingSe
ssion(CompositeDeployerServlet.java:130)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPost(CompositeDeplo
yerServlet.java:109)
javax.servlet.http.HttpServlet.service(HttpServlet.java:700)
javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:22
4)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:206)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:86)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletCont
ext.java:3687)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.
java:3681)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:116)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2213)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2135)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1420)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:168)
>
<Jun 8, 2011 10:15:37 PM SGT> <Notice> <Diagnostics> <BEA-320068> <Watch 'StuckThread' with severity
'Notice' on server 'soa_server1' has triggered at Jun 8, 2011 10:15:37 PM SGT. Notification details
WatchRuleType: Log
WatchRule: (SEVERITY = 'Error') AND ((MSGID = 'WL-000337') OR (MSGID = 'BEA-000337'))
WatchData: DATE = Jun 8, 2011 10:15:37 PM SGT SERVER = soa_server1 MESSAGE = [STUCK] ExecuteThread:
'0' for queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "634" seconds working on th
e request "weblogic.servlet.internal.ServletRequestImpl@22ea883[
POST /soa-infra/deployer HTTP/1.1
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
Cookie2: $Version="1"
Accept-Encoding: gzip, x-gzip, compress, x-compress
ECID-Context:
Authorization: Basic d2VibG9naWM6d2VibG9naWMx
Cookie: JSESSIONID=JB0KNvdct5X1X5z02FhLDm8jVWjdvXB0chchkQhXpzQFGb9JlF8L!-186412258
Content-type: application/octet-stream
Content-Length: 14824044
]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-16 "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in
native, suspended, priority=1, DAEMON> {
jrockit.net.SocketNativeIO.readBytesPinned(SocketNativeIO.java:???)
jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:24)
java.net.SocketInputStream.socketRead0(SocketInputStream.java:???)
java.net.SocketInputStream.read(SocketInputStream.java:107)
oracle.net.nt.MetricsEnabledInputStream.read(TcpNTAdapter.java:707)
oracle.net.ns.Packet.receive(Packet.java:243)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:309)
oracle.net.ns.NetInputStream.read(NetInputStream.java:254)
oracle.net.ns.NetInputStream.read(NetInputStream.java:187)
oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:1
22)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:77)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1172)
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1153)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:303)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:181)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:382)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:70)
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1017)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1330)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3722)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3869)
^-- Holding lock: oracle.jdbc.driver.T4CConnection@d2596e[thin lock]
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.j
ava:1508)
weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:160)
oracle.mds.internal.persistence.db.platform.OracleDB.insertStreamedContent(OracleDB.java:890)
oracle.mds.internal.persistence.db.DBStreamedContentHelper.insertContent(DBStreamedContentHelper
.java:73)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:173
0)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:161
5)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocumentWithComment(BaseDBMSConnection
.java:1811)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocument(BaseDBMSConnection.java:1698)
oracle.mds.persistence.DelegatingMetadataStoreConnection.saveDocument(DelegatingMetadataStoreCon
nection.java:501)
oracle.mds.internal.persistence.BufferedMSConnection.saveDocument(BufferedMSConnection.java:545)
oracle.mds.persistence.PTransaction.saveStoreDocument(PTransaction.java:1314)
oracle.mds.persistence.PTransaction.saveDocument(PTransaction.java:824)
oracle.mds.internal.persistence.PersistenceUtils.createOrSaveDocument(PersistenceUtils.java:448)
oracle.mds.internal.transfer.InternalMDSTransfer.transferDocument(InternalMDSTransfer.java:3032)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnit(InternalMDSTransfer.java:2
897)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnitList(InternalMDSTransfer.ja
va:2828)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1341)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1263)
oracle.mds.internal.transfer.InternalMDSTransfer.transfer(InternalMDSTransfer.java:426)
oracle.integration.platform.blocks.deploy.servlet.MDSManager.transferCompositeData(MDSManager.ja
va:401)
oracle.integration.platform.blocks.deploy.servlet.BaseDeployProcessor.deploySARs(BaseDeployProce
ssor.java:116)
^-- Holding lock: java.lang.Object@6253346[thin lock]
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:122)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:107)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeploy(DeployProcessor.java:
96)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.process(DeployProcessor.java:6
8)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPostInsideLoggingSe
ssion(CompositeDeployerServlet.java:130)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPost(CompositeDeplo
yerServlet.java:109)
javax.servlet.http.HttpServlet.service(HttpServlet.java:700)
javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:22
4)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:206)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:86)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletCont
ext.java:3687)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.
java:3681)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:116)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2213)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2135)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1420)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:168)
SUBSYSTEM = WebLogicServer USERID = <WLS Kernel> SEVERITY = Error THREAD = [ACTIVE] ExecuteThread:
'5' for queue: 'weblogic.kernel.Default (self-tuning)' MSGID = BEA-000337 MACHINE = urasvr140 TXID =
CONTEXTID = da07387a98ce3972:315f7e44:1306f8b304d:-8000-0000000000000338 TIMESTAMP = 1307542537412
WatchAlarmType: AutomaticReset
WatchAlarmResetPeriod: 600000
>
<Jun 8, 2011 10:15:39 PM SGT> <Alert> <Diagnostics> <BEA-320016> <Creating diagnostic image in d:\or
acle\middleware\user_projects\domains\test_domain\servers\soa_server1\adr\diag\ofm\test_domain\soa_s
erver1\incident\incdir_54 with a lockout minute period of 1.>
<Jun 8, 2011 10:16:37 PM SGT> <Error> <WebLogicServer> <BEA-000337> <[STUCK] ExecuteThread: '0' for
queue: 'weblogic.kernel.Default (self-tuning)' has been busy for "694" seconds working on the reques
t "weblogic.servlet.internal.ServletRequestImpl@22ea883[
POST /soa-infra/deployer HTTP/1.1
Connection: TE
TE: trailers, deflate, gzip, compress
User-Agent: Oracle HTTPClient Version 10h
Cookie2: $Version="1"
Accept-Encoding: gzip, x-gzip, compress, x-compress
ECID-Context:
Authorization: Basic d2VibG9naWM6d2VibG9naWMx
Cookie: JSESSIONID=JB0KNvdct5X1X5z02FhLDm8jVWjdvXB0chchkQhXpzQFGb9JlF8L!-186412258
Content-type: application/octet-stream
Content-Length: 14824044
]", which is more than the configured time (StuckThreadMaxTime) of "600" seconds. Stack trace:
Thread-16 "[STUCK] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" <alive, in
native, suspended, priority=1, DAEMON> {
jrockit.net.SocketNativeIO.readBytesPinned(SocketNativeIO.java:???)
jrockit.net.SocketNativeIO.socketRead(SocketNativeIO.java:24)
java.net.SocketInputStream.socketRead0(SocketInputStream.java:???)
java.net.SocketInputStream.read(SocketInputStream.java:107)
oracle.net.nt.MetricsEnabledInputStream.read(TcpNTAdapter.java:707)
oracle.net.ns.Packet.receive(Packet.java:243)
oracle.net.ns.DataPacket.receive(DataPacket.java:106)
oracle.net.ns.NetInputStream.getNextPacket(NetInputStream.java:309)
oracle.net.ns.NetInputStream.read(NetInputStream.java:254)
oracle.net.ns.NetInputStream.read(NetInputStream.java:187)
oracle.net.ns.NetInputStream.read(NetInputStream.java:92)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.readNextPacket(T4CSocketInputStreamWrapper.java:1
22)
oracle.jdbc.driver.T4CSocketInputStreamWrapper.read(T4CSocketInputStreamWrapper.java:77)
oracle.jdbc.driver.T4CMAREngine.unmarshalUB1(T4CMAREngine.java:1172)
oracle.jdbc.driver.T4CMAREngine.unmarshalSB1(T4CMAREngine.java:1153)
oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:303)
oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:181)
oracle.jdbc.driver.T4C8Oall.doOALL(T4C8Oall.java:382)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:70)
oracle.jdbc.driver.T4CPreparedStatement.executeForRows(T4CPreparedStatement.java:1017)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1330)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:3722)
oracle.jdbc.driver.OraclePreparedStatement.executeUpdate(OraclePreparedStatement.java:3869)
^-- Holding lock: oracle.jdbc.driver.T4CConnection@d2596e[thin lock]
oracle.jdbc.driver.OraclePreparedStatementWrapper.executeUpdate(OraclePreparedStatementWrapper.j
ava:1508)
weblogic.jdbc.wrapper.PreparedStatement.executeUpdate(PreparedStatement.java:160)
oracle.mds.internal.persistence.db.platform.OracleDB.insertStreamedContent(OracleDB.java:890)
oracle.mds.internal.persistence.db.DBStreamedContentHelper.insertContent(DBStreamedContentHelper
.java:73)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:173
0)
oracle.mds.internal.persistence.db.BaseReposAccess.saveStreamedDocument(BaseReposAccess.java:161
5)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocumentWithComment(BaseDBMSConnection
.java:1811)
oracle.mds.internal.persistence.db.BaseDBMSConnection.saveDocument(BaseDBMSConnection.java:1698)
oracle.mds.persistence.DelegatingMetadataStoreConnection.saveDocument(DelegatingMetadataStoreCon
nection.java:501)
oracle.mds.internal.persistence.BufferedMSConnection.saveDocument(BufferedMSConnection.java:545)
oracle.mds.persistence.PTransaction.saveStoreDocument(PTransaction.java:1314)
oracle.mds.persistence.PTransaction.saveDocument(PTransaction.java:824)
oracle.mds.internal.persistence.PersistenceUtils.createOrSaveDocument(PersistenceUtils.java:448)
oracle.mds.internal.transfer.InternalMDSTransfer.transferDocument(InternalMDSTransfer.java:3032)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnit(InternalMDSTransfer.java:2
897)
oracle.mds.internal.transfer.InternalMDSTransfer.transferTransferUnitList(InternalMDSTransfer.ja
va:2828)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1341)
oracle.mds.internal.transfer.InternalMDSTransfer.execute(InternalMDSTransfer.java:1263)
oracle.mds.internal.transfer.InternalMDSTransfer.transfer(InternalMDSTransfer.java:426)
oracle.integration.platform.blocks.deploy.servlet.MDSManager.transferCompositeData(MDSManager.ja
va:401)
oracle.integration.platform.blocks.deploy.servlet.BaseDeployProcessor.deploySARs(BaseDeployProce
ssor.java:116)
^-- Holding lock: java.lang.Object@6253346[thin lock]
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:122)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeployWork(DeployProcessor.j
ava:107)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.doDeploy(DeployProcessor.java:
96)
oracle.integration.platform.blocks.deploy.servlet.DeployProcessor.process(DeployProcessor.java:6
8)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPostInsideLoggingSe
ssion(CompositeDeployerServlet.java:130)
oracle.integration.platform.blocks.deploy.servlet.CompositeDeployerServlet.doPost(CompositeDeplo
yerServlet.java:109)
javax.servlet.http.HttpServlet.service(HttpServlet.java:700)
javax.servlet.http.HttpServlet.service(HttpServlet.java:815)
weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:22
4)
weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:108)
weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:206)
weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:299)
oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:405)
oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:98)
oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:86)
weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:55)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletCont
ext.java:3687)
weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.
java:3681)
weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:308)
weblogic.security.service.SecurityManager.runAs(SecurityManager.java:116)
weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2213)
weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2135)
weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1420)
weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
weblogic.work.ExecuteThread.run(ExecuteThread.java:168)
>
Please tell me what this is related to and how can I overcome this problem.
Thanks..Have u tried by increasing the SyncMaxWaitTime property?
-chitrita -
Hi all,
We are facing a time out error uisng webdynpro.
The webdynpro application is mapped to the enterprise portal for the users.
When ever the users loads the application and first click on the link then again loads the application and click any link(as clicked previously) then the application returs time out error.
I am little confused as not known the error is a portal one or webdynpro error.
Requesting experts for a say on this.
thanksHi,
You can try this...
Re: TimeOut
Cheers,
Kris. -
Session time out in Websphere Application Server
Hi ,
I am using Websphere Application server 5.1 . I need to set the session time out for my web application. Actually, i edited the web.xml and set the value
<session-config>
<session-timeout>10</session-timeout>
</session-config>But when I am refreshing my jsp page, after 10-15 mts, i am able to get a valid page without any problem. Actually since the session time out is 10 mts , I should not get a valid page after 10 mts . I tried one more option for setting the session time out . I opened the admin console of my App server and set the session time out there too. But session not seems to be timing out after 10-15 mts. I am still able to get a valid jsp page. I have many session attributes in that page. So after 10 mts, i should not get a valid page.. I dont know, what's wrong in my configuration. If some body knows the answer please help me.
thanks in advance.
Aneesh KSo what you're trying to achieve is that the ui closes or becomes invalid if no action has been performed for a certain time? That should be easy enough, install a javax.swing.Timer somewhere in your application and set it to the time you desire. Whenever the user performs an action, invoke reset() on the timer (it's a fairly cheap operation). If the timer fires, you know the timeout occured.
You have to decide for yourself what you consider a 'user action' in this context. If you want the session to stay alive as long as the user is still doing something, just install an AWTEventListener, which can react to pretty much anything, mouse movement, keyboard input etc. -
Time Out Error while waiting for response from DB Procedure
Hi Gurus,
We are encountering a problem in our production environment. The system is implemented using AIA foundation pack 2.5 on SOA suite 10.1.3.4.
We have a BPEL process A which calls an ESB Service which inturn calls BPEL Process B. In process B, we have a DB procedure call which waits for a response from
a DB procedure. The procedure doesn't reply on time and Process B remains in waiting state to get the response from DB Procedure wherein Process A errors out by showing as "Timed Out Error".
This issue is intermittent and we have already increased transaction-time outs in transaction-manager.xml to 7200 and ejb-orion-jar.xml to 3600.
When we encountered this problem, we found out that there are too many connections open and when we bounced the server, everything was restored to nornal but as it is a production env. we can't do it over and over again.
We have 2 nodes each having max connections as 100 and min. as 0.
Is there a limit to max no. of connections or can we do something in DB side to ensure that it doesn't happen again ?
Please suggest.
Thanks,
Vikas ManchandaHi Anuj,
I don't think it is a problem with connection reaching to max numbers because this issue is coming on very intermittent basis.we don't have any other processes using
the same connection pool and this issue is coming even when there is no load on the server. This is recent trace from the production environment. Also i don't have any thing called "abandoned-connection-pool" in my data-sources.xml.
<2011-07-07 13:09:16,101> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "delivery": Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java:109)
at sun.reflect.GeneratedMethodAccessor113.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:592)
at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
at com.evermind.server.ThreadState.runAs(ThreadState.java:693)
at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
at DeliveryBean_RemoteProxy_4bin6i8.request(Unknown Source)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processNormalOperation(SOAPRequestProvider.java:451)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processBPELMessage(SOAPRequestProvider.java:274)
at com.collaxa.cube.ws.soap.oc4j.SOAPRequestProvider.processMessage(SOAPRequestProvider.java:120)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doEndpointProcessing(ProviderProcessor.java:956)
at oracle.j2ee.ws.server.WebServiceProcessor.invokeEndpointImplementation(WebServiceProcessor.java:349)
at oracle.j2ee.ws.server.provider.ProviderProcessor.doRequestProcessing(ProviderProcessor.java:466)
at oracle.j2ee.ws.server.WebServiceProcessor.processRequest(WebServiceProcessor.java:114)
at oracle.j2ee.ws.server.WebServiceProcessor.doService(WebServiceProcessor.java:96)
at oracle.j2ee.ws.server.WebServiceServlet.doPost(WebServiceServlet.java:194)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:64)
at oracle.security.jazn.oc4j.JAZNFilter$1.run(JAZNFilter.java:400)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAsPrivileged(Subject.java:517)
at oracle.security.jazn.oc4j.JAZNFilter.doFilter(JAZNFilter.java:414)
at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:623)
at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)
at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)
at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:313)
at com.evermind.server.http.AJPRequestHandler.run(AJPRequestHandler.java:199)
at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)
at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)
at java.lang.Thread.run(Thread.java:595)
Caused by: com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is null. Please check the process instance for detail.
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequestAnyType(DeliveryHandler.java:576)
at com.collaxa.cube.engine.delivery.DeliveryHandler.initialRequest(DeliveryHandler.java:465)
at com.collaxa.cube.engine.delivery.DeliveryHandler.request(DeliveryHandler.java:134)
at com.collaxa.cube.ejb.impl.DeliveryBean.request(DeliveryBean.java)
Please suggest.
Thanks,
Vikas Manchanda -
Time out error 1.6 million internal table fields are computed using FMs
Hi , All ...
The Report running fine in server with less 300 record but ...production server which has 1.6 million record it gives error as time-out error and takes hell amount of time.
Please suggest ugently ..
I have tried few things
Internal table having 1.6 lacs ... fields to compute .. i have token in a batch
loop at i_cinfo into s_cinfo from 1 to 100000.
and so on ...also applied all the performace related .. like indexs, work areas , deleting adjacent duplicates , for all entries ..wherever applicable.
Please Suggest .
Report is as below
REPORT ZUSOTCBD_CREDIT_REPORT .
TABLES : KNA1, " General Data Customer Master
KNB1, " Customer Master (Company Code)
KNC1, " Customer master (transaction figures)
KNKK, " Customer master credit management: Control area data
T009, " Fiscal Year Variants P
T009Y, " Shortened fiscal years in Asset Accounting P
T001, " Co. Codes
T001CM, " Permitted Credit Control Areas per Company Code
RF42B, " Structure to hold credit data.
RF035, " Structure to hold credit managment fields
RF02L, " Structure to hold credit data.
TRAS, " Interval for Days in Arrears P
T000CM. " Data for DSO calculation.
Types
TYPES:
BEGIN OF type_final,
string(50) TYPE c, " String Value for Title
END OF type_final.
data:wa_final TYPE type_final. " Work Area to hold Title Data
DATA: RASID TYPE RF035-RASID value 'R03N'. " For Days in interval
DATA: MONAT(2) TYPE N.
DATA: GJAHR TYPE KNC1-GJAHR.
DATA: LD_PERIODS(32) TYPE N
VALUE '01020304050607080910111213141516'.
DATA sytabix type sy-tabix.
DATA LAND TYPE KNA1-LAND1 VALUE 'US'. " Country Key
DATA: LD_PERIOD TYPE BSID-MONAT, " Fiscal Year Variant
LD_GJAHR TYPE KNC1-GJAHR,
LD_COUNTER TYPE SY-TABIX.
Internal Tables
Internal table to hold Title Data *
DATA:
i_final TYPE STANDARD TABLE OF type_final.
**Internal Table Permitted Credit Control Areas per Company Code
DATA: BEGIN OF TCMTAB OCCURS 10.
INCLUDE STRUCTURE T001CM.
DATA: END OF TCMTAB.
*Internal table to store Customer no.
DATA : BEGIN OF ICUST OCCURS 0,
KUNNR TYPE KNA1-KUNNR, " Customer No.
END OF ICUST.
DATA: BEGIN OF BUKTAB OCCURS 20,
KKBER LIKE T001-KKBER, " Credit Control Area
BUKRS LIKE T001-BUKRS, " Co. Code
WAERS LIKE T001-WAERS, " Currency
PERIV LIKE T001-PERIV, " Fiscal Year Variant
BUTXT LIKE T001-BUTXT,
END OF BUKTAB.
Internal Table to store Fiscal year Data .
DATA: BEGIN OF GJATAB OCCURS 5,
PERIV LIKE T001-PERIV, " Fiscal Year Variant
GJAHR LIKE KNC1-GJAHR, " Fiscal Year
MONAT LIKE T009-ANZBP, "
ANZBP LIKE T009-ANZBP, " Number of posting periods
END OF GJATAB.
*Main Output internal table to be used to store credit history Information
DATA : BEGIN OF I_CINFO occurs 0,
KUNNR TYPE KNB1-KUNNR, " Customer
KNKLI TYPE KNKK-KNKLI, " Customer's account number with credit limit reference
KKBER TYPE KNKK-KKBER, " Credit Control Area
CTLPC TYPE KNKK-CTLPC, " Risk Category
KLIMK TYPE KNKK-KLIMK, " Credit Limit
SBGRP TYPE KNKK-SBGRP, " Credit representative group for credit management
ERDAT TYPE KNKK-ERDAT, " Created On
DTREV TYPE KNKK-DTREV, " Last Internal Review
REVDB TYPE KNKK-REVDB, " Last External Review
SALDO TYPE RF42B-SALDO, " Balance
DSOIN TYPE RF02L-DSOIN, " DSO
H06SA TYPE RF035-H06SA, " Highest Balance at the end of 6 Months
H06JA TYPE RF035-H06JA, " Year highest Balance 6 Months
H06MO TYPE RF035-H06MO, " Month OF hihest Balance 6 Months
H12SA TYPE RF035-H12SA, " Highest Balance at the end of 12 Months
H12JA TYPE RF035-H12JA, " Year highest Balance 12 Months
H12MO TYPE RF035-H12MO, " Month OF hihest Balance 12 Months
UMP2U TYPE RF42B-UMP2U, " Sales from the current Year
UMP1U TYPE RF42B-UMP1U, " Sales from the Previous Year
SFAEL TYPE RF035-SFAEL, " Total Past Due Open Item
SFAE1 TYPE RF035-SFAE1, " Aging buckets 0-15
SFAE2 TYPE RF035-SFAE2, " Aging buckets 16-30
SFAE3 TYPE RF035-SFAE3, " Aging buckets 31-60
SFAE4 TYPE RF035-SFAE4, " Aging buckets 60-90
SFAE5 TYPE RF035-SFAE5, " Aging buckets Over 90
END Of I_CINFO.
DATA : BEGIN OF S_CINFO ,
KUNNR TYPE KNB1-KUNNR, " Customer
KNKLI TYPE KNKK-KNKLI, " Customer's account number with credit limit reference
KKBER TYPE KNKK-KKBER, " Credit Control Area
CTLPC TYPE KNKK-CTLPC, " Risk Category
KLIMK TYPE KNKK-KLIMK, " Credit Limit
SBGRP TYPE KNKK-SBGRP, " Credit representative group for credit management
ERDAT TYPE KNKK-ERDAT, " Created On
DTREV TYPE KNKK-DTREV, " Last Internal Review
REVDB TYPE KNKK-REVDB, " Last External Review
SALDO TYPE RF42B-SALDO, " Balance
DSOIN TYPE RF02L-DSOIN, " DSO
H06SA TYPE RF035-H06SA, " Highest Balance at the end of 6 Months
H06JA TYPE RF035-H06JA, " Year highest Balance 6 Months
H06MO TYPE RF035-H06MO, " Month OF hihest Balance 6 Months
H12SA TYPE RF035-H12SA, " Highest Balance at the end of 12 Months
H12JA TYPE RF035-H12JA, " Year highest Balance 12 Months
H12MO TYPE RF035-H12MO, " Month OF hihest Balance 12 Months
UMP2U TYPE RF42B-UMP2U, " Sales from the current Year
UMP1U TYPE RF42B-UMP1U, " Sales from the Previous Year
SFAEL TYPE RF035-SFAEL, " Total Past Due Open Item
SFAE1 TYPE RF035-SFAE1, " Aging buckets 0-15
SFAE2 TYPE RF035-SFAE2, " Aging buckets 16-30
SFAE3 TYPE RF035-SFAE3, " Aging buckets 31-60
SFAE4 TYPE RF035-SFAE4, " Aging buckets 60-90
SFAE5 TYPE RF035-SFAE5, " Aging buckets Over 90
END Of s_cinfo.
*Internal table to hold month-wise balance.
DATA: BEGIN OF SALTAB OCCURS 12,
LNUMM(2) TYPE N, " Month
SALDO LIKE RF42B-SALDO, " Balance
END OF SALTAB.
*Internal table used for computing the Balance fields
DATA: BEGIN OF SALDO,
UML01 LIKE KNC1-UM01S,
UML02 LIKE KNC1-UM01S,
UML03 LIKE KNC1-UM01S,
UML04 LIKE KNC1-UM01S,
UML05 LIKE KNC1-UM01S,
UML06 LIKE KNC1-UM01S,
UML07 LIKE KNC1-UM01S,
UML08 LIKE KNC1-UM01S,
UML09 LIKE KNC1-UM01S,
UML10 LIKE KNC1-UM01S,
UML11 LIKE KNC1-UM01S,
UML12 LIKE KNC1-UM01S,
END OF SALDO.
Structure to hold Bal fields ------ -------
DATA: BEGIN OF SKNKK,
KUNNR LIKE KNA1-KUNNR, " Customer Number 1: Debitor
KONTO LIKE KNKK-KUNNR,
SFAE1 LIKE RF035-SFAE1, " Aging buckets 0-15
SFAE2 LIKE RF035-SFAE2, " Aging buckets 16-30
SFAE3 LIKE RF035-SFAE3, " Aging buckets 30-60
SFAE4 LIKE RF035-SFAE4, " Aging buckets 60-90
SFAE5 LIKE RF035-SFAE5, " Aging buckets Over 90
SFAEL LIKE RF035-SFAEL, " Total Due of Items
UML01 LIKE KNC1-UM01S,
UML02 LIKE KNC1-UM01S,
UML03 LIKE KNC1-UM01S,
UML04 LIKE KNC1-UM01S,
UML05 LIKE KNC1-UM01S,
UML06 LIKE KNC1-UM01S,
UML07 LIKE KNC1-UM01S,
UML08 LIKE KNC1-UM01S,
UML09 LIKE KNC1-UM01S,
UML10 LIKE KNC1-UM01S,
UML11 LIKE KNC1-UM01S,
UML12 LIKE KNC1-UM01S,
UMP1U LIKE RF42B-UMP1U, " Sales from the Previous Year
UMP2U LIKE RF42B-UMP2U, " Sales from the current Year
SALDO LIKE RF42B-SALDO, " Balance
END OF SKNKK.
DATA : BEGIN OF ICUST1 OCCURS 0,
KUNNR TYPE KNA1-KUNNR, "For Customer Filter.
END OF ICUST1.
**Internal table to hold fiscal varriants
DATA: BEGIN OF LT_PERIODS OCCURS 12,
PERIOD LIKE BSID-MONAT,
GJAHR LIKE KNC1-GJAHR,
END OF LT_PERIODS.
**Constants
constants : BUKRS1 TYPE KNB1-BUKRS VALUE '1000',
BUKRS2 TYPE KNB1-BUKRS VALUE '1031',
Recs Type i value '200',
B_count type i value '2'.
INITIALIZATION
INITIALIZATION.
IF RASID IS INITIAL.
SELECT * FROM TRAS.
EXIT.
ENDSELECT.
IF SY-SUBRC = 0.
RASID = TRAS-RASID.
ENDIF.
ENDIF.
SELECTION-SCREEN
parameters : p_path type rlgrap-filename default 'C:\Documents and Settings\C890971\Desktop\Credit_history.XLS'.
Start of selection processing
START-OF-SELECTION.
**Get Customers for Co. Code 1000 & 1031.
PERFORM GET_CUST.
Get / Compute Credit Information data for Company Codes 1000 & 1031.
PERFORM GET_CREDIT_DATA.
End of selection processing
*END-OF-SELECTION.
Listing Credit History Data
PERFORM DOWNLOAD_CREDIT_DATA.
S U B R O U T I N E S
*& Form GET_CUST
text
--> p1 text
<-- p2 text
FORM GET_CUST .
Get US only Customers.
Refresh icust.
Select kunnr from kna1 appending table icust
where Land1 = land.
**Delete duplicate records
Delete Adjacent duplicates from icust comparing kunnr.
if icust[] is not initial.
Limit the selection some more to Co. Code 1000 & 1031
As join will cost overhead as compared.
Select kunnr from knb1 into table icust1
for all entries in icust
where kunnr = icust-kunnr
and bukrs = bukrs1
OR bukrs = bukrs2.
**Delete duplicate records
Delete Adjacent duplicates from icust1 comparing kunnr.
endif.
**Free memory.
Free icust.
Credit Control Area
select * from T001CM into table TCMTAB
where bukrs = bukrs1 OR
bukrs = bukrs2.
ENDFORM. " GET_CUST
*& Form GET_CREDIT_DATA
text
--> p1 text
<-- p2 text
FORM GET_CREDIT_DATA .
DATA : L_TEXT(60) TYPE C ,
Ltext1(50) type C value 'Computing Credit-History Data For',
Ltext2(10) type C value 'Customers',
L_PCT type i value '10',
L_recs type i,
l_batch_recs type i,
l_s_rec type i value 1,
l_recs1(7) type N.
***Fetch data from KNKK table
PERFORM GET_KNKK_DATA .
***Computing Crredit Fields
**Number of Customers For whom Deatils needed.
Describe table I_CINFO lines l_recs.
l_recs1 = l_recs.
Concatenate Ltext1 l_recs1 Ltext2 into l_text separated by ' '.
PERFORM GET_PGRESS_INDICATOR USING l_text l_pct.
***If records are more than 200000, should be processed batch-wise
If l_recs > recs.
l_batch_recs = abs( l_recs / b_count ).
Do b_count times.
loop at i_cinfo INTO S_CINFO from l_S_REC to l_batch_recs.
**Remember the row
sytabix = sy-tabix.
**Compute DSO
PERFORM GET_DSO_FIELD .
Compute rest credit history data.
PERFORM COMPUTE_SFIELDS.
endloop.
l_S_REC = l_S_REC + l_batch_recs.
l_batch_recs = l_batch_recs + l_batch_recs.
IF l_batch_recs ge l_recs.
l_batch_recs = l_recs.
eNDIF.
Commit up to here to release the DB locks.
Commit work.
enddo.
else.
loop at i_cinfo INTO S_CINFO.
**Remember the row
sytabix = sy-tabix.
**Compute DSO
PERFORM GET_DSO_FIELD .
Compute rest credit history data.
PERFORM COMPUTE_SFIELDS.
endloop.
Endif.
ENDFORM. " GET_CREDIT_DATA
*& Form GET_KNKK_DATA
text
-->P_ICUST_KUNNR text
FORM GET_KNKK_DATA .
if icust1[] is not initial.
SELECT KUNNR KNKLI KKBER CTLPC KLIMK
SBGRP ERDAT DTREV REVDB
from KNKK into corresponding fields of table I_Cinfo
for all entries in icust1
where kunnr = icust1-kunnr.
Delete Adjacent duplicates from i_cinfo comparing kunnr.
endif.
**Free Memory for internal table icust1.
Free icust1.
ENDFORM. " GET_KNKK_DATA
**& Form GET_DSO_FIELD
text
--> p1 text
<-- p2 text
FORM GET_DSO_FIELD .
***Determine DSO Parameter
PERFORM DSO_PARAMETER.
***Compute DSO
CALL FUNCTION 'CUSTOMER_DSO_CALCULATION'
EXPORTING
I_KKBER = s_cinfo-kkber
I_KUNNR = s_cinfo-kunnr
I_ANZBUPER = T000CM-DSOPP
I_XCHILDS = T000CM-DSOCH
I_ACTBALANCE = T000CM-DSOAB
IMPORTING
E_DSOIN = RF02L-DSOIN
EXCEPTIONS
ERROR_MESSAGE = 1.
ENDFORM. " GET_DSO_FIELD
*& Form DSO_PARAMETER
text
--> p1 text
<-- p2 text
FORM DSO_PARAMETER.
IF T000CM-DSOPP IS INITIAL.
SELECT SINGLE * FROM T000CM.
IF SY-SUBRC EQ 0.
IF T000CM-DSOPP IS INITIAL.
T000CM-DSOPP = '003'.
ENDIF.
ELSE.
T000CM-DSOPP = '003'.
T000CM-DSOCH = ' '.
T000CM-DSOAB = 'X'.
ENDIF.
ENDIF.
ENDFORM. " DSO_PARAMETER
--> p1 text
<-- p2 text
FORM PERIODE_ERMITTELN_EXC USING
P03_BUDAT LIKE SYST-DATUM
P03_GJAHR LIKE KNC1-GJAHR
P03_MONAT LIKE MONAT.
CALL FUNCTION 'FI_PERIOD_DETERMINE'
EXPORTING
I_BUDAT = P03_BUDAT
I_PERIV = T001-PERIV
I_BUKRS = T001-BUKRS
I_GJAHR = P03_GJAHR
I_MONAT = P03_MONAT
IMPORTING
E_GJAHR = P03_GJAHR
E_MONAT = P03_MONAT
EXCEPTIONS
ERROR_MESSAGE = 1.
ENDFORM. "PERIODE_ERMITTELN_EXC
*& Form COMPUTE_SFIELDS
text
--> p1 text
<-- p2 text
FORM COMPUTE_SFIELDS .
**Compute Balance
PERFORM GET_SFIELDS .
S_CINFO-DSOIN = RF02L-DSOIN.
S_CINFO-SALDO = RF035-SALDO.
S_CINFO-H06SA = RF035-H06SA.
S_CINFO-H06JA = RF035-H06JA.
S_CINFO-H06MO = RF035-H06MO.
S_CINFO-H12SA = RF035-H12SA.
S_CINFO-H12JA = RF035-H12JA.
S_CINFO-H12MO = RF035-H12MO.
S_CINFO-UMP2U = RF42B-UMP2U.
S_CINFO-UMP1U = RF42B-UMP1U.
S_CINFO-SFAEL = RF035-SFAEL.
S_CINFO-SFAE1 = RF035-SFAE1.
S_CINFO-SFAE2 = RF035-SFAE2.
S_CINFO-SFAE3 = RF035-SFAE3.
S_CINFO-SFAE4 = RF035-SFAE4.
S_CINFO-SFAE5 = RF035-SFAE5.
modify..
MODIFY I_CINFO FROM S_CINFO INDEX sytabix.
CLEAR: S_CINFO,RF035,RF02L, RF42B.
ENDFORM. " COMPUTE_SFIELDS
text
-->P_C_INFO_KUNNR text
FORM GET_CUST_BAL_INFO.
LOOP AT TCMTAB.
CALL FUNCTION 'FI_COMPANY_CODE_DATA'
EXPORTING
I_BUKRS = TCMTAB-BUKRS
IMPORTING
E_T001 = T001
EXCEPTIONS
ERROR_MESSAGE = 1.
IF SY-SUBRC = 0.
MOVE-CORRESPONDING T001 TO BUKTAB.
BUKTAB-KKBER = TCMTAB-KKBER.
COLLECT BUKTAB.
ENDIF.
ENDLOOP.
LOOP AT BUKTAB WHERE PERIV NE SPACE.
GJATAB-PERIV = BUKTAB-PERIV.
COLLECT GJATAB.
ENDLOOP.
CLEAR: MONAT.
LOOP AT GJATAB.
T001-PERIV = GJATAB-PERIV.
CLEAR: GJAHR, MONAT.
PERFORM PERIODE_ERMITTELN_EXC USING SY-DATLO GJAHR MONAT.
CHECK SY-SUBRC = 0.
GJATAB-GJAHR = GJAHR.
GJATAB-MONAT = MONAT.
SELECT SINGLE * FROM T009 WHERE PERIV = GJATAB-PERIV.
IF SY-SUBRC = 0.
GJATAB-ANZBP = T009-ANZBP.
ENDIF.
MODIFY GJATAB.
ENDLOOP.
LOOP AT BUKTAB.
CHECK NOT ( BUKTAB-PERIV IS INITIAL ).
READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
CHECK SY-SUBRC = 0
AND NOT ( GJATAB-GJAHR IS INITIAL ).
CALL FUNCTION 'CUSTOMER_BALANCE'
EXPORTING
KUNNR = S_cinfo-kunnr
BUKRS = BUKTAB-BUKRS
GJAHR = GJATAB-GJAHR
MONAT = GJATAB-MONAT
PERIV = GJATAB-PERIV
ANZBP = GJATAB-ANZBP
XH6MON = 'X'
XH12MON = 'X'
IMPORTING
UMP2U = RF42B-UMP2U
VMP2U = RF42B-UMP1U
SALDO = RF035-SALDO
UML01 = SALDO-UML01
UML02 = SALDO-UML02
UML03 = SALDO-UML03
UML04 = SALDO-UML04
UML05 = SALDO-UML05
UML06 = SALDO-UML06
UML07 = SALDO-UML07
UML08 = SALDO-UML08
UML09 = SALDO-UML09
UML10 = SALDO-UML10
UML11 = SALDO-UML11
UML12 = SALDO-UML12
EXCEPTIONS
NO_BALANCE = 4.
IF SY-SUBRC = 0.
SKNKK-UMP1U = SKNKK-UMP1U + RF42B-UMP1U.
SKNKK-UMP2U = SKNKK-UMP2U + RF42B-UMP2U.
SKNKK-SALDO = SKNKK-SALDO + RF035-SALDO.
SKNKK-UML01 = SKNKK-UML01 + SALDO-UML01.
SKNKK-UML02 = SKNKK-UML02 + SALDO-UML02.
SKNKK-UML03 = SKNKK-UML03 + SALDO-UML03.
SKNKK-UML04 = SKNKK-UML04 + SALDO-UML04.
SKNKK-UML05 = SKNKK-UML05 + SALDO-UML05.
SKNKK-UML06 = SKNKK-UML06 + SALDO-UML06.
SKNKK-UML07 = SKNKK-UML07 + SALDO-UML07.
SKNKK-UML08 = SKNKK-UML08 + SALDO-UML08.
SKNKK-UML09 = SKNKK-UML09 + SALDO-UML09.
SKNKK-UML10 = SKNKK-UML10 + SALDO-UML10.
SKNKK-UML11 = SKNKK-UML11 + SALDO-UML11.
SKNKK-UML12 = SKNKK-UML12 + SALDO-UML12.
ENDIF.
ENDLOOP.
ENDFORM. "
*& Form GET_SFIELDS
text
--> p1 text
<-- p2 text
FORM GET_SFIELDS .
sknkk-kunnr = S_CINFO-KUNNR.
**Clear target to store computed values
CLEAR: RF035.
**Compute Balance fields
PERFORM GET_CUST_BAL_INFO.
REFRESH: SALTAB.
SALTAB-LNUMM = '01'. SALTAB-SALDO = SKNKK-UML01. APPEND SALTAB.
SALTAB-LNUMM = '02'. SALTAB-SALDO = SKNKK-UML02. APPEND SALTAB.
SALTAB-LNUMM = '03'. SALTAB-SALDO = SKNKK-UML03. APPEND SALTAB.
SALTAB-LNUMM = '04'. SALTAB-SALDO = SKNKK-UML04. APPEND SALTAB.
SALTAB-LNUMM = '05'. SALTAB-SALDO = SKNKK-UML05. APPEND SALTAB.
SALTAB-LNUMM = '06'. SALTAB-SALDO = SKNKK-UML06. APPEND SALTAB.
SALTAB-LNUMM = '07'. SALTAB-SALDO = SKNKK-UML07. APPEND SALTAB.
SALTAB-LNUMM = '08'. SALTAB-SALDO = SKNKK-UML08. APPEND SALTAB.
SALTAB-LNUMM = '09'. SALTAB-SALDO = SKNKK-UML09. APPEND SALTAB.
SALTAB-LNUMM = '10'. SALTAB-SALDO = SKNKK-UML10. APPEND SALTAB.
SALTAB-LNUMM = '11'. SALTAB-SALDO = SKNKK-UML11. APPEND SALTAB.
SALTAB-LNUMM = '12'. SALTAB-SALDO = SKNKK-UML12. APPEND SALTAB.
READ TABLE SALTAB INDEX 1.
RF035-H06SA = SALTAB-SALDO.
RF035-H06MO = SALTAB-LNUMM.
RF035-H12SA = SALTAB-SALDO.
RF035-H12MO = SALTAB-LNUMM.
------ SALTAB ---------------------------------------------
LOOP AT SALTAB.
IF SALTAB-SALDO > RF035-H06SA
AND SY-TABIX < 7.
RF035-H06SA = SALTAB-SALDO.
RF035-H06MO = SALTAB-LNUMM.
ENDIF.
IF SALTAB-SALDO > RF035-H12SA
AND SY-TABIX < 13.
RF035-H12SA = SALTAB-SALDO.
RF035-H12MO = SALTAB-LNUMM.
ENDIF.
ENDLOOP.
------ Period--------------------
REFRESH LT_PERIODS.
CLEAR LD_COUNTER.
READ TABLE BUKTAB INDEX 1.
IF SY-SUBRC = 0.
READ TABLE GJATAB WITH KEY BUKTAB-PERIV.
DO GJATAB-MONAT TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
LT_PERIODS-GJAHR = GJATAB-GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
LD_COUNTER = LD_COUNTER + 1.
APPEND LT_PERIODS.
ENDDO.
IF LD_COUNTER LT 12.
LD_GJAHR = GJATAB-GJAHR - 1.
CLEAR T009Y.
SELECT SINGLE * FROM T009Y WHERE PERIV = GJATAB-PERIV
AND GJAHR = LD_GJAHR.
DO GJATAB-ANZBP TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
IF T009Y-ANZBP > 0.
CHECK SY-INDEX <= T009Y-ANZBP.
ENDIF.
LD_COUNTER = LD_COUNTER + 1.
LT_PERIODS-GJAHR = LD_GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
APPEND LT_PERIODS.
ENDDO.
ENDIF.
IF LD_COUNTER LT 12.
LD_GJAHR = LD_GJAHR - 1.
DO GJATAB-ANZBP TIMES
VARYING LD_PERIOD FROM LD_PERIODS(2) NEXT LD_PERIODS+2(2)
RANGE LD_PERIODS.
LD_COUNTER = LD_COUNTER + 1.
LT_PERIODS-GJAHR = LD_GJAHR.
LT_PERIODS-PERIOD = LD_PERIOD.
APPEND LT_PERIODS.
ENDDO.
ENDIF.
SORT LT_PERIODS BY GJAHR ASCENDING PERIOD ASCENDING.
LD_COUNTER = LD_COUNTER - 12.
DO LD_COUNTER TIMES.
DELETE LT_PERIODS INDEX 1.
ENDDO.
SORT LT_PERIODS BY GJAHR DESCENDING PERIOD DESCENDING.
READ TABLE LT_PERIODS INDEX RF035-H06MO.
RF035-H06MO = LT_PERIODS-PERIOD.
RF035-H06JA = LT_PERIODS-GJAHR.
READ TABLE LT_PERIODS INDEX RF035-H12MO.
RF035-H12MO = LT_PERIODS-PERIOD.
RF035-H12JA = LT_PERIODS-GJAHR.
ENDIF.
**Compute Due Dates fields
PERFORM GET_AGING_BUCKETS .
RF035-SFAE1 = SKNKK-SFAE1.
RF035-SFAE2 = SKNKK-SFAE2.
RF035-SFAE3 = SKNKK-SFAE3.
RF035-SFAE4 = SKNKK-SFAE4 .
RF035-SFAE5 = SKNKK-SFAE5.
ENDLOOP.
ENDFORM. " GET_BALANCE_SFIELDS
*& Form GET_AGING_BUCKETS
text
--> p1 text
<-- p2 text
FORM GET_AGING_BUCKETS .
DATA: BEGIN OF LT_BUKRS OCCURS 0,
BUKRS LIKE T001-BUKRS,
END OF LT_BUKRS.
DATA: BEGIN OF LT_BUKTAB OCCURS 0,
BUKRS LIKE T001-BUKRS,
WAERS LIKE T001-WAERS,
KKBER LIKE T014-KKBER,
END OF LT_BUKTAB.
DATA: LD_LINES LIKE SY-TABIX.
*...performance optimization: for more than one company codes check....*
*...if balances exist and avoid selection of open items, if they don't.*
*...exist..............................................................*
REFRESH LT_BUKRS.
REFRESH LT_BUKTAB.
DESCRIBE TABLE BUKTAB LINES LD_LINES.
IF LD_LINES GT 1.
SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
OF TABLE LT_BUKRS
FROM KNC1 FOR ALL ENTRIES IN BUKTAB
WHERE BUKRS = BUKTAB-BUKRS AND
KUNNR = Sknkk-KUNNR.
SELECT DISTINCT BUKRS APPENDING CORRESPONDING FIELDS
OF TABLE LT_BUKRS
FROM KNC3 FOR ALL ENTRIES IN BUKTAB
WHERE BUKRS = BUKTAB-BUKRS AND
KUNNR = Sknkk-KUNNR.
SORT LT_BUKRS.
DELETE ADJACENT DUPLICATES FROM LT_BUKRS.
LOOP AT LT_BUKRS.
LOOP AT BUKTAB WHERE BUKRS = LT_BUKRS-BUKRS.
MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
APPEND LT_BUKTAB.
ENDLOOP.
ENDLOOP.
ELSE.
READ TABLE BUKTAB INDEX 1.
MOVE-CORRESPONDING BUKTAB TO LT_BUKTAB.
APPEND LT_BUKTAB.
ENDIF.
*...process company codes for customer given by interface..........*
LOOP AT LT_BUKTAB WHERE KKBER = s_cinfo-KKBER.
CALL FUNCTION 'CUSTOMER_DUE_DATE_ANALYSIS'
EXPORTING BUKRS = LT_BUKTAB-BUKRS
KKBER = ' '
KKBER = s_cinfo-KKBER
KUNNR = Sknkk-KUNNR
RASID = RASID
IMPORTING SFAE1 = RF035-SFAE1
SFAE2 = RF035-SFAE2
SFAE3 = RF035-SFAE3
SFAE4 = RF035-SFAE4
SFAE5 = RF035-SFAE5
SFAEL = RF035-SFAEL
EXCEPTIONS NO_OPEN_ITEMS = 4.
IF SY-SUBRC = 0.
*-- RF035 -
SKNKK-SFAE1 = SKNKK-SFAE1 + RF035-SFAE1.
SKNKK-SFAE2 = SKNKK-SFAE2 + RF035-SFAE2.
SKNKK-SFAE3 = SKNKK-SFAE3 + RF035-SFAE3.
SKNKK-SFAE4 = SKNKK-SFAE4 + RF035-SFAE4.
SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
SKNKK-SFAE5 = SKNKK-SFAE5 + RF035-SFAE5.
SKNKK-SFAEL = SKNKK-SFAEL + RF035-SFAEL.
ENDIF.
ENDLOOP.
ENDFORM. " GET_AGING_BUCKETS
*& Form header
This Subroutine gets data for displaying title *
There are no interface parameters to be passed to this subroutine. *
FORM header .
wa_final-string = text-000. APPEND wa_final TO i_final.
wa_final-string = text-001. APPEND wa_final TO i_final.
wa_final-string = text-002. APPEND wa_final TO i_final.
wa_final-string = text-003. APPEND wa_final TO i_final.
wa_final-string = text-004. APPEND wa_final TO i_final.
wa_final-string = text-005. APPEND wa_final TO i_final.
wa_final-string = text-006. APPEND wa_final TO i_final.
wa_final-string = text-007. APPEND wa_final TO i_final.
wa_final-string = text-008. APPEND wa_final TO i_final.
wa_final-string = text-009. APPEND wa_final TO i_final.
wa_final-string = text-010. APPEND wa_final TO i_final.
wa_final-string = text-011. APPEND wa_final TO i_final.
wa_final-string = text-012. APPEND wa_final TO i_final.
wa_final-string = text-013. APPEND wa_final TO i_final.
wa_final-string = text-014. APPEND wa_final TO i_final.
wa_final-string = text-015. APPEND wa_final TO i_final.
wa_final-string = text-016. APPEND wa_final TO i_final.
wa_final-string = text-017. APPEND wa_final TO i_final.
wa_final-string = text-018. APPEND wa_final TO i_final.
wa_final-string = text-019. APPEND wa_final TO i_final.
wa_final-string = text-020. APPEND wa_final TO i_final.
wa_final-string = text-021. APPEND wa_final TO i_final.
wa_final-string = text-022. APPEND wa_final TO i_final.
wa_final-string = text-023. APPEND wa_final TO i_final.
wa_final-string = text-024. APPEND wa_final TO i_final.
ENDFORM. " header
*& Form DOWNLOADCREDITDATA
text
-->P_P_PATH text
FORM DOWNLOADCREDITDATA USING P_PATH.
DATA:
lw_file2 TYPE string . " File Path
lw_file2 = p_PATH.
CALL FUNCTION 'GUI_DOWNLOAD'
EXPORTING
BIN_FILESIZE = BIN_FILESIZE
filename = lw_file2
filetype = 'DBF'
APPEND = ' '
write_field_separator = ' '
HEADER = '00'
TRUNC_TRAILING_BLANKS = 'X'
WRITE_LF = 'X'
COL_SELECT = 'X'
COL_SELECT_MASK = ' '
DAT_MODE = 'X'
CONFIRM_OVERWRITE = ' '
NO_AUTH_CHECK = ' '
CODEPAGE = ' '
IGNORE_CERR = ABAP_TRUE
REPLACEMENT = '#'
WRITE_BOM = ' '
TRUNC_TRAILING_BLANKS_EOL = 'X'
WK1_N_FORMAT = '0'
WK1_N_SIZE = ' '
WK1_T_FORMAT = ' '
WK1_T_SIZE = ' '
IMPORTING
FILELENGTH = FILELENGTH
TABLES
data_tab = I_CINFO
fieldnames = i_final
EXCEPTIONS
file_write_error = 1
no_batch = 2
gui_refuse_filetransfer = 3
invalid_type = 4
no_authority = 5
unknown_error = 6
header_not_allowed = 7
separator_not_allowed = 8
filesize_not_allowed = 9
header_too_long = 10
dp_error_create = 11
dp_error_send = 12
dp_error_write = 13
unknown_dp_error = 14
access_denied = 15
dp_out_of_memory = 16
disk_full = 17
dp_timeout = 18
file_not_found = 19
dataprovider_exception = 20
control_flush_error = 21
IF sy-subrc <> 0.
Messege
ENDIF. " IF sy-subrc EQ 0
ENDFORM. " DOWNLOADCREDITDATA
*& Form DOWNLOAD_CREDIT_DATA
text
--> p1 text
<-- p2 text
FORM DOWNLOAD_CREDIT_DATA .
PERFORM HEADER.
PERFORM DOWNLOADCREDITDATA USING P_PATH.
ENDFORM. " DOWNLOAD_CREDIT_DATA
*& Form GET_PGRESS_INDICATOR
text
-->P_L_TEXT text
-->P_L_PCT text
FORM GET_PGRESS_INDICATOR USING L_TEXT
L_PCT.
CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
EXPORTING
PERCENTAGE = l_pct
TEXT = l_TEXT.
ENDFORM. " GET_PGRESS_INDICATORIf you are just Downloading to a Flat file then why dont you have logic in place for the program to dump the data read into the file to that point depending on any criteria like accounts or customer then clear the internal table and run it in the back ground.
try to use cursor to read the records from the table which will make it a bit more efficient than plain select stement. -
Time Out error in deploying EJB in Sun's application server
I am facing the problem of time out error in sun's application server when deploy tool and application server is running in the same system. can any one solve my problem
Hi,
How big is your EJB application? i.e. how many EJBs do you have?
Would you please try to deploy your application using the command line tool "asadmin" and see if it is also hanging? This will help us to tell if the deployment process that is hanging or the deploytool itself that is hanging. The "asadmin" tool is located under $INSTALL_HOME/bin.
Thanks,
Q^2 -
Transaction time out for an single ejb
Hi,
I have one ejb which need to run for long time.
Did a quick search on the forum and find out that you can modify data-source.xml and server.xml to increase the time out period.
But this is a "global" setting which will affect all the ejbs in the application.
Is there a setting where only one ejb's transaction time-out can be specified?
Thanks in advance!
YoungWhat is the exact error code? I.e. the ORA-nnnn error code.
It is not possible to diagnose a problem if the actual problem is not known. Responders are guessing at what the problem is and offering solutions.. and these could be very far of the mark. -
WIH 00013 time out error while viewing a BO Web intelligence report
Hi,
I have a BO web intelligence report. While viewing the report i get WIH 00013 time out error. I have another report with everything same as this one except for one filter condition. That is working fine but former is giving me an error.
I tried changing the timeout values to 120 minutes from 90 minutes in connection server setting but didn't work.
Also when i run the same report by scheduling it in CMC and format as PDF, then it works fine. This error only comes when i try to view the report directly from infoview.
Please let me know if there is any other way to resolve.
Thanks!
Edited by: Satya Suma on Mar 9, 2011 1:31 PM
Edited by: Satya Suma on Mar 9, 2011 2:00 PMHi Suma,
These links may be helpful to you:
WIH00013 - Invalid Session
WIH 00013: Invalid session
All the Best,
Madhu.... -
Time out error while running the FR report on Workspace
Hi,
We are working on Hyperion system 9.3.1 financial reporting with Essbase as a data source.
We have built a report, which has many computation, conditional formatting, suppression condtion.Report has around 100 columns.
Now when we are try to open this report on workspace, report is throwing the "Server time out" error meassage. error meassage is-
"The requested item could not be loaded by thr proxy. Timed out".
Reports are opening fine with less data or if essbase cube doesn't have any data.
Please suggest us on this issue. Do we need to set any setting at Essbase level or workspace level or any other way.
Any help will be appriciated.
Thanks & Regards,
Mohit JainI would suggest by saying that 100 columns seems quite a lot, you mention there are many computation columns, these should be pushed back onto the server to calculate.
We have also experienced issues where reports we pulling back lots of columns that were dynamically calculated.
To narrow down the actual problem you can try the following, the see if the report runs with the change, if not continue with the next steps:
- remove all formatting from the spreadsheet;
- remove all calculations from the spreadsheet;
- see if the report can be built more efficiently, by moving items to Grid POV or using same as, or reordering dimensions in inverse outline order;
If it still doesn't run, then try removing columns until it can run.
Cheers, Iain -
TIME-OUT error in BSAK select query(Progress Indicator is also used)
Hi,
In my report program one select query is there on BSAK table, which is as follows --
SELECT BUKRS
BELNR
GJAHR
SHKZG
BSCHL
UMSKZ
LIFNR
EBELN
EBELP
WRBTR
DMBTR
XZAHL
REBZG
AUGBL
BLART
AUFNR
AUGDT
BUZEI FROM BSAK
INTO TABLE IT_BSAK
FOR ALL ENTRIES IN IT_BKPF1
WHERE BUKRS = IT_BKPF1-BUKRS
AND AUGDT = IT_BKPF1-BUDAT
AND AUGBL = IT_BKPF1-BELNR
AND BSCHL IN ('31' , '29', '26', '39', '25').
I used Progress Indicator befor running this query and after this query also. But still It's giving me TIME-OUT error in this select query only.
I run the same query for 10 records in IT_BKPF1 table, it runs perfectly. But when I run it for 1000 records it giving dump.
And in actual bussiness my records are always more than 100 only.
I also check the indexing. It having secondary indexing on this BUKRS, AUGDT, AUGBL fields. Then also it's giving error.
so, How can I solve this dump..?? What could be the reason..??
Thanks in advance...!!
Regards,
Poonam.Hi Poonam Patil,
Try to provide BELNR and GJAHR in where condition...
BKPF-DBBLG ==> BSAK-BELNR
Also check
BKPF-BLDAT ==> BSAK-AUGDT
Check out above relation...
If data is there in these fields of the table and both are matching then you can pass it and as they are in primary key of BSAK it will improve the performance...
Hope it will solve your problem..
Thanks & Regards
ilesh 24x7
ilesh Nandaniya -
Time out error while fetching records from table BKPF
Hi,
I am fetching records from table BKPF using BUKRS & AWKEY in where clause. Query is as follows:
SELECT BELNR XBLNR AWKEY
FROM BKPF
INTO TABLE L_I_BKPF_TEMP
PACKAGE SIZE 500
WHERE BUKRS LIKE L_C_EG
AND AWKEY IN L_R_AWKEY .
APPEND LINES OF L_I_BKPF_TEMP TO I_BKPF .
ENDSELECT .
Program is giving time out error. There are 25628 records in range L_R_AWKEY , i m fetching 500 records at a time using PACKAGE SIZE. But the execution of prog stops on this query.
Please suggest something to overcome this problem.Hi
Rui is right,
if you need to get the data by operation parameters u have to use the fields AWTYP and AWKEY.
In this selection u can omit the company code.
SELECT BELNR XBLNR AWKEY FROM BKPF
INTO TABLE L_I_BKPF_TEMP
PACKAGE SIZE 500
WHERE AWTYP = <......> "<------------
AND AWKEY IN L_R_AWKEY .
APPEND LINES OF L_I_BKPF_TEMP TO I_BKPF .
ENDSELECT .
Max
Maybe you are looking for
-
Version of SQL Server for Windows Embedded 8.1 Industry
Can someone please confirm categorically what version, if any, of SQL Server 2012 will work satisfactorily on Windows Embedded 8.1 Industry? Also is there a SQL Server 2012 Embedded version?
-
Iphone stuck on 'plug into itunes' symbol - even after hard reboot
Deciding to update my iphone 3G with the most current version release, my computer 'blue screened' while putting the updates on the iphone. Now my computer does not recognise any operating system (not good!) and my iphone (even after hard reboot) doe
-
I own Photoshop 5.5 (on disc). My computer has no CD drive. I want to install it...but can't find a download. How can I get this on my computer?
-
I can't open photo transfer from icon
I purchased the photo transfer app but it won't open from the icon on the desktop
-
Quality loss when exporting to quicktime (no conversion)
i'm trying to export a fully rendered project in final cut pro (6.0.2). i'm using the option i always used: "export -> quicktime movie..." (not "using quicktime conversion") the idea was to convert the movie later to h.264 (using the quicktime pro pl