cancel
Showing results for 
Search instead for 
Did you mean: 

Change default address with API_BUSINESS_PARTNER in S4

RonaldGr
Discoverer
0 Kudos

For a customer I have multiple valid addresses. One of those addresses is flagged as default address with XXDEFAULT. Now I want to change one of the other addresses as default address. From the GUI this is working like a charm. But when I use the API I get the following error message :

The operation I use is a create on the oData V2 model

R11 244 Error_Time Dependency_Addresses XXDEFAULT_ERROR

This is the URL I post :

API_BUSINESS_PARTNER/A_BusinessPartnerAddress(BusinessPartner='1010004614',AddressID='41791')/to_AddressUsage

This is the payload I post :

{

"BusinessPartner":"1010004614",

"AddressUsage":"XXDEFAULT",

"AddressID":"41791"

}

former_member189962
Active Participant
0 Kudos

Hello,

Could you please share the address validities that you have for the address in the Business Partner?

Best Regards,

Ankush

Hint: There must a currently valid standard address (XXDEFAULT) for the customer master

RonaldGr
Discoverer
0 Kudos

Hi Ankush Thareja,

Here a subset of the API response. I have removed all address and url related data

"to_BusinessPartnerAddress": {
			"results": [{				
				"BusinessPartner": "1010004614",
				"AddressID": "34871",
				"ValidityStartDate": "\/Date(1593993600000+0000)\/",
				"ValidityEndDate": "\/Date(253402300799000+0000)\/",				
				"to_AddressUsage": {
					"results": [{						
						"BusinessPartner": "1010004614",
						"ValidityEndDate": "\/Date(1594684799000+0000)\/",
						"AddressUsage": "XXDEFAULT",
						"AddressID": "34871",
						"ValidityStartDate": "\/Date(1593993600000+0000)\/",
						"StandardUsage": false,
						"AuthorizationGroup": "1000"
					}, {						
						"BusinessPartner": "1010004614",
						"ValidityEndDate": "\/Date(253402300799000+0000)\/",
						"AddressUsage": "0001",
						"AddressID": "34871",
						"ValidityStartDate": "\/Date(1593993600000+0000)\/",
						"StandardUsage": true,
						"AuthorizationGroup": "1000"
					}]
				},				
			}, {
				"BusinessPartner": "1010004614",
				"AddressID": "41791",
				"ValidityStartDate": "\/Date(1594684800000+0000)\/",
				"ValidityEndDate": "\/Date(253402300799000+0000)\/",
				"to_AddressUsage": {
					"results": [{						
						"BusinessPartner": "1010004614",
						"ValidityEndDate": "\/Date(1622678399000+0000)\/",
						"AddressUsage": "XXDEFAULT",
						"AddressID": "41791",
						"ValidityStartDate": "\/Date(1622505600000+0000)\/",
						"StandardUsage": false,
						"AuthorizationGroup": "1000"
					}]
				},				
			}, {
				"BusinessPartner": "1010004614",
				"AddressID": "41801",
				"ValidityStartDate": "\/Date(1594684800000+0000)\/",
				"ValidityEndDate": "\/Date(253402300799000+0000)\/",
				"to_AddressUsage": {
					"results": []
				}
			}, {
				"BusinessPartner": "1010004614",
				"AddressID": "41803",
				"ValidityStartDate": "\/Date(1594684800000+0000)\/",
				"ValidityEndDate": "\/Date(253402300799000+0000)\/",
				"to_AddressUsage": {
						"BusinessPartner": "1010004614",
						"ValidityEndDate": "\/Date(1622505599000+0000)\/",
						"AddressUsage": "XXDEFAULT",
						"AddressID": "41803",
						"ValidityStartDate": "\/Date(1594684800000+0000)\/",
						"StandardUsage": false,
						"AuthorizationGroup": "1000"
					}]
				},

Accepted Solutions (0)

Answers (1)

Answers (1)

former_member189962
Active Participant
0 Kudos

Hi,

I assume that the address usage validity dates are in Epoch format.

take the example of address ID = 34871, Address usage = 0001

"ValidityStartDate": "\/Date(1593993600000+0000)\/" ==> GMT = Monday, July 6, 2020 12:00:00 AM << Time stamp is in miliseconds

"ValidityEndDate": "\/Date(253402300799000+0000)\/", ==> GMT = Wednesday, January 11, 1978 9:31:40.799 PM << Time stamp is in microseconds

Even if I convert the timestamp in miliseconds, still the validity is no correct.

The same holds true for Address ID = 41791 and 41808.

Do you think that's the problem?

Best Regards,

Ankush

RonaldGr
Discoverer
0 Kudos

Hi Ankush,

the validity dates for address 41791 are

  1. ValidityEndDate: Sat Jan 01 10000 00:59:59 GMT+0100 (Midden-Europese standaardtijd)
    1. __edmType: "Edm.DateTimeOffset"
    2. __offset: "+00:00"
    3. __proto__: Object
  2. ValidityStartDate: Tue Jul 14 2020 02:00:00 GMT+0200 (Midden-Europese zomertijd)
    1. __edmType: "Edm.DateTimeOffset"
    2. __offset: "+00:00"

To change the address usage I do the following post :

"/A_BusinessPartnerAddress(BusinessPartner='1010004614',AddressID='41791')/to_AddressUsage"

with the following payload

{

AddressID: "41791"

AddressUsage: "XXDEFAULT"

BusinessPartner: "1010004614"

ValidityEndDate: "9999-12-31T23:59:59.000Z"

ValidityStartDate: "2021-06-17T00:00:00,000Z"

}

The result from S4 is R11 244 Error_Time Dependency_Addresses XXDEFAULT_ERROR