| Author | 
		  Message
		 | 
		
		  | ins0mniac2 | 
		  
		    
			  
				 Posted: Thu May 22, 2008 9:28 am    Post subject: mySAP Adapter Error | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 25 Jul 2005 Posts: 33
  
  | 
		  
		    
			  
				I have the following situation happening.
 
 
I am using the SAP adapter to pull an IDOC extension out of SAP.  I generated the corresponding BO using the ODA and configured the appropriate message type for the ASI.  The Adapter successfully receives the IDOC from SAP.  When the adapter tries to parse the Idoc into a BO i get the following error.
 
 
From the Log file
 
   
	| Quote: | 
   
  
	
 
Error: Exception in method parseAndProcessCR. Message:  .
 
Error: MQMessageParser.CreateAndFormatWorkUnit(): Formatting failed. Reason : [Type: Error] [MsgID: 26020] [Mesg: Error: Exception in method parseAndProcessCR. Message:  .]
 
 | 
   
 
 
 
From the Trace file
 
 
   
	| Quote: | 
   
  
	
 
2008/05/22 16:23:53.067	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 28039] [Mesg: Server thread JCO.ServerThread-1 changed state from [ TRANSACTION ] to [ BUSY ].]
 
2008/05/22 16:23:53.068	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Trace] [MsgID: 29055] [Mesg: Entering method SapRfcServerConnectorAgent getFunction.]
 
2008/05/22 16:23:53.070	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Trace] [MsgID: 29056] [Mesg: Exiting method SapRfcServerConnectorAgent getFunction.]
 
2008/05/22 16:23:53.070	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Trace] [MsgID: 29055] [Mesg: Entering method handleRequest()  .]
 
2008/05/22 16:23:53.071	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Trace] [MsgID: 29056] [Mesg: Exiting method SapRfcServerConnectorAgent buildIdocListForStatusUpdate.]
 
2008/05/22 16:23:53.077	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 26086] [Mesg: Thread JCO.ServerThread-1: Segment: E2ADHDR001 - SegmentNumber 000001 - ParentSegNumber 000000]
 
2008/05/22 16:23:53.077	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 26086] [Mesg: Thread JCO.ServerThread-1: Segment: E2STATE002 - SegmentNumber 000002 - ParentSegNumber 000001]
 
2008/05/22 16:23:53.077	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 26086] [Mesg: Thread JCO.ServerThread-1: Segment: Z2PMMVID2000 - SegmentNumber 000003 - ParentSegNumber 000002]
 
2008/05/22 16:23:53.078	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 26086] [Mesg: Thread JCO.ServerThread-1: Segment: E2PRTOB - SegmentNumber 000004 - ParentSegNumber 000002]
 
2008/05/22 16:23:53.078	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Trace] [MsgID: 29056] [Mesg: Exiting method ALEServerBOHandler process.]
 
2008/05/22 16:23:53.078	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 29056] [Mesg: Exiting method handleRequest()  .]
 
2008/05/22 16:23:53.079	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 28039] [Mesg: Server thread JCO.ServerThread-1 changed state from [ BUSY ] to [ LISTENING ].]
 
2008/05/22 16:23:53.079	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 29055] [Mesg: Entering method onCommit()  .]
 
2008/05/22 16:23:53.095	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 29056] [Mesg: Exiting method onCommit()  .]
 
2008/05/22 16:23:53.098	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 29055] [Mesg: Entering method onConfirmTID()  .]
 
2008/05/22 16:23:53.101	ConnectorAgent	Trace		PriceAck		JCO.ServerThread-1 (#946544417)		:[Type: Info] [MsgID: 29056] [Mesg: Exiting method onConfirmTID()  .]
 
2008/05/22 16:23:53.103	ConnectorAgent	Trace		PriceAck		VSapALEConnectorAgent-MQMessageParser (#951918369)		:[Type: Info] [MsgID: 26053] [Mesg: MQMessageParser.run(): Picked up 1 MQMessage from the Message List.]
 
2008/05/22 16:23:53.103	ConnectorAgent	Trace		PriceAck		VSapALEConnectorAgent-MQMessageParser (#951918369)		:[Type: Info] [MsgID: 26055] [Mesg: Number of business objects read from MQMessage  ID workOnWorkUnit :  .]
 
2008/05/22 16:23:53.125	ConnectorAgent	Trace		PriceAck		VSapALEConnectorAgent-MQMessageParser (#951918369)		:[Type: Info] [MsgID: 26056] [Mesg: MQMessageParser: Entering createAndFormatWorkUnit().]
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 17008] [Mesg: Polling every 10000 milliseconds.]
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 17009] [Mesg: Polling for subscription events.]
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		Thread:appPolling:executing poll call
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:Polling App Connector.
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 24003] [Mesg: Calling pollforEventsVision() of module class: " com.crossworlds.connectors.sap.sapalemodule.VSapALEConnectorAgent ".]
 
2008/05/22 16:23:55.170	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 29055] [Mesg: Entering method VSapALEConnectorAgent pollforEventsVision.]
 
2008/05/22 16:23:55.171	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26068] [Mesg: VSapALEConnectorAgent: Entering pollForEvents().]
 
2008/05/22 16:23:55.171	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 29055] [Mesg: Entering method VSapALEConnectorAgent sendWorkUnittoICS.]
 
2008/05/22 16:23:55.171	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26070] [Mesg: VSapALEConnectorAgent: Entering sendWorkUnittoICS().]
 
2008/05/22 16:23:55.171	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 29055] [Mesg: Entering method VSapALEConnectorAgent postToICS.]
 
2008/05/22 16:23:55.175	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26072] [Mesg: VSapALEConnectorAgent: Entering postToICS(), this is where we deliver BOs to ICS.]
 
2008/05/22 16:23:55.175	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26073] [Mesg: VSapALEConnectorAgent.postToICS(): about to send BO to ICS : Null BO.]
 
2008/05/22 16:23:55.175	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26075] [Mesg: VSapALEConnectorAgent: Leaving postToICS().]
 
2008/05/22 16:23:55.175	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 29056] [Mesg: Exiting method VSapALEConnectorAgent postToICS.]
 
2008/05/22 16:23:55.175	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26048] [Mesg: MQEventRecovery.updateRecoveryLog(): Updating recovery log.]
 
2008/05/22 16:23:55.180	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26049] [Mesg: MQEventRecovery.ClearRecoveryLog: Clearing recovery log.]
 
2008/05/22 16:23:55.182	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 2] [Mesg: Message key 2 :: /opt/IBM/WebSphereAdapters/connectors/messages/CwConnectorAgentMessages.txt does not contain the text for this message.]
 
2008/05/22 16:23:55.182	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26071] [Mesg: VSapALEConnectorAgent: Leaving sendWorkUnittoICS().]
 
2008/05/22 16:23:55.182	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Trace] [MsgID: 29056] [Mesg: Exiting method VSapALEConnectorAgent sendWorkUnittoICS.]
 
2008/05/22 16:23:55.182	ConnectorAgent	Trace		PriceAck		appPolling (#945741601)		:[Type: Info] [MsgID: 26069] [Mesg: VSapALEConnectorAgent: Returning from pollForEvents() SUCCESSFULLY.]
 
 | 
   
 
 
 
I am not sure where the parsing error has occured as there is no description of it in the trace or log file.  I have not been able to find anything on this forum about this error.
 
 
Any help would be appriciated.
 
 
Thanx | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | Il_Ciclone | 
		  
		    
			  
				 Posted: Mon Jul 14, 2008 6:31 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Novice
 
 Joined: 21 Mar 2007 Posts: 24
  
  | 
		  
		    
			  
				parseAndProcessCR is Parse and Process Control Record (CR) i think.
 
If my memory serves me correct this may be caused by an incorrect CR in the bo.xsd
 
When we generate BOs we have to import a separate CR as the one we get out from the ODA is incorrect (does not have any values)
 
 
good luck | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Sun Dec 07, 2008 8:48 pm    Post subject: Is this resolved | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				How was this issue resolved ? Could you please brief out the changes you made to fix this ?     
 
 
We implemented the same kind of interface. But while pushing records there were 309 records failing out of 9000 records. 
 
 
Do you advice me to compare the control record's values of both successful and failure ones? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | k_usa | 
		  
		    
			  
				 Posted: Tue Dec 16, 2008 9:58 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 14 Aug 2006 Posts: 42 Location: NewJersey 
  | 
		  
		    
			  
				We had got the similar error when SAP generated 4000 IDOCs simultaneously in QA.
 
 
IBM was unable to provide the solution.
 
 
We never receicved the error in Production as the situation have not arised yet. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Tue Dec 16, 2008 8:08 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				Thanks for responding.
 
 
Could you also let know how you managed the failed records in QA ? Any idea, if the failed idocs are resent, will it succeed ?
 
 
In addition to this, I get a JCO Error as below. 
 
 
RFC call to Sap failed. Sap returned: Key: JCO_ERROR_RESOURCE; Message: Connection pool SAPZNACOConnector_ConnectionPool_200812050255 is exhausted. The current pool size limit is 1 connections..] 
 
 
Any info about this would be very helpful, as this issue is still Live in Prod!
 
 
Thanks in Advance. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Tue Dec 16, 2008 9:15 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| pribuan wrote: | 
   
  
	Thanks for responding.
 
 
Could you also let know how you managed the failed records in QA ? Any idea, if the failed idocs are resent, will it succeed ?
 
 
In addition to this, I get a JCO Error as below. 
 
 
RFC call to Sap failed. Sap returned: Key: JCO_ERROR_RESOURCE; Message: Connection pool SAPZNACOConnector_ConnectionPool_200812050255 is exhausted. The current pool size limit is 1 connections..] 
 
 
Any info about this would be very helpful, as this issue is still Live in Prod!
 
 
Thanks in Advance. | 
   
 
 
Up your connection pool size preferably to 5. You need at least 2 connections: 1 to receive IDOCS and the other to retrieve dynamically the structure...   
 
 
Have fun   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Tue Dec 16, 2008 10:08 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				Thanks. It would be kind of you, if you could also tell me where we will have to change those values ?
 
I dont see any such parameter in the Config File. 
 
Do we have to change in the Build ? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Tue Dec 16, 2008 11:08 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				I find a parameter in the connector Config file - "MaxNumberOfConnections" which describes "The maximum number of concurrent interactions possible between the connector and the SAP application"
 
 
This has a value 1. You adviced me to change this to 5 or was it something else ? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Wed Dec 17, 2008 11:43 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| pribuan wrote: | 
   
  
	I find a parameter in the connector Config file - "MaxNumberOfConnections" which describes "The maximum number of concurrent interactions possible between the connector and the SAP application"
 
 
This has a value 1. You adviced me to change this to 5 or was it something else ? | 
   
 
Yes that's the one. _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Wed Dec 17, 2008 7:04 pm    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				Thanks very much for this. 
 
 
Will the reprocessing of those failed IDOCs pass through successfully or thats gone? | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | fjb_saper | 
		  
		    
			  
				 Posted: Thu Dec 18, 2008 12:00 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		    Grand High Poobah
 
 Joined: 18 Nov 2003 Posts: 20768 Location: LI,NY 
  | 
		  
		    
			  
				
   
	| pribuan wrote: | 
   
  
	Thanks very much for this. 
 
 
Will the reprocessing of those failed IDOCs pass through successfully or thats gone? | 
   
 
 
So what happens if you try?   _________________ MQ & Broker admin | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Thu Dec 18, 2008 12:32 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				| i dint try still. Im planning to make the changes on Prod by this week., hoping this would fix the JCo error. But still have not got a fix for ParseError. Not sure how to go about it. | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | k_usa | 
		  
		    
			  
				 Posted: Thu Dec 18, 2008 9:05 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 14 Aug 2006 Posts: 42 Location: NewJersey 
  | 
		  
		    
			  
				When we submitted the failed IDOCS from SAP using Transaction code  WE11, they were picked up successfully by the adapter.
 
 
We never received the connection pool error,  
 
Are you using the same connector for sending IDOCs to SAP and Receiving IDOCs from SAP ?
 
 
 
 
   
	| pribuan wrote: | 
   
  
	Thanks for responding.
 
 
Could you also let know how you managed the failed records in QA ? Any idea, if the failed idocs are resent, will it succeed ?
 
 
In addition to this, I get a JCO Error as below. 
 
 
RFC call to Sap failed. Sap returned: Key: JCO_ERROR_RESOURCE; Message: Connection pool SAPZNACOConnector_ConnectionPool_200812050255 is exhausted. The current pool size limit is 1 connections..] 
 
 
Any info about this would be very helpful, as this issue is still Live in Prod!
 
 
Thanks in Advance. | 
   
 
 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | pribuan | 
		  
		    
			  
				 Posted: Thu Dec 18, 2008 9:14 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Newbie
 
 Joined: 07 Dec 2008 Posts: 9
  
  | 
		  
		    
			  
				We dont send IDOCS to SAP. We just receive it from SAP.
 
 
We have 309 records failed out of 9000 records. Now, the issue is, we are not sure how to click off the failed ones. I say it failed because, while the IDOCs were getting processed, some of them ran to the ALE.Error Queue....
 
 
The successfully processed ones are archived in the ALE.ARCHIVE Queue. 
 
 
Since the count is huge 309, and we use only the WatchQueue utility to browse thro the msgs., it is difficult to check on the Idoc number for the reprocessing action.
 
 
Crux is i dont see any logs for the error'd msgs other than the adapter logs which reports the ParseCR error and the connectionPool error. So., we re still not sure which Idoc failed for which error! | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | k_usa | 
		  
		    
			  
				 Posted: Thu Dec 18, 2008 10:04 am    Post subject:  | 
				     | 
			   
			 
		   | 
		
		
		   Apprentice
 
 Joined: 14 Aug 2006 Posts: 42 Location: NewJersey 
  | 
		  
		    
			  
				We have set the following properties in the SAP connector :
 
 
ALEUpdateStatus - True
 
ALESuccessCode - 53
 
ALEFailureCode - 68
 
 
After receiving an IDOC from SAP the connector updates the IDOC status in SAP from 03 to 41 and also it creates another acknowledgement IDOC (ALEAUD) in status 53.
 
 
If you see any IDOCs in SAP with status 03 (From transaction WE02), that means those IDOCs are not processed (Or errored) by the adapter.
 
 
We had the developer access to SAP in QA environment, so we were able to see the Idocs in SAP which were not picked by SAP adapter.
 
 
 
   
	| pribuan wrote: | 
   
  
	We dont send IDOCS to SAP. We just receive it from SAP.
 
 
We have 309 records failed out of 9000 records. Now, the issue is, we are not sure how to click off the failed ones. I say it failed because, while the IDOCs were getting processed, some of them ran to the ALE.Error Queue....
 
 
The successfully processed ones are archived in the ALE.ARCHIVE Queue. 
 
 
Since the count is huge 309, and we use only the WatchQueue utility to browse thro the msgs., it is difficult to check on the Idoc number for the reprocessing action.
 
 
Crux is i dont see any logs for the error'd msgs other than the adapter logs which reports the ParseCR error and the connectionPool error. So., we re still not sure which Idoc failed for which error! | 
   
 
 | 
			   
			 
		   | 
		
		
		  | Back to top | 
		  
		  	
		   | 
		
		
		    | 
		
		
		  | 
		    
		   |