EDIFACT D98A Inbound Message Processing Error
Hi
I have been setting up an EDI B2B G/W using 11g B2B PS3 (Host & Partner). I have created the ECS, XSD and XML files using the B2B Document Editor and have completed the partner setup for D98A Purchase Order.
I had the issues when I posted the PO where the Host is unable to pick up the agreements and I was getting B2B-51507 Payload Validation Error and the message was failling at the B2B Host.
Later I changed the payload in-line with the below thread and removed the Internal Properties
https://forums.oracle.com/forums/thread.jspa?messageID=11039032#11039032
upon which the messages was sent to RemoteTP but failed with B2B-50037: B2B inbound message processing error
When I analyzed further I could see the InternalPropertes sent by the Host to the RemoteTP are with empty values.
I would like to understand the point of removing the InternalProperties and why B2B Host is not sending it in the right format to the other B2B.
I am pasting the file that is been received at the RemoteTP which failed with B2B-50037: B2B inbound message processing error
<?xml version="1.0" encoding="UTF-8"?><Transaction-CONTRL xmlns="urn:oracle:integration:b2b:9FF110DDDB0C424F8B4C5A0F73EF6547" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" XDataVersion="1.0" Standard="EDIFACT" Version="D3" CreatedDate="2013-05-31T13:41:20" CreatedBy="XEngine_2133" GUID="{65236268-C9EF-11E2-BC04-E4115BAD2692}"><Internal-Properties><Data-Structure Name="Interchange"><Lookup Name="InterchangeControlVersion">1</Lookup><Lookup Name="InterchangeReceiverID"> </Lookup><Lookup Name="InterchangeReceiverQual"></Lookup><Lookup Name="InterchangeSenderID"> </Lookup><Lookup Name="InterchangeSenderQual"></Lookup><Lookup Name="Standard">EDIFACT</Lookup><Property Name="InterchangeSyntaxVersion">1</Property><Property Name="ReleaseCharacter">0x3f</Property><Data-Structure Name="Group"><Lookup Name="GroupID">CONTRL</Lookup><Lookup Name="GroupReceiverID"> </Lookup><Lookup Name="GroupReceiverQual"></Lookup><Lookup Name="GroupReleaseNumber">3</Lookup><Lookup Name="GroupSenderID"> </Lookup><Lookup Name="GroupSenderQual"></Lookup><Lookup Name="GroupVersion">D</Lookup><Property Name="GroupID">CONTRL</Property><Data-Structure Name="Transaction"><Lookup Name="TransactionID">CONTRL</Lookup><Lookup Name="TransactionMessageReleaseNumber">3</Lookup><Lookup Name="TransactionMessageVersionNumber">D</Lookup></Data-Structure></Data-Structure></Data-Structure></Internal-Properties><Segment-UNH><Element-0062>#ControlNumber(Transaction)#</Element-0062><Composite-S009><Element-0065>CONTRL</Element-0065><Element-0052>D</Element-0052><Element-0054>3</Element-0054><Element-0051>UN</Element-0051></Composite-S009></Segment-UNH><Segment-UCI><Element-0020>1051</Element-0020><Composite-S002><Element-0004> </Element-0004></Composite-S002><Composite-S003><Element-0010> </Element-0010></Composite-S003><Element-0083>4</Element-0083></Segment-UCI><Loop-Group_3><Segment-UCF><Element-0048>1051</Element-0048><Composite-S006><Element-0040> </Element-0040></Composite-S006><Composite-S007><Element-0044> </Element-0044></Composite-S007><Element-0083>4</Element-0083></Segment-UCF><Loop-Group_4><Segment-UCM><Element-0062>1</Element-0062><Composite-S009><Element-0065>ORDERS</Element-0065><Element-0052>D</Element-0052><Element-0054>98A</Element-0054><Element-0051>AA</Element-0051></Composite-S009><Element-0083>4</Element-0083><Element-0085>18</Element-0085></Segment-UCM></Loop-Group_4></Loop-Group_3><Segment-UNT><Element-0074>5</Element-0074><Element-0062>#ControlNumber(Transaction)#</Element-0062></Segment-UNT></Transaction-CONTRL>
Has anyone encountered such issues? Is there any additional properties that are needed to be configured?
Regards
RD
Hi Anuj
this is the stack trace
<02-Jun-2013 12:50:47 o'clock BST> <Error> <oracle.soa.b2b.engine> <BEA-000000> <Error -: B2B-50037: B2B inbound message processing error
Error -: B2B-50037: B2B inbound message processing error
at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:3283)
at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1764)
at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4179)
at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3855)
at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3328)
at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:610)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:192)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:183)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
the xml i posted is the one that is logged by the remote TP in the trace logs before the error occurrence,
Regards
RD
Similar Messages
-
B2B/SOA 11.1.1.6.0
We are setting a new trading partner and when we started document transmissions we are getting errors on the inbound messages: B2B-50037: B2B inbound message processing error.
The attachment shows the relevant lines from the soa log and diagnostic log files. Here is the error detail that shows:
[URI: /b2b/httpreceiver] Error -: B2B-50037: B2B inbound message processing error[[
Error -: B2B-50037: B2B inbound message processing error
at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:3143)
at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1650)
at oracle.tip.b2b.transport.InterfaceListener.onMessageLocal(InterfaceListener.java:403)
at oracle.tip.b2b.transport.InterfaceListener.onMessage(InterfaceListener.java:214)
at oracle.tip.b2b.transport.basic.TransportServlet.doPost(TransportServlet.java:754)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:301)
at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:119)
at java.security.AccessController.doPrivileged(Native Method)
at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:315)
at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:442)
at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:103)
at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:171)
at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:139)
at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3730)
at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3696)
at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2273)
at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2179)
at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1490)
at weblogic.work.ExecuteThread.execute(ExecuteThread.java:256)
at weblogic.work.ExecuteThread.run(ExecuteThread.java:221)
From the b2b_wire_message we get these Protocol_Transport_BINDINGS:
ChannelName=TransportServlet
Reverse-Via=LIN-ISA1
AS2-To=accobra.....
Date=Fri, 26 Sep 2014 05:46:17 +0000
AS2-Version=1.2
AS2-From=K.......
Disposition-Notification-Options=signed-receipt-protocol=optional, pkcs7-signature; signed-receipt-micalg=optional, sha1
Disposition-Notification-To=http://<ip&port>/as2in
Message-ID=<[email protected]>
MSG_RECEIVED_TIME=Fri Sep 26 00:46:17 CDT 2014
ECID-Context=1.0050z5j^buc6yGn6wnZf6G0002f60007bt;kXjE1ZDLIPGIj2QCYV8QoKSSmLRO_PQT_IS
Content-Type=application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m
Proxy-Client-IP=172.17.25.101
MIME-Version=1.0
User-Agent=e-integration AS2 Server V 6.1.8
X-Forwarded-For=172.17.25.101
Content-Length=3602
Host=nalinsoa05.abd.ad.acco.com
x-weblogic-cluster-hash=QoZzGUzdcjBD5fGIE8Uos5abiHI
EDIINT-Features=multiple-attachments, CEM
Connection=Keep-Alive
X-WebLogic-KeepAliveSecs=30
X-WebLogic-Request-ClusterInfo=true
The message creates a wire message, business message, and an application message.
What doesn't happen is no MDN gets sent back to the partner. It should be a synchronous MDN.
We have double checked the certificates on both ends and they are OK.
The document and Agreement get recognized OK:
Refer To Message
Refer To Message
Sender Type
AS2 Identifier
Sender Value
K. . .
Receiver Type
AS2 Identifier
Receiver Value
accobr. . .
Sender
K. . . l
Receiver
ACCO . . .
Agreement Id
K. . .l_EDI_X12_4010_856_856Def_Inbound
Agreement
K. . .l_EDI_X12_4010_856_856Def_Inbound
Document Type
856
Document Protocol
EDI_X12
Document Version
4010
Message Type
REQ
Direction
INBOUND
State
MSG_ERROR
Acknowledgement Mode
SYNC
Response Mode
ASYNC
Send Time Stamp
09/26/2014 12:46:17 AM
Receive Time Stamp
09/26/2014 12:46:17 AM
The error is vague enough to provide little or no help in locating the root cause of the issue.
Any assistance in providing information on how to get this working would be greatly appreciated.
We do have dozens of other AS2 partners working in this instance just foe reference. We are just having issues with this new partner setup.
Thank you.
Regards,
KenKen,
I am observing the Ack Mode is set as "SYNC" . This is selected by default. This option is available in the channel configuration section
If the usecase is not SYNC, please change as ASYNC and test. It should work. -
B2B-50037: B2B inbound message processing error
We are trying to implement B2B with Customer EDI X12 850 Inbound with SOA
Application server Version 11.1.1.4.0 (weblogic)
Hitting the following error in the logs
MDS-00013: no metadata found for metadata object "/soa/b2b/EDI_X12/4010/850/New/8504010Viterra.ecs"
Was successful in overcoming all the usual obstacles of finding the TP, Document Type, protocol etc...However hitting the above error. 8504010Viterra.ecs is a custom spec builder document we created and "8504010Viterra.ecs" was browsed from the windows PC into the Document Type B2B set up. I am willing to use a seeded ecs file but do not know how to find one for X12 850 4010 version....?
Went through one SR that asks you upload a group ECS file but that did not help in our case....Following was the SR
"B2B-50037 B2B INBOUND MESSAGE PROCESSING" Error with EDIX12 And DEF 830 VER 200\0 [ID 1357136.1]
Please help
Now at the agreement level, if we set the translate to No and Validate to No then B2B completes normally but we do want B2B to translate the file so that we can get it in XML form for us to transform and process it in BPEL
Any help or hint is really appreciated!Anuj
THANK YOU SO MUCH!!! I cannot thank you enough for this
I was playing around so much with the document type, the protocol version etc. that i must have inadvertently messed up the repository. I took the export of the data as you suggested, purged the design repository and reimported the zip. I also had to restart the server since the ftp was not kicking in...& wholla! the message got translated into XML and went into the queue
Thanks again
Gopal Iyer
Edited by: ghiyer on Nov 10, 2011 10:07 AM -
B2B-50037: B2B inbound message processing error java.lang.NullPointerException
Can anyone help me with this problem.
I'm new here.
Oracle SOA Server version 11.1.1.6.0
Got this error message after I put Ignore Correlation true.
diagnostic.log:
[2013-08-12T14:05:26.668+02:00] [MS_KETEN_SOA_01] [NOTIFICATION] [] [oracle.soa.b2b.engine] [tid: DaemonWorkThread: '17' of WorkManager: 'wm/SOAWorkManager'] [userId: <anonymous>] [ecid: 0000K1mQe8WAdL9_rdH7iY1I2CVn0000Lc,0] [APP: soa-infra] Engine: processIncomingMessageImpl: Message id = 0A253556140726AA60A000003E11ADD0-1 FromParty = JD0021_OTA Doctype = ScanDocumenten version = 1.0
[2013-08-12T14:05:26.712+02:00] [MS_KETEN_SOA_01] [ERROR] [] [oracle.soa.b2b.engine] [tid: DaemonWorkThread: '17' of WorkManager: 'wm/SOAWorkManager'] [userId: <anonymous>] [ecid: 0000K1mQe8WAdL9_rdH7iY1I2CVn0000Lc,0] [APP: soa-infra] [[
at oracle.tip.b2b.msgproc.Acknowledgment.createAckMsg(Acknowledgment.java:659)
at oracle.tip.b2b.msgproc.Acknowledgment.asyncOutgoingAck(Acknowledgment.java:290)
at oracle.tip.b2b.msgproc.Request.handleAck(Request.java:652)
at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:3019)
at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1650)
at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4042)
at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3718)
at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3205)
at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:677)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:211)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)
[2013-08-12T14:05:26.720+02:00] [MS_KETEN_SOA_01] [ERROR] [] [oracle.soa.b2b.engine] [tid: DaemonWorkThread: '17' of WorkManager: 'wm/SOAWorkManager'] [userId: <anonymous>] [ecid: 0000K1mQe8WAdL9_rdH7iY1I2CVn0000Lc,0] [APP: soa-infra] Error -: B2B-50037: B2B inbound message processing error[[
Error -: B2B-50037: B2B inbound message processing error
at oracle.tip.b2b.engine.Engine.processIncomingMessageImpl(Engine.java:3143)
at oracle.tip.b2b.engine.Engine.processIncomingMessage(Engine.java:1650)
at oracle.tip.b2b.engine.Engine.incomingContinueProcess(Engine.java:4042)
at oracle.tip.b2b.engine.Engine.handleMessageEvent(Engine.java:3718)
at oracle.tip.b2b.engine.Engine.processEvents(Engine.java:3205)
at oracle.tip.b2b.engine.ThreadWorkExecutor.processEvent(ThreadWorkExecutor.java:677)
at oracle.tip.b2b.engine.ThreadWorkExecutor.run(ThreadWorkExecutor.java:211)
at oracle.integration.platform.blocks.executor.WorkManagerExecutor$1.run(WorkManagerExecutor.java:120)
at weblogic.work.j2ee.J2EEWorkManager$WorkWithListener.run(J2EEWorkManager.java:184)
at weblogic.work.DaemonWorkThread.run(DaemonWorkThread.java:30)It is a Defect 17324828 has been created. Details for this defect maybe viewed in Oracle Support Portal , we will update you the status as soon as we have more information.
I found ,Bug 16713853 : BTMLR: IGNORE CORRELATION AS TRUE IN ADMIN COFIGURATION GIVES NULLPOINTER ERROR for this issue in 11G , As of now development team is still working to fix this , i will raise a New BUG and involve development team for this issue -
Communicating message processing errors to trading partner
Hi,
We have configured B2B to receive OAG inbound messages.
How can we communicate inbound message processing errors to the remote trading partner?
I found that we can use oag CONFIRM_BOD_004 message for that? How do we that? Do we need to create a separate agreement with the trading partner for the confirm_bod or is there any way to bind it to existing agreement?
Is CONFIRM_BOD_004 the only way of informing the trading partner or there are some other ways of doing it?
Thanks in Advance.
AnilHi Anil,
Oracle B2B can send two kind of acknowledgements to partner to intimate whether received message processed successfully -
1. Exchange level ack - This is supported with specific exchange protocols (AS2, ebMS, RNIF etc.) only. Generic exchange does not have this capability. To understand, how it behaves in case of inbound error, please refer section "D.5 Inbound Exception Handling Scenarios" at-
http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10229/app_except.htm#BCEIEEFF
2. Functional Ack - This is supported as part of document protocol's specification. For e.g. 997 in EDI X12, CONTRL in EDIFACT and CBOD (Confirm BOD) in OAG. Oracle B2B can handle Functional ACK automatically but you have to create a document definition for the same and deploy the respective agreement. Remember, Functional Ack is generally used to communicate to partner whether received message passed the business validation.
You may refer below blog to understand difference between functional ack and exchange ack -
http://www.b2bgurus.com/2009/02/document-vs-exchange-level.html
Remember that this blog is intended for 10g so please ignore any settings defined there.
You may define at an agreement level whether FA is required and if yes then whether Oracle B2B will handle it or middleware will send it to B2B to pass it to TP. You may refer section "Step 4: Select validation, translation, and functional acknowledgment options" at -
http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10229/bb_agree_flow.htm#CEGDGCAH
Regards,
Anuj -
As2 Inbound message processing
Hi
Am trying process custom xml using AS2 protocol but facing error while document Identifaction.It is throwing error as B2B-50547 Agreement not found for trading partners: FromTP null, ToTP MyCompany
Here is what I have done.
Created Custom document definition using B2B console Admin tab.Also selected doc tpe as XML and under xml tab below provided Xpath expression with appropriate value for document identification.
Xpath Identification Expression : //*[local-name()='type']/text() =======Identification Value as "XYZ"
Created Host and remote trading partner and deployed Agreement.Remote TP will post xml message to Host TP(will write to a file using File channel) which is Inbound transaction using default http listener(/b2b/httpReceiver).
Sample xml posted to b2b http listener
<EmployeeMsg>
<EmployeeHeader>
<type>XYZ</type>
<sender>Oracle</sender>
<receiver>MyCompany</receiver>
</EmployeeHeader>
<Employee>
<EmpId>123</EmpId>
<fname>abc</fname>
<lname>def</lname>
</Employee>
</EmployeeMsg>
Please help me to resolve above.
Also I wanted to convert this custom xml to EDI 4010 document to send to another trading partner.Please let me know how to translte to EDI document.Should it be something like below or can I do it without using composite?
RemoteTP1---------cusom xml over http listenr------------------->HostTP-----SOA Composite(to translate custom xml to EDI xml)----->HostTP----------------->Remote TP2(EDI format)Hi Ismail,
I was initiating transaction by posting xml message over default http receiver(http://host:port/b2b/httpReceiver).I am not really sure how to pass AS2-From while posting message.
Here is wire message
Id
0A60435013F87742041000004F61E552
Message Id
0A60435013F87742041000004F61E552
Business Message
0A60435013F877420C5000004F61E559
Packed Message
Packed Message
Payload
Payload
Protocol Message Id
0A60435013F87742076000004F61E556
Refer To Protocol Message Id
Protocol Collaboration Id
Protocol Transport Binding
User-Agent=Apache-HttpClient/4.2.3 (java 1.5) Host=xxxxapp01:8001 Connection=keep-alive Content-Type=application/x-www-form-urlencoded Content-Length=385 MSG_RECEIVED_TIME=Thu Jun 27 17:05:02 EDT 2013
Message Digest
Message Digest
Digest Algorithm
Transport Protocol
HTTP
Transport Protocol Version
1.1
Url
http://xxxx:8001/b2b/httpReceiver
security
Transport Headers
User-Agent=Apache-HttpClient/4.2.3 (java 1.5) Host=xxxsoaapp01:8001 Connection=keep-alive Content-Type=application/x-www-form-urlencoded Content-Length=385 MSG_RECEIVED_TIME=Thu Jun 27 17:05:02 EDT 2013
certificates
certificates
State
ERROR
Error Code
Error Description
Error Text
exchangeRetryInterval
exchangeRemainingRetry
Message Size
385 -
Inbound IDOC processing, error duplicate key
We want to retrieve certain order-idocs in our system, before they are processed, to change AND insert segment data.
Flow we use in our current program
- DOC_STATUS_WRITE_TO_DATABASE
to change the status of the idoc (ok) (status 69)
- EDI_DOCUMENT_OPEN_FOR_EDIT (ok)
- EDI_CHANGE_DATA_SEGMENTS (ok)
- EDI_DOCUMENT_CLOSE_EDIT => not ok
This program gives SAPSQL error
Via debugging, we see that a new idoc number is
called (save as backup idoc ?), but we want the
current IDOC to be processed.
The system wants to insert in EDID4 => dump :
"Use an ABAP/4 Open SQL array insert only if you
are sure that none of the records passed already
exists in the database."
( I prefer to use these standard functions, in stead of just deleting and inserting into "EDID4" )
regards,
answers will be rewarded.
code extract
INCLUDE ZBE01458_TOP.
INITIALIZATION.
V_EDIT_STATUS = '69'.
V_PROCESSED_STATUS = '32'.
start-of-selection.
clear t_edidc. refresh t_edidc.
SELECT * FROM EDIDC into table t_edidc
WHERE DOCNUM in S_docnum
and mestyp in S_mestyp
and idoctp in S_idoctp
and credat in S_credat
and rcvpor in S_rcvpor
and rcvprt in S_rcvprt
and rcvprn in S_rcvprn
and sndpor in S_sndpor
and sndprt in S_sndprt
and sndprn in S_sndprn
and status in S_status.
loop at t_edidc.
move t_edidc-docnum to v_docnum.
refresh v_status.
V_STATUS-docnum = V_DOCNUM.
V_STATUS-status = V_EDIT_STATUS.
clear EDIDS.
select single * from EDIDS where docnum = v_docnum.
if sy-subrc = 0.
MOVE EDIDS-STACOD to V_STATUS-STACOD.
endif .
APPEND V_STATUS.
PERFORM CHANGE_IDOC_STATUS tables V_STATUS USING V_DOCNUM.
changing part for DEDIDD "idoc data
PERFORM OPEN_IDOC_FOR_CHANGE.
PERFORM CHANGE_IDOC.
PERFORM CLOSE_IDOC_FOR_CHANGE.
refresh v_status.
V_STATUS-docnum = V_DOCNUM.
V_STATUS-status = V_PROCESSED_STATUS.
APPEND V_STATUS.
PERFORM CHANGE_IDOC_STATUS tables V_STATUS
USING V_DOCNUM.
endloop.
*& Form OPEN_IDOC_FOR_CHANGE
text
--> p1 text
<-- p2 text
FORM OPEN_IDOC_FOR_CHANGE.
CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
EXPORTING
DOCUMENT_NUMBER = V_DOCNUM
ALREADY_OPEN = 'N'
IMPORTING
IDOC_CONTROL =
TABLES
IDOC_DATA = DEDIDD
EXCEPTIONS
DOCUMENT_FOREIGN_LOCK = 1
DOCUMENT_NOT_EXIST = 2
DOCUMENT_NOT_OPEN = 3
STATUS_IS_UNABLE_FOR_CHANGING = 4
OTHERS = 5
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. " OPEN_IDOC_FOR_CHANGE
*& Form CHANGE_IDOC
text
--> p1 text
<-- p2 text
FORM CHANGE_IDOC.
CALL FUNCTION 'EDI_CHANGE_DATA_SEGMENTS'
TABLES
IDOC_CHANGED_DATA_RANGE = DEDIDD
EXCEPTIONS
IDOC_NOT_OPEN = 1
DATA_RECORD_NOT_EXIST = 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.
ENDFORM. " CHANGE_IDOC
*& Form CLOSE_IDOC_FOR_CHANGE
text
--> p1 text
<-- p2 text
FORM CLOSE_IDOC_FOR_CHANGE.
CLEAR t_EDI_DS40.
t_edi_ds40-docnum = v_docnum.
t_edi_ds40-status = '51'.
t_edi_ds40-repid = sy-repid.
t_edi_ds40-tabnam = 'EDI_DS'.
t_edi_ds40-mandt = sy-mandt.
t_edi_ds40-stamqu = 'SAP'.
t_edi_ds40-stamid = 'B1'.
t_edi_ds40-stamno = '999'.
t_edi_ds40-stapa1 = 'Changes made to idoc ...'.
t_edi_ds40-stapa2 = t_new_kunnr.
t_edi_ds40-logdat = sy-datum.
t_edi_ds40-logtim = sy-uzeit.
APPEND t_edi_ds40.
CALL FUNCTION 'EDI_DOCUMENT_CLOSE_EDIT'
EXPORTING
DOCUMENT_NUMBER = V_DOCNUM
DO_COMMIT = 'X'
DO_UPDATE = 'X'
WRITE_ALL_STATUS = 'X'
TABLES
STATUS_RECORDS = t_EDI_DS40
EXCEPTIONS
IDOC_NOT_OPEN = 1
DB_ERROR = 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.
ENDFORM. " CLOSE_IDOC_FOR_CHANGE
*& Form CHANGE_IDOC_STATUS
text
--> p1 text
<-- p2 text
FORM CHANGE_IDOC_STATUS tables P_IDOC_STATUS structure V_IDOC_STATUS
USING P_DOCNUM.
CALL FUNCTION 'IDOC_STATUS_WRITE_TO_DATABASE'
EXPORTING
IDOC_NUMBER = p_docnum
IDOC_OPENED_FLAG = ' '
NO_DEQUEUE_FLAG = 'X'
IMPORTING
IDOC_CONTROL =
TABLES
IDOC_STATUS = P_IDOC_STATUS
EXCEPTIONS
IDOC_FOREIGN_LOCK = 1
IDOC_NOT_FOUND = 2
IDOC_STATUS_RECORDS_EMPTY = 3
IDOC_STATUS_INVALID = 4
DB_ERROR = 5
OTHERS = 6
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
commit work.
ENDIF.
ENDFORM. " CHANGE_IDOC_STATUSUrmila,
I tried this sequence : code extract follows...
I got the duplicate key errors again.
what about delete first and then insert again in EDID4 table ?
source code extract:
INCLUDE ZBE01458_TOP.
INITIALIZATION.
V_EDIT_STATUS = '69'.
V_PROCESSED_STATUS = '32'.
V_SAPCODE = 'SAPE0184'.
start-of-selection.
clear t_edidc. refresh t_edidc.
SELECT * FROM EDIDC into table t_edidc
WHERE DOCNUM in S_docnum
and mestyp in S_mestyp
and idoctp in S_idoctp
and credat in S_credat
and rcvpor in S_rcvpor
and rcvprt in S_rcvprt
and rcvprn in S_rcvprn
and sndpor in S_sndpor
and sndprt in S_sndprt
and sndprn in S_sndprn
and status in S_status.
loop at t_edidc.
move t_edidc-docnum to v_docnum.
move-corresponding T_EDIDC to WA_EDIDC.
V_STA-docnum = v_docnum.
V_STA-status = '51'.
V_STA-repid = sy-repid.
V_STA-tabnam = 'EDI_DS'.
V_STA-mandt = sy-mandt.
V_STA-stamqu = 'SAP'.
V_STA-stamid = 'B1'.
V_STA-stamno = '999'.
V_STA-stapa1 = 'Changes made to idoc ...'.
t_edi_ds40-stapa2 = t_new_kunnr.
V_STA-logdat = sy-datum.
V_STA-logtim = sy-uzeit.
V_STA-STACOD = V_SAPCODE.
PERFORM OPEN_FOR_PROCESS.
PERFORM SET_IDOC_STATUS USING V_DOCNUM V_STA.
PERFORM CLOSE_IDOC_FOR_PROCESS.
PERFORM OPEN_IDOC_FOR_CHANGE.
PERFORM PROCESS_IDOC_STRUCTURE.
PERFORM CHANGE_IDOC.
PERFORM CLOSE_IDOC_FOR_CHANGE.
refresh v_status.
V_STATUS-docnum = V_DOCNUM.
V_STATUS-status = V_EDIT_STATUS.
V_STATUS-STACOD = V_SAPCODE.
clear EDIDS.
select single * from EDIDS where docnum = v_docnum.
if sy-subrc = 0.
MOVE EDIDS-STACOD to V_STATUS-STACOD.
endif .
APPEND V_STATUS.
PERFORM CHANGE_IDOC_STATUS tables V_STATUS USING V_DOCNUM.
endloop.
*& Form OPEN_IDOC_FOR_CHANGE
text
--> p1 text
<-- p2 text
FORM OPEN_IDOC_FOR_CHANGE.
CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_EDIT'
EXPORTING
DOCUMENT_NUMBER = V_DOCNUM
ALREADY_OPEN = 'N'
IMPORTING
IDOC_CONTROL = WA_EDIDC
TABLES
IDOC_DATA = DEDIDD
EXCEPTIONS
DOCUMENT_FOREIGN_LOCK = 1
DOCUMENT_NOT_EXIST = 2
DOCUMENT_NOT_OPEN = 3
STATUS_IS_UNABLE_FOR_CHANGING = 4
OTHERS = 5
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. " OPEN_IDOC_FOR_CHANGE
*& Form CHANGE_IDOC
text
--> p1 text
<-- p2 text
FORM CHANGE_IDOC.
CALL FUNCTION 'EDI_CHANGE_DATA_SEGMENTS'
TABLES
IDOC_CHANGED_DATA_RANGE = DEDIDD
EXCEPTIONS
IDOC_NOT_OPEN = 1
DATA_RECORD_NOT_EXIST = 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.
ENDFORM. " CHANGE_IDOC
*& Form CLOSE_IDOC_FOR_CHANGE
text
--> p1 text
<-- p2 text
FORM CLOSE_IDOC_FOR_CHANGE.
CLEAR t_EDI_DS40.
t_edi_ds40-docnum = v_docnum.
t_edi_ds40-status = '69'.
t_edi_ds40-repid = sy-repid.
t_edi_ds40-tabnam = 'EDI_DS'.
t_edi_ds40-mandt = sy-mandt.
t_edi_ds40-stamqu = 'SAP'.
t_edi_ds40-stamid = 'B1'.
t_edi_ds40-stamno = '999'.
t_edi_ds40-stapa1 = 'Changes made to idoc ...'.
t_edi_ds40-stapa2 = t_new_kunnr.
t_edi_ds40-logdat = sy-datum.
t_edi_ds40-logtim = sy-uzeit.
APPEND t_edi_ds40.
CALL FUNCTION 'EDI_DOCUMENT_CLOSE_EDIT'
EXPORTING
DOCUMENT_NUMBER = V_DOCNUM
DO_COMMIT = 'X'
DO_UPDATE = 'X'
WRITE_ALL_STATUS = 'X'
TABLES
STATUS_RECORDS = t_EDI_DS40
EXCEPTIONS
IDOC_NOT_OPEN = 1
DB_ERROR = 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.
ENDFORM. " CLOSE_IDOC_FOR_CHANGE
*& Form CHANGE_IDOC_STATUS
text
--> p1 text
<-- p2 text
FORM CHANGE_IDOC_STATUS tables P_IDOC_STATUS structure V_IDOC_STATUS
USING P_DOCNUM.
CALL FUNCTION 'IDOC_STATUS_WRITE_TO_DATABASE'
EXPORTING
IDOC_NUMBER = p_docnum
IDOC_OPENED_FLAG = ' '
NO_DEQUEUE_FLAG = 'X'
IMPORTING
IDOC_CONTROL =
TABLES
IDOC_STATUS = P_IDOC_STATUS
EXCEPTIONS
IDOC_FOREIGN_LOCK = 1
IDOC_NOT_FOUND = 2
IDOC_STATUS_RECORDS_EMPTY = 3
IDOC_STATUS_INVALID = 4
DB_ERROR = 5
OTHERS = 6
IF SY-SUBRC <> 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
else.
commit work.
ENDIF.
ENDFORM. " CHANGE_IDOC_STATUS
*& Form OPEN_FOR_PROCESS
text
--> p1 text
<-- p2 text
FORM OPEN_FOR_PROCESS.
CALL FUNCTION 'EDI_DOCUMENT_OPEN_FOR_PROCESS'
EXPORTING
DB_READ_OPTION = DB_READ
DOCUMENT_NUMBER = V_DOCNUM
ENQUEUE_OPTION = SYNCHRONOUS
IMPORTING
IDOC_CONTROL = WA_EDIDC
EXCEPTIONS
DOCUMENT_FOREIGN_LOCK = 1
DOCUMENT_NOT_EXIST = 2
DOCUMENT_NUMBER_INVALID = 3
DOCUMENT_IS_ALREADY_OPEN = 4
OTHERS = 5
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. " OPEN_FOR_PROCESS
*& Form SET_IDOC_STATUS
text
--> p1 text
<-- p2 text
FORM SET_IDOC_STATUS USING P_DOCNUM P_STA.
CALL FUNCTION 'EDI_DOCUMENT_STATUS_SET'
EXPORTING
DOCUMENT_NUMBER = P_DOCNUM
IDOC_STATUS = P_STA
IMPORTING
IDOC_CONTROL = WA_EDIDC
EXCEPTIONS
DOCUMENT_NUMBER_INVALID = 1
OTHER_FIELDS_INVALID = 2
STATUS_INVALID = 3
OTHERS = 4
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. " SET_IDOC_STATUS
*& Form CLOSE_IDOC_FOR_PROCESS
text
--> p1 text
<-- p2 text
FORM CLOSE_IDOC_FOR_PROCESS.
CALL FUNCTION 'EDI_DOCUMENT_CLOSE_PROCESS'
EXPORTING
DOCUMENT_NUMBER = V_DOCNUM
BACKGROUND = NO_BACKGROUND
NO_DEQUEUE = ' '
IMPORTING
IDOC_CONTROL = WA_EDIDC
EXCEPTIONS
DOCUMENT_NOT_OPEN = 1
FAILURE_IN_DB_WRITE = 2
PARAMETER_ERROR = 3
STATUS_SET_MISSING = 4
OTHERS = 5
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. " CLOSE_IDOC_FOR_PROCESS -
Large message processing error
We are getting the error detailed below when trying to process a message of size 280MB.
<SAP:Category>XIServer</SAP:Category>
<SAP:Code area="INTERNAL">HTTP_RESP_STATUS_CODE_NOT_OK</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText>com.sap.engine.services.httpserver.exceptions.HttpIOException: Read timeout. The client has disconnected or a synchronization error has occurred. Read [41262553] bytes. Expected [298803048]. at com.sap.engine.services.httpserver.server.io.HttpInputStream.read(HttpInputStream.java:186) at com.sap.aii.af.service.util.ChunkedByteArrayOutputStream.write(ChunkedByteArrayOutputStream.java:181) at com.sap.aii.af.ra.ms.transport.TransportBody.<init>(TransportBody.java:99) at com.sap.aii.af.ra.ms.impl.core.transport.http.MessagingServlet.doPost(MessagingServlet.java:240) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.runServlet(HttpHandlerImpl.java:401) at com.sap.engine.services.servlets_jsp.server.HttpHandlerImpl.handleRequest(HttpHandlerImpl.java:266) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:387) at com.sap.engine.services.httpserver.server.RequestAnalizer.startServlet(RequestAnalizer.java:365) at com.sap.engine.services.httpserver.server.RequestAnalizer.invokeWebContainer(RequestAnalizer.java:944) at com.sap.engine.services.httpserver.server.RequestAnalizer.handle(RequestAnalizer.java:266) at com.sap.engine.services.httpserver.server.Client.handle(Client.java:95) at com.sap.engine.services.httpserver.server.Processor.request(Processor.java:160) at com.sap.engine.core.service630.context.cluster.session.ApplicationSessionMessageListener.process(ApplicationSessionMessageListener.java:33) at com.sap.engine.core.cluster.impl6.session.MessageRunner.run(MessageRunner.java:41) at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37) at java.security.AccessController.doPrivileged(Native Method) at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100) at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</SAP:AdditionalText>
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP response contains status code 500 with the description Internal Server Error Error while sending by HTTP (error code: 500, error text: Internal Server Error)</SAP:Stack>
Can anyone help me with this error.refer this link, it may give u some idea..
http://help.sap.com/bp_bpmv130/Documentation/Planning/XISizingGuide.pdf
Thanks
Farooq. -
Hi
I am doing an Idoc to File. The same Idoc is triggered to two receiving interfaces, which are both File. I copied the message from the Test tab of Message Mapping in IR and pasted in Runtime work Bench , Integratioon Engine test message tab.
I get a message " Scheduled for outbound processing " for both my receiver interfaces.
How do I figure out the errror ?
RegardsHi Ajith,
Are you using the different conditions in the receiver determination?
If yes, then please check those conditions.
-Supriya. -
PO message processing error at SOAP Adapter
Hello All,
After an PO scenarion setup and performing one messageprocessing in found following error at RW Message Monitoring:
Exception caught by adapter framework: SOAP: response message contains an error XIServer/UNKNOWN/ModuleUnknownException - com.sap.aii.af.mp.module.ModuleException: either no channelID specified or no channel found for the specified party, service, and channel name, MessageServlet(Version $Id: //tc/aii/30_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#13 $) at com.sap.aii.af.mp.soap.web.MessageServlet.doPost(MessageServlet.java:412) at javax.servlet.http.HttpServlet.service(HttpServlet.java:760) at javax.servlet.http.HttpServlet.service(HttpServlet.java:853) at com.sap.engine.services.servlets_
Please could someone tell me where the problem is?
Regards,
JochenHi Jochen
Check if thse threads can help you
Now based on error description -
Refer this SAP Note - 856597 QUestion no 1 -for SOAP adapter configuration- i.e URL
Also have a look into this thread-
SOAP Problem
SOAP Error when testing messages.
*************Reward points if helpfull************* -
Hi
While an Inbound is being processed it is not behaving as per the design and if the same type of idoc is reprocessed through BD87 is it behaving as per the design.
In detail, the idoc will create a purchase order based on reservation number in R/3 and the quantity needs to be checked against the availability. If the quantity is more in the idoc counting all line items of idoc segments it should not be posted giving that the quantity is not available. If it is automated it is not checking, but while testing on creation of an inbound idoc and reprocessed the validation is happenning.
So, please help me in understanding as why the idoc is not getting validated when it is automated ans whne it is reprocessed through BD87 it is getting validated.
Thanks
ShankarHi Shankar,
how do you notice that your code is not executed.
Usually I would say it should.
Therefore I recommended to implement an infinite loop to make sure that it is really not executed.
By the way...where did you implement your coding?
Best regards,
Oliver
Edited by: Oliver Hütköper on Aug 12, 2011 8:45 AM -
Inbound Processing Error ?
I create an outbpund idoc as a file on a file port : FILEIN.
FILEIN port is defined as a file port with Dir parameter set as : /tmp/
and FM parameter set as : EDI_PATH_CREATE_DATE_TIME . No parameters are maintained for Inbound file .
I create outbound idoc with :
Reciever Port FILEIN and Sender port A00001 (defined as a trfc port ).
The Idocs are generated in the specified directory .
Now i want to process these idocs with RSEINB00 Program .
I give the filename and Port name : FILEIN to the program .
The partner profile is maintained for the inbound processing .
But I somehow recieve the error : '56 : Reciever port in control record is invalid. '
How can this be solved ? DO i need to maintain the Inbound file parameters too in the File port . ?Hi,
You should first turn your output IDoc file to an Inbound IDoc file. use the transaction code we12 to that.
Following is the more info on Using We12.
We12 - IDoc testing tool which will emulate an EDI subsystem, by taking a outbound text file IDoc previously generated by SAP and use it to create and process an inbound IDoc. It is also possible to create an outbound IDoc from an inbound IDoc as well. Commonly referred to as the Turn-around program
Field level documentation on each field on the We12 screen..
Source:
Directory + file: The field contains the path and filename of the existing IDoc text file at the operating system level.
Target:
Directory + file: the target fields contain the path and filename of the IDoc text file that is to be created. The default entries of these fields are based on the definition of the TESTPORT specified in the IDoc Administration transaction (see WE46 for IDoc Administration; WE 21 for Port Definition).
Sender:
Partner Number: Customer or Vendor number of the sender - when testing inbound messages, this partner number must exist as a valid inbound partner (transaction WE20).
Partner Type: Code, which identifies the type of sender (i.e. LI Vendor; KU Customer).
Partn.function: Code, which identifies role of the partner (i.e. SH Ship-to).
Message type: Code, which identifies the type of data, based on the EDI message type (i.e. ORDERS, INVOIC).
Variant: Code, which further subdivides the type of message (i.e. MM or FI for a logical message type of INVOIC).
Function: Code, which defines the function of the message with regard to its transmission.
Test: Flag indicating that this is a test message. This is one of the keys to finding the inbound partner profile.
Port: Logical ID of the sending system. Enter the logical name of the receiving as defined in the transaction WE21. The default entries of these fields are based on the definition of the TESTPORT specified in the IDoc Administration transaction (WE46).
Recipient:
Partner Number: Customer or Vendor number of the receiver.
Partner Type: Code, which identifies the type of receiver (i.e. LI - Vendor; KU - Customer).
Partn.function: Code, which identifies role of the partner (i.e. SH - Ship-to).
Direction: The direction that the newly created IDoc will be assuming -1 for outbound, 2 for inbound. Default is 2.
Client: The client that the newly created IDoc will be processed in. The default is the client that the user is logged into when executing this transaction.
Port: Logical ID of the receiving system. Enter the logical name of the receiving system in the form 'SAPxxx'. 'xxx' stands for the ID of the SAP System. The default entries of these fields are based on the definition of the TESTPORT specified in the IDoc Administration transaction (WE46).
Turn-around program examples: When taking an outbound purchase order IDoc (which was generated via MM purchase order create) and turning it around to test inbound SD sales order creation via EDI, the Sender would be a customer while the Receiver would be a vendor. If using an outbound advanced ship notice IDoc (generated via SD delivery processing) and turning it around to test inbound shipping notification, the Sender would be a vendor, and the Receiver would be a customer. If using an outbound invoice IDoc (generated via SD invoicing) and turning it around to test inbound EDI invoice processing, the Sender would be a vendor, and the Receiver
Hope this helps.
Mark the Helpful answerers..
Regards,
Nagaraju Chidurupalli -
Permanent error in BPE inbound processing error
Hi guys...
i am having a problem in my scenario which is involving BPM.
The problem is when i execute the interface it is showing green flag aginst PE in sxmb_moni and in smq2 one queue is showing with sysfail and BPM: Permanent error in BPE inbound processing error.
yes..i searched on SDN and found resources like Note number 1126656
i checked al the steps which were earlier mentioned posts like:
SWWL: there are no entries existing
SMQ2: cleared the queues ,regenerated but still no luck.
My undertsanding is no work is being generated at all .
I checked BPM with F7 : its correct no errors
BPM has return code of 0 in sxi_cache
In ID BPM is latest and refreshed.
Is there any way i can overcome this problem.
Your inputs will be of real help.
Thanks in advance.
Regards,
Seshagiri.Hi Praveen,
If the BPM goes in error due to "The incoming payload structure is incorrect (not matching message type structure of abstract interface)" , is there any work around?
Currently in my scenario BPM goes into error due to incorrect structure , error show up in SMQ2 . And the subsequent message also get stuck. What I have to do is to delete the queue in error and reactivate the queue manually.
Is there any way we can avoid this situation.
Thanks,
Pankaj -
Message could not be processed error
Hello Experts, We are on PI 7.31 SP7 java only stack. Our scenario is a File to IDOC with BPM process. Here are the steps I did so far. 1. Completed the design objects 2. Completed the configuration objects 3. Developed the BPM process, build and deployed to the PI system. Now I am trying to test my scenario end to end. When I run my test, this is the error I see in the message monitor: Message could not be processed. Reason: com.sap.aii.proxy.xiruntime.core.ESPXISystemFaultException: Error encountered during processing of XI request message in inbound ESP; Hint: com.sap.engine.services.webservices.espbase.server.additions.exceptions.ProcessException: com.sap.SOA.wsr.030106 - No operation found using soap keys [], [MATMAS05]. InterfaceMapping Object class: com.sap.engine.services.webservices.espbase.mappings.InterfaceMapping mappings: {BindingType=Soap, SEIName=MI_MATMAS05_MDMMRO_ABSTRACT_MASS, PortTypeQName={http://mdmerpinterface.oxy.com}MI_MATMAS05_MDMMRO_ABSTRACT_MASS, Galaxy_SDO=true, InterfaceMappingID=379227b6:144229469db:-7ef3, SoapVersion=SOAP11, BindingQName={http://mdmerpinterface.oxy.com}MI_MATMAS05_MDMMRO_ABSTRACT_MASSBinding}. 3/7/2014 2:03:23.805 PM Error Delivery of the message to the application using connection JPR failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Error processing inbound message. FaultException: com.sap.aii.proxy.xiruntime.core.ESPXISystemFaultException: Error encountered during processing of XI request message in inbound ESP; Hint: com.sap.engine.services.webservices.espbase.server.additions.exceptions.ProcessException: com.sap.SOA.wsr.030106 - No operation found using soap keys [], [MATMAS05]. InterfaceMapping Object class: com.sap.engine.services.webservices.espbase.mappings.InterfaceMapping mappings: {BindingType=Soap, SEIName=MI_MATMAS05_MDMMRO_ABSTRACT_MASS, PortTypeQName={http://mdmerpinterface.oxy.com}MI_MATMAS05_MDMMRO_ABSTRACT_MASS, Galaxy_SDO=true, InterfaceMappingID=379227b6:144229469db:-7ef3, SoapVersion=SOAP11, BindingQName={http://mdmerpinterface.oxy.com}MI_MATMAS05_MDMMRO_ABSTRACT_MASSBinding}. Any help on this is very much appreciated. Thanks MLS
hi.
check bpm process regestry. -
Bug Report: #SQLERRM_TEXT# in Process Error Message
According to the Online Help for "Process Error Message" #SQLERRM_TEXT# should be replaced by "Text of error message without the error number". But it isn't.
Patrick
My APEX Blog: http://inside-apex.blogspot.com
The ApexLib Framework: http://apexlib.sourceforge.net
The APEX Builder Plugin: http://sourceforge.net/projects/apexplugin/I created an after submit PL/SQL process:begin
raise_application_error(-20000,'custom error text');
end;In the process error message attribute, I put:
My error message with #SQLERRM_TEXT# in it.
I submit the page and see this page:ORA-20000: custom error text
Error My error message with custom error text in it.
OKScott
Maybe you are looking for
-
[WRT310N v2] No longer able to get on the Internet
I got this router in Nov. 09 because my old one would kick me off the wireless when I tried to Skype. The 310N has worked great from day one. Until yesterday that is, when my ISP (Cox in Phx. AZ) had an outage in the afternoon. After the outage was o
-
hi, i have iphone 4s, i want register to my apple id, but i cant (this iphone is registred to another id..) how i can register my iphone to my apple id?
-
Wierd noise when Using the XP partition
Hey guys, When I'm using the XP partition I would also plug in another monitor while working. I would get this weird sound (like a robot) followed by pauses or short freezes when in the middle of my work. It doesn't happen all the time but only when
-
HT1751 unable to open itunes because MSVCR80.dl was not found error7 windows error126
cannot open itunes because MSVCR80.dl was not found error7 windows error126
-
Best way to have multiple emails across multiple Macs with Mail?
So I have 2 Macs, and 3 email accounts (GMail, GoDaddy, and my university)...and I have all accounts set up on both machines, but I only receive email on one of them...if both are open, they randomly go to one, and if only one is open, it goes to the