B2B Integration

Sterling B2B Integration

Come for answers, stay for best practices. All we're missing is you.

 View Only
  • 1.  Translating EDI to JD Edwards F47 Tables

    Posted Mon February 24, 2020 10:29 AM
    ​Has anyone had any experience with translating EDI inbound to JDE Edwards F47 tables?

    I have an 850 EDI (Input side) to SQL (Output side) map where I am using a User Exit on the EDI side to query an F47 table for a unique document number.  Once I get the number from the table, I am updating the F47 table with the next incremented number.

    The map test works as I expect it to.

    I have set up a set of envelopes to use this map and created an EDI inbound process to collect and process the files. 

    The issue occurs when multiple files are picked up for processing.  Although I have the process set up to only process 1 file at a time, I keep getting errors on the DeEnveloping sub-process because more than 1 file is executing the query to get the next document at the same time which results in a duplicate key error. 

    Any assistance with this issue would be greatly appreciated!

    Thank you,

    Karen

    ------------------------------
    Karen Gallello
    ------------------------------

    #SupplyChain
    #B2BIntegration


  • 2.  RE: Translating EDI to JD Edwards F47 Tables

    Posted Tue February 25, 2020 01:21 PM
    Edited by System Admin Wed March 22, 2023 11:54 AM
    Hello Karen,

    One option is to use insert a record with only document number in F47 using LWJDBC adapter prior to de-envelope and then update that record from map. 

    Another option is to use "lock service" to make sure only one map gets the unique value from DB. You can place lock service, prior to de-envelope and unlock it after it is done. This will help only one map to execute at any given time. You will need to build a logic to handle "lock Exists" error generated by lock service. This will reduce performance as it is going to be sequential processing. 

    Option-3 is to go old school way of batching
    1. Translate each order to flat file and save it to the disk
    2. At certain interval say 10 minutes batch all of those flat files into one file (using perl/shell/command line script is the fastest way of concatenating files)
    3. Use SQL map (Flat file to SQL) to push data from the batch file into F47.

    This will delay delivery of inbound order to JDE by a maximum of schedule time hence this option can be only used if data is not time-sensitive.


     
    _Dhiraj Patil

    ------------------------------
    Dhiraj Patil
    ------------------------------