HowToGuide YL EWM Integration R2 V1.5m
HowToGuide YL EWM Integration R2 V1.5m
HowToGuide YL EWM Integration R2 V1.5m
Example Words or characters quoted from the screen. These include field names, screen titles,
pushbuttons labels, menu names, menu paths, and menu options.
Textual cross-references to other documents.
EXAMPLE Technical names of system objects. These include report names, program names,
transaction codes, table names, and key concepts of a programming language when they
are surrounded by body text, for example, SELECT and INCLUDE.
Example Output on the screen. This includes file and directory names and their paths, messages,
names of variables and parameters, source text, and names of installation, upgrade and
database tools.
Example Exact user entry. These are words or characters that you enter in the system exactly as
they appear in the documentation.
<Example> Variable user entry. Angle brackets indicate that you replace these words and characters
with appropriate entries to make entries in the system.
2 Overview ......................................................................................................................................... 7
2.1 Process view .......................................................................................................................................... 7
2.2 Restrictions and Limits ......................................................................................................................... 9
2.2.1 Scenario 1 - Vehicle and Container Hierarchies in Inbound and Outbound in Sequence
................................................................................................................................................ 9
2.2.2 Scenario 2 - Vehicle and Container Hierarchies in Inbound and Outbound sequence
with Release Control ........................................................................................................... 10
This guide provides detailed introduction about how to set up the YL-EWM Integration solution on SAP Yard
Logistics (SAP YL).
Target Groups
• Technical Consultants
• Support Specialists
• Solution Consultants
Related Document
Online Help for SAP YL http://help.sap.com/yl Central place for all documents for SAP Yard
Logistics
2209414 YL, EWM EWM 9.3 Short Dump in LDAP Notification for TU Without a
Vehicle
2392436 YL, EWM Arrival at checkpoint fails for vehicles with TUs and containers
The integration between SAP Yard Logistics (YL for short) and SAP EWM warehousing system is based on the
yard management scenario described in http://help.sap.com/ewm93, go to SAP library, select SAP Extended
Warehouse Management, shipping and receiving, then yard management.
Focus of this current document is to describe the functionality related to the interaction between the YL and the
EWM system.
Note
The newly developed process scope for transit warehouse is currently not in scope, but implies some
technical restrictions: The change processes in the warehousing system are very limited in regards to the
“classical” yard management integration but very flexible in regards to the transit warehousing.
To connect the SAP YL to a EWM managed warehouse, the SAP YL yard number must have the business system
and the warehouse number assigned that is used in the EWM warehousing.
Caution
The EWM warehouse number used as yard number in SAP YL and the EWM warehouse number used in
EWM warehousing must be setup in different clients. The reason is that the SAP YL warehouse number
uses the technical concept of the TUs and they are not warehouse dependent business objects.
Moreover, the yard management integrated into SAP EWM Shipping and Receiving shall not be activated
in the assigned EWM warehousing system setup.
Once the linkage between the SAP YL yard number and SAP EWM is established, the setup of the two systems -
SAP YL and SAP EWM - need to be completed as described in the following chapters of this document.
When a truck arrives in the yard at the checkpoint the relevant yard order is posted check-in. By that, YL will send
the check-in request confirmation must be send to the EWM warehousing system. At check in or during execution
of a movement in the yard, a door determination might be executed. This determination must trigger a request to
EWM to query which door has been determined in the EWM warehousing system at EWM TU level.
This information will be stored at YT level in SAP YL. By confirming the yard task the Transportation Unit drives to
the pre-assigned door.
When the yard task is confirmed to the pre-assigned door, the door arrival request confirmation shall be triggered.
In the warehousing system, a warehouse worker begins to load the truck by the different HUs from the staging
area. This step is typically carried out using an RF device in the EWM. After he or she has confirmed the loading of
the last HU, the warehouse worker confirms the completion of the loading for the TU. After that, the YL is
informed by receiving a load notification from SAP EWM.
The Close of the TU in EWM might trigger the goods issue posting, and prints the delivery notes and waybill (SAP
EWM). Also, the outbound deliveries were completed (SAP ERP).
Yard Request
Yard Order
Yard TU
Yard TU TU Query Yard TU
Yard TU EWM TU
Yard TU
Yard Task
Door Determination
Loading Loading
Unloading Unloading
In this chapter the restrictions and limits are explained using sample processes that are not supported in the
integration scenario between SAP Yard Logistics and the SAP EWM warehousing. Although these are only
examples also variations of these processes are also not supported.
For the usage in scenarios using SAP Yard Logistics and SAP EWM warehousing, SAP Yard Logistics is used to
manage in- and outbound of transports, while SAP EWM warehousing executes only the loading or unloading of
TU’s with products. Therefore, only those TU’s with loading or unloading activities are required in SAP EWM
warehousing. TU hierarchies are also not expected in SAP EWM warehousing to allow independent loading
respective unloading (check-in/ check-out) activities.
Examples:
• Tractor / Locomotive: is represented in YL as a TU, but is not required in EWM, because a tractor will not be
loaded unloaded.
• Trailer carrying containers: a trailer is a TU in YL, but not required in EWM.
• Trailer for products: is a TU in YL. In EWM only required if product loading/unloading is planned.
• Container: is required in YL and EWM. In EWM the container TU will be loaded/unloaded.
Also in EWM the hierarchy of TU is not of interest. The necessary TU should be created independently to support
independent loading/unloading activities.
The "Warehouse visits" in a yard order is only expected for TU’s with loading/unloading activities in EWM.
Assume you have two yard requests/orders (one for inbound and one for outbound) relevant for EWM
warehousing process that has a hierarchy of logistical items like a root vehicle and containers assigned. Then the
following sequence is executed:
1. Inbound check-in
2. Outbound activation
3. Inbound completion
In this scenario, SAP EWM warehousing check-out is posted for the inbound vehicle and container and SAP EWM
warehousing check-in is posted for the outbound vehicle and container.
EWM Check-Out (for Inbound yard In process (1); Action should Should not be triggered, because
document 1) check-out both: vehicle and parent TU exists
container as they are coupled.
Fails: container is already
locked by (2)
EWM Check-In (for outbound yard Registered in queue In process (2); Fails: active
document 2) container still exists, because
check-out was not yet posted by
(1)
In this process the inbound yard order releases the control from the vehicle and the container, and the outbound
yard order gets this control. Therefore, SAP EWM warehousing check-out for the inbound yard order and SAP
EWM warehousing check-in for the outbound yard order are posted.
The web services for check-in of container is executed in parallel with posting the check-out of the vehicle and
container. Thus, they block each other.
Figure 2: Scenario 1
To finish this scenario, we only have a workaround to retrigger failed queues in correct sequence: first process
check-out, then process check-in.
Assume you have two yard requests/orders (one for inbound and one for outbound) relevant for EWM
warehousing process that has a hierarchy of logistical items like a root vehicle and containers assigned. Then the
following sequence is executed:
1. Inbound check-in
2. Outbound activation
3. Release TU control from container only
Figure 3: Scenario 2
To finish this scenario, we only have a workaround to wait until the vehicle will post check-out for both objects.
Then, retrigger the failed queue for the container check-in.
First, the own business system needs to be defined at customizing node “define own business system”.
Then, the customizing node “Assign EWM Business Systems and Warehouses to Yard” should be maintained.
This customizing contains "Business System for Warehousing Integration" representing integrated EWM business
systems, "Warehouse Number Used for Warehousing Integration" (i.e. the EWM warehouse number) and EWM
Warehouse ID - identifier of an external EWM warehouse and system.
To determine the connectivity of that linked warehousing system, an entry in in so called 'Warehouse Visits'
should be created for each Yard Order Item if it is relevant for communication with an SAP EWM warehousing
business system.
In IMG transaction SPRO, navigate to Yard Logistics -> Integration -> Integration to SAP Extended Warehouse
Management -> Assign EWM Business Systems and Warehouses to Yard:
This customizing is used for the mapping between YL storage bins and EWM doors and its checkpoint – to post
TU at the required location in external EWM system.
This can be found in the NWBC; navigate to Settings -> Integration to SAP EWM -> Determine EWM Door
(/SAPYL/EWMDOOR). Display View "EWM Door": Overview:
This customizing is used for correct usage of EWM checkpoint – to post TU at the required location in external
EWM system. Only inbound checkpoints are required to be maintained.
In IMG transaction SPRO, navigate to Yard Logistics -> Integration -> Integration to SAP Extended Warehouse
Management -> Maintain EWM Checkpoints:
XYN300_IK01 INBW
XYN300_W001 INBW
YYN200_TRCK INBC
Example
The values in the figure above are only one example setup. Make sure to use your own customized
checkpoints from the EWM (warehousing) warehouse number!
One more customizing table used in EWM communication can be found in IMG, transaction SPRO; navigate to
Yard Logistics -> Yard Tasks-> Define Activity Types:
The next customizing is used for door determination and door arrival if several warehouse visits are maintained
for the Yard Order Item.
This can be found in the NWBC; navigate to Settings -> Integration to SAP EWM -> Assign External Warehouse ID
to Storage Type (/SAPYL/WHVISST).
This customizing is more technical and used maintenance of logical port that are used for communication with
different external EWM systems.
Creation of the logical ports will be explained in the later chapter 4.3. Once logical port is created, it can be added
in this customizing.
Example
The values in the figure above are only one example setup. Make sure to use your own generated proxy
classes are maintained here!
To enable the use of standard web services the "Point-to-Point Communication" must be enabled. If this is the
case, you can trigger enterprise services through the Web services protocol without using a mediator (such as
SAP NetWeaver Process Integration). In other words, you can configure direct communication between the
consumer and provider.
To set up a point-to-point communication for asynchronous services, you need to make additional settings in the
SAP back-end system:
You must activate the business function FND_SOA_REUSE_1.
In Customizing for SAP Business Suite , choose Cross-Application Components -> Processes and Tools for
Enterprise Applications -> Enterprise Services -> Point-to-Point Enablement for Asynchronous Enterprise
Services .
You use the SOA Manager application (transaction SOAMANAGER) to set up endpoints and logical ports.
For more information about the SOA Manager application, see SAP Library for SAP NetWeaver on SAP Help Portal
at http://help.sap.com/netweaver -> SAP NetWeaver 7.0 (2004s) -> SAP NetWeaver 7.0 including Enhancement
Package 2 . Search for Working with the SOA Manager .
Standard outbound web services do not require any additional development. Only set up of endpoints and logical
ports required. This should be done by using SOAMANAGER.
4.2 Prerequisites
In order to setup connection between the systems the user for WSDL access needs to be authorized to access the
WSDL in your EWM system (role SAP_QAP_WEBSERVICE).
In order to create logical ports in Yard Logistics system you user should be authorized to do this (S_DEVELOP).
Following is now the full list of standard web services that are used in the YL solution.
• TransportationUnitAppointmentCheckInRequestConfirmation_In
• TransportationUnitAppointmentCheckOutRequestConfirmation_In
• TransportationUnitAppointmentExternalLockRequestConfirmation_In
• TransportationUnitAppointmentExternalUnlockRequestConfirmation_In
• TransportationUnitAppointmentCancelCheckInRequestConfirmation_In
• TransportationUnitAppointmentCancelCheckOutRequestConfirmation_In
Please see an example how to set up connection for the standard web service.
Press Next. In the appeared screen please select SSL for Transport Lever Security and User ID/Password for
Transport Channel Authentication:
Copy WSDL URL for Binding and save somewhere. It will be required later.
Now we should continue with Yard Logistics. Please find your service consumer relevant for your service provider
as described above at the beginning of this chapter.
In our example: TransportationUnitAppointmentCheckInRequestConfirmation_In
In the appeared SOA Manager screen press Create-> WSDL Based Configuration:
In the next screen enter any Logical Port Name and Description:
Press Next. In the screen table with the services depending on SOAP protocol is displayed. The first one is
selected by default. Press Next. Enter the same user and password:
Next we should link EWM system, service consumer in Yard Logistics and logical port that is used for the service
and particular EWM system. In Yard Logistics go to NWBC->Settings->Integration to SAP EWM->Maintain Logical
Ports for EWM Integration:
Press New Entries and enter required information:
To enable the communication between SAP YL and SAP EWM new web services (inbound and outbound) need to
be created in the EWM system that you want to link to the SAP YL system.
The following two new outbound web services need to be created in EWM:
• Door Arrival/Departure:
Create a service provider using WSDL file of the service consumer /SAPYL/CO_DOOR_ARR_DEPT (_-sapyl_-
door_arr_dep ). Also, you need to set up logical port for it.
In the YL system you need to create a new logical port for web service consumer
/SAPYL/CO_DOOR_ARR_DEPT (_-sapyl_-door_arr_dep ) with the new URL of web service provider.
• Query External TU
Create a service provider using WSDL file of the service consumer /SAPYL/CO_QUERY_EXT_TU_DATA (_-
sapyl_-query_ext_tu_data). In YL you need to create a new logical port for web service consumer
/SAPYL/CO_QUERY_EXT_TU_DATA (_-sapyl_-query_ext_tu_data) with the new URL of web service provider.
The following new inbound web service needs to be setup as consumer:
• Loading/Unloading Notification
A new web service /SAPYL/LOAD_UNLOAD_NOTIF_PRDCT has been created in the YL system. For this web
service provider a new service consumer needs to be created and set up on the EWM system. The name
should be e.g. /SAPYL/CO_LOAD_UNLOAD_NTF_PROD (Note! You could have a different name or different
prefix).
Create a new PPF action via SPPFCADM based on the existing one for application /SCWM/SHP_RCV; action
profile /SCWM/TU, action definition /SAPYL/YL_LOAD_UNLOAD_NOTIF (Note! You could have a different
name or different prefix)..
Also, copy schedule condition from class /SAPYL/CL_IM_SCH_LOAD_NOTIF, and copy the execution method
from class /SAPYL/CL_IM_LOAD_UNLOAD.
Note: it should be ensured that all coding is adjusted with the newly created/generated names so that objects
with the prefix /SAPYL/ are not used and for example are copied to custom-specific, i.e. that all @EWM TODO
lines insert your generated instance please.
See the following chapter for a detailed description.
For this part you need to create a web service provider and set up a consumer web service. The web service is
used to post TU arrival at door or departure from door in an external EWM system.
8. Go to generated class:
Here you see generated interface name and a new implementing class. You can change the names of these
objects. Also you can check the name of the data types that should be created in the tab Name Problems and
rename them if required.
Activate service provider.
9. Next you should implement an existing method of the generated class. It is proposed to copy the logic from
function module /SAPYL/WS_DOOR_ARR_DEP (in YL) which you can find as an attachment.
Note! An authority check is implemented in this function module. You could skip it or use the standard
/SCWM/ACTI, for example. Also please make sure that you've created messages required in this
implementation in your message class. Texts of the messages are provided in the attachment for this
method.
10. Select required web service and press button SOA Manager:
11. A new window will open in a browser. Press ‘Create Service’ button:
5. Press Next->Next. On Consumer Security step specify the same user and password:
The web service is used to query TU data from EWM system. The standard EWM web service for TU Querying
does not cover a query by license plate number, therefore a new one needs to be created.
For this part you also need to create a web service provider and set up a consumer web service.
3. Go to the EWM system. Select required package and create Enterprise service:
5. Go to generated class. Note! This is only an example. During creation of your own service provider you might
have different names of the generated objects.
13. Copy URL for binding. It will be used in the next steps:
5. Press Next->Next. On Consumer Security step specify the same user and password:
For the outbound messages a qRFC function modules are used as overall guiding principle to be able to re-
process the failed queue to trigger a web service. The queue is defined as a concatenation of external EWM
warehouse and TU external number.
Moreover, after calling the qRFC a centrally defined BADI (/SAPYL/SUBSYST_CALL) has been provided for EWM
web service call. The yard number will be used as a filter to define the web service to be called. For SAP EWM
warehousing we have defined a sample BADI implementation.
All outbound interfaces are assumed to be called synchronously to update the relevant business documents in a
timely manner.
All outbound web services are called from qRFC function modules that are defined within the function group
/SAPYL/EWM_RFC.
All web service calls are wrapped into a BAdI /SAPYL/SUBSYST_CALL having the interface
/SAPYL/IF_SUBSYST_CALL and it contains methods for all used outbound web services:
• CHECK_IN ( TU/Vehicle Check-In)
• CHECK_OUT ( TU/Vehicle Check-Out)
• DOOR_DETERMINATION ( TU Door determination)
• DOOR_ARR_DEP (TU Arrival/Departure at door)
• CANCEL_CHECK_IN ( TU/Vehicle Check-In cancellation)
• CANCEL_CHECK_OUT (TU/Vehicle Check-out cancellation)
A fallback class /SAPYL/CL_FB_IM_SUBSYST_CALL is implemented and contains logic for all mentioned web
services.
5.1 Check-In
Check TU LDAP_code
5.2 Check-Out
A door is determined during saving of a pending yard task. Therefore qRFC /SAPYL/EWM_RFC_DOOR_DETERM
is triggered on the level of Yard Task BO:
To determine whether this qRFC should be triggered, it is checked whether activity type is marked as 'Relevant for
subsystem determination' and if warehouse visits are assigned to Yard Task Item Transportation Unit.
Figure 17: Flow diagram: usage of web services during door determination
Door arrival/departure will be called at yard task confirmation. Corresponding qRFC FMs
/SAPYL/EWM_RFC_DOOR_ARRIVAL and /SAPYL/EWM_RFC_DOOR_DEPARTURE are triggered at the level of
the corresponding BO Yard Task. Check if warehouse visit is maintained for
Yard Task Item's Transportation Unit
To determine whether qRFC FM should be triggered in the action of BO Yard Task warehouse area assignment of
source and destination storage type are checked. If source storage type is linked with warehouse are - qRFC for
departure from door should be triggered, if destination bin is mapped to warehouse area – qRFC for arrival at door
will be triggered. Moreover for door arrival activity type is checked. If it is marked as 'Relevant for subsystem' -
qRFC for arrival at door will be triggered.
In order to post TU arrival/departure a new web service was created: /SAPYL/DOOR_ARR_DEP.
Lock TU (/SCWM/II_BIF_YRD_TAPP_LOCK_RC)
Unlock TU (/SCWM/II_BIF_YRD_TAPP_ULOCK_RC)
The flow diagram above describes logic of BAdI implementation for door determination and usage of web
services:
This is an inbound web service and is triggered from external EWM system.
The PPF is done on EWM TU level and triggers a new web service /SAPYL/LOAD_UNLOAD_NOTIF_PRDCT.
Here another important standard customizing which is used to check at what action a message should be sent. It
can be found under the IMG transaction SPRO. Navigate to SCM Extended Warehouse Management -> Extended
Warehouse Management -> Interfaces-> Enterprise Services -> Yard Management -> Sender Relevance of
Messages for Vehicles and TUs.
Get first pending Yard Tasks of this TU with the earliest plan
start date
Get all TU of this Yard Task and check that for all of them
loading/unloading is finished by checking flag ‘TU empty’
Material Number: