Pages

Showing posts with label EDI. Show all posts
Showing posts with label EDI. Show all posts

Q & A - How to Configure Parties in BizTalk 101

Monday, December 30, 2013

Q: You are developing an EDI solition, and you need to configure a new trading partner.


A:
Trading partner management is the most significant new functionality presented in BizTalk Server 2010. The new mapper has some nice features, but it doesn't bring new functionality to the product. The trading partner configuration, on the other hand, allows for the development of EDI solutions that could not be done before. This solution outlines how to create a trading partner in BizTalk Server.

Open the BizTalk Administration Console, and click Parties (see Figure 1).

Figure 1. The Parties folder in BizTalk



Right-click any area in the Parties and Business Profiles area and select New => Party.

In the Party Properties dialogue box, give the party an appropriate name. This should be the name of the trading partner you will be exchanging documents with.

Enable the option for the Local BizTalk processing (see Figure 2). This setting is used to indicate that BizTalk Server will be used to process messages to or from the party (rather than being the default party itself).

Figure 2. Configuring the base party object



Click the "Send ports" tab. This is where ports are associated with a party, and it is used in instances where all outbound EDI documents on this port should have envelope information configured as specified in the EDI properties of the party being configured. Add any relevant send ports, and click OK.
            Now that the party object has been created, a new business profile must be created. A business profile contains all of the EDI configurations for a given business of a trading partner. For example, a trading partner may be a single company with multiple departments or divisions. Each department has its own integrations with internal and external vendors, and each uses its own X12 or EDIFACT settings. One business profile for each department must be created in order to ensure that the envelopes on the EDI documents being exchanged are set properly, and that all other EDI specific configurations are accurate for that department.

            Right-click the party that was created, and select New => Business Profile (see Figure 3).

            Figure 3. Creating a business profile on a party




            Give the business profile a name representative of the business unit or department being set up. In many cases, a party will only have a single business profile.


            On the identities screen, set the trading partner ID(s) and qualifier(s) (see Figure 4). These values are given to you directly by the trading partner, and are the way trading partners are uniquely identified.

            Figure 4. Setting the Business Profile's identities


            Once the business profile is fully configured, click OK.
            With the business profile and core party configured, an agreement can be made. However, to create an agreement, you must have two parties configured. One party represents the recipient, and one is the sender. In many cases, BizTalk is going to be one of the parties. However, in the cases where BizTalk is acting as a value added network (VAN)—essentially, as a router of documents between parties—there may be many parties sending and receiving documents to many other parties. All of the configurations representing document communication between parties are known as agreements.

            To create an agreement, right-click the business profile, and select New => Agreement.

            Initially, there will be only a single tab to configure. You must specify the party being interacted with and the protocol being used. To do so, set the Protocol property to (for example) X12, and the Party and Business properties to an available party. Once these have been set, two new tabs will appear (see Figure 5). 
            These tabs are where all of the EDI specific information is configured for the given agreement.

            Figure 5. Setting the general properties of the Agreement



            Click each of the tabs to set the EDI-specific values based on the trading partner configuration specifications. An example of the Identifiers screen is shown in Figure 6. Once you are finished, click OK to save the trading partner configuration.

            Figure 6. Setting values within the agreement



            How It Works

            This recipe outlined how to configure the different components that make up a trading partner, but without the full story, understanding all of the settings is difficult.
                          Read more ...

                          BizTalk EDI Error SOLVED : There was a failure executing the receive pipeline: Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive Reason: No Disassemble stage components can recognize the data.

                          Wednesday, December 26, 2012

                          In my last two posts I showed two possible errors, and their respective solutions, that can happen when we are validating dummy EDI message, provided by our partners, against the schema using Visual Studio, but these errors could also happen in runtime.
                          In this post I will show you one common error when we are validating an EDI solution.
                          After I deploy and correctly configured the solution, I was trying to receive an EDI document from a Receive Port, in order to convert it to XML format using the generic EDI pipeline: “Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive”, but I was always getting this error:
                          “There was a failure executing the receive pipeline:
                          “Microsoft.BizTalk.Edi.DefaultPipelines.EdiReceive,
                          Microsoft.BizTalk.Edi.EdiPipelines, Version=3.0.1.0, Culture=neutral,
                          PublicKeyToken1bf3856ad364e35″ Source: “EDI disassembler” Receive Port: “IN_ORDER_PORT” URI: “E:\PORTS\EDI\IN_ORDER\*.*” Reason: No Disassemble stage components can recognize the data.“.
                          The message provided by our partner was this:
                          01UNH+1000100+ORDERS:D:93A:UN:EAN007'
                          02BGM+220+01521710'
                          03DTM+137:120530:101'
                          04DTM+64:120604:101'
                          05DTM+63:120004:101'
                          06FTX+AAI+++SOME TEXT'
                          07FTX+AAI+++SOME TEXT'
                          08FTX+AAI+++SOME TEXT'
                          09NAD+BY+8000000001164::9'
                          10NAD+DP+8000000009463::9'
                          11NAD+IV+8000000013002::9'
                          12NAD+SU+8000001459008::9'
                          13NAD+PR+8000000016003::9'
                          14LIN+1++4001518722937:EN'
                          15PIA+1+00:PV+14001518722937:EN'
                          16IMD+F+M+:::SOME DESCRIPTION'
                          17QTY+21:52'
                          18LIN+2++5000014010034:EN'
                          19PIA+1+00:PV+15701014010031:EN'
                          20IMD+F+M+:::SOME DESCRIPTION'
                          21QTY+21:152'
                          22LIN+3++5000014016142:EN'
                          23PIA+1+00:PV+15701014016149:EN'
                          24IMD+F+M+:::SOME DESCRIPTION'
                          25QTY+21:304'
                          26LIN+4++5006879009752:EN'
                          27PIA+1+00:PV+15776879009759:EN'
                          28IMD+F+M+:::SOME DESCRIPTION'
                          29QTY+21:720'
                          30UNS+S'
                          31UNT+31+1000100'
                          CAUSE
                          After some time trying to understand the reason of this problem, I realize that’s nothing wrong with my project, the problem is actually in the message that I’m using.
                          This error occurs because the message does not contain the EDIFACT interchange envelope segments (UNB and UNZ). An EDIFACT interchange begins with a UNB. It contains version release information, syntax information, and partner information. An interchange ends with a UNZ.
                          UNA Segment: The UNA segment is optional in an EDIFACT interchange. The specifications in the UNA segment define the characters used as separators and indicators for the interchange. Use this segment only if the interchange contains non-standard separator characters. (More information here)
                          UNB Segment: The UNB segment is compulsory to an EDIFACT interchange. This segment acts as the interchange header for a set of EDIFACT documents. The UNB segment elements identify the sender and recipient of the interchange, together with the date and time that the interchange was prepared and the agency controlling the syntax of the interchange. (More information here)
                          UNZ Segment: This segment is the Interchange Trailer segment of an EDIFACT document. This segment indicates the end of an interchange and checks the interchange reference and number of documents in the interchange. (More information here)
                          SOLUTION
                          Add this segment to your message: UNA (optional), UNB and UNZ and the message will be processed correctly.
                          Correct message:
                          01UNA:+,?*'
                          02UNB+UNOB:1+UNB2.1+UNB3.1+012301:0123+UNB5'
                          03UNH+1000100+ORDERS:D:93A:UN:EAN007'
                          04BGM+220+01521710'
                          05DTM+137:120530:101'
                          06DTM+64:120604:101'
                          07DTM+63:120004:101'
                          08FTX+AAI+++SOME TEXT'
                          09FTX+AAI+++SOME TEXT'
                          10FTX+AAI+++SOME TEXT'
                          11NAD+BY+8000000001164::9'
                          12NAD+DP+8000000009463::9'
                          13NAD+IV+8000000013002::9'
                          14NAD+SU+8000001459008::9'
                          15NAD+PR+8000000016003::9'
                          16LIN+1++4001518722937:EN'
                          17PIA+1+00:PV+14001518722937:EN'
                          18IMD+F+M+:::SOME DESCRIPTION'
                          19QTY+21:52'
                          20LIN+2++5000014010034:EN'
                          21PIA+1+00:PV+15701014010031:EN'
                          22IMD+F+M+:::SOME DESCRIPTION'
                          23QTY+21:152'
                          24LIN+3++5000014016142:EN'
                          25PIA+1+00:PV+15701014016149:EN'
                          26IMD+F+M+:::SOME DESCRIPTION'
                          27QTY+21:304'
                          28LIN+4++5006879009752:EN'
                          29PIA+1+00:PV+15776879009759:EN'
                          30IMD+F+M+:::SOME DESCRIPTION'
                          31QTY+21:720'
                          32UNS+S'
                          33UNT+31+1000100'
                          34UNZ+1+UNB5'
                          Read more ...