Symptom
You are unable to mass update Suppier phone numbers, Migration tool doe snot show Address section in enhance mode and Telephone Number field is not available in the Mass Data Maintenance template.
Reproducing the Issue
- Go to Mass Data Maintenance work center
- Select Import Suppliers Link
- Update Suppliers - Script Changes
- There is no phone number column in the Addresses or Contacts tab.
Cause
Currently it is not possible to mass update telephone numbers for suppliers via the mass data maintenance workcenter.
Resolution
One possibility to update telephone numbers for suppliers is to make use of the web service "ManageSupplierIn".
https://api.sap.com/api/PSM_ISI_R_II_MANAGE_SUPPLIER_IN/overview
Here you can pass telephone numbers.
Detailed information about APIs can be found here:
https://blogs.sap.com/2019/09/26/sap-business-bydesign-an-api-overview/
Examples for mass changes are described here:
https://blogs.sap.com/2015/05/15/mass-changes-of-byd-data-using-excel-and-byd-web-services/
A sample you can use to update the telephone number of a supplier:
<n0:SupplierBundleMaintainRequest_sync_V1 xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<BasicMessageHeader>
</BasicMessageHeader>
<Supplier actionCode="04">
<InternalID></InternalID>
<AddressInformation actionCode="04" >
<UUID></UUID>
<Address actionCode="04">
<PhoneFormattedNumberDescription>*</PhoneFormattedNumberDescription>
</Address>
</AddressInformation>
</Supplier>
</n0:SupplierBundleMaintainRequest_sync_V1>
InternalID: this is the ID of the supplier
UUID at addressInformation: you will get this information by executing a query service before
Here you use QuerySupplier
https://api.sap.com/api/PSM_ISI_R_II_QUERY_SUPPLIER_IN/overview
<n0:SupplierByElementsQuery_sync xmlns:n0="http://sap.com/xi/SAPGlobal20/Global">
<SupplierSelectionByElements>
<SelectionByInternalID>
<InclusionExclusionCode>I</InclusionExclusionCode>
<IntervalBoundaryTypeCode>1</IntervalBoundaryTypeCode>
<LowerBoundaryIdentifier></LowerBoundaryIdentifier>
</SelectionByInternalID>
</SupplierSelectionByElements>
<ProcessingConditions>
<QueryHitsUnlimitedIndicator>true</QueryHitsUnlimitedIndicator>
</ProcessingConditions>
<RequestedElements supplierTransmissionRequestCode="2">
<Supplier addressInformationTransmissionRequestCode="1"/>
</RequestedElements>
</n0:SupplierByElementsQuery_sync>
via the tag <RequestedElements> you can limit the response to the desired data
<RequestedElements supplierTransmissionRequestCode="2">
<Supplier addressInformationTransmissionRequestCode="1"/>
</RequestedElements>
Once this information has been retrieved, you can construct the web service call to update the telephone numbers.
Keywords
Supplier Mass Upload, Migration, Telephone Number , KBA , SRD-MD-BP-SUP , Suppliers , Problem