none
EDI and Ack 997 RRS feed

  • Question

  • Hi,

    I have a port in BizTalk on which I receive EDI message from client. Once I receive the EDI, I also receive ack 997 on the same port. What does that mean?

    1. Does it mean that BizTalk has automatically generated that ack and we need to send that back to the client?
    2. Or it means that client has sent that ack to us?

    Thanks.

    Friday, February 21, 2014 6:31 AM

Answers

  • Hi Dipti,

    ack 997 is nothing but a functional acknowledgement. 

    Suppose you have system A and B. A sends some EDI transaction to B, when B receives the message, then Biztalk generates 997 which should be send back to A. In your case it should have sent to your client.

    In your case, looks like Send port for 997 has not configured properly. It should have configured
    in a way that it should send 997 msgs to client(party which initiates the EDI message).


    Thanks, Girish R. Patil.

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 7:05 AM
  • If you are doing EDI receive for client message, an ack is generated by BizTalk Server during Party resolution.

    This will validate receive file against standard EDI schemas to make sure if file has correct structure and data format.

    You may or may not need to send this ack to client depending upon your requirement. But, you have to Subscribe to this Ack message so that it is not suspended in BizTalk.

    To do subscription, create and new Send Port which has filter for:

    BTS.MessageType == http://schemas.microsoft.com/Edi/X12#X12_997_Root

    This will route all acks to a location that you mention for above send port.

    More info here: http://msdn.microsoft.com/en-us/library/bb727695.aspx


    • Edited by Prabhdeep Gill Friday, February 21, 2014 7:23 AM typo
    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 7:22 AM
  • Probably, it's because you have 997 Expected checked in the You->Them page of the Agreement.

    The 997 is a called a Functional Acknowledgement telling the Sender that you received the interchange and if there were any technical errors in it.

    1. Yes.  The 997 is apended to the batch of transactions disassembled from the EDI Interchange.

    2. No.  You would not receive a 997 for an interchange they sent to you.

    You will have to check with the Trading Partner to see of they expect it back or not.  If so, you will have to route if back to them.

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 5:10 PM
    Moderator
  • Hi,

    I have a port in BizTalk on which I receive EDI message from client. Once I receive the EDI, I also receive ack 997 on the same port. What does that mean?

    1. Does it mean that BizTalk has automatically generated that ack and we need to send that back to the client?
    2. Or it means that client has sent that ack to us?

    Thanks.

    It is EDI receive pipeline which generates 997 (functional ack notifying than EDI message is received). And it does only when it is configured to do so.  So if as per the agreement , client expects acknowlegement(997) then you have to send it else you can turn off generation of 997.

    I would ask you to have look at Tutorial for more insights.


    Maheshkumar S Tiwari|User Page|Blog|BizTalk Server : How Map Works on Port Level

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Saturday, February 22, 2014 11:56 AM

All replies

  • Hi Dipti,

    ack 997 is nothing but a functional acknowledgement. 

    Suppose you have system A and B. A sends some EDI transaction to B, when B receives the message, then Biztalk generates 997 which should be send back to A. In your case it should have sent to your client.

    In your case, looks like Send port for 997 has not configured properly. It should have configured
    in a way that it should send 997 msgs to client(party which initiates the EDI message).


    Thanks, Girish R. Patil.

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 7:05 AM
  • If you are doing EDI receive for client message, an ack is generated by BizTalk Server during Party resolution.

    This will validate receive file against standard EDI schemas to make sure if file has correct structure and data format.

    You may or may not need to send this ack to client depending upon your requirement. But, you have to Subscribe to this Ack message so that it is not suspended in BizTalk.

    To do subscription, create and new Send Port which has filter for:

    BTS.MessageType == http://schemas.microsoft.com/Edi/X12#X12_997_Root

    This will route all acks to a location that you mention for above send port.

    More info here: http://msdn.microsoft.com/en-us/library/bb727695.aspx


    • Edited by Prabhdeep Gill Friday, February 21, 2014 7:23 AM typo
    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 7:22 AM
  • Probably, it's because you have 997 Expected checked in the You->Them page of the Agreement.

    The 997 is a called a Functional Acknowledgement telling the Sender that you received the interchange and if there were any technical errors in it.

    1. Yes.  The 997 is apended to the batch of transactions disassembled from the EDI Interchange.

    2. No.  You would not receive a 997 for an interchange they sent to you.

    You will have to check with the Trading Partner to see of they expect it back or not.  If so, you will have to route if back to them.

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Friday, February 21, 2014 5:10 PM
    Moderator
  • Hi,

    I have a port in BizTalk on which I receive EDI message from client. Once I receive the EDI, I also receive ack 997 on the same port. What does that mean?

    1. Does it mean that BizTalk has automatically generated that ack and we need to send that back to the client?
    2. Or it means that client has sent that ack to us?

    Thanks.

    It is EDI receive pipeline which generates 997 (functional ack notifying than EDI message is received). And it does only when it is configured to do so.  So if as per the agreement , client expects acknowlegement(997) then you have to send it else you can turn off generation of 997.

    I would ask you to have look at Tutorial for more insights.


    Maheshkumar S Tiwari|User Page|Blog|BizTalk Server : How Map Works on Port Level

    • Marked as answer by Dipti S Tuesday, February 25, 2014 4:17 AM
    Saturday, February 22, 2014 11:56 AM