Adding a Catch or CatchAll Branch splits transactions?
Hi,
I have a BPEL flow that has to Invokes that insert data into two different tables. If I add a catch or Catch All Branch it will split the transactions so that if one fails the other one doesn't get rolled back. Why is that?
Flow:
1. Insert Data into Table1...Invoke1....This one is successful.
2. Insert Data into Table2...Invoke2...This one fails.
If I have a catch or catchall Table1 Insert isn't rolled back.
Also, unless it is a CatchAll I don't see the catch branch even be fired?
Any thoughts?
S
Hi,
<b> Best Practice Guide says: </b>
In the 10.1.3.3.0 version (and I suppose in later versions as well) of the database adapter, the TopLink layer has been changed to not mark the transaction for rollback if the integrity of the transaction has not been compromised. For example, if a single insertion fails, the transaction is not marked for rollback. However, if in a sequence of two inserts, the first one succeeds but the second fails, the transaction is rolled back because not doing so breaks the TopLink unit-of-work concept.Looks like same thing is happening here.
Also, worth-checking is whether both the invokes participate in the same global transaction or not. And, is there any commit issued between the two invokes (which would cause the two invokes to be in different transaction scope)?
You can also do the following:
In catch branch, try throwing rollback fault explicitly and check the behaviour. I think it should work.
Regds,
http://www.ibiztrack.com
http://www.ibiztrack.com/html/oraclel-soa11g-bpel-esb-training.html
Similar Messages
-
Error handling via CatchAll and JTA transaction error.
Hi
soa 10.1.3.5.0
I have created a test BPEL process where i am updating already completed Human task. I know it's wrong and i am doing it purposely to test error handling mechanism.
In the same BPEL I added a Catch all handler hoping that this will catch the error and will let me complete the process.
However BPEL is failing in the Catch All scope with lovely error: JTA transaction is not present or the transaction is not in active state.
Does anybody know how and why humantask update activity suddenly changes jta transaction state? Any thoughts of how i can catch the error in the situation i described and process it gracefully?
Thanks for your help!
piece from domain.log starting from the place where task service failing to update already completed human task.
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of .
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*>
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3600)
<2013-10-10 17:01:00,520> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3557)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcomeAndEvaluateRoutingSlip(TaskService.java:1139)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:1006)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.updateTaskOutcome(TaskService.java:985)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.ejb.TaskServiceBean.updateTaskOutcome(TaskServiceBean.java:409)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at java.lang.reflect.Method.invoke(Method.java:597)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
<2013-10-10 17:01:00,521> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
<2013-10-10 17:01:00,522> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at TaskServiceBean_LocalProxy_68d4144.updateTaskOutcome(Unknown Source)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.client.TaskServiceLocalClient.updateTaskOutcome(TaskServiceLocalClient.java:678)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskServiceWSIF.updateTaskOutcome(TaskServiceWSIF.java:580)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at java.lang.reflect.Method.invoke(Method.java:597)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ws.wsif.providers.java.WSIFOperation_Java.executeRequestResponseOperation(WSIFOperation_Java.java:1019)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ws.WSIFInvocationHandler.invoke(WSIFInvocationHandler.java:480)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ws.WSInvocationManager.invoke2(WSInvocationManager.java:538)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ws.WSInvocationManager.invoke(WSInvocationManager.java:286)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__invoke(BPELInvokeWMP.java:832)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.ext.wmp.BPELInvokeWMP.__executeStatements(BPELInvokeWMP.java:413)
<2013-10-10 17:01:00,523> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:200)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:4326)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1839)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:77)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:240)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:345)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6460)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
<2013-10-10 17:01:00,524> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at java.lang.reflect.Method.invoke(Method.java:597)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.joinpoint.EJBJoinPointImpl.invoke(EJBJoinPointImpl.java:35)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.JAASInterceptor$1.run(JAASInterceptor.java:31)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ThreadState.runAs(ThreadState.java:705)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.JAASInterceptor.invoke(JAASInterceptor.java:34)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.TxRequiredInterceptor.invoke(TxRequiredInterceptor.java:50)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.system.DMSInterceptor.invoke(DMSInterceptor.java:52)
<2013-10-10 17:01:00,525> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at com.evermind.server.ejb.StatelessSessionEJBObject.OC4J_invokeMethod(StatelessSessionEJBObject.java:87)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> at java.lang.Thread.run(Thread.java:662)
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> at oracle.bpel.services.workflow.task.impl.TaskService.performPreActionValidation(TaskService.java:3592)
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> ... 71 more
<2013-10-10 17:01:00,562> <ERROR> <services.collaxa.cube.engine> The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information.
<2013-10-10 17:01:00,571> <WARN> <services.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "activity manager": Failed due to unhandled bpel fault.
<2013-10-10 17:01:00,584> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
ORABPEL-02182
JTA transaction is not present or the transaction is not in active state.
The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
Please consult your administrator regarding this error.
at com.collaxa.cube.engine.CubeEngine.store(CubeEngine.java:6176)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:6482)
at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2267)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:185)
at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:156)
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 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:705)
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 ActivityManagerBean_LocalProxy_4bin6i8.expireActivity(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:150)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)
<2013-10-10 17:01:00,585> <ERROR> <services.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> Not fatal connection error ... not retrying: class com.collaxa.cube.engine.UnhandledFaultException: Failed due to unhandled bpel fault.
<2013-10-10 17:01:00,593> <ERROR> <services.collaxa.cube.engine.dispatch> <BaseDispatchTask::run> Failed to handle dispatch message ... exception ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
Please consult your administrator regarding this error.
ORABPEL-05002
Message handle error.
An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: JTA transaction is not present or the transaction is not in active state.
The current JTA transaction is not present or it is not in active state when processing activity or instance "390,003". The reason is The execution of this instance "390003" for process "MY_BPEL_PROCESS" is supposed to be in a jta transaction, but the transaction is not present or in active state, please turn on the application server transaction debug logs to get more information..
Please consult your administrator regarding this error.
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:226)
at com.collaxa.cube.engine.dispatch.BaseDispatchTask.run(BaseDispatchTask.java:58)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:662)If you look at the error, it suggests that the action you are performing is invalid.That is you cannot update human task which has been already completed. Thats why you are getting that "JTA transaction not active error". Since your human task has already been completed, it is not able to update it again.
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Caused by: ORABPEL-30036
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*>
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Invalid action on workflow task.
<2013-10-10 17:01:00,526> <ERROR> <services.collaxa.cube.services> <*::*> Action OUTCOME_UPDATE on task 11d1def534ea1be0:65540537:141a4173a84:-7fa1 is not valid because of The task has been completed..
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*> Contact oracle support if error is not fixable.
<2013-10-10 17:01:00,527> <ERROR> <services.collaxa.cube.services> <*::*>
May be you can try some other usecase ? Also could you let me know whether you are getting this error in logs only or in your composite instance as well. I mean whether the instance gets successfully terminated or completed ??
Regards,
Karan -
How To Perform Lot Split Transactions Using Transaction Open Interface (MTI)
Can anyone give me some guidance on how to perform lot split transaction using MTI?
I am using the following code:
DECLARE
l_transaction_type_id NUMBER := 83;
l_transaction_action_id NUMBER := 41;
l_transaction_source_type_id NUMBER := 13;
l_org_id NUMBER := 1884;
l_txn_header_id NUMBER;
l_txn_if_id1 NUMBER;
l_txn_if_id2 NUMBER;
l_txn_if_id3 NUMBER;
l_parent_id NUMBER;
l_sysdate DATE;
l_item_id NUMBER :=287996;
l_user_id NUMBER;
l_distribution_account_id NUMBER;
l_exp_date DATE;
BEGIN
--For Lot Merge, there should be only one resultant lot.
--The transaction_quantity populated in MTI/MTLI should be the entire
--quantity that is available to transact for the org/sub/item/locator/LPN in
--that particular lot number.
--Get transaction_header_id for all the MTIs
SELECT APPS.mtl_material_transactions_s.NEXTVAL
INTO l_txn_header_id
FROM sys.dual;
--Get transaction_interface_id of resultant record
SELECT APPS.mtl_material_transactions_s.NEXTVAL
INTO l_txn_if_id1
FROM sys.dual;
l_parent_id := l_txn_if_id1;
l_sysdate := SYSDATE;
l_user_id := -1; --substitute with a valid user_id
l_distribution_account_id := NULL; --needed for lot translate
l_exp_date := NULL; --set if required
--Populate the MTI record for resultant record
INSERT INTO MTL_TRANSACTIONS_INTERFACE
transaction_interface_id,
transaction_header_id,
Source_Code,
Source_Line_Id,
Source_Header_Id,
Process_flag,
Transaction_Mode,
Lock_Flag,
Inventory_Item_Id,
revision,
Organization_id,
Subinventory_Code,
Locator_Id,
Transaction_Type_Id,
Transaction_Source_Type_Id,
Transaction_Action_Id,
Transaction_Quantity,
Transaction_UOM,
Primary_Quantity,
Transaction_Date,
Last_Update_Date,
Last_Updated_By,
Creation_Date,
Created_By,
distribution_account_id,
parent_id,
transaction_batch_id,
transaction_batch_seq,
lpn_id,
transfer_lpn_id
VALUES
l_txn_if_id1, --transaction_header_id
l_txn_header_id, --transaction_interface_id
'INV', --source_code
-1, --source_header_id
-1, --source_line_id
1, --process_flag
3, --transaction_mode
2, --lock_flag
l_item_id, --inventory_item_id
null, --revision
l_org_id, --organization_id
'EACH', --subinventory_code
1198, --locator_id
l_transaction_type_id, --transaction_type_id
l_transaction_source_type_id, --transaction_source_type_id
l_transaction_action_Id, --l_transaction_action_id
100000, --transaction_quantity
'EA', --transaction_uom
100000, --primary_quantity
l_sysdate, --Transaction_Date
l_sysdate, --Last_Update_Date
l_user_id, --Last_Updated_by
l_sysdate, --Creation_Date
l_user_id, --Created_by
l_distribution_account_id, --distribution_account_id
l_parent_id, --parent_id
l_txn_header_id, --transaction_batch_id
2, --transaction_batch_seq
NULL, --lpn_id (for source MTI)
NULL --transfer_lpn_id (for resultant MTIs)
--Insert MTLI corresponding to the resultant MTI record
INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE(
transaction_interface_id
, Source_Code
, Source_Line_Id
, Process_Flag
, Last_Update_Date
, Last_Updated_By
, Creation_Date
, Created_By
, Lot_Number
, lot_expiration_date
, Transaction_Quantity
, Primary_Quantity
VALUES (
l_txn_if_id1 --transaction_interface_id
, 'INV' --Source_Code
, -1 --Source_Line_Id
, 'Y' --Process_Flag
, l_sysdate --Last_Update_Date
, l_user_id --Last_Updated_by
, l_sysdate --Creation_date
, l_user_id --Created_By
, 'Q0000.1' --Lot_Number
, l_exp_date --Lot_Expiration_Date
, 100000 --transaction_quantity
, 100000 --primary_quantity
INSERT INTO MTL_TRANSACTIONS_INTERFACE
transaction_interface_id,
transaction_header_id,
Source_Code,
Source_Line_Id,
Source_Header_Id,
Process_flag,
Transaction_Mode,
Lock_Flag,
Inventory_Item_Id,
revision,
Organization_id,
Subinventory_Code,
Locator_Id,
Transaction_Type_Id,
Transaction_Source_Type_Id,
Transaction_Action_Id,
Transaction_Quantity,
Transaction_UOM,
Primary_Quantity,
Transaction_Date,
Last_Update_Date,
Last_Updated_By,
Creation_Date,
Created_By,
distribution_account_id,
parent_id,
transaction_batch_id,
transaction_batch_seq,
lpn_id,
transfer_lpn_id
VALUES
l_txn_if_id1, --transaction_header_id
l_txn_header_id, --transaction_interface_id
'INV', --source_code
-1, --source_header_id
-1, --source_line_id
1, --process_flag
3, --transaction_mode
2, --lock_flag
l_item_id, --inventory_item_id
null, --revision
l_org_id, --organization_id
'EACH', --subinventory_code
1198, --locator_id
l_transaction_type_id, --transaction_type_id
l_transaction_source_type_id, --transaction_source_type_id
l_transaction_action_Id, --l_transaction_action_id
100000, --transaction_quantity
'EA', --transaction_uom
100000, --primary_quantity
l_sysdate, --Transaction_Date
l_sysdate, --Last_Update_Date
l_user_id, --Last_Updated_by
l_sysdate, --Creation_Date
l_user_id, --Created_by
l_distribution_account_id, --distribution_account_id
l_parent_id, --parent_id
l_txn_header_id, --transaction_batch_id
3, --transaction_batch_seq
NULL, --lpn_id (for source MTI)
NULL --transfer_lpn_id (for resultant MTIs)
--Insert MTLI corresponding to the resultant MTI record
INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE(
transaction_interface_id
, Source_Code
, Source_Line_Id
, Process_Flag
, Last_Update_Date
, Last_Updated_By
, Creation_Date
, Created_By
, Lot_Number
, lot_expiration_date
, Transaction_Quantity
, Primary_Quantity
VALUES (
l_txn_if_id1 --transaction_interface_id
, 'INV' --Source_Code
, -1 --Source_Line_Id
, 'Y' --Process_Flag
, l_sysdate --Last_Update_Date
, l_user_id --Last_Updated_by
, l_sysdate --Creation_date
, l_user_id --Created_By
, 'Q0000.1' --Lot_Number
, l_exp_date --Lot_Expiration_Date
, 100000 --transaction_quantity
, 100000 --primary_quantity
--Get transaction_interface_id of Source record-1
SELECT APPS.mtl_material_transactions_s.NEXTVAL
INTO l_txn_if_id2
FROM sys.dual;
--Populate the MTI record for Source record-1
INSERT INTO MTL_TRANSACTIONS_INTERFACE
transaction_interface_id,
transaction_header_id,
Source_Code,
Source_Line_Id,
Source_Header_Id,
Process_flag,
Transaction_Mode,
Lock_Flag,
Inventory_Item_Id,
revision,
Organization_id,
Subinventory_Code,
Locator_Id,
Transaction_Type_Id,
Transaction_Source_Type_Id,
Transaction_Action_Id,
Transaction_Quantity,
Transaction_UOM,
Primary_Quantity,
Transaction_Date,
Last_Update_Date,
Last_Updated_By,
Creation_Date,
Created_By,
distribution_account_id,
parent_id,
transaction_batch_id,
transaction_batch_seq,
lpn_id,
transfer_lpn_id
VALUES
l_txn_if_id2, --transaction_header_id
l_txn_header_id, --transaction_interface_id
'INV', --source_code
-1, --source_header_id
-1, --source_line_id
1, --process_flag
3, --transaction_mode
2, --lock_flag
l_item_id, --inventory_item_id
null, --revision
l_org_id, --organization_id
'EACH', --subinventory_code
1198, --locator_id
l_transaction_type_id, --transaction_type_id
l_transaction_source_type_id, --transaction_source_type_id
l_transaction_action_Id, --transaction_action_id
-200000, --transaction_quantity
'EA', --transaction_uom
-200000, --primary_quantity
l_sysdate, --Transaction_Date
l_sysdate, --Last_Update_Date
l_user_id, --Last_Updated_by
l_sysdate, --Creation_Date
l_user_id, --Created_by
l_distribution_account_id, --distribution_account_id
l_parent_id, --parent_id
l_txn_header_id, --transaction_batch_id
1, --transaction_batch_seq
NULL, --lpn_id (for source MTI)
NULL --transfer_lpn_id (for resultant MTIs)
--Insert MTLI corresponding to the Source record-1
INSERT INTO MTL_TRANSACTION_LOTS_INTERFACE(
transaction_interface_id
, Source_Code
, Source_Line_Id
, Process_Flag
, Last_Update_Date
, Last_Updated_By
, Creation_Date
, Created_By
, Lot_Number
, lot_expiration_date
, Transaction_Quantity
, Primary_Quantity
VALUES (
l_txn_if_id2 --transaction_interface_id
, 'INV' --Source_Code
, -1 --Source_Line_Id
, 'Y' --Process_Flag
, l_sysdate --Last_Update_Date
, l_user_id --Last_Updated_by
, l_sysdate --Creation_date
, l_user_id --Created_By
, 'Q0000' --Lot_Number
, l_exp_date --Lot_Expiration_Date
, -200000 --transaction_quantity
, -200000 --primary_quantity
END;the first MTI record should be the source record ...ie. it should have transaction quantity as negative.
new set of MTI records should have positive transaction quantities.
Also ensure that sum of transaction quantities for the set should be 0...
What is the error that you are getting?
Thanks,
Hrishi. -
How to get details about Exception catched in Exception branch of the Block
Hello Experts,
Is it possible to get details about Exception catched in Exception branch of the Block in Integration Process (BPM)?
In the Exception branch System Error is catched, but from time to time different type of System Errors are happening during sync call to WebService - Connection Timeout, Connection Refused, UnknownHost, etc.
So the task is somehow to map the type of System Error to the response. I was trying to create a mapping using as source the message which is coming from the Adapter after the sync call, but the mapping is failing with "No Source Payload" error.
Maybe the description is somewhere in Header or Dynamic configuration?
Or it is possible to access it somehow with JAVA-maping?
Thanks for your help!Hey,
the message from the exception can be utilized by using alerts(in order to mail,sms r fax). but otherwise its not possible using mappings or container.
check this link for alert configuration.
/people/michal.krawczyk2/blog/2005/09/09/xi-alerts--step-by-step -
Revision: 638
Author: [email protected]
Date: 2008-02-23 14:46:04 -0800 (Sat, 23 Feb 2008)
Log Message:
opensource: added scripts to setup per-branch build environments: setup.sh; renamed setup.txt to README.txt.
Added Paths:
flex/sdk/branches/3.0.x/README.txt
flex/sdk/branches/3.0.x/setup.sh
flex/sdk/trunk/README.txt
flex/sdk/trunk/setup.sh
Removed Paths:
flex/sdk/branches/3.0.x/setup.txt
flex/sdk/trunk/setup.txtRevision: 638
Author: [email protected]
Date: 2008-02-23 14:46:04 -0800 (Sat, 23 Feb 2008)
Log Message:
opensource: added scripts to setup per-branch build environments: setup.sh; renamed setup.txt to README.txt.
Added Paths:
flex/sdk/branches/3.0.x/README.txt
flex/sdk/branches/3.0.x/setup.sh
flex/sdk/trunk/README.txt
flex/sdk/trunk/setup.sh
Removed Paths:
flex/sdk/branches/3.0.x/setup.txt
flex/sdk/trunk/setup.txt -
Adding Data to the database for SAP Transactions
Hi
I'm new to the whole ABAP. I would like to enquire about adding transaction data in SAP through ABAP but it must be immediate.
I know that one can use a BAPI to add data and can rollback if any problems occur.
But if no BAPI exists how does one write code to add a document to the SAP database but with everything SAP transaction requires like the BAPI. What is the process and how???
So let say I wanted to do FB01 which is SAP FI document and must be immediate. There is a BAPI that exists for it but if there was not one how would I do this???
I know one can also use BDC but that creates a batch and then needs to be executed in SM35, I want a way to add data for two or three SAP transactions, if any problems occur with any of the steps rollback everything else commit everything to the database.
Any simple detail examples (code) that satisfy the above will be greatly appreciated and REWARDED.
Thanks in advanceLuis,
i have a code exactly same BDC for FB01.
refer:
REPORT z_etching_fb01
NO STANDARD PAGE HEADING LINE-SIZE 255.
*etching invoice load
INCLUDE bdcrecx1.
TYPE-POOLS: truxs , slis.
*PARAMETERS: dataset(132) LOWER CASE DEFAULT
* 'c:\temp\etchingload.txt'.
PARAMETER: pfile LIKE rlgrap-filename." OBLIGATORY.
SELECTION-SCREEN BEGIN OF BLOCK a WITH FRAME TITLE text-001.
PARAMETER: p_kunnr LIKE kna1-kunnr OBLIGATORY, "kna1-kunnr
p_bukrs LIKE bseg-bukrs,
p_mwskz LIKE t007a-mwskz OBLIGATORY,"t007a-mwskz
p_prctr LIKE cepc-prctr OBLIGATORY,"cepc-prctr
* p_newko LIKE ska1-saknr OBLIGATORY DEFAULT 41000000,"
p_budat LIKE bkpf-budat OBLIGATORY ,
p_hkont LIKE bseg-hkont OBLIGATORY DEFAULT 41000000 ,
p_waers TYPE waers OBLIGATORY DEFAULT 'GBP'."tcurr-waers
SELECTION-SCREEN END OF BLOCK a.
SELECTION-SCREEN BEGIN OF BLOCK b WITH FRAME TITLE text-002.
PARAMETER : report AS CHECKBOX DEFAULT 'X'.
SELECTION-SCREEN END OF BLOCK b.
*** DO NOT CHANGE - the generated data section - DO NOT CHANGE ***
* If it is nessesary to change the data section use the rules:
* 1.) Each definition of a field exists of two lines
* 2.) The first line shows exactly the comment
* '* data element: ' followed with the data element
* which describes the field.
* If you don't have a data element use the
* comment without a data element name
* 3.) The second line shows the fieldname of the
* structure, the fieldname must consist of
* a fieldname and optional the character '_' and
* three numbers and the field length in brackets
* 4.) Each field must be type C.
*** Generated data section with specific formatting - DO NOT CHANGE ***
* ALV *
DATA: it_fieldcat TYPE slis_t_fieldcat_alv,
wa_fieldcat LIKE LINE OF it_fieldcat,
it_top_of_page TYPE slis_t_listheader,
ls_layout TYPE slis_layout_alv,
gt_events TYPE slis_t_event.
DATA: it_raw TYPE truxs_t_text_data.
DATA: BEGIN OF record,
* data element: BLDAT
bldat_001(010), "Invoice Date
* data element: BLART
blart_002(002), " Doc Type DR or DG if credit
* data element: BUKRS
bukrs_003(004), " Company Code
* data element: BUDAT
budat_004(010), "Posting Date
* data element: MONAT
monat_005(002), "period"
* data element: WAERS
waers_006(005), "Currency
* data element: XBLNR1
xblnr_007(016), "Invoice Number
* data element: BKTXT
bktxt_008(025), "PO number
* data element: SAEOBJART
docid_009(010),
* data element: NEWBS
newbs_010(002), "posting Key
* data element: NEWKO
newko_011(017), "Customer number or GL account
* data element: WRBTR
wrbtr_012(016), "Amount
* data element: DZTERM
zterm_013(004),
* data element: DZBD1T
zbd1t_014(003),
* data element: DZFBDT
zfbdt_015(010),
* data element: DZUONR
zuonr_016(018), "Invoice Number
* data element: SGTXT
sgtxt_017(050), " PO number
* data element: NEWBS
newbs_018(002),
* data element: NEWKO
newko_019(017), "GL Account
* data element: WRBTR
wrbtr_020(016), "Amount
* data element: MWSKZ
mwskz_021(002), "Tax
* data element: DZUONR
zuonr_022(018), "Invoice Number
* data element: SGTXT
sgtxt_023(050), "PO Number
* data element: PRCTR
prctr_024(010), "Profit Center
* data element: WRBTR
wrbtr_025(016), " Amount
* data element: MWSKZ
mwskz_026(002), "Tax
* data element: DZUONR
zuonr_027(018), "Invoice Number
* data element: SGTXT
sgtxt_028(050), "PO Number
* data element: FMORE
fmore_029(001),
* data element: PRCTR
prctr_030(010), "Pr Center
* data element: FWSTE
fwste_01_031(016),
END OF record.
DATA: BEGIN OF it_excel OCCURS 0,
* data element: XBLNR1
xblnr_007(016), "Invoice Number
* data element: BLDAT
bldat_001(010), "Invoice Date
* data element: WRBTR
wrbtr_012(016), "Amount
* data element: WRBTR
wrbtr_025(016), " Tax Amount
* data element: WRBTR
wrbtr_020(016), "Gross Amount
* data element: BLART
blart_002(002), " No of units
* data element: MONAT
monat_005(002), "No of units second test"
* data element: BKTXT
bktxt_008(025), "PO number
* data element: SGTXT
sgtxt_017(050), " PO number
* data element: BUKRS
bukrs_003(004), " Company Code
* data element: BUDAT
budat_004(010), "Posting Date
* budat_004 TYPE string, "Posting Date
* data element: WAERS
waers_006(005), "Currency*
* data element: NEWKO
newko_011(017), "Customer number or GL account
* data element : kunnr
kunnr_019(010), " customer
mwskz(002),
prctr(010),
date(002),
month(002),
** data element: BKTXT
* bktxt_008(025), "PO number
** data element: SAEOBJART
* docid_009(010),
** data element: NEWBS
* newbs_010(002), "posting Key
** data element: DZTERM
* zterm_013(004),
** data element: DZBD1T
* zbd1t_014(003),
** data element: DZFBDT
* zfbdt_015(010),
** data element: DZUONR
* zuonr_016(018), "Invoice Number
** data element: NEWBS
* newbs_018(002),
** data element: NEWKO
* newko_019(017), "GL Account
** data element: MWSKZ
* mwskz_021(002), "Tax
** data element: DZUONR
* zuonr_022(018), "Invoice Number
** data element: SGTXT
* sgtxt_023(050), "PO Number
** data element: PRCTR
* prctr_024(010), "Profit Center
** data element: MWSKZ
* mwskz_026(002), "Tax
** data element: DZUONR
* zuonr_027(018), "Invoice Number
** data element: SGTXT
* sgtxt_028(050), "PO Number
** data element: FMORE
* fmore_029(001),
** data element: PRCTR
* prctr_030(010), "Pr Center
** data element: FWSTE
* fwste_01_031(016),
END OF it_excel.
DATA : BEGIN OF it_bkpf OCCURS 0,
belnr LIKE bkpf-belnr,
budat LIKE bkpf-budat,
bldat LIKE bkpf-bldat,
xblnr LIKE bkpf-xblnr,
bktxt LIKE bkpf-bktxt,
total LIKE bseg-dmbtr,
numdocs TYPE p DECIMALS 0,
END OF it_bkpf,
BEGIN OF it_bseg OCCURS 0,
belnr LIKE bseg-belnr,
dmbtr LIKE bseg-dmbtr,
mwsts LIKE bseg-mwsts,
pswsl LIKE bseg-pswsl,
END OF it_bseg,
BEGIN OF it_final OCCURS 0,
belnr LIKE bkpf-belnr,
budat LIKE bkpf-budat,
bldat LIKE bkpf-bldat,
xblnr LIKE bkpf-xblnr,
bktxt LIKE bkpf-bktxt,
dmbtr LIKE bseg-dmbtr,
mwsts LIKE bseg-mwsts,
pswsl LIKE bseg-pswsl,
END OF it_final.
***** End generated data section ***
AT SELECTION-SCREEN ON VALUE-REQUEST FOR pfile.
PERFORM sub_browse_file. "Get file name
START-OF-SELECTION.
PERFORM sub_data_load. " Transfer excel into internal table.
PERFORM sub_calc_excel.
IF report = 'X'.
* PERFORM data_selection.
* PERFORM data_move.
*********************************GET ALV DATA
PERFORM alv_get_data.
*********************************ALV GRID DATA
PERFORM alv_grid.
ENDIF.
*if report = ''.
* PERFORM write.
* PERFORM open_dataset USING dataset.
PERFORM open_group.
* DO.
* READ DATASET dataset INTO record.
LOOP AT it_excel.
* IF sy-subrc <> 0. EXIT. ENDIF.
PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BKPF-BLDAT'
it_excel-bldat_001.
PERFORM bdc_field USING 'BKPF-BLART'
'DR'." record-blart_002.
PERFORM bdc_field USING 'BKPF-BUKRS'
it_excel-bukrs_003.
PERFORM bdc_field USING 'BKPF-BUDAT'
it_excel-budat_004.
PERFORM bdc_field USING 'BKPF-MONAT'
'3'. "record-monat_005.
PERFORM bdc_field USING 'BKPF-WAERS'
it_excel-waers_006.
PERFORM bdc_field USING 'BKPF-XBLNR'
it_excel-xblnr_007.
PERFORM bdc_field USING 'BKPF-BKTXT'
it_excel-bktxt_008.
PERFORM bdc_field USING 'FS006-DOCID'
'*' ."record-docid_009.
PERFORM bdc_field USING 'RF05A-NEWBS'
'01'." record-newbs_010.
PERFORM bdc_field USING 'RF05A-NEWKO'
it_excel-kunnr_019 .
PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
PERFORM bdc_field USING 'BDC_CURSOR'
'RF05A-NEWKO'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_excel-wrbtr_020." it_excel-wrbtr_012.
PERFORM bdc_field USING 'BSEG-ZTERM'
'NT30' ." record-zterm_013.
PERFORM bdc_field USING 'BSEG-ZBD1T'
'30'."record-zbd1t_014.
PERFORM bdc_field USING 'BSEG-ZFBDT'
it_excel-bldat_001."record-zfbdt_015.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_excel-xblnr_007."record-zuonr_016.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_excel-sgtxt_017.
PERFORM bdc_field USING 'RF05A-NEWBS'
'50'." record-newbs_018.
PERFORM bdc_field USING 'RF05A-NEWKO'
it_excel-newko_011." record-newko_019."Gl account
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-SGTXT'.
PERFORM bdc_field USING 'BDC_OKCODE'
'/00'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_excel-wrbtr_012."changes from 12 to 20
PERFORM bdc_field USING 'BSEG-MWSKZ'
it_excel-mwskz." record-mwskz_021.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_excel-xblnr_007." record-zuonr_022.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_excel-sgtxt_017." record-sgtxt_023.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PRCTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-PRCTR'
it_excel-prctr ." record-prctr_024.
PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSEG-WRBTR'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=STER'.
PERFORM bdc_field USING 'BSEG-WRBTR'
it_excel-wrbtr_012." it_excel-wrbtr_025.
PERFORM bdc_field USING 'BSEG-MWSKZ'
it_excel-mwskz.
PERFORM bdc_field USING 'BSEG-ZUONR'
it_excel-xblnr_007." record-zuonr_027.
PERFORM bdc_field USING 'BSEG-SGTXT'
it_excel-sgtxt_017." record-sgtxt_028.
PERFORM bdc_field USING 'DKACB-FMORE'
'X' ."record-fmore_029.
PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
PERFORM bdc_field USING 'BDC_CURSOR'
'COBL-PARGB'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=ENTE'.
PERFORM bdc_field USING 'COBL-PRCTR'
it_excel-prctr." record-prctr_030.
PERFORM bdc_dynpro USING 'SAPLTAX1' '0300'.
PERFORM bdc_field USING 'BDC_CURSOR'
'BSET-FWSTE(01)'.
PERFORM bdc_field USING 'BDC_OKCODE'
'=GOBU'.
PERFORM bdc_field USING 'BSET-FWSTE(01)'
it_excel-wrbtr_025." record-fwste_01_031.
PERFORM bdc_transaction USING 'FB01'.
REFRESH:bdcdata,messtab.
ENDLOOP.
REFRESH:bdcdata.
** PERFORM bdc_dynpro USING 'SAPMF05A' '0100'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RF05A-NEWKO'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'BKPF-BLDAT'
* record-bldat_001.
* PERFORM bdc_field USING 'BKPF-BLART'
* record-blart_002.
* PERFORM bdc_field USING 'BKPF-BUKRS'
* record-bukrs_003.
* PERFORM bdc_field USING 'BKPF-BUDAT'
* record-budat_004.
* PERFORM bdc_field USING 'BKPF-MONAT'
* record-monat_005.
* PERFORM bdc_field USING 'BKPF-WAERS'
* record-waers_006.
* PERFORM bdc_field USING 'BKPF-XBLNR'
* record-xblnr_007.
* PERFORM bdc_field USING 'BKPF-BKTXT'
* record-bktxt_008.
* PERFORM bdc_field USING 'FS006-DOCID'
* record-docid_009.
* PERFORM bdc_field USING 'RF05A-NEWBS'
* record-newbs_010.
* PERFORM bdc_field USING 'RF05A-NEWKO'
* record-newko_011.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0301'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'RF05A-NEWKO'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'BSEG-WRBTR'
* record-wrbtr_012.
* PERFORM bdc_field USING 'BSEG-ZTERM'
* record-zterm_013.
* PERFORM bdc_field USING 'BSEG-ZBD1T'
* record-zbd1t_014.
* PERFORM bdc_field USING 'BSEG-ZFBDT'
* record-zfbdt_015.
* PERFORM bdc_field USING 'BSEG-ZUONR'
* record-zuonr_016.
* PERFORM bdc_field USING 'BSEG-SGTXT'
* record-sgtxt_017.
* PERFORM bdc_field USING 'RF05A-NEWBS'
* record-newbs_018.
* PERFORM bdc_field USING 'RF05A-NEWKO'
* record-newko_019.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'BSEG-SGTXT'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '/00'.
* PERFORM bdc_field USING 'BSEG-WRBTR'
* record-wrbtr_020.
* PERFORM bdc_field USING 'BSEG-MWSKZ'
* record-mwskz_021.
* PERFORM bdc_field USING 'BSEG-ZUONR'
* record-zuonr_022.
* PERFORM bdc_field USING 'BSEG-SGTXT'
* record-sgtxt_023.
* PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'COBL-PRCTR'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=ENTE'.
* PERFORM bdc_field USING 'COBL-PRCTR'
* record-prctr_024.
* PERFORM bdc_dynpro USING 'SAPMF05A' '0300'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'BSEG-WRBTR'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=STER'.
* PERFORM bdc_field USING 'BSEG-WRBTR'
* record-wrbtr_025.
* PERFORM bdc_field USING 'BSEG-MWSKZ'
* record-mwskz_026.
* PERFORM bdc_field USING 'BSEG-ZUONR'
* record-zuonr_027.
* PERFORM bdc_field USING 'BSEG-SGTXT'
* record-sgtxt_028.
* PERFORM bdc_field USING 'DKACB-FMORE'
* record-fmore_029.
* PERFORM bdc_dynpro USING 'SAPLKACB' '0002'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'COBL-PARGB'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=ENTE'.
* PERFORM bdc_field USING 'COBL-PRCTR'
* record-prctr_030.
* PERFORM bdc_dynpro USING 'SAPLTAX1' '0300'.
* PERFORM bdc_field USING 'BDC_CURSOR'
* 'BSET-FWSTE(01)'.
* PERFORM bdc_field USING 'BDC_OKCODE'
* '=GOBU'.
* PERFORM bdc_field USING 'BSET-FWSTE(01)'
* record-fwste_01_031.
* PERFORM bdc_transaction USING 'FB01'.
* ENDDO.
PERFORM close_group.
* PERFORM close_dataset USING dataset.
*endif.
*& Form sub_browse_file
* text
* --> p1 text
* <-- p2 text
FORM sub_browse_file .
CALL FUNCTION 'F4_FILENAME'
EXPORTING
program_name = syst-cprog
dynpro_number = syst-dynnr
* FIELD_NAME = ' '
IMPORTING
file_name = pfile.
ENDFORM. " sub_browse_file
*& Form sub_data_load
* text
* --> p1 text
* <-- p2 text
FORM sub_data_load .
CALL FUNCTION 'TEXT_CONVERT_XLS_TO_SAP'
EXPORTING
* I_FIELD_SEPERATOR =
i_line_header = 'X'
i_tab_raw_data = it_raw
i_filename = pfile
TABLES
i_tab_converted_data = it_excel[]
* EXCEPTIONS
* CONVERSION_FAILED = 1
* OTHERS = 2
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDFORM. " sub_data_load
**& Form data_selection
** text
** --> p1 text
** <-- p2 text
*FORM data_selection .
* SELECT * FROM bkpf
* INTO CORRESPONDING FIELDS OF TABLE it_bkpf
* WHERE budat = p_budat AND
* bukrs = p_bukrs.
* IF NOT it_bkpf[] IS INITIAL.
* SELECT belnr dmbtr mwsts pswsl
* FROM bseg INTO TABLE it_bseg
* FOR ALL ENTRIES IN it_bkpf
* WHERE belnr = it_bkpf-belnr AND
* kunnr = p_kunnr AND
* hkont = p_hkont AND
* pswsl = p_waers.
* ENDIF.
*ENDFORM. " data_selection
**& Form data_move
** text
** --> p1 text
** <-- p2 text
*FORM data_move.
* SORT : it_bseg BY belnr,
* it_bkpf BY belnr.
* LOOP AT it_bseg.
* it_final-dmbtr = it_bseg-dmbtr.
* it_final-belnr = it_bseg-belnr.
* it_final-mwsts = it_bseg-mwsts.
* it_final-pswsl = it_bseg-pswsl.
* READ TABLE it_bkpf WITH KEY belnr = it_bseg-belnr BINARY SEARCH.
* IF sy-subrc = 0.
* it_final-budat = it_bkpf-budat.
* it_final-bldat = it_bkpf-bldat.
* it_final-xblnr = it_bkpf-xblnr.
* it_final-bktxt = it_bkpf-bktxt.
* ENDIF.
* APPEND it_final.
* CLEAR it_final.
* ENDLOOP.
*ENDFORM. " data_move
*& Form alv_get_data
* text
* --> p1 text
* <-- p2 text
FORM alv_get_data .
CLEAR it_fieldcat.
***************** Document number
* wa_fieldcat-col_pos = '1'. " ALV O/P COL-1
wa_fieldcat-fieldname = 'XBLNR_007'.
wa_fieldcat-seltext_m = 'Document number'.
wa_fieldcat-just = 'L'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 15.
wa_fieldcat-tabname = 'IT_EXCEL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
***************** Posting Date
* wa_fieldcat-col_pos = '2'. " ALV O/P COL-1
wa_fieldcat-fieldname = 'BUDAT_004'.
wa_fieldcat-seltext_m = 'Posting Date'.
wa_fieldcat-just = 'L'.
wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 20.
wa_fieldcat-tabname = 'IT_EXCEL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
******************** Document Date
* wa_fieldcat-col_pos = '3'. " ALV O/P COL-2
wa_fieldcat-fieldname = 'BLDAT_001'.
wa_fieldcat-seltext_m = 'Document Date'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'IT_EXCEL'.
wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
********************* REFERENCE DOCUMENT
** wa_fieldcat-col_pos = '4'. " ALV O/P COL-2
* wa_fieldcat-fieldname = 'XBLNR'.
* wa_fieldcat-seltext_m = 'REFERENCE DOCUMENT'.
* wa_fieldcat-just = 'L'.
* wa_fieldcat-tabname = 'IT_EXCEL'.
** wa_fieldcat-outputlen = 15.
* APPEND wa_fieldcat TO it_fieldcat.
* CLEAR wa_fieldcat.
***************** DOCUMENT HEADER TEXT
* wa_fieldcat-col_pos = '5'. " ALV O/P COL-3
wa_fieldcat-fieldname = 'SGTXT_017'.
wa_fieldcat-seltext_m = 'DOCUMENT HEADER TEXT'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'IT_EXCEL'.
* wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*******************Invoice Net amount
* wa_fieldcat-col_pos = '6'. " ALV O/P COL-4
wa_fieldcat-fieldname = 'WRBTR_012'.
wa_fieldcat-seltext_m = 'Invoice Net amount'.
wa_fieldcat-just = 'L'.
wa_fieldcat-tabname = 'IT_EXCEL'.
* wa_fieldcat-outputlen = 15.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** Tax Amount
* wa_fieldcat-col_pos = '7'. " ALV O/P COL-5
wa_fieldcat-fieldname = 'WRBTR_025'.
wa_fieldcat-seltext_m = 'Tax Amount'.
wa_fieldcat-just = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'IT_EXCEL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** NEt Amount
* wa_fieldcat-col_pos = '7'. " ALV O/P COL-5
wa_fieldcat-fieldname = 'WRBTR_020'.
wa_fieldcat-seltext_m = 'Net Amount'.
wa_fieldcat-just = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-tabname = 'IT_EXCEL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
*********** General ledger currency
* wa_fieldcat-col_pos = '7'. " ALV O/P COL-5
wa_fieldcat-fieldname = 'WAERS_006'.
wa_fieldcat-seltext_l = 'General ledger currency'.
wa_fieldcat-just = 'L'.
* wa_fieldcat-no_zero(1) = 'X'.
wa_fieldcat-outputlen = 25.
wa_fieldcat-tabname = 'IT_EXCEL'.
APPEND wa_fieldcat TO it_fieldcat.
CLEAR wa_fieldcat.
ENDFORM. " alv_get_data
*& Form alv_grid
* text
* --> p1 text
* <-- p2 text
FORM alv_grid .
* PERFORM fill_list_header USING it_top_of_page[].
* PERFORM event-build USING gt_events[].
PERFORM fill_layout USING ls_layout.
MESSAGE 'Please press F3 to generate a session or call transaction method after getting report!' TYPE 'I'.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
i_callback_program = sy-repid
is_layout = ls_layout
it_fieldcat = it_fieldcat
it_events = gt_events[]
i_save = 'A'
TABLES
t_outtab = it_excel
EXCEPTIONS
program_error = 1
OTHERS = 2.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
ENDFORM. " alv_grid
* FORM FILL_LAYOUT *
FORM fill_layout USING p_ls_layout TYPE slis_layout_alv.
p_ls_layout-zebra = 'X'.
p_ls_layout-cell_merge = 'X'.
ENDFORM. "fill_layout
*& Form sub_calc_excel
* text
* --> p1 text
* <-- p2 text
FORM sub_calc_excel .
data: idate TYPE sy-datum,
tdat8 type string.
LOOP AT it_excel.
CONCATENATE it_excel-blart_002 '/' it_excel-monat_005 '/' it_excel-bktxt_008 INTO
it_excel-sgtxt_017.
it_excel-bukrs_003 = p_bukrs.
* it_excel-budat_004 = p_budat.
it_excel-waers_006 = p_waers.
it_excel-newko_011 = p_hkont.
it_excel-kunnr_019 = p_kunnr.
it_excel-mwskz = p_mwskz.
it_excel-prctr = p_prctr.
idate = p_budat.
CALL FUNCTION 'DATUMSAUFBEREITUNG'
EXPORTING
* FLAGM = ' '
* FLAGW = ' '
IDATE = idate
* IMONT = ' '
* IWEEK = ' '
IMPORTING
* MDAT4 =
* MDAT6 =
* TDAT4 =
* TDAT6 =
TDAT8 = tdat8
* WDAT4 =
* WDAT6 =
* EXCEPTIONS
* DATFM_UNGUELTIG = 1
* DATUM_UNGUELTIG = 2
* OTHERS = 3
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
it_excel-budat_004 = tdat8.
* CONCATENATE it_excel-budat_004+4(2) '/' it_excel-budat_004+6(2) '/' it_excel-budat_004+0(4)
* INTO it_excel-budat_004.
* SPLIT it_excel-bldat_001 AT '/' INTO it_excel-month it_excel-date.
* CONCATENATE it_excel-date '.' it_excel-month '.' it_excel-bldat_001+6(4) INTO it_excel-bldat_001.
MODIFY it_excel.
CLEAR it_excel.
ENDLOOP.
ENDFORM. " sub_calc_excel
*& Form write
* text
* --> p1 text
* <-- p2 text
*form write .
*OPEN DATASET dataset FOR OUTPUT IN TEXT MODE ENCODING DEFAULT.
*data: wa_excel like line of it_excel.
*loop at it_excel into wa_excel.
*TRANSFER wa_excel to dataset.
*endloop.
*CLOSE DATASETdataset.
*endform. " write -
Hi,
using a xpath expression like ora_readfile can cause an exception:
<DispatchHelper::handleMessage> failed to handle message, ORABPEL-09500, xpath: ORABPEL-05002 if the filename is wrong.
I have a catch all branch on the scope which hosts the assign activity with the ora:readfile. But that catchAll isn't called. The process instance remains in state "Active" saying "This instance has been created and has active activities executing. The instance is not in an exception or error condition. " But the instance never returns... it looks like it would terminate, ignoring the catchAll.
What could be the problem here?
TorstenHm, I really need some help now...
Here's my stack trace from domain.log when the Assign-Activity gets called. Why isnt't this caught by the catchAll Handler?
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Parner Property optShortCut
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::doShortCut> Calling local process http://nlwgm027.opitz-consulting.de:8888/orabpel/default/OutputService/1.1 ... shortcut
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> location=http://nlwgm027.opitz-consulting.de:8888/orabpel/default/OutputService/1.1
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> <WSIFInvocationHandler::invokeLocalService> processId=OutputService, revisionTag=1.1, partnerLinkName=, roleName=
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> wsseHeaders: null
<2006-11-21 13:11:59,078> <DEBUG> <default.collaxa.cube.ws> wsseUsername : null
<2006-11-21 13:11:59,484> <ERROR> <default.collaxa.cube.xml> ORABPEL-09500
XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
<2006-11-21 13:11:59,484> <ERROR> <default.collaxa.cube> <BaseCubeSessionBean::logError> Fehler beim Aufrufen von Bean "Cube-Zustellung": XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
ORABPEL-09500
XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
at com.collaxa.cube.xml.xpath.BPELXPathUtil.evaluate(BPELXPathUtil.java:206)
at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.evalFromValue(BPELAssignWMP.java:677)
at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__executeStatements(BPELAssignWMP.java:141)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3271)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1697)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5244)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1083)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:530)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:333)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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 java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
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 CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
<2006-11-21 13:11:59,484> <ERROR> <default.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
ORABPEL-09500
XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
at com.collaxa.cube.xml.xpath.BPELXPathUtil.evaluate(BPELXPathUtil.java:206)
at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.evalFromValue(BPELAssignWMP.java:677)
at com.collaxa.cube.engine.ext.wmp.BPELAssignWMP.__executeStatements(BPELAssignWMP.java:141)
at com.collaxa.cube.engine.ext.wmp.BPELActivityWMP.perform(BPELActivityWMP.java:195)
at com.collaxa.cube.engine.CubeEngine.performActivity(CubeEngine.java:3271)
at com.collaxa.cube.engine.CubeEngine.handleWorkItem(CubeEngine.java:1697)
at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handleLocal(PerformMessageHandler.java:75)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleLocalMessage(DispatchHelper.java:184)
at com.collaxa.cube.engine.dispatch.DispatchHelper.sendMemory(DispatchHelper.java:269)
at com.collaxa.cube.engine.CubeEngine.endRequest(CubeEngine.java:5244)
at com.collaxa.cube.engine.CubeEngine.createAndInvoke(CubeEngine.java:1083)
at com.collaxa.cube.engine.delivery.DeliveryService.handleInvoke(DeliveryService.java:530)
at com.collaxa.cube.engine.ejb.impl.CubeDeliveryBean.handleInvoke(CubeDeliveryBean.java:333)
at sun.reflect.GeneratedMethodAccessor96.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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 java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at com.evermind.server.ThreadState.runAs(ThreadState.java:622)
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 CubeDeliveryBean_LocalProxy_4bin6i8.handleInvoke(Unknown Source)
at com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessageHandler.handle(InvokeInstanceMessageHandler.java:37)
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:138)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595)
<2006-11-21 13:11:59,484> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Verarbeiten von Dispatch-Nachricht nicht erfolgreich. Exception ORABPEL-05002
Fehler bei Meldungsroutine.
Bei dem Versuch, die Nachricht "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage" zu verarbeiten, ist eine Exception aufgetreten. Es wurde folgende Exception gemeldet: XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
ORABPEL-05002
Fehler bei Meldungsroutine.
Bei dem Versuch, die Nachricht "com.collaxa.cube.engine.dispatch.message.invoke.InvokeInstanceMessage" zu verarbeiten, ist eine Exception aufgetreten. Es wurde folgende Exception gemeldet: XPath-Ausdruck konnte nicht erfolgreich ausgeführt werden.
Fehler beim Verarbeiten von XPath-Ausdruck. Der Ausdruck lautet "ora:readFile(concat('file:c:\temp\', bpws:getVariableData('inputVariable','payload','/client:OutputServiceProcessRequest/client:ftp_filename')))". Grund: message can't be null.
Überprüfen Sie die XPath-Abfrage.
at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:171)
at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
at sun.reflect.GeneratedMethodAccessor71.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
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.SetContextActionInterceptor.invoke(SetContextActionInterceptor.java:44)
at com.evermind.server.ejb.interceptor.InvocationContextImpl.proceed(InvocationContextImpl.java:119)
at com.evermind.server.ejb.InvocationContextPool.invoke(InvocationContextPool.java:55)
at oracle.j2ee.connector.messageinflow.MessageEndpointImpl.OC4J_invokeMethod(MessageEndpointImpl.java:297)
at WorkerBean_EndPointProxy_4bin6i8.onMessage(Unknown Source)
at oracle.j2ee.ra.jms.generic.WorkConsumer.run(WorkConsumer.java:266)
at oracle.j2ee.connector.work.WorkWrapper.runTargetWork(WorkWrapper.java:242)
at oracle.j2ee.connector.work.WorkWrapper.doWork(WorkWrapper.java:215)
at oracle.j2ee.connector.work.WorkWrapper.run(WorkWrapper.java:190)
at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:814)
at java.lang.Thread.run(Thread.java:595) -
Help to catch the output of a Transaction
Hi,
I have this issue and need help, I have a program lets say "ZPROGRAM", this programs calls a RFC "ZFUNC" this function must be able to send the parameters to execute a SAP standard transaction for example MB51, the function must send the plant number, storage location, and material number, then this RFC must catch the output of the report into an internal table so that i can work with the output in "ZPROGRAM", in other words what I see on screen as result of MB51 I need it in an internal table so that I can manupulate the data.
I hope someone could tell me how to accomplish this.
Thanks in advice.Hi,
Pls try
DATA list_tab TYPE TABLE OF abaplist.
DATA vlist LIKE table of LISTZEILE WITH HEADER LINE.
submit RM07DOCS
with XXX
EXPORTING LIST TO MEMORY
and return .
CALL FUNCTION 'LIST_FROM_MEMORY'
TABLES
listobject = list_tab
EXCEPTIONS
not_found = 1
OTHERS = 2.
CALL FUNCTION 'LIST_TO_ASCI'
EXPORTING
list_index = -1
TABLES
listasci = vlist
listobject =list_tab
EXCEPTIONS
empty_list = 1
list_index_invalid = 2
OTHERS = 3.
Regards,
Pole
Edited by: Pole li on Jul 17, 2008 3:57 AM -
Adding ztotals table in report painter for transaction FGI3 in report type
Hello All,
I have zprograms in report painter for trasaction FGI3. For my reports i have to add Ztables..In the transaction FGI3 there is report type 020. Here they maintain the Zreports.
Can you hellp me out in adding the totals table.
ThanksHi,
Transaction FSi2 takes you there.
Alex- -
Invoice A/R Payment Split Transaction into Several GL Accounts
Hi,
I got following message from SAP Support:
The SplitTransaction property is not included in product develop plan by now.
By SAP Note 1028874, we would like to ask you to post your requirement in our SAP Business One Product Development Collaboration forum and not via message:
/community [original link is broken]
Please refer to Note 1028874 for more information.
ISSUE
Sample 2, Bank transaction:
I have build a Payment routine in Invoice A/R.
I am doing a Bank transfer in Payments regarding payment with Interact (direct Payment from Bank
account)
Here in Canada you have the possibility to withdraw money: Sample invoice cost $100, you can pay
$200 and receive $100 in cash.
Sample I like to do:
GL Account A $200 (Account Number, Debit )
GL Account B $100 (Account Number, Credit)
GL Account C $100 (Business Partner, Credit)
Any suggestion?
In the Payment describtion I can do a vPay.SplitTransaction = 0; but this is not working according to SAP Support.
SUMMARY
I like to do a payment and Split the Transaction into several accounts; like Journal Entry with reconciliation of the Journal Entry and the Invoice.
Thank you,
RuneHi Peter,
I do not want you to promote the future code; but the code in SDK as today.
Sample, it would look something like the code below from SDK help code; but please change the code to work as your sample.
Thank you,
Rune
vPay.Invoices.AppliedFC = 0
vPay.Invoices.AppliedSys = 0
vPay.Invoices.DocEntry = 8
vPay.Invoices.DocLine = 0
vPay.Invoices.DocRate = 0
vPay.Invoices.InvoiceType = 13
vPay.Invoices.LineNum = 0
vPay.Invoices.SumApplied = 5031.2
Call vPay.Invoices.Add
vPay.CardCode = vmp_CardCode_string;
vPay.DocDate = DateTime.Now;
vPay.JournalRemarks = "Incoming - Payment Bank Transfer";
vPay.TaxDate = DateTime.Now;
vPay.TransferAccount = vmp_BankAccount_string;// "_SYS00000000343";
vPay.TransferDate = DateTime.Now;
vPay.TransferReference = vmp_CardCode_string;
vPay.TransferSum = vmp_Amount_double;
vc_Message_Result_Int32 = vPay.Add(); -
Adding a button in Application toolbar of Transaction IW32
Hi ,
I need to add a button in the Application Toolbar of standard transaction IW32,I tried copying the pf-status and adding it in the user exit exit_saplocih_006 also,but its not working.
Please Kindly help.
Regards,
Ismail.I think you must create a copy of IW32 ( I am not wrong in SAP lingo they say repair) for example ZIW32. And add a button relevant gui status. (I have been looking Gui status of IW32 it is have more status. you must find true status)
If you want change original source don't forget this a patch can change your code. -
Adding Z-Fields to Standard Screens of Transaction VA01 / VA02 / VA03
Hi All,
The system is being upgraded from 4.7 to ECC 6.0
In 4.7 server, the client has added 2 Z-fields to VBAK table. Moreover, these Z-fields are added to Standard SAP Screens of Transactions VA01 / VA02 / VA03.
One of the Z-field is for the Description which appears on the very first screen of transaction (Screen 4440) replaces the Standard SAP Screen Field VBAK-KTEXT.
The other Z-Field appears on Header-->Additional Data B (Screen 8309).
Please note:- The screen numbers that are mentioned above are the screen numbers of ECC 6.0
I tried to change the edit the Screen by taking the Access Key from the market place, but only got Screen Overlapping Errors.
What should I do to incorporate these Z-fields?
I have heard of Screen-exits but never worked on the same. Would appreciate if someone guides me as to what needs to be done.
Thanks for your valuable time and suggestions.
Regards,
RajeshHi Rajesh,
I am working ECC 6.0
We had the same requirement but for Additional Data B in header and item
For this
(1) Got the access key
(2) applied access keys
(3) In the additonal Data B screens/Program SAPMV45A imported Z fields to the screen in Graphical painter,saved and activated after writing necessary PBO/PAI modules and the codes in 8309 and 8310 screens
Please can you tell more on the "Screen Overlapping Errors"
Maybe we can can work out the error.....
Regards
Byju -
Adding custom fields to FPE1/2/3 transactions
Hi guys,
My first thread here on SDN!
I need to add custom fields (Document Locator Number - ZDLN, and Post Mark Date - ZPMD) from table DFKKOP to transactions FPE1/2/3 under ADDITIONAL DATA area while manually entering NEW BUSINESS PARTNER ITEM.
The transaction is not BDT enabled and does not have a screen exit. The user exit and BaDI dont seem helpful to me.
The screenshot below shows the user exits and BaDI for the transaction.
Link: [Exits|http://img440.imageshack.us/img440/9319/1123201061827pm.png]
What are my options to add fields to the transaction screen now?
Thanks!!Hi,
Yea i got the functional guys to configure it. Was a unique issue!.....But I know how they did it.
You can add it through SPRO transaction. Go to the below mentioned path.
Go to SAP Reference IMG
Financial Accounting > Contract Accounts Receivable and Payable > Basic Functions > Posting and Documents > Document >
Screen Preparartions > Include Own Fields in Detail Screens.
Here you need to enter the details from FPE1 transaction screen.
Activity Documentation:
Include Own Fields in Detail Screens
In this activity you can, if you have added customer fields to the document structures, include these customer fields in the entry screens of the transaction for posting documents.
For the detail screens (business partner item and G/L account item) you can create a screen that contains your own fields. You must create this screen as a subscreen using the Screen Painter. In addition you have to create modules for the intialization and for data transfer (PBO and PAI).
Activities
If you have extended the document strutures to includes customer fields, and you need these fields in the entry screens for posting documents, you must create the screen using the Screen Painter.
Carry out this step to create the screen and the modules that go with it in the system. You do not have to activate these afterwards.
Further notes
Read the field help for each field in the table. This describes the exact procedure. -
Adding custom fields to FPE1/2/3 transaction screen
Hi guys,
I need to add custom fields from table DFKKOP to transactions FPE1/2/3 under ADDITIONAL DATA area while manually entering NEW BUSINESS PARTNER ITEM.
The transaction is not BDT enabled and does not have a screen exit. The user exit and BaDI dont seem helpful to me.
The screenshot below shows the user exits and BaDI for the transaction.
Link: Exits
What are my options to add fields to the transaction screen now?
Please help out!Hi,
Yea i got the functional guys to configure it. Was a unique issue!.....But I know how they did it.
You can add it through SPRO transaction. Go to the below mentioned path.
Go to SAP Reference IMG
Financial Accounting > Contract Accounts Receivable and Payable > Basic Functions > Posting and Documents > Document >
Screen Preparartions > Include Own Fields in Detail Screens.
Here you need to enter the details from FPE1 transaction screen.
Activity Documentation:
Include Own Fields in Detail Screens
In this activity you can, if you have added customer fields to the document structures, include these customer fields in the entry screens of the transaction for posting documents.
For the detail screens (business partner item and G/L account item) you can create a screen that contains your own fields. You must create this screen as a subscreen using the Screen Painter. In addition you have to create modules for the intialization and for data transfer (PBO and PAI).
Activities
If you have extended the document strutures to includes customer fields, and you need these fields in the entry screens for posting documents, you must create the screen using the Screen Painter.
Carry out this step to create the screen and the modules that go with it in the system. You do not have to activate these afterwards.
Further notes
Read the field help for each field in the table. This describes the exact procedure. -
Document splitting error in FBCJ Split transactions
When we enter more than one ltem in Cash journal through split posting with multiple cost center, the system is giving document split error. where as in normal fb50 transaction splitting is working fine. We are in Ecc 6.
sureshHello Suresh,
Thank you for the error message.
The document splitter will issue the error GLT2201 for an account assignment if the account assignment is set as 'mandatory' in your document splitting configuration but in the posting in question
no value is set for this account assignment. In this case, PRCTR in line item 001.
For document splitting to determine the account assignment value you can use inheritance and the splitting rule.
Inheritance will only work if the account assignment values are unique within the document.
If the values are different in differnt line items, then the system cannot know which value you want to
inherit and so inheritance cannot work.
By using the splitting rule, you can customise the document splitter to determine the values using the item categories and determine which item categories are based on the other item categories.
The item categories are assigned to GL Accounts, and these accounts would be used in the documents posting.
The splitting rule is made up of the business transaction variant (which is assigned to the document type used in the document which is posting) and the splitting method.
(An exception to the document type determination of the business transaction variant is when any of the transactions customised in transaction GSP_VZ1 are used.)
Please check the note note 684659 - point 3.
Please check also your document splitting customising according to the information which I have provided to you above. It should resolve your issue.
Best Regards,
Vanessa.
Maybe you are looking for
-
Standby database from RMAN backup
I have been assigned to create a standby database from our RMAN backups in a different machine, as this is my first attempt at recovering, I am struggling a bit. I would appreciate if someone can throw any light on what dumb mistakeI am doing here. I
-
Low Frame rate with new Apple TV.
Hi, I just watched a purchased TV show (Top Gear) on my new Apple TV, connected to a 42" flatscreen, and I am not impressed at all with the quality. Apart from the resolution, which we all now, the image is jittery, and the frame rate is so low that
-
Informatica failed to update records in target table
Hi, Recently I converted hourly full load into incremental laod. everything is working good except updating records in target. Informatica not updating any records and I'm trying to understand and troubleshoot the issue. details given below I ran map
-
Shared file missing from My Forms tab
I shared a form with a co-author, but the form does not appear in their My Forms tab. I've tried removing them and resending the invitation, but still no luck. What could the problem be?
-
How to install DKMS within Win7(host) + Arch(guest)
http://aur.archlinux.org/packages.php?ID=11657 The following is my environment: Host: Win 7 Guest: Virtual Box + Arch (kernel 2.6.33) Now, I want to adjust the resolution inside VBox, default is always 800x600 and cannot change it without any more ac