we would like to use nwbc 5.0 with TM, but we have lots of users and we need to be able to make them use nwbc and still have the same authorization checks and if possible have them use nwbc when they are calling Transaction nwbc from the gui menu.
Any tips? We would like to use nwbc because Performance is better and ist more comfortable. But, we cannot ask each of our users to download it, make favorites. We need to give them a set of favorites.
Does anyone have experience getting screen prints (or PDF) working from the carrier collaboration portal? Our users want to be able to print screens (tables) from the CCP without first downloading to Excel.
Is there added capability in later releases to allow this? Or are there guides on creating print capabilities?
I am trying to us a selection profile to select documents with a specific "External" purchase org ID. The reason is because selection profiles are transported between Config/Quality/Production clients so I want to use the External Purchase Org ID. The issue is that the selection profile data definition appears to use the Purchase Org. ID that is on the Business Object (Internal Purchase Org. ID).
How can I select only the TM documents with a specified "External" purchase org ID??
An action is similar to a Function module in ERP that you can use to do stuff for you instead of coding it yourself. But, whereas the FM is generic, an action does a concrete thing and a determination determines something and an association links two nodes. In BOPF, these are all different things. Advantage: you can search for things separately and in a categorized manner. To find one in TM, do the following:
-Use transaction /n/BOBF/CONF_UI -You get the following screen:
-Double-click on /SCMTMS/TOR -Open Node elements -Choose the note to which the action is related -I am looking for an action that updates the delivery status on the FO root level, thus I choose ROOT -I am looking for an action, some coding that does something (association is a link between 2 nodes, validation validates something, queries are pre-defined searches, determinations can default data based on other data for example etc).
This is just an example, it may be smarter to update the cargo receipt status on product level and let the standard update the delivery status on the FU when all products were delivered. But, it shows you how to find an action and that was the purpose.
The below coding shows how you can choose the action to set the cargo receipt status based on an EM event (unloading or proof of delivery for example).
data: lo_srvmgr_tor type ref to /bobf/if_tra_service_manager, lo_change type ref to /bobf/if_tra_change, lo_message type ref to /bobf/if_frw_message, lo_tramgr type ref to /bobf/if_tra_transaction_mgr, ls_key type /bobf/s_frw_key, lt_key type /bobf/t_frw_key, lt_stage_k type /bobf/t_frw_key, lt_failed_key type /bobf/t_frw_key, lt_failed_action_key type /bobf/t_frw_key, lt_return type bapiret2_tab, lv_rejected type boole_d.
field-symbols: <ls_key> like line of lt_key, <ls_rp_sydat> type /saptrx/rp_sydat.
" Declare service manager lo_srvmgr_tor = /bobf/cl_tra_serv_mgr_factory=>get_service_manager( /scmtms/if_tor_c=>sc_bo_key ).
" Set cargo receipt status to delivered lo_srvmgr_tor->do_action( exporting iv_act_key = /scmtms/if_tor_c=>sc_action-root-set_cargo_receipt_delivered it_key = lt_key importing eo_change = lo_change eo_message = lo_message et_failed_key = lt_failed_key et_failed_action_key = lt_failed_action_key ).
if ( lt_failed_key is not initial or lt_failed_action_key is not initial ) and lo_message is bound. /scmtms/cl_common_helper=>msg_convert_bopf_2_bapiret2( exporting iv_severity = 'E' io_message = lo_message changing ct_bapiret2 = lt_return ).
if lv_rejected is not initial and lo_message is bound. /scmtms/cl_common_helper=>msg_convert_bopf_2_bapiret2( exporting iv_severity = 'E' io_message = lo_message changing ct_bapiret2 = lt_return ).
delete adjacent duplicates from lt_return. endif. endif.
If you want to know more about it, please refer to the enhancement guide from Holger Polch which explains everything very well and has coding examples.
as explained in below threads, we would like to use nwbc with a high number of users. Can someone explain what are the steps to transfer the favorites (Display Fu, Display FO, Cockpit) from one user to another. Can they be downloaded and send to another user? And if yes, how?
Can they be distributed by the basis team, pre-installed on the nwbc?
BusinessPartner IDs and OrgUnit IDs are most often numeric and instead of memorizing hundreds or thousands of 10-digit customer numbers, end users tend to use the well known F4 value help search popups. When searching for a customer number the end user spends quite some time and mouse clicks: launch the F4 value help popup, enter customer name, country, city, click on search button, check if the customer was found, maybe: correct spelling of the name, click search botton again, locate the right customer number and finally select the right entry to be taken into the input field.
User efficiency is kind of harmed.
What if you could just type all the search criteria into the input field, in which you have to put in the numeric ID and the system auto-proposes the customerIDs, which are relevant?
For TM systems (release 9.0 and higher) there is a solution to improve user efficiency and it does not require a fuzzy search based on a HANA DB.
Solution - Result
Just an example, config and background is explained later.
You work for CustomerService and when creating a new order you need to enter BP IDs and on the e-mailed document there is no customer number - as usual there is only Name and Address: >>Phil & Co, 833 Broadway 3rd Floor, New York 10003<<
Now, in this example, there is only one left in the list, which is most often not the case in reality, but it demos the effect.
Anytime you use then the arrow down key to select the entry and hit ENTER and that's it. You found the BP number within seconds and no mouse click was required.
This is not a fuzzy search and it is also not hard coded. There is a configuration, which in this example controls the following:
The string "Phil us ne" is split by the separator <space> into 3 individual strings. The first one is the name, the second one is the country and the third one is the city.
Solution - Implementation
There is a customizing, in which you can activate the so called "Combined Search" for input fields for BPs or Org.Units.
Prerequisite: notes 2205284 and 2198536
Use transaction SM34 for the view cluster /SCMB/VC_TYASH in case the following customizing node is not yet available:
In the first view you can declare two different things:
Declare for collective search helps the relevant elementary search help (of this collective search help), which shall be used by the system to execute the combined search.
Declare the elementary search help, for which the combined search feature shall be activated and declare the separator, which shall be used to split the search string into the individual search input values.
In the second view you declare for the elementary search help the search parameters and its sequence.
The combined search help is only applied for input fields, for which the type ahead search / auto-value-proposal is activated.
The combined search help is not applied to the input field (despite it is activated) if the user enters a pure numeric value. The system assumes here that the user enters the actual ID and applies the regular search help and autocompletion / auto-proposed values come with all IDs, which start with the entered numeric value.
As of today the combined search works for the following search helps:
Collective search helps:
Business Partner: /SCMTMS/CSH_BUPA
Elementary search helps:
Business Partner:
/SCMTMS/BUPA
/SCMTMS/BUPAA
/SCMTMS/BUPAI
/SCMTMS/BUPAR
/SCMTMS/BUPARLTYP
/SCMTMS/BUPAV
/SCMTMS/SH_BUPA_4_FAG
/SCMTMS/SH_BUPA_FUZZY
/SCMTMS/SH_BUPA_SCAC
Organizational Unit:
/SCMB/SH_ORGUNIT_SLSORG
/SCMB/SH_ORGUNIT
/SCMB/SH_ORGUNIT_CMPORG
/SCMB/SH_ORGUNIT_PURGRP
/SCMB/SH_ORGUNIT_PURORG
/SCMB/SH_ORGUNIT_SLSBUR
/SCMB/SH_ORGUNIT_SLSGRP
/SCMB/SH_ORGUNIT_SLSORG
/SCMTMS/SH_ORGUNIT_EXEGRP
/SCMTMS/SH_ORGUNIT_EXEGRP_INT
/SCMTMS/SH_ORGUNIT_EXEORG
/SCMTMS/SH_ORGUNIT_EXEORG_INT
/SCMTMS/SH_ORGUNIT_SLSGRP_INT
/SCMTMS/SH_ORGUNIT_SLSOFF_INT
/SCMTMS/SH_ORGUNIT_SLSORG
/SCMTMS/SH_ORGUNIT_SLSORG_INT
Background
Feature 1: For the activated collective search help in the search help exit a particular elementary search help (to be used for the type ahead search) is set. The standard behaviour (without this feature) would be: the system uses the elementary search help, which was used by you the last time in the F4 value help popup.
Feature 2: For the activated elementary search help in the search help exit the declared standard input parameter is replaced by the declared list of search parameters and the entered string is split at the seperator character into the individual search value. The content of the internal selopt table is modified accordingly. As of today the options 'equal' and 'contains pattern' are supported.
This customizing and the underlying framework (class /SCMB/CL_SH_TYPE_AHEAD_HELPER) can also be used for own custom developed search helps. It only requires to implement the helper method calls into the search help exit. And it certainly requires a SCM system, which has got the SCM Basis layer.
Very special/exceptional case
In the rare case where both kind of IDs - numeric and alphanumeric - exist in the system and some users like to continue searching with the external alphanumeric ID and other users prefer to search for the numeric ID using the combined search parameters, then a compromise is needed: In the search parameters declare the ID to be the first search parameter, followed by the actually intended search parameters. Now the users, who type external alphanumeric IDs and expect the auto-proposed value list to come, can just work as before. All other users, who like to use the new way of search for numeric IDs, need to start typing the separator (here: <space>) in order to suppress the first selection criteria 'ID'.
Runtime performance aspect
This "combined search" feature is expected to be used the same way the end users used the F4 value help popup before in terms of which parameters are selected to enter a search value. Hence it is expected that anyway you already have secondary indexes for the search help parameters.Hence the auto-proposed values come up in the drop down as fast as the user would get the search result in the F4 value help popup. Make sure to execute performance tests for your configuration before deploying this feature to production.
Known weakness
As of today there is no way for a ABAP WebDynpro to declare an input field, which allows a longer input-string for type ahead search purposes than the actual defined length of the field (like possible in SAP GUI).
Hence, the 10-digit BP number field allows a maximum of 10 characters for searching via type-ahead. This is a real weakness, but it is preferred to wait for a central solution from ABAP WD - instead of spending the time to extend the field length of relevant fields in all the UI structures.
For customer implementation projects it is OK and recommended to increase the field length of relevant UI fields in order to use this search feature to a full extent. There is no issue expected as the final value from the UI field is parsed to the corresponding backend field and the backend field still remains with its original length and all further processing and input checks etc. is done as before.
Have you already heard of our new driver management? If not, it's part of the latest documentation update for SAP TM 9.3 under https://help.sap.com/tm93.
In the last couple of month I got several questions regarding the TM optimizer and its performance. Therefore I decided to write this blog which should give some information how the optimizer works and some tips to improve performance in your scenario (for more information regarding the optimizer and optimizer performance you should check out SAP note 1520433 and the blog series Effective Optmization Series).
General Let me start with some vague information about the optimizer in SAP TM. When you run the optimizer from TM standard default there are 3 steps which are processed: The optimizer pre-processing, the optimization, and the optimizer post-processing (check process controller strategy VSR_DEF). In the pre-processing all the relevant data are collected and converted to the optimizer format. This means that data about all selected freight units, freight orders, and resources needs to be collected. Furthermore information about all the possible routes through your transportation network are determined. Also optimization context data needs to be collected. This context includes e.g. orders on selected resources within the planning horizon, to let the optimizer know when the resources are already in use. The optimizer itself is an algorithm which creates a valid transportation plan and try to optimize the solution regarding the planning costs which are set in the planning cost settings of your planning profile. In the post processing the optimizer solution is stored back into the TM system which means all the changed data are saved in the system.
There are two main points which will cost performance: volume & complexity. Working with the optimizer you should try to keep one principal in mind "take the data needed, but not more".
One important point in reaching a good optimizer performance is selecting right data. Two very important settings here is the selection horizon and the planning horizon. For the right planning horizon you need to analyze your own business. If you are running a day to day business the planning horizon usually will only cover the next few days. It you need to make plans over the next month’s your planning horizon covers a longer time period. Maybe you are using some offset to get your plans ready one or two day before execution. In order to reach a good optimizer performance your selection of freight units and freight orders should depend to the planning horizon. For sure all of those horizons should be as small as possible to improve performance.
The optimizer will never plan any freight unit which have their pick-up and delivery window outside the planning horizon. Therefore avoid to process any of those freight units with time selection attributes in the selection profile.
In the selection profile you can furthermore exclude all freight units which are already planned. Those freight units would be fixed by the optimizer anyways if you don’t also select the freight order which they are assigned to. If you select freight orders the assigned freight units will be added to your selection anyways in order to process them. Please keep in mind that the optimizer will delete the currently planned freight orders and start from scratch for the assigned freight units if you process them in an optimizer run without using incremental planning.
Optimization Time
Inthe planning profile you can control how long the optimization should run. As more time the optimizer gets as better the results will be from a planning cost perspective.
Please also check out this setting if you are concerned about the overall optimization time. TM default is set to 20 seconds the engine can use.
Be aware that the right optimizer runtime setting is hardly depending to your scenario. It’s definitely not a good idea to just reduce the runtime in order to get faster response!
Over the last month we did several improvements for the optimizer performance. Those are contained in the following set of notes for optimizer pre- and post-processing.
Here are some of the recent SAP Notes you should implement when facing performance issues. I will try to update the list from time to time.
This sicussion is about the "stategic freight procurement" tool.
I created a RFQ Master and have got a Problem with the calculation sheet pert in the bottom.
When I push the button "create calculation sheet" nothing Displays in the calculation sheet section. But if I push "save" there appear warning Messages that usually appear if you don't fill in the spaces in calculation Sheets.
So it seems like Ican add a calculation sheet, but it just not show/appear.
I tried the other way, too. In the bottom section (calculation sheet overview) the is a button "Insert". But "single item" and "multiple items" appear grey.
So I can't even insert calculation items manually.
The TM users in my company are getting unexpected NWBC crash issues. The NWBC application they use suddenly stops responding and they lose the work they were doing. This has been happening for over six months now and we have upgraded the desktop application from NWBC 3.5 PL14 to NWBC 4.0 and now to the latest NWBC 5.0 PL 10. The crashes are not as frequent with NWBC 5.0 as they were for 3.5, but users with 5.0 still get them.
Here's the screenshot of what users see after the system stops responding. This could happen in any screen of TM like the Transportation Cockpit, edit freight order, tendering etc. We have found no way to consistantly replicate this at will, but the users get this sometimes 2-3 times a day.
We have sent this to SAP multiple times along with all kinds of logs and trace files that they have asked for from the affected desktops and the final response we always got was to upgrade to a new patch level or version of NWBC. Following their recommendations, we have applied several ABAP runtime patches, server level patches and notes, UI rendering patches, SAP GUI patch level upgrades, NWBC patch level upgrades and finally to NWBC 5.0 version upgrade to PL10. Eevn after going through all this, we still have users who get this error.
The desktops that the transportation users use are high performance machines with the best possible CPU and memory powers. We have also done all the recommended IE security settings.
Here's where we are now;
System
Current Version
SAP TM
TM 9.0 SP11
SAPGUI
740 PL5 Hotfix 1
NWBC
5.0 PL10
Internet Explorer
IE 11
OS
Windows 7 Enterprise
It seems to be an issue related to the NWBC window desktop application, but we are not able to find the root cause. Request your help.
This article of mine will provide an overview of transit warehousing scenario which is implemented in SAP TM 9.3 along with SAP EWM 9.3.This scenario is not available for a shipper scenario but only for a freight forwarder/LSP scenario where warehouse operations and execution is implemented in SAP EWM and is integration with freight forwarding operations using SAP TM.
In transit warehousing scenario, the freight forwarder takes the responsibility of receiving cargo from shippers based on inbound transportation planning in SAP TM.Then the cargo is consolidated in such a way that multiple customers based on same destination locations are grouped together and transported to a transit warehouse and then its shipped to the next location of the transportation chain and finally delivered to consignee based on outbound transportation planning in SAP TM.
Hence major implication of this process is that both inbound and outbound transportation planning is possible using this process.Also the cargo received from multiple shippers is very variable hence cargo is managed as a handling unit and cargo information is directly mentioned in the documents in the warehouse.
In the warehouse for a transit scenario, the structuring of warehouse is done in such a way that HU with same destination location are grouped together in the same storage bin .However exception to this are the HU which are dangerous goods or high value cargo which are put in separate storage bin.
Then based on the outbound plan sent by the transportation planner in SAP TM, the HU are loaded directly from the staging areas which is then loaded on to the truck for putaway operations.There are lot of data exchange that occurs between SAP TM and SAP EWM since SAP EWM informs SAP TM about various steps performed in transit warehouse like arrival in checkpoint, departure from checkpoint , loading and unloading completion etc.
To implement this scenario there has to be proper warehouse organisation structure and warehouse master data to be set up.The warehouse structure comprises of :
a) Warehouse area with storage bins for postal codes
b) Warehouse area with country and region speciifc storage bins
c) Warehouse area for handling HU containers
Below enclosed is the process flow to be used for implementing this scenario:
a) Create a forwarding order in SAP TM-Here the customer service creates a forwarding order so that cargo can be transported from shipper to consignee.Once the cargo is picked up from the shipper premises, its to be transported via transit warehouse which belongs to the transportation network of the freight forwarder and belongs to SAP EWM. The output of this step is creation of freight unit.
b) Create freight order as part of pick up stage-In SAP TM based on transportation planning, freight order is created during the pick up stage and the stage detaisl will show the pick up from shipper location to transit warehouse.At this time the carrier is assigned to this order.
c) Freight order status been upated in SAP TM-Here once the cargo is picked up from shipper location , then the freight order status is updated to Departed.When transportation planning is completed the transportation planner sends an unloading request to the SAP EWM containing details of the freight order number.SAP EWM automatically creates a TU ( transportation unit) , inbound delivery and HU whereby HU are assigned to TU.
d) Then truck arrives at the checkpoint and informs the warehouse clerk about the freight order No.The warehouse clerk assigns free door to the TU and updates the status-Docked at door and informs the trucker to drive to assigned door.During this time an unloading notification message is send by EWM for arrival at check point and TM freight order status is updated to Arrived.
e) Warehouse clerk then receives the packages once the unloading process starts.The HU are received using RF device and once packages are identified ,HU label is attached to those packages .System automatically performs Goods receipt in EWM for each HU.
f) Once all HU are unloaded the truck leaves the door and the warehouse clerk confirms the departure from checkpoint.During this time the unloading message for departure is triggered by SAP EWM which updates freight order status to departed.
Now we shall follow the standard process to ship the product from the transit warehouse to next location in transportation chain.After creation of pre carriage/pick up freight order, SAP TM send the outbound planning information to SAP EWM and the same process repeats again as explained above like creation of freight order,send loading request, truck arrival at checkpoint, staging handling unit, loading truck, truck leaves,