cancel
Showing results for 
Search instead for 
Did you mean: 

TM to ECC Shipment Integration

Former Member
0 Kudos

Hi,

In my project, we implement the predefined content for integration scenario TM_ERPShipmentIntegration_Out under sap.com/xi/TMS/Global/IC.

For shipment integration, it can be configured using two different alternatives:

1. IDoc mapping in SAP PI (for EHP4 or Higher TM 9.0 or Higher)

2. SOA2IDOC/IDOC2SOA Mapping (for EHP5 or Higher TM 9.0 or Higher)

For the 1st solution, PI will convert the TM SOA message to IDOC. And it contains the ValueMapping for Shipment Type and Transportation Planning Point.

Shipment Type

AgencySchemeValue
TM1_750ProcessingTypeCodeZFO1
TM1_750ProcessingTypeCodeZFO2
ERP_500SHTYPZTMO

Transportation Planning Point

AgencySchemeValue
TM1_750const1
ERP_500SHPPPT1000
ERP_500EXTEND_D1000

But in the project we implemented 2nd solution. That means PI will pass the SOA message to ECC. And in ECC we do conversion between SOA message and IDOC .

My question is for SOA2IDOC, how can I configure the ValueMapping for  Shipment Type and Transportation Planning point? Kindly help me get the answer.

Thanks and Best Regards,

Xiao Gu

Accepted Solutions (1)

Accepted Solutions (1)

former_member368098
Discoverer
0 Kudos

Hi,

with class CL_SOA2IDOC_TOREXEC_REQ_IN_SRV -> DO_MAPPING_INBOUND you find this BADI call :

--- BADI interface -------------------------------------------*

  GET BADI lr_badi.

  TRY.

      CALL BADI lr_badi->inbound_processing

        EXPORTING

          in                   = <ls_input>

          in_message_container = go_message_container

        CHANGING

          out                  = <ls_output>.

    CATCH cx_bs_soa_badi_processing INTO lcx_badi.

      SET EXTENDED CHECK OFF.

      IF 1 = 2.

        MESSAGE e024(bs_soa_common).

        " Error in the customer Inbound BADI implementation: &1

      ENDIF.

      SET EXTENDED CHECK ON.

      CLEAR ls_error.

      ls_error-type        = 'E'.

      ls_error-id          = 'BS_SOA_COMMON'.

      ls_error-number      = '024'.

      ls_error-message_v1  = lcx_badi->get_text( ).

      go_message_container->add_bapi_message( ls_error ).

  ENDTRY.

The changing parameter <output> contains teh control record and all data sgements of teh IDoc.

To adopt the mapping you need to implement this BADI.

regards,

Uwe

Former Member
0 Kudos

Thanks Uwe,

This is exactly what I want.

Answers (1)

Answers (1)

iaki_vila
Active Contributor
0 Kudos

Hi Xiao,

According your data and this document , i would use the Value Mapping function for your purpose.

Regards.

Former Member
0 Kudos

Hi Inaki,

Thanks for you quick reply.

But the issue I am facing is related to conversion for SOA2IDOC. PI has no mapping, it just pass the xml from TM to ECC. And In ECC, the data conversion happens.

My Question is in ECC SOA2IDOC step, do we have a configuration place for me to put the data conversion table.

Kindly let me know if you need more information.

Thanks and Best Regards,

Xiao Gu