RWRUN60 with Batch=YES waits forever
Hi,
When I run rwrun60 with batch=yes it waits forever .. I thought it might be probably waiting at the printer box so I also included disableprint=yes and printjob=no .. but this does not work either.
If I pass batch=no then the parameter box appears and reports get generated on run without any issues. Can someone help?
Thanks
Aali
Are you calling the report using call report or else have you set the report parameters within the report.
Let me know all the parameters passed.
Looks like there are parameters which are not compatible to batch=yes. Did you specify output file name?
Regards
Dinesh
Similar Messages
-
BPEL Test waits forever to receive callback from human task service
Hi,
I've created a test (CreditCardInvalidTest.xml) to test a bpel process (testbpel.bpel) which contains a call to a human task service. The problem is when the test executes it waits forever to receive the response message from the human task service but clearly i've emulated it! Would appreciate help.
I've attached both files and highlighted the relevant sections. Thanks.
testbpel.bpel
<process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
xmlns:client="http://xmlns.oracle.com/testbpel"
xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<!--
The 'client' role represents the requester of this service. It is
used for callback. The location and correlation information associated
with the client role are automatically set using WS-Addressing.
-->
<partnerLink name="client" partnerLinkType="client:testbpel"
myRole="testbpelProvider" partnerRole="testbpelRequester"/>
<partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
partnerLinkType="ns5:execute_pptLT"/>
<partnerLink name="CreditCardService"
partnerRole="CreditCardServiceProvider"
partnerLinkType="ns6:CreditCardService"/>
<partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
partnerRole="TaskService"
partnerLinkType="taskservice:TaskService"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<!-- Reference to the message that will be sent back to the requester during callback -->
<variable name="inputVariable"
messageType="client:testbpelRequestMessage"/>
<variable name="outputVariable"
messageType="client:testbpelResponseMessage"/>
<variable name="n" type="xsd:integer"/>
<variable name="Invoke_ShipmentService_execute_InputVariable"
messageType="ns5:orderRequest_request"/>
<variable name="paymentFault"
messageType="client:testbpelFaultMessage"/>
<variable name="ApproveOrder_1_globalVariable"
messageType="taskservice:taskMessage"/>
<variable name="orderRejectedFault"
messageType="client:testbpelFaultMessage"/>
</variables>
<faultHandlers>
<catchAll>
<sequence name="Sequence_6">
<throw name="Throw_AllFaults"
faultName="ns8:testbpelGenericFault"
faultVariable="paymentFault"/>
</sequence>
</catchAll>
</faultHandlers>
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
<receive name="receiveInput" partnerLink="client"
portType="client:testbpel" operation="initiate"
variable="inputVariable" createInstance="yes"/>
<!--
Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
-->
<scope name="CheckForApproval">
<sequence name="Sequence_4">
<sequence name="Sequence_5">
<scope name="ApproveOrder_1"
xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
wf:key="ApproveOrder_1_globalVariable">
<bpelx:annotation>
<bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
</bpelx:annotation>
<variables>
<variable name="initiateTaskInput"
messageType="taskservice:initiateTaskMessage"/>
<variable name="initiateTaskResponseMessage"
messageType="taskservice:initiateTaskResponseMessage"/>
</variables>
<correlationSets>
<correlationSet name="WorkflowTaskIdCor"
properties="taskservice:taskId"/>
</correlationSets>
<sequence>
<assign name="ApproveOrder_1_AssignTaskAttributes">
<copy>
<from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
</copy>
<copy>
<from expression="number(3)"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:priority"/>
</copy>
<copy>
<from>
<payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
</from>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:payload"/>
</copy>
</assign>
<assign name="ApproveOrder_1_AssignSystemTaskAttributes">
<copy>
<from expression="ora:getInstanceId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
</copy>
<copy>
<from expression="ora:getProcessId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
</copy>
<copy>
<from expression="ora:getProcessId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
</copy>
<copy>
<from expression="ora:getProcessVersion()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
</copy>
<copy>
<from expression="ora:getDomainId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
</copy>
<copy>
<from expression="string('BPEL')"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
</copy>
</assign>
<invoke name="initiateTask_ApproveOrder_1"
partnerLink="TaskService"
portType="taskservice:TaskService"
operation="initiateTask"
inputVariable="initiateTaskInput"
outputVariable="initiateTaskResponseMessage">
<correlations>
<correlation initiate="yes"
set="WorkflowTaskIdCor"
pattern="in"/>
</correlations>
</invoke>
*<receive name="receiveCompletedTask_ApproveOrder_1"*
partnerLink="TaskService"
portType="taskservice:TaskServiceCallback"
operation="onTaskCompleted"
variable="ApproveOrder_1_globalVariable"
createInstance="no">
*<correlations>*
*<correlation initiate="no"*
set="WorkflowTaskIdCor"/>
*</correlations>*
*</receive>*
</sequence>
</scope>
<switch name="taskSwitch">
<case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
<bpelx:annotation>
<bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
</bpelx:annotation>
<sequence>
<assign name="AssignOrderRejected">
<copy>
<from expression="string('Order rejected by manager')"/>
<to variable="paymentFault"
part="payload"
query="/client:testbpelProcessFault/client:status"/>
</copy>
</assign>
<throw name="ThrowOrderRejected"
faultName="ns9:orderRejectedFault"
faultVariable="orderRejectedFault"/>
</sequence>
</case>
<case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
<bpelx:annotation>
<bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
</bpelx:annotation>
<sequence>
<empty name="Empty_1"/>
</sequence>
</case>
<otherwise>
<bpelx:annotation>
<bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
</bpelx:annotation>
<sequence>
<empty name="Empty_2"/>
</sequence>
</otherwise>
</switch>
</sequence>
</sequence>
</scope>
<scope name="CheckCreditCard">
<variables>
<variable name="InvokeCreditCardService_process_InputVariable"
messageType="ns6:CreditCardServiceRequestMessage"/>
<variable name="InvokeCreditCardService_process_OutputVariable"
messageType="ns6:CreditCardServiceResponseMessage"/>
</variables>
<sequence name="Sequence_2">
<assign name="Assign_1">
<copy>
<from variable="inputVariable" part="payload"
query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
<to variable="InvokeCreditCardService_process_InputVariable"
part="payload"
query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
</copy>
</assign>
<scope name="Scope_1">
<compensationHandler>
<sequence name="Sequence_7">
<empty name="Empty_3"/>
</sequence>
</compensationHandler>
<invoke name="InvokeCreditCardService"
partnerLink="CreditCardService"
portType="ns6:CreditCardService" operation="process"
inputVariable="InvokeCreditCardService_process_InputVariable"
outputVariable="InvokeCreditCardService_process_OutputVariable"/>
</scope>
<switch name="CheckCreditCardValid">
<case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
<sequence name="Sequence_3">
<assign name="AssignCreditFault">
<copy>
<from expression="string('Invalid credit card number')"/>
<to variable="paymentFault" part="payload"
query="/client:testbpelProcessFault/client:status"/>
</copy>
</assign>
<throw name="ThrowCreditFault"
faultName="ns7:CreditCardNumberFault"
faultVariable="paymentFault"/>
</sequence>
</case>
</switch>
</sequence>
</scope>
<assign name="AssignInitial">
<copy>
<from expression="string('Select Manufacturer')"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:result"/>
</copy>
<copy>
<from expression="1"/>
<to variable="n"/>
</copy>
<copy>
<from expression="0.0"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:price"/>
</copy>
</assign>
<while name="While_1"
condition="bpws:getVariableData('n') <= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
<sequence name="Sequence_1">
<assign name="DoCalculation">
<copy>
<from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:price"/>
</copy>
<copy>
<from expression="bpws:getVariableData('n') + 1"/>
<to variable="n"/>
</copy>
</assign>
</sequence>
</while>
<assign name="Transform_2">
<bpelx:annotation>
<bpelx:pattern>transformation</bpelx:pattern>
</bpelx:annotation>
<copy>
<from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
<to variable="Invoke_ShipmentService_execute_InputVariable"
part="orderRequest"/>
</copy>
</assign>
<invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
portType="ns5:execute_ppt" operation="execute"
inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
<invoke name="callbackClient" partnerLink="client"
portType="client:testbpelCallback" operation="onResult"
inputVariable="outputVariable"/>
</sequence>
</process>
CreditCardInvalidTest.xml
<BPELTest processName="testbpel"
xmlns="http://xmlns.oracle.com/bpel/instancedriver"
xmlns:client="http://xmlns.oracle.com/testbpel">
<initiate operation="initiate">
<inboundMessage>
<part fileName="testInput.xml" name="payload"/>
</inboundMessage>
</initiate>
<activityDriver name="callbackClient">
<assertValue variableName="outputVariable" partName="payload"
comparisonMethod="string" fatal="false" patternMatch="false">
<message>Expected "Select Manufacturer"</message>
<actualPath>/client:testbpelProcessResponse/client:result</actualPath>
<expected>Select Manufacturer</expected>
</assertValue>
<assertValue variableName="outputVariable" partName="payload"
comparisonMethod="string" fatal="true" patternMatch="false">
<message>Expected price of "1"</message>
<actualPath>/client:testbpelProcessResponse/client:price</actualPath>
<expected>1</expected>
</assertValue>
</activityDriver>
*<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
*<emulate duration="PT">*
*<inboundMessage>*
*<part fileName="approverResponse.xml" name="payload"/>*
*</inboundMessage>*
*</emulate>*
*</activityDriver>* <--- it waits FOREVER at this bit to receive the approverResponse.xml :s
<activityDriver name="InvokeCreditCardService">
<emulate duration="PT">
<inboundMessage>
<part fileName="creditCardServiceResponse.xml" name="payload"/>
</inboundMessage>
</emulate>
</activityDriver>
<activityDriver name="initiateTask_ApproveOrder_1">
<emulate duration="PT">
<inboundMessage>
<part fileName="getApproval.xml" name="payload"/>
</inboundMessage>
</emulate>
</activityDriver>
</BPELTest>RaviKiran,
I agree that the explanation oracle provided in the attach link, is a bit confusing. The main goal there is to describe the behavior of processes, when there is a need to combine, or split the transactions within those processes (or in some cases the processes themselves).
The thing is - The default transaction for a synchronous process is requiresNew. That was until version 11.1.1.6. On this last version, you are asking to enter a Transaction parameter when creating a new synchronous bpel process. The default value being prompt is required and that's what causing the problem – You automatically accept the default.
The assumption is, that developing bpel processes, should come with understanding of all those behaviors.
The problem for my understanding is that some of those behaviors were not so cleared until now.
Arik -
Test waits forever for a callback from a human task
Hi,
I've create a test to test a BPEL process. Now within the BPEL process there is a call to a human task service. I've emulated the task initiation message which is fine. I also tried to emulate the receive message from the human task service but during the test execution, the test waits forever to receive the callback from the human task service, even though i've specified the return message. Would appreciate help with this! I've posted my testbpel.bpel and the test case (CreditCardInvalidTest.xml) below. For both these files I've highlighted in bold the relevant bits of code that's giving me problems. Thanks
testbpel.bpel:
<?xml version = "1.0" encoding = "UTF-8" ?>
<process name="testbpel" targetNamespace="http://xmlns.oracle.com/testbpel"
xmlns="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:wfcommon="http://xmlns.oracle.com/bpel/workflow/common"
xmlns:bpws="http://schemas.xmlsoap.org/ws/2003/03/business-process/"
xmlns:xp20="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.Xpath20"
xmlns:ns4="http://www.oracle.com/XSL/Transform/java/oracle.tip.xref.xpath.XRefXPathFunctions"
xmlns:ns7="http://xmlns.oracle.com/testbpel/creditFault"
xmlns:ldap="http://schemas.oracle.com/xpath/extension/ldap"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
xmlns:ns5="http://oracle.com/esb/namespaces/Fufillment"
xmlns:client="http://xmlns.oracle.com/testbpel"
xmlns:ns6="http://www.creditcardagency.com/CreditCardService"
xmlns:ora="http://schemas.oracle.com/xpath/extension"
xmlns:taskservice="http://xmlns.oracle.com/bpel/workflow/taskService"
xmlns:ns9="http://xmlns.oracle.com/testbpel/orderRejected"
xmlns:ns1="http://xmlns.oracle.com/bpel/workflow/xpath"
xmlns:ns3="http://www.oracle.com/XSL/Transform/java/oracle.tip.esb.server.headers.ESBHeaderFunctions"
xmlns:ns2="http://xmlns.oracle.com/bpel/services/IdentityService/xpath"
xmlns:bpelx="http://schemas.oracle.com/bpel/extension"
xmlns:task="http://xmlns.oracle.com/bpel/workflow/task"
xmlns:orcl="http://www.oracle.com/XSL/Transform/java/oracle.tip.pc.services.functions.ExtFunc"
xmlns:ns8="http://xmlns.oracle.com/testbpel/genericFault">
<!--
PARTNERLINKS
List of services participating in this BPEL process
-->
<partnerLinks>
<!--
The 'client' role represents the requester of this service. It is
used for callback. The location and correlation information associated
with the client role are automatically set using WS-Addressing.
-->
<partnerLink name="client" partnerLinkType="client:testbpel"
myRole="testbpelProvider" partnerRole="testbpelRequester"/>
<partnerLink name="ShipmentService" partnerRole="execute_pptProvider"
partnerLinkType="ns5:execute_pptLT"/>
<partnerLink name="CreditCardService"
partnerRole="CreditCardServiceProvider"
partnerLinkType="ns6:CreditCardService"/>
<partnerLink myRole="TaskServiceCallbackListener" name="TaskService"
partnerRole="TaskService"
partnerLinkType="taskservice:TaskService"/>
</partnerLinks>
<!--
VARIABLES
List of messages and XML documents used within this BPEL process
-->
<variables>
<!-- Reference to the message passed as input during initiation -->
<!-- Reference to the message that will be sent back to the requester during callback -->
<variable name="inputVariable"
messageType="client:testbpelRequestMessage"/>
<variable name="outputVariable"
messageType="client:testbpelResponseMessage"/>
<variable name="n" type="xsd:integer"/>
<variable name="Invoke_ShipmentService_execute_InputVariable"
messageType="ns5:orderRequest_request"/>
<variable name="paymentFault"
messageType="client:testbpelFaultMessage"/>
<variable name="ApproveOrder_1_globalVariable"
messageType="taskservice:taskMessage"/>
<variable name="orderRejectedFault"
messageType="client:testbpelFaultMessage"/>
</variables>
<faultHandlers>
<catchAll>
<sequence name="Sequence_6">
<throw name="Throw_AllFaults"
faultName="ns8:testbpelGenericFault"
faultVariable="paymentFault"/>
</sequence>
</catchAll>
</faultHandlers>
<!--
ORCHESTRATION LOGIC
Set of activities coordinating the flow of messages across the
services integrated within this business process
-->
<sequence name="main">
<!-- Receive input from requestor. (Note: This maps to operation defined in testbpel.wsdl) -->
<receive name="receiveInput" partnerLink="client"
portType="client:testbpel" operation="initiate"
variable="inputVariable" createInstance="yes"/>
<!--
Asynchronous callback to the requester. (Note: the callback location and correlation id is transparently handled using WS-addressing.)
-->
<scope name="CheckForApproval">
<sequence name="Sequence_4">
<sequence name="Sequence_5">
<scope name="ApproveOrder_1"
xmlns:wf="http://schemas.oracle.com/bpel/extension/workflow"
wf:key="ApproveOrder_1_globalVariable">
<bpelx:annotation>
<bpelx:pattern patternName="bpelx:workflow"></bpelx:pattern>
</bpelx:annotation>
<variables>
<variable name="initiateTaskInput"
messageType="taskservice:initiateTaskMessage"/>
<variable name="initiateTaskResponseMessage"
messageType="taskservice:initiateTaskResponseMessage"/>
</variables>
<correlationSets>
<correlationSet name="WorkflowTaskIdCor"
properties="taskservice:taskId"/>
</correlationSets>
<sequence>
<assign name="ApproveOrder_1_AssignTaskAttributes">
<copy>
<from expression="concat(ora:getProcessURL(), string('/ApproveOrder/ApproveOrder.task'))"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:taskDefinitionURI"/>
</copy>
<copy>
<from expression="number(3)"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:priority"/>
</copy>
<copy>
<from>
<payload xmlns="http://xmlns.oracle.com/bpel/workflow/task"/>
</from>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:payload"/>
</copy>
</assign>
<assign name="ApproveOrder_1_AssignSystemTaskAttributes">
<copy>
<from expression="ora:getInstanceId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:instanceId"/>
</copy>
<copy>
<from expression="ora:getProcessId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processName"/>
</copy>
<copy>
<from expression="ora:getProcessId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processId"/>
</copy>
<copy>
<from expression="ora:getProcessVersion()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processVersion"/>
</copy>
<copy>
<from expression="ora:getDomainId()"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:domainId"/>
</copy>
<copy>
<from expression="string('BPEL')"/>
<to variable="initiateTaskInput"
part="payload"
query="/taskservice:initiateTask/task:task/task:processInfo/task:processType"/>
</copy>
</assign>
<invoke name="initiateTask_ApproveOrder_1"
partnerLink="TaskService"
portType="taskservice:TaskService"
operation="initiateTask"
inputVariable="initiateTaskInput"
outputVariable="initiateTaskResponseMessage">
<correlations>
<correlation initiate="yes"
set="WorkflowTaskIdCor"
pattern="in"/>
</correlations>
</invoke>
*<receive name="receiveCompletedTask_ApproveOrder_1"*
partnerLink="TaskService"
portType="taskservice:TaskServiceCallback"
operation="onTaskCompleted"
variable="ApproveOrder_1_globalVariable"
createInstance="no">
*<correlations>*
*<correlation initiate="no"*
set="WorkflowTaskIdCor"/>
*</correlations>*
*</receive>* </sequence>
</scope>
<switch name="taskSwitch">
<case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'REJECT'">
<bpelx:annotation>
<bpelx:pattern patternName="case">Task outcome is REJECT</bpelx:pattern>
</bpelx:annotation>
<sequence>
<assign name="AssignOrderRejected">
<copy>
<from expression="string('Order rejected by manager')"/>
<to variable="paymentFault"
part="payload"
query="/client:testbpelProcessFault/client:status"/>
</copy>
</assign>
<throw name="ThrowOrderRejected"
faultName="ns9:orderRejectedFault"
faultVariable="orderRejectedFault"/>
</sequence>
</case>
<case condition="bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:state') = 'COMPLETED' and bpws:getVariableData('ApproveOrder_1_globalVariable', 'payload', '/task:task/task:systemAttributes/task:outcome') = 'APPROVE'">
<bpelx:annotation>
<bpelx:pattern patternName="case">Task outcome is APPROVE</bpelx:pattern>
</bpelx:annotation>
<sequence>
<empty name="Empty_1"/>
</sequence>
</case>
<otherwise>
<bpelx:annotation>
<bpelx:pattern>Task is outcome is EXPIRED, STALE, WITHDRAWN or ERRORED</bpelx:pattern>
</bpelx:annotation>
<sequence>
<empty name="Empty_2"/>
</sequence>
</otherwise>
</switch>
</sequence>
</sequence>
</scope>
<scope name="CheckCreditCard">
<variables>
<variable name="InvokeCreditCardService_process_InputVariable"
messageType="ns6:CreditCardServiceRequestMessage"/>
<variable name="InvokeCreditCardService_process_OutputVariable"
messageType="ns6:CreditCardServiceResponseMessage"/>
</variables>
<sequence name="Sequence_2">
<assign name="Assign_1">
<copy>
<from variable="inputVariable" part="payload"
query="/client:testbpelProcessRequest/client:CreditCardNumber"/>
<to variable="InvokeCreditCardService_process_InputVariable"
part="payload"
query="/ns6:CreditCardServiceProcessRequest/ns6:CreditCardNumber"/>
</copy>
</assign>
<scope name="Scope_1">
<compensationHandler>
<sequence name="Sequence_7">
<empty name="Empty_3"/>
</sequence>
</compensationHandler>
<invoke name="InvokeCreditCardService"
partnerLink="CreditCardService"
portType="ns6:CreditCardService" operation="process"
inputVariable="InvokeCreditCardService_process_InputVariable"
outputVariable="InvokeCreditCardService_process_OutputVariable"/>
</scope>
<switch name="CheckCreditCardValid">
<case condition="bpws:getVariableData('InvokeCreditCardService_process_OutputVariable','payload','/ns6:CreditCardServiceProcessResponse/ns6:result') = 'false'">
<sequence name="Sequence_3">
<assign name="AssignCreditFault">
<copy>
<from expression="string('Invalid credit card number')"/>
<to variable="paymentFault" part="payload"
query="/client:testbpelProcessFault/client:status"/>
</copy>
</assign>
<throw name="ThrowCreditFault"
faultName="ns7:CreditCardNumberFault"
faultVariable="paymentFault"/>
</sequence>
</case>
</switch>
</sequence>
</scope>
<assign name="AssignInitial">
<copy>
<from expression="string('Select Manufacturer')"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:result"/>
</copy>
<copy>
<from expression="1"/>
<to variable="n"/>
</copy>
<copy>
<from expression="0.0"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:price"/>
</copy>
</assign>
<while name="While_1"
condition="bpws:getVariableData('n') <= count(bpws:getVariableData('inputVariable','payload','/client:testbpelProcessRequest/client:input'))">
<sequence name="Sequence_1">
<assign name="DoCalculation">
<copy>
<from expression="bpws:getVariableData('inputVariable','payload', concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:quantity')) * bpws:getVariableData('inputVariable','payload',concat('/client:testbpelProcessRequest/client:input[', bpws:getVariableData('n'), ']/client:bookPrice')) + bpws:getVariableData('outputVariable','payload','/client:testbpelProcessResponse/client:price')"/>
<to variable="outputVariable" part="payload"
query="/client:testbpelProcessResponse/client:price"/>
</copy>
<copy>
<from expression="bpws:getVariableData('n') + 1"/>
<to variable="n"/>
</copy>
</assign>
</sequence>
</while>
<assign name="Transform_2">
<bpelx:annotation>
<bpelx:pattern>transformation</bpelx:pattern>
</bpelx:annotation>
<copy>
<from expression="ora:processXSLT('TransformOrder.xsl',bpws:getVariableData('inputVariable','payload'))"/>
<to variable="Invoke_ShipmentService_execute_InputVariable"
part="orderRequest"/>
</copy>
</assign>
<invoke name="Invoke_ShipmentService" partnerLink="ShipmentService"
portType="ns5:execute_ppt" operation="execute"
inputVariable="Invoke_ShipmentService_execute_InputVariable"/>
<invoke name="callbackClient" partnerLink="client"
portType="client:testbpelCallback" operation="onResult"
inputVariable="outputVariable"/>
</sequence>
</process>
CreditCardInvalidTest.xml:
<?xml version='1.0' encoding='utf-8'?>
<BPELTest processName="testbpel"
xmlns="http://xmlns.oracle.com/bpel/instancedriver"
xmlns:client="http://xmlns.oracle.com/testbpel">
<initiate operation="initiate">
<inboundMessage>
<part fileName="testInput.xml" name="payload"/>
</inboundMessage>
</initiate>
<activityDriver name="callbackClient">
<assertValue variableName="outputVariable" partName="payload"
comparisonMethod="string" fatal="false" patternMatch="false">
<message>Expected "Select Manufacturer"</message>
<actualPath>/client:testbpelProcessResponse/client:result</actualPath>
<expected>Select Manufacturer</expected>
</assertValue>
<assertValue variableName="outputVariable" partName="payload"
comparisonMethod="string" fatal="true" patternMatch="false">
<message>Expected price of "1"</message>
<actualPath>/client:testbpelProcessResponse/client:price</actualPath>
<expected>1</expected>
</assertValue>
</activityDriver>
*<activityDriver name="receiveCompletedTask_ApproveOrder_1">*
*<emulate duration="PT">*
*<inboundMessage>*
*<part fileName="approverResponse.xml" name="payload"/>*
*</inboundMessage>*
*</emulate>*
*</activityDriver>* <activityDriver name="InvokeCreditCardService">
<emulate duration="PT">
<inboundMessage>
<part fileName="creditCardServiceResponse.xml" name="payload"/>
</inboundMessage>
</emulate>
</activityDriver>
<activityDriver name="initiateTask_ApproveOrder_1">
<emulate duration="PT">
<inboundMessage>
<part fileName="getApproval.xml" name="payload"/>
</inboundMessage>
</emulate>
</activityDriver>
</BPELTest>Hi hi, on a hunch I previewed the page in the browser, and copy pasted the faces/untitled1 portion of the URL there and pasted on the http://<server_address>:8001/BasicAPPDemo_Root therefore ending with http://<server_address>:8001/BasicAPPDemo_Root/faces/untitled1 and lo and behold I saw the little text box saying "Hello World" ;D
So with that i escalated, switched to the application where the page from BPM was located, deployed it and did the same trick.
But it borked it gave this error:
JBO-29115 Unable to construct the error message due to error java.lang.NullPointerException. Use the exception stack trace and error code to investigate the root cause of this exception. Root cause error code is JBO-.
I figured that the Default generation could be faulty so i created a new page and only recycled the data controls, created everything in read mode, just to test and deployed, when i tested, i was optimistic as the 1st tab didn't had any error (also does not have anything related to the HumanTask, even the data controls) the problem was in the other tabs as I show here.
Many thanks sirs, and sorry for wasting thy time. -
Line with 0 quantity for main item with batch split
Hello experts,
I have one line item in delivery. Delivery split is there: There are 1 spilt items with 1 batch nos. The main item category and the batch split item category are TAN.
My system is showing 2 line items in billing, the batch line with quantity and the main line with zero qty. How to prevent this and have only the lines item in invoice with batch/qty. I don´t want to see the main item with o quantity.
In VTFL I have routine for copying requirements 004 and Billing Quantity B. I need to create another copying routine or I need to use another item category for batch lines?
Thanks in advance
PabloHi Pablo,
It is advisable to have a different item category for Batch split items.
If you want the batch split items to suppress and show only the Total in the Invoice. Yes it is possible.
1) You can do this in the Copy controls in VTFL - Delivery to Billing, go to your Item category and go to Item details - Change the billing Qty to 'G'.
2) Go to Shipping > Deliveries > Item categories Determination in Deliveries > Define item category.
Go to your item category which is used in Batch Split
Remove the Billing Revelance and make it blank and Save.
Now when you create the Invoice for Batch split - Only the total quantity will be displayed without the subitems - like in Delivery note or Delivery..
Please check and revert back for any more details
Rgds
Sunil. -
Process p.waitFor() wait forever, need solutions
Dear Members,
I am trying to run a perl script from java code that generates a log file on file system and populates the date in to mysql table.In java code while calling method Process p .waitFor(), the java program will hangs up and i am also using p.destroy() method but no further code will be executed.The process will wait forever. I have also seen that the perl file is being executed as it generates a log file with some data but it never completes I am using Windows Xp platform and jdk 1.5. But when i explicitly terminates the java program the log file will be generated immediately and data will be populated in mysql table.
My java program simple converts xls file to csv and then this csv file is passed as an argument for perl script file.
My java code is written below:
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileNotFoundException;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.OutputStreamWriter;
import java.io.UnsupportedEncodingException;
import java.util.Locale;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;
import jxl.WorkbookSettings;
import jxl.read.biff.BiffException;
public class ConvertXLSTOCSV
private static MyLogger lLog = MyLogger.getLogger();
public boolean convertXLSTOCSV(String xmlfilePath, String xlsFilename)
boolean conversionDoneFlag=false;
String csvFileName="";
String csvFilePath = "";
csvFilePath = xmlfilePath.substring(0, xmlfilePath.lastIndexOf("/"));
csvFilePath = csvFilePath+"/csv/";
lLog.info("csvFilePath :"+csvFilePath);
if(xlsFilename.contains(".xls")){
xlsFilename = xlsFilename.replaceAll(" ", "_");
csvFileName = xlsFilename.replaceAll(".xls", ".csv");
csvFileName = csvFilePath+csvFileName;
lLog.info("csvFileName : "+csvFileName);
xmlfilePath = xmlfilePath+"/"+xlsFilename;
lLog.info("xmlfilePath : "+xmlfilePath);
//File to store data in form of CSV
File f = new File(csvFileName);
OutputStream os = null;
try {
os = (OutputStream)new FileOutputStream(f);
} catch (FileNotFoundException e1) {
lLog.info("FileNotFoundException occurs");
e1.printStackTrace();
//String encoding = "UTF8";
OutputStreamWriter osw = new OutputStreamWriter(os);
BufferedWriter bw = new BufferedWriter(osw);
//Excel document to be imported
String filename = xmlfilePath;
lLog.info("XLS File path : "+filename);
WorkbookSettings ws = new WorkbookSettings();
ws.setLocale(new Locale("en", "EN"));
Workbook w;
try {
w = Workbook.getWorkbook(new File(filename),ws);
// Gets the sheets from workbook
for (int sheet = 0; sheet < w.getNumberOfSheets(); sheet++)
Sheet s = w.getSheet(sheet);
Cell[] row = null;
// Gets the cells from sheet
// Gets the cells from sheet
for (int i = 0; i < s.getRows(); i++) {
row = s.getRow(i);
lLog.info("Row_no="+i+", row_length="+row.length);
// Fetching cell values
for (int j = 0 ; j < row.length; j++) {
String cellValue=row[j].getContents();
Pattern p = Pattern.compile("[\\n\\r\\t]");
Matcher m = p.matcher("");
m.reset(cellValue);
String result = m.replaceAll("");
if(j==13){
bw.write("\""+result+"\"");
lLog.info("Coloumn index ="+j+"and its value\""+result+"\"");
}else{
bw.write(result);
bw.write(',');
bw.newLine();
bw.flush();
bw.close();
lLog.info("Conversion completed");
} catch (BiffException e) {
lLog.info("BiffException occurs while Conversion");
e.printStackTrace();
}catch (UnsupportedEncodingException e){
System.err.println(e.toString());
}catch (IOException e){
System.err.println(e.toString());
// Call script to insert in temporary table
String pl_file = "";
lLog.info("going to execute perl file");
pl_file = "power_gen_report.pl";;
lLog.info("Perl file path :"+pl_file);
String cmdLine[] = { "perl", "-f", pl_file, csvFileName };
lLog.info("Perl command :"+"perl -f "+pl_file+" "+csvFileName );
try{
Runtime rt= Runtime.getRuntime();
Process p = rt.exec(cmdLine);
InputStream in = p.getInputStream();
InputStream err = p.getErrorStream();
boolean finished = false; // Set to true when p is finished
while( !finished) {
try {
while( in.available() > 0) {
// Print the output of our system call.
Character c = new Character( (char) in.read());
System.out.print(c);
while( err.available() > 0) {
// Print the output of errors
Character c = new Character( (char) in.read());
System.out.print(c);
int exitVal;
try {
exitVal = p.waitFor();
//int exitVal = p.exitValue();
finished = true;
System.out.println("finished = "+finished);
if(exitVal == 0){
lLog.info("perl file executed sucessfully :"+pl_file);
lLog.info("Table Populated sucessfully if csv file has new records\n");
conversionDoneFlag=true;
}else{
lLog.info("Table not Populated : Due to records in csv file are already present in table\n");
lLog.info("Exit Value returns from perl file : "+exitVal);
p.destroy();
} catch (InterruptedException e) {
e.printStackTrace();
} catch (IllegalThreadStateException e) {
// Sleep a little to save on CPU cycles
try {
Thread.sleep(500);
} catch (InterruptedException e1) {
lLog.info("InterruptedException occurs ");
e1.printStackTrace();
}catch(IOException e){
lLog.info("IOException occurs ");
return conversionDoneFlag;
public static void main(String[] args){
System.out.println("Executing main() method ");
ConvertXLSTOCSV dv =new ConvertXLSTOCSV();
boolean ad = dv.convertXLSTOCSV("d:/attachment/excel","Technical_Associates_Ltd.16-06-2010.xls";);
if(ad== true){
System.out.println("Conversion completed");
}else{
System.out.println("Conversion not completed");
Please help me!.as i am unable to sort out this problem.
I will be very thankful to you for the samenext time put your code inside code brackets then we can actually read what you wrote. (and if you copy it directly from your source code, it will keep the correct formating)
Anyhow, p.waitFor();
is waiting for both of the
InputStream in = p.getInputStream();and
InputStream err = p.getErrorStream();
to get the EndOfFile character.
As long as it is thinking there could be more input/output, process 'p' wont die.
and if it won't die.. then it will keep waiting. -
LSMW for MB1C with Batch & Characterstic
Dear All,
I want to upload the initial stock with movement type 561.My materials are Batch Managed and the Batch are having certain Characterstic.So i want to upload the Stock with Batch Characterstic.This is not possible with recording in LSMW.Can anybody help me out in making the LSMW.
Thanks
JagmohanTry this code
REPORT zosmm_carga_caract_lote NO STANDARD PAGE HEADING LINE-SIZE 100.
Global Parameters
DATA: BEGIN OF t_message OCCURS 0.
INCLUDE STRUCTURE bapiret2.
DATA: END OF t_message.
DATA: BEGIN OF t_archivo OCCURS 0,
lineas(42),
END OF t_archivo.
DATA: BEGIN OF t_carga OCCURS 0,
charg(10),
valor(30),
END OF t_carga.
DATA: BEGIN OF t_caract OCCURS 40,
atnam LIKE cabn-atnam,
atinn LIKE cabn-atinn,
atfor LIKE cabn-atfor,
anzst LIKE cabn-anzst,
END OF t_caract.
BAPI structures
DATA: BEGIN OF wa_allocvaluescharnew OCCURS 0.
INCLUDE STRUCTURE bapi1003_alloc_values_char.
DATA: END OF wa_allocvaluescharnew.
DATA: BEGIN OF wa_allocvaluesnumnew OCCURS 0.
INCLUDE STRUCTURE bapi1003_alloc_values_num.
DATA: END OF wa_allocvaluesnumnew.
DATA: BEGIN OF wa_allocvaluescurrnew OCCURS 0.
INCLUDE STRUCTURE bapi1003_alloc_values_curr.
DATA: END OF wa_allocvaluescurrnew.
Variables
DATA: lineas TYPE i,
w_rc LIKE sy-subrc,
mens LIKE message,
date_err(1) TYPE c,
swc(1).
DATA: c_totreg(6),
c_vanreg(6).
DATA: v_atinn LIKE cabn-atinn,
v_atfor LIKE cabn-atfor,
v_anzst LIKE cabn-anzst.
SELECTION-SCREEN
SELECTION-SCREEN BEGIN OF BLOCK uno WITH FRAME TITLE text-001.
PARAMETER: p_matnr LIKE mara-matnr OBLIGATORY,
p_atnam LIKE cabn-atnam OBLIGATORY.
PARAMETER: p_file LIKE rlgrap-filename OBLIGATORY.
SELECTION-SCREEN END OF BLOCK uno.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
PERFORM buscar_archivo USING p_file.
START-OF-SELECTION.
START-OF-SELECTION.
REFRESH: t_archivo, t_carga, t_caract.
*** Characteristics Values
SELECT SINGLE atinn atfor anzst
INTO (v_atinn, v_atfor, v_anzst)
FROM cabn
WHERE atnam = p_atnam.
IF sy-subrc NE 0.
MESSAGE i899(m3) WITH 'Not Valid Characteritics'.
ELSE.
*** Read input and upload
CALL FUNCTION 'WS_UPLOAD'
EXPORTING
filename = p_file
filetype = 'ASC'
TABLES
data_tab = t_archivo
EXCEPTIONS
conversion_error = 1
invalid_table_width = 2
invalid_type = 3
no_batch = 4
unknown_error = 5
gui_refuse_filetransfer = 6
OTHERS = 7.
IF sy-subrc EQ 0.
LOOP AT t_archivo.
CLEAR t_carga.
SPLIT t_archivo AT ';'
INTO t_carga-charg t_carga-valor.
APPEND t_carga.
ENDLOOP.
DESCRIBE TABLE t_carga LINES lineas.
IF lineas > 0.
PERFORM clasificar_lotes.
ELSE.
MESSAGE i899(m3) WITH 'Doesn't exist batch to process'.
ENDIF.
ELSE.
MESSAGE i899(m3) WITH 'Error on upload'.
ENDIF.
ENDIF.
TOP-OF-PAGE
TOP-OF-PAGE.
WRITE: /'TITLE', sy-datum, sy-uname NO-GAP.
WRITE: /'Material: ', p_matnr.
WRITE: /'Characteristics: ', p_atnam.
SKIP.
WRITE: 01 'Batch', 11 'Valor', 30 'Log'.
ULINE.
*& Form clasificar_lotes
FORM clasificar_lotes.
DATA: w_matnr LIKE mara-matnr,
w_cuobjbm LIKE mch1-cuobj_bm,
w_obtab LIKE inob-obtab,
w_objek LIKE inob-objek,
w_class LIKE klah-class,
w_clint LIKE kssk-clint,
w_valor(8),
w_mbapi(80),
logline(100).
CLEAR: t_message.
LOOP AT t_carga WHERE charg IS NOT INITIAL.
REFRESH: wa_allocvaluescharnew,
wa_allocvaluesnumnew,
wa_allocvaluescurrnew.
CLEAR: wa_allocvaluescharnew,
wa_allocvaluesnumnew,
wa_allocvaluescurrnew,
date_err,
w_mbapi,
logline.
CONCATENATE t_carga-charg t_carga-valor
INTO logline SEPARATED BY space.
*** Find object to classified
SELECT SINGLE cuobj_bm matnr
INTO (w_cuobjbm, w_matnr)
FROM mch1
WHERE charg = t_carga-charg
AND matnr = p_matnr.
IF sy-subrc EQ 0.
SELECT SINGLE obtab objek
INTO (w_obtab,w_objek)
FROM inob
WHERE cuobj = w_cuobjbm.
*** Find class from object
SELECT SINGLE clint INTO w_clint
FROM kssk
WHERE objek = w_cuobjbm
AND mafid = 'O'
AND klart = '023'.
IF sy-subrc = 0.
SELECT SINGLE class INTO w_class
FROM klah
WHERE clint = w_clint.
TRANSLATE t_carga-valor USING ',.'.
CONDENSE t_carga-valor.
CALL FUNCTION 'BAPI_OBJCL_GETDETAIL'
EXPORTING
objectkey = w_objek
objecttable = 'MCH1'
classnum = w_class
classtype = '023'
KEYDATE = SY-DATUM
UNVALUATED_CHARS = ' '
language = sy-langu
IMPORTING
STATUS =
STANDARDCLASS =
TABLES
allocvaluesnum = wa_allocvaluesnumnew
allocvalueschar = wa_allocvaluescharnew
allocvaluescurr = wa_allocvaluescurrnew
return = t_message.
*** Define characteristics type
CASE v_atfor.
WHEN 'CHAR' OR 'BOOL'.
wa_allocvaluescharnew-charact = p_atnam.
wa_allocvaluescharnew-value_char = t_carga-valor.
APPEND wa_allocvaluescharnew.
LOOP AT wa_allocvaluescharnew WHERE charact = p_atnam.
wa_allocvaluescharnew-value_char = t_carga-valor.
wa_allocvaluescharnew-value_neutral = t_carga-valor.
MODIFY wa_allocvaluescharnew.
ENDLOOP.
WHEN 'NUM' OR 'TIME'.
wa_allocvaluesnumnew-charact = p_atnam.
wa_allocvaluesnumnew-value_from = t_carga-valor.
APPEND wa_allocvaluesnumnew.
LOOP AT wa_allocvaluesnumnew WHERE charact = p_atnam.
wa_allocvaluesnumnew-value_from = t_carga-valor.
wa_allocvaluesnumnew-value_from = t_carga-valor.
MODIFY wa_allocvaluesnumnew.
ENDLOOP.
WHEN 'DATE'.
CALL FUNCTION 'CONVERT_DATE_TO_INTERN_FORMAT'
EXPORTING
datum = t_carga-valor
dtype = 'DATS'
IMPORTING
error = date_err
idate = w_valor
messg = mens.
IF date_err = 'X'.
CONCATENATE logline '-> Error: Fecha no valida'
INTO logline SEPARATED BY space.
ENDIF.
wa_allocvaluesnumnew-charact = p_atnam.
wa_allocvaluesnumnew-value_from = w_valor.
APPEND wa_allocvaluesnumnew.
LOOP AT wa_allocvaluesnumnew WHERE charact = p_atnam.
wa_allocvaluesnumnew-value_from = w_valor.
MODIFY wa_allocvaluesnumnew.
ENDLOOP.
WHEN 'CURR'.
wa_allocvaluescurrnew-charact = p_atnam.
wa_allocvaluescurrnew-value_from = t_carga-valor.
APPEND wa_allocvaluescurrnew.
LOOP AT wa_allocvaluescurrnew WHERE charact = p_atnam.
wa_allocvaluescurrnew-value_from = t_carga-valor.
MODIFY wa_allocvaluescurrnew.
ENDLOOP.
ENDCASE.
IF date_err IS INITIAL.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> by AGARCIA
CALL FUNCTION 'BAPI_OBJCL_CHANGE_KEY'
CALL FUNCTION 'BAPI_OBJCL_CHANGE'
EXPORTING
objectkey = w_objek
objecttable = 'MCH1'
classnum = w_class
classtype = '023'
status = '1'
TABLES
allocvaluesnumnew = wa_allocvaluesnumnew
allocvaluescharnew = wa_allocvaluescharnew
allocvaluescurrnew = wa_allocvaluescurrnew
return = t_message.
IF sy-subrc EQ 0.
CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
EXPORTING
wait = 'X'.
LOOP AT t_message WHERE type CO 'EA'.
CONCATENATE w_mbapi t_message-message ';'
INTO w_mbapi SEPARATED BY space.
ENDLOOP.
IF w_mbapi IS INITIAL.
CONCATENATE logline '-> Ok!' INTO logline SEPARATED BY space.
ELSE.
CONCATENATE logline '-> Error:' w_mbapi
INTO logline SEPARATED BY space.
ENDIF.
ELSE.
CONCATENATE logline '-> Error: Problem on BAPI Execution
INTO logline SEPARATED BY space.
ENDIF.
ENDIF.
ELSE.
CONCATENATE logline '-> Error: Class object don't found'.
INTO logline SEPARATED BY space.
ENDIF.
ELSE.
CONCATENATE logline '-> Error: Class object don't found'.
INTO logline SEPARATED BY space.
ENDIF.
WRITE: / logline.
ENDLOOP.
WRITE: / '>>>>>>>>>> FIN DEL PROCESO <<<<<<<<<<'.
ENDFORM. " clasificar_lotes
Form buscar_archivo
Muestra el diálogo para seleccionar el archivo
+----
FORM buscar_archivo CHANGING ie_arch.
DATA: v_file1 LIKE dynpread-fieldname,
v_file2 LIKE ibipparms-path.
v_file1 = ie_arch.
CALL FUNCTION 'F4_FILENAME'
EXPORTING
field_name = v_file1
IMPORTING
file_name = v_file2.
ie_arch = v_file2.
ENDFORM. " BUSCAR_ARCHIVO -
RAC 10.2.0.5 - Session waiting forever
Hi, i feel alone
The database has several sessions that are waiting forvever.
Sometimes these sessions are wainting for "direct path read", or "read by other session"
The objects on which the sessions are waiting are never the same (user table, or LOB, ...)
The OS process associated with the database session doesn't exists anymore on the system.
The connection is made with JDBC THIN CLIENT.
NO error messages as the session is just waiting indefinitly
If a start a new session and issue a simple SQL SELECT on the waited objects on both instance.
The first instance return the resultset. The second instance just wait forever.
After the blocked objects is rebuilt, SQL SELECT works fine from both instance.
Killing the waiting sessions doesn't solve the probleme as next same SQL QUERY from the other instance, will be blocked too ...
Rebuild the object solve the problem ...
BUT THIS IS FAR NOT A GOOD SOLUTION !
The database is Oracle 10.2.0.5 SE RAC for LInux RHEL5 x64.
ASM is used.
Thank you for any suggestions !Hi,
thank you for your response.
This is a STANDARD EDITION with all tables degree set to 1, and all indexes degrees set to 1 or 0.
I kill the session selected with the following query (the ones with high last_call_et)
select inst_id, username, last_call_et, event, row_wait_obj# from gv$session where status='ACTIVE' and state='WAITING' and username is not null;
Sometime, just kill the session solve the problem
Now, i got 1 session waiting forever on "read by other session" on table SYSTEM.SQLPLUS_PRODUCT_PROFILE the SQL executed is
"analyze table infomed2.dm_ligne ....;" .
The same problem appears on 2 differents databases on the same RAC cluster (all in 10.2.0.5)
i guess a bug with dictionnary latch, or with gcs, or with sqlnet( session closed but not realeased), ... but cannot find any information -
My iPod Touch 4S is no longer able to update applications (They just sit and wait forever). How do I fix this?
restore or reset your ipod. there is a problem with ipods atm so the best you can do is wait if neither restoring or reseting works.
-
Compressor is "Waiting" forever!
Hey everyone...
i don't know what the issue is. i submit a job to compressor, and it takes the job, but stays on "waiting" forever!
i have tried some fixes i found in these forums... deleting 3rd party software, changing destination folders... and i've tried submitting a job about every way i know of... and nothing works!
i compressed a project yesterday, and it was fine... finished the job in a respectable amount of time... today, it started a job fine... actually 2 jobs, 4 targets... but it said some obscene amount of time to finish... something like 24 hours for the job. i know it doesn't take that long. i quit that job earlier, and ever since it's given me issues.
oh, and i've restarted my computer about 3 times since... so don't be a smart guy ;DNot sure if you're still have this problem, but I think he means, take a look at the Batch Monitor.
Once you click on Batch Monitor, you can see all the jobs which are being processed on your Mac.
There may be a few ahead of your current job, which are not being displayed in your 'History window. -
Cost(vprs) of free goods with batch managment
Dear Gurus,
I have a problem ahout free goods with batch management.
Cost(VPRS) is not accumulated in billing(free goods is not relevant for billing).
My configurations are shown as below:
Ordered goods (and batch) item category :zta1(copied from tan)
Free goods (and batch) item category :zann (copied from tann) pricing:B ;not relevant for billing;dermination cost:X
copy control(from delivery to billing):
ztan: accumulation cost :X
If I use the material without batch management,Cost of free goods(without batch) is accumulated to main item(ordered goods).
So, what can I do?
Thanks and Best Regards,
Lykin KanHi,
These notes are useful:
SAP Note 1365939 - VPRS logic and Customizing settings in SD
SAP Note 547570 - FAQ: VPRS in pricing
If you have the problem in the transfer from SD conditions to CO-PA, check if you transfer only invoices to COPA, if you don't invoice the deliveries of free goods, then you don't transfer this 'sales' or costs of 'gifts' to COPA. You can check the customizing of COPA in tcode ORKE (IMG for COPA). SAP Note 74486 - INFO: Overview of consulting notes for CO-PA is a good summary about this issue.
I hope this helps you
Regards,
Eduardo
PD: I forgot SAP Note Number 33968 SD/CO-PA: Characteristics from sales doc tables
Edited by: E_Hinojosa on Sep 10, 2010 9:44 AM -
Split valuation with batch management and project stock
Dear Gurus,
I need to combine two following requirements:
1. split valuation with batch management (valuation type = batch number)
2. project stock
These two functionalities work fine separately but not together.
I receipt PO for material with spiit valuation on a batch level into a project stock. Posting is OK and material document (MSEG table) seems to be OK (batch number, valuation type and project stock are in this table). The problem appears when I want to display material in this valuation type (MM03) or batch (MSC3n). They don't exist!!! Short investigation showed that during goods receipt table MBEW (valuated stock) was not updated with this valuation type.
But If PO is receipt into normal stock first and then posted into project stock everything is OK.
Have you had or heart about such issue? I would appreciate any sugestion.
Thsnks in advance.
Marcin BernatHi,
As you already know ,u are using project stock and doing goods receipt against project, stock table QBEW will be updated and not MBEW. MBEW only updates in case of plant stock valuation. If u receive any goods against project stock it does not contribute to plant stock. Irrespective whether your material is managed in split valuation or not, If it is received against project stock it only updates QBEW. There is no need to update MBEW, if u r using split valuation in project. QBEW also have valuation type as another level like MBEW. If u want to see material price for project stock, it can be seen in QBEW -valuation type and not in mm03.
As u r receiving goods against project stock this is d only reason QBEW is updated and not MBEW.
QBEW will store all information like MBEW for batch number, valuation type and project stock assignment.
Hope it answers your question.
Deepak. -
Stock Report with Batch Number
Hi ,
My Client requires stock report with Batch numbers .required report format is
Item Code,BatchNumber,OpenQty,OpenVal,PurchaseQty,PurchaseVal,SalesQty,SalesVal,ClosQty,CloseVal
I tried using query on wiki for stock report but that query is written in 2007 and Batch tables and OINM table is changes in 8.81.
http://wiki.sdn.sap.com/wiki/display/B1/SAPB1SQLH-INItemInventoryOpeningandClosingStockper+warehouse
can any one help with stock report- batches.
Thanks,
PreetiHI,
use below query as basis and mofiy the fields required. it shows linking in batch and transaction tables:
SELECT distinct T0.ItemCode,T0.ItemName ,T0.DocDate ,T0.DocType ,T0.DocNum,T0.LocCode ,t4.DistNumber as [BatchNumber], T1.Quantity ,T5.CalcPrice as [Price]
FROM [OITL] T0
INNER JOIN [ITL1] T1 ON T1.[LogEntry] = T0.[LogEntry]
INNER JOIN OBTN T4 on T1.MdAbsEntry=T4.AbsEntry
INNER JOIN [OITM] T2 ON T2.[ItemCode] = T0.[ItemCode]
Inner JOin OINM T5 on T0.ItemCode =T5.ItemCode and T0.LocCode = T5.Warehouse and T0.AppDocNum = T5.BASE_REF
Thanks,
Neetu -
I updated my mini, but some of my apps are no longer available. One of them I purchased from the Apple store. They are grayed out with the word "waiting" underneath the app. Any suggestions?
If there are multiple apps trying to download at once, only one can download at a time and the rest say "Waiting" until it is then their turn. Try this. Double tap the icon of the Waiting app, and it should resume the download.
How to Solve the Problem of An iPad App Download Stuck on “Waiting”
http://ipadacademy.com/2012/06/how-to-solve-the-problem-of-an-ipad-app-download- stuck-on-waiting
How To Get Rid Of Your iPad App Download Frozen Problem
http://www.sidelineapple.com/how-to-get-rid-of-your-ipad-app-download-frozen-pro blem-and-not-lose-years-of-your-life-video/
Another thing to try - Turn the iPad Off & then back ON.
If that doesn't work:
• Log out of your iTunes store account. Go to Settings > Store > Sign Out Then press the Home button.
• Then press and hold the Home and Sleep buttons simultaneously and don't release them when it brings up the Turn Off screen; keep holding them until the Apple logo appears.
• After restart, the Waiting should be gone.
Cheers, Tom -
Dear Professionals ,
I Just want to confirm that whether BAPI "BAPI_GOODSMVT_CREATE " will do the goods receipt ( MB01 ) for the subcontracting PO with batch management.
Since I will be passing only 101 mvy type in BAPi, will the system automatically call 543 mvt type with batch management and post the consumption.
can I change the batch of the component items ?Hi ,
Delivery note is like a ref document number
so you can use the
In the BAPI_GOODSMVT_CREATE There is header structure BAPI2017_GM_HEAD_01 which has a field REF_DOC_NO
you can pass the delivery note value to that field .
<REMOVED BY MODERATOR>
Edited by: Alvaro Tejada Galindo on Jul 10, 2008 3:41 PM -
MTS with batch management, serialization and Handling unit
Hello All,
I am testing a scenario for MTS with batch management, serialization and Handling unit for discrete manufacturing.
Everything worked fine till I created the Handling unit for the finished product.
The production order has a quantity of 3 EA.
It has three serial numbers 1, 2 and 3. (serial numbers can be displayed from order->Header->serial numbers)
I created one Handling unit for production order quantity of 3 EA.
I tried to do a goods receipt for the production order using transaction COWBHUWE.
I get the following error when I try to post the GR:
Only 0 serial numbers entered instead of 3
Message no. IO304
Diagnosis
There is a serial number obligation, so the number of serial numbers must equal the number of serial numbers in the material document.
You can post the operation only if you entered the correct number of serial numbers previously.
System Response
Depending on the context in which the error arises, the system continues processing, or the required function cannot be performed.
Procedure
You have the following options, for example:
Check that the serial numbers are entered fully.
If necessary, display an error log.
If necessary, contact your system administrator.
What did I miss?
How to fix this problem?
Please help.
Thanks in advance
GeorgeI added the serialization procedure HUSL to the serial number profile and it fixed the problem.
Maybe you are looking for
-
Error message when opening LR5 on my MacBook Pro.
I have successfully installed LR5 on my iMac but for some reason it is not installing properly on my MacBook Pro laptop!! I have now tried installing this software three times. This is the message that appears in a grey box whenever I try to open L
-
Hi gurus, We want to transport our PI 7.1 SP06 scenarios from DEV to QA. We have taken the following actions: - We've registered our TS in SLD from back-end's Tx. RZ70. - We've created our BS - We've imported the SWC to the ESB. - We want to import t
-
Buttons within Complex Buttons
Hi all - i'm trying to create a navigation system fairly indentical to this one: http://www.thefieryfurnaces.com/ I am using a complex button with actionscript, however I can't get any of the navigation buttons to work on top of this. I'd like them t
-
Our psc1610 all-in-one has come up with a message..."remove and check right cartridge"....although I have done that a number of times, and even put in a new right and left cartridge, it still says the same message, and will not print. Frustration at
-
HOW TO ADD GROUP BY CLAUSE WHEN USING Jbo:Datatable
Would like to know if there are any provisions for adding a Group by clause so the data shown using DataTable Component cn be grouped. eg: Currently using DataTable component shows data as shown below. Dept Name 10 ABC 10 DEF 10 PQR 20 XYZ 20 QQQ Can