1 2 Previous Next 20 Replies Latest reply: Jan 23, 2008 11:37 PM by 440402 RSS

    EDI 855 Outbound processing

    493055
      All ,

      I am facing some issues while processing EDI Outbound 855 -

      I have set the IP message type with the four parameters - sender-name, reciever_name, doc_type and doc_revision, and also using IP_OUT_QUEUE. But, its throwing an error relating to payload. Below is extract from the Log files -

      Other questions that I have relating to outbound processing of 855 -
      If I get an order (850) which contains 5 orders (ST-SE segments); while sending back the acknowledgment (855) I need to ensure that all 5 POA go-out in the same EDI(855) file. 1. How do I correlate messages in B2B, and make sure there are from the same file while sending out POA?
      2. B2B creates a new message for each ST/SE segment, so how do I ensure that while sending back the acknowledgments of the same order are send out together?

      thanks,
      Shailesh

      2007.07.31 at 10:19:59:651: Thread-12: B2B - (DEBUG) DBContext commit: Enter
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) DBContext commit: Transaction.commit()
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) DBContext commit: Leave
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:onMessage Exit
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) oracle.tip.adapter.b2b.data.MsgListener:onMessage Enter
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) DBContext beginTransaction: Enter
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) DBContext beginTransaction: Transaction.begin()
      2007.07.31 at 10:19:59:667: Thread-12: B2B - (DEBUG) DBContext beginTransaction: Leave
      2007.07.31 at 10:19:59:683: Thread-12: B2B - (ERROR) IPMessage Exception From :HarperCollins Publishers To: ABC Doc Type: 855 Revision: 004010 Payload: oracle.sql.CLOB@145c761 - null
      2007.07.31 at 10:19:59:683: Thread-12: B2B - (ERROR) java.lang.NullPointerException
           at oracle.tip.adapter.b2b.data.IPMessageOld.<init>(IPMessageOld.java:100)
           at oracle.tip.adapter.b2b.data.MsgListener.onMessage(MsgListener.java:494)
           at oracle.tip.adapter.b2b.data.MsgListener.run(MsgListener.java:353)
           at java.lang.Thread.run(Thread.java:534)


      Message was edited by:
      Shailesh
        • 1. Re: EDI 855 Outbound processing
          440402
          Hello Shailesh,

          Guesh payload param is not set in the property file. Hence the payload is coming as null.

          Rgds,
          Ramesh
          • 2. Re: EDI 855 Outbound processing
            493055
            Ramesh, Can you please elaborate where and what property do I need to set, to make this work?
            • 3. Re: EDI 855 Outbound processing
              Krishnamoorthy
              "I have set the IP message type with the four parameters - sender-name, reciever_name, doc_type and doc_revision, and also using IP_OUT_QUEUE"

              I hope you are assigning params to the from ,to ,doctype and doc_revision in a property file which is used for enqueuing the message, in the same file assign/create following property

              payload = "<payloadfile>"

              If you are using BPEL process, please check whether Send_PO_Enqueue_InputVariable is assigned as input variable for send PO activity.
              • 4. Re: EDI 855 Outbound processing
                440402
                Shailesh,

                Please refer to the enq_850.properties which is used to set the IP_MESSAGE type.

                Rgds,Ramesh
                • 5. Re: EDI 855 Outbound processing
                  493055
                  thanks all I got it figured out - the B2B is now processing 855 successfully -

                  However, another issue has come-up this time relating to the status in the business reports section. Even after setting FA to false - it shows "waiting for FA".
                  The requirement is to ensure that we send the FA's when we receive the 850, but don't want to pick-up any 997 while sending-out 855.
                  • 6. Re: EDI 855 Outbound processing
                    440402
                    Make sure to Set FA required as False in the host.

                    Rgds,Ramesh
                    • 7. Re: EDI 855 Outbound processing
                      493055
                      Ramesh - I am jumping from "one hurdle to another" ...Now stuck with a couple of trading partners whose output file is being generated in the xml format rather than EDI !!! I checked the translation enabled field, and it is set to "True" ... I checked the configuration with another trading partner i.e working correctly, everything seems to be fine.

                      Can you give me some pointers on what I must be missing here ...

                      thanks
                      Shailesh

                      Message was edited by:
                      Shailesh
                      • 8. Re: EDI 855 Outbound processing
                        440402
                        Please make sure the translation and validation is enabled in the operational capability of the respective trading partner. Let us know your observation.

                        Rgds,Ramesh.
                        • 9. Re: EDI 855 Outbound processing
                          493055
                          Ramesh - After bouncing the b2B it worked fine !!!!

                          Another issue that I've run into and which I had earlier discussed with the Oracle team regarding sending outbound EDI with different sender id's. Let me re-iterate that issue -

                          Different trading partners identify us differently, i.e. through different interchange id's. We are required to use these id's while sending them the outbound EDI's (855/810 etal).

                          ex. Acme(host) and GlobalChips (TP)
                          so when GC sends 850 to Acme - this is the ISA -
                          ISA*00* *00* ZZ123GC ZZ321ACME *070203*0234*U*00302*000004878*0*P*}

                          Acme(host) and ColorChips
                          ISA*00* *00* ZZ456CC ZZ654ACME *070203*0234*U*00200*000004878*0*P*}

                          Now both these TP send 850/4010 version - and we are required to respond using the same revisions.

                          The required output while sending the 855 is -
                          For GlobalChips -
                          ISA*00* *00* ZZ321ACME ZZ123GC *070203*0234*U*00302*000004878*0*P*}

                          For ColorChips-
                          ISA*00* *00* ZZ654ACME ZZ456CC *070203*0234*U*00302*000004878*0*P*}

                          What B2B is presently doing is picking up the value that was defined in business action, which was 321ACME, now even while sending the 855 to ColorChips it uses the same value i.e. 321ACME instead of 654ACME.
                          Also, B2B doesn't allow to create multiple business actions with same document type and revision.

                          Please advise on how to get the correct values in ISA/GS segments in this condition.

                          thanks,
                          Shailesh
                          • 10. Re: EDI 855 Outbound processing
                            440402
                            Hello shailesh,

                            B2B expects only the transaction set from the back end application in a translation required case. Hence it uses the configured Document Protocol Parameters to generate the Envelope while sending the 855 document to Trading Partner. HTH, if you have question, we can discuss the EDI architecture again.

                            Please also go through the EDI cookBook if you have a chance.

                            Rgds,Ramesh
                            • 11. Re: EDI 855 Outbound processing
                              493055
                              Thanks Ramesh for your reply. Please let me know a mutually convenient time when we can have a call to discuss both the issues -

                              However, according to me this is less of an architecture issue and more of configuration and here is my understanding -
                              1. While sending Outbound documents we only populate the transaction sets and not the GS and ISA segments, so how could we determine the values that go out in ISA06 and GS02 segments?
                              2. For each document type and revision, only one set of parameters can be given. So if we need to send out different sender id's for the same document type how do we do it?

                              The EDI cookbook does talk briefly about the Outbound document processing, an extract from it "Back end application is required to send only one transaction set at a time to B2B as B2B generates the envelope using the Document Protocol Parameters defined in step 4. "

                              It is clear to me that the values are populated from the document protocol parameters. What I am looking at is a way to override these parameters. Or a way to achieve this business case at hand.
                              Maybe I am missing something, please share with me results, if you've tried out the above scenario that I've outlined.

                              thanks,
                              Shailesh

                              Message was edited by:
                              Shailesh
                              • 12. Re: EDI 855 Outbound processing
                                440402
                                Hello Shailesh,

                                We have to make use of Exchange protocol parameter to handle this use case.

                                Please setup a call to go through this use case.

                                Rgds,Ramesh
                                • 13. Re: EDI 855 Outbound processing
                                  269450
                                  Hi,

                                  We just added a new batching option that will address your scenario. This would enable you to group transaction set by any criteria you want. The production patch should be out in a few weeks

                                  Regards,

                                  Jeff


                                  Design Goal
                                  To enable count based batching, which would be driven by parameters delivered with the IP_MESSAGE_TYPE construct. Any customer logic is modeled in the BPEL Process Manager. The gateway, Oracle B2B, does not assume any correlation and is driven by said logic, providing the most flexibility and does not assume any correlation.

                                  Example:
                                  Creating a “Deferred: batch:
                                  Syntax:     <BatchMode>:<BatchID>:<Count>:<timeout>:<ActionName>
                                  Example:      D:12345:100:60

                                  IP_MESSAGE_TYPE
                                  Parameter
                                  MSG_ID --> 987654321
                                  FROM_PARTY --> Oracle
                                  TO_PARTY --> Retex
                                  DOCTYPE_NAME --> 850
                                  DOCTYPE_REVISION --> 4010
                                  ACTION_NAME --> 2345:100:60

                                  Note:
                                  1. In the IP_MESSAGE_TYPE, the “ACTION_NAME” is the only additional setting
                                  2. Batch mode “Immediate”, can be sent at anytime to initiate an immediate batching.

                                  Syntax:     <BatchMode>:<BatchID>:<Count>:<timeout>:<ActionName>
                                  Example:      I:12345:100:60

                                  Default behavior
                                  o The first transaction set establishes the batching criteria
                                  o Subsequent transaction sets CAN update the batching criteria

                                  Example: D:12345:100:60

                                  If ALL are received, within the timeout, then they are batched

                                  If 90 of the 100 are received within the timeout, then the 90 are batched
                                  · An error is raised & placed on the queue (Consumer B2BERRORUSER)
                                  · If the remaining are received, then a new batch is established
                                  · If the criteria is not changed then: The total will not be met, t1he timeout will occur, and the batch is processed


                                  BATCH Details
                                  Batching will be driven through overloaded metadata, being passed as part of "ACTION_NAME" attribute (which is typically not used except in ebMS case) in the IP_MESSAGE_TYPE. The "IP_MESSAGE_TYPE" is the structure we pass to/from Oracle B2B and the middleware. It enable Oracle B2B to identify the appropriate agreement for the outbound transaction set and inbound, provides additional information for processing.

                                  The syntax is: <BatchMode>:<BatchID>:<Count>:<timeout>:<ActionName>

                                  Parameter     Value
                                  BatchMode
                                  'D' - Deferred
                                  'I' - Immediate

                                  BatchID
                                  Unique ID to be used for all messages going in the same batch.

                                  Count
                                  Number of messages to be batched. Latest count takes effect.

                                  Timeout
                                  Time to wait, in minutes, after this message before batching

                                  Action Name
                                  Used as before

                                  Note: BatchMode, BatchID, count and timeout all are mandatory

                                  Advanced functionality
                                  If required, additional logic can be modeled in the BPEL Process Manager to drive the batching criteria

                                  IP_MESSAGE_TYPE
                                  Contains Trading Partner and Document Information

                                  XML Internal-Properties
                                  The EDI envelope and any content-based information can be extracted from the original transaction (Internal-Properties). Maintaining and/or manipulated this information may/many not be necessary bases on the specific use case
                                  • 14. Re: EDI 855 Outbound processing
                                    579310
                                    Jeff,

                                    This definetely is a better approach than the Time-Based batching. However if you observe this new batching option more keenly, this option is more driven by BPEL/Back-end. BPEL has to pass N number of parameters to B2B to make this batching happen.

                                    Moreover this option looks more apt to 855 transactions. But its hard to batch the transactions like 856/810s.

                                    IF B2B were to handle multiple ST/SE Segments in a Single ISA, What I mean by this is IF B2B allows BPEL to send a SET of ST/SE(Loop of ST/SE) segments to it, IMO it would be the best solution for batching. This also gives more freedom for the developer to architect the batching model.
                                    1 2 Previous Next