Author |
Message
|
gandhi_manoj |
Posted: Mon May 27, 2002 1:14 pm Post subject: MQSeries R/3 Link Error - SMQ4172 |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
Hi all,
When testing for inbound Idocs Im getting these errors.
05/27/02 16:59:42 SMQ4172: The length of the inbound message is invalid for an IDoc.
EXPLANATION: The inbound message data length is not compatible with the IDoc format. The message should be comprised of: The Saplink header structure; followed by an IDoc control structure and IDoc data records for each IDoc in the message. file.
ACTION: Ensure that IDocs have the correct format.
-------------------------------------------------------------------------------
05/27/02 16:59:42 SMQ4191: A message was put to the bad message queue. Bad message type 1, reason 4109.
EXPLANATION: The message was not in a valid IDoc format. The bad message type is 1 and the bad message reason is 4109.
ACTION: Check the bad message reason code in the bad message header of the message. Attempt to correct the error and send the message again.
-------------------------------------------------------------------------------
I have defined the SAP Link header according to the documentation as follows:
Field Length R/O Value
StrucId 4 R SAPH
Version 4 R 1
StrucLength 4 O
Encoding 4 O
CodedCharSetId 4 O
Format 8 O ?????????? - what should be here?
Flags 4 O
Client 3 O 120
Language 1 O en
Hostname 48 O l17asp02
UserId 12 O r3link
Password 8 O testmq
SystemNumber 2 O
Reserved 2 O
My MQServer and the external application are on NT . SAP is on UNIX.
Now am I missing something in the above configuration?
Any help is appreciated.
TIA
Manoj |
|
Back to top |
|
 |
Tibor |
Posted: Mon May 27, 2002 11:35 pm Post subject: |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
Manoj,
Look into your SMQ_BADMESSAGE_QUEUE, if not defined, try your dead-letter queue. This contents your message prefixed with an Bad Message Header, generated by smqsi process.
After BMH section you can get the SMQ header.
Dump first 80+108 byte with e.g. amqsbcg and post it into forum!
----
Quote: |
Format 8 O ?????????? - what should be here?
|
This is the 'normal' MQMD.Format, e.g. MQSTR. |
|
Back to top |
|
 |
gandhi_manoj |
Posted: Tue May 28, 2002 4:22 am Post subject: Inbound Idoc in bad message queue? |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
Hi,
here is the message from the bad message queue.
BMH "µMQSTR t Visual Studio\VB98\vb6.exem28¼éx6/26/98MSAPH1 120Elasp03 r3link testmq 20 EDI_DC40 2 ZGOODSMVT_CRE......... |
|
Back to top |
|
 |
gandhi_manoj |
Posted: Tue May 28, 2002 4:22 am Post subject: Inbound Idoc in bad message queue? |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
Hi,
here is the message from the bad message queue.
BMH "µMQSTR t Visual Studio\VB98\vb6.exem28¼éx6/26/98MSAPH1 120Elasp03 r3link testmq 20 EDI_DC40 2 ZGOODSMVT_CRE.........
TIA
Manoj |
|
Back to top |
|
 |
gandhi_manoj |
Posted: Tue May 28, 2002 4:29 am Post subject: |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
Code: |
BMH "µ t Visual Studio\VB98\vb6.exem28¼éx6/26/98MSAPH1 120Elasp03 r3link testq 20 EDI_DC40 2 ZGOODSMVT_CRE.... |
|
|
Back to top |
|
 |
Tibor |
Posted: Tue May 28, 2002 5:09 am Post subject: Re: Inbound Idoc in bad message queue? |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
gandhi_manoj wrote: |
BMH "µMQSTR
t Visual Studio\VB98\vb6.exem28¼éx6/26/98MSAPH1 120Elasp03 r3link testmq 20 EDI_DC40 2 ZGOODSMVT_CRE.........
|
Manoj,
I don't see anything from it 'coz this is not a readable dump... try it with amqsbcg or a copy-paste from MQExplorer's hexadecimal viewer!
Tibor |
|
Back to top |
|
 |
gandhi_manoj |
Posted: Tue May 28, 2002 5:27 am Post subject: |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
Hi Tibor,
I dont have access to the MQExplorer or to the server....
I'm trying to get in touch with the admin and get the req info.
But I have access to the error files and trace files.
here is the list of errors Im getting.
Quote: |
When I populate the Link header fields - version = ' 1'. I get the following errors
05/28/02 09:30:59 SMQ4167: IDoc has an invalid structure version. IDoc value="538976305". Expected value="1".
EXPLANATION: The value of the version field in the IDoc header structure contains an invalid value.
ACTION: Ensure that the IDoc message starts with a valid version of the Saplink header structure (MQSAPH).
-------------------------------------------------------------------------------
05/28/02 09:31:00 SMQ4168: IDoc has an invalid system number. IDoc value=q .
EXPLANATION: The value of the system number field in the IDoc header structure contains an invalid system number. The system number specified in the header structure should contain only digits or blanks.
ACTION: Ensure that the IDoc message starts with a valid version of the Saplink header structure (MQSAPH). If the IDoc was generated by SAP, check that the system number in the RfcDestination is valid.
-------------------------------------------------------------------------------
05/28/02 09:31:00 SMQ4170: IDoc has an invalid language. IDoc value=1.
EXPLANATION: The value of the language field in the IDoc header structure contains an invalid language. The language specified in the header structure should contain only a character or a blank.
ACTION: Ensure that the IDoc message starts with a valid version of the Saplink header structure (MQSAPH). If the IDoc was generated by SAP, check that the language in the RfcDestination is valid.
-------------------------------------------------------------------------------
05/28/02 09:31:00 SMQ4191: A message was put to the bad message queue. Bad message type 1, reason 4110.
EXPLANATION: The message was not in a valid IDoc format. The bad message type is 1 and the bad message reason is 4110.
ACTION: Check the bad message reason code in the bad message header of the message. Attempt to correct the error and send the message again.
-------------------------------------------------------------------------------
05/28/02 09:40:02 SMQ4197: connection closed
If I copy the outbound Link header and paste it in the inbound queue I get the floo error.
EXPLANATION: The above text details an error that occurred in a SAP R3 Rfc function.
ACTION: None.
-------------------------------------------------------------------------------
05/28/02 09:40:03 SMQ4171: Failed to get SAP transaction ID. Check Client, User Id, Password and Language.
EXPLANATION: The request for a transaction Id from SAP failed. This may be because the logon information in the IDoc or the ini file is not valid or because the connection to R3 has been lost. To get more information, turn on the RFC trace option in the ini file, re-run the server and check the RFC trace (dev_rfc) file.
ACTION: None.
-------------------------------------------------------------------------------
05/28/02 09:40:03 SMQ4191: A message was put to the bad message queue. Bad message type 1, reason 4114.
EXPLANATION: The message was not in a valid IDoc format. The bad message type is 1 and the bad message reason is 4114.
ACTION: Check the bad message reason code in the bad message header of the message. Attempt to correct the error and send the message again.
-------------------------------------------------------------------------------
Best Regards,
Manoj
|
|
|
Back to top |
|
 |
Tibor |
Posted: Tue May 28, 2002 10:23 pm Post subject: |
|
|
 Grand Master
Joined: 20 May 2001 Posts: 1033 Location: Hungary
|
Problems:
(1)
Quote: |
When I populate the Link header fields - version = ' 1'. I get the following errors
05/28/02 09:30:59 SMQ4167: IDoc has an invalid structure version. IDoc value="538976305". Expected value="1".
|
This value means 0x20202031 so this is an ASCII digit string " 1". But MQSAPH.Version is an MQLONG.
(2)
Quote: |
IDoc has an invalid system number. IDoc value=q
...
IDoc has an invalid language. IDoc value=1
|
Did you put these fields values from code or in.ini (or another smqsi ini file)? I used to fill with blanks so smqsi reads information from ini file. I think this is an MQ & SAP admin role not a developer problem.
Tibor |
|
Back to top |
|
 |
gandhi_manoj |
Posted: Wed May 29, 2002 5:24 am Post subject: |
|
|
Novice
Joined: 26 Mar 2002 Posts: 20
|
HI Tibor,
Quote: |
Quote:
When I populate the Link header fields - version = ' 1'. I get the following errors
05/28/02 09:30:59 SMQ4167: IDoc has an invalid structure version. IDoc value="538976305". Expected value="1".
This value means 0x20202031 so this is an ASCII digit string " 1". But MQSAPH.Version is an MQLONG.
|
So what should be the data type and value of Version in VB?
TIA,
Manoj |
|
Back to top |
|
 |
|