Forums | Back to Concur Developer Center

Vendor API List field problem


#1

Hello everybody,

I am using vendor api to let SAP vendor master data synchronize with Concur. But I am facing a problem with list fields.

My Target flow

Step 1. Use Vendor API Get to retrieve unapproved vendor information from Concur and put it into SAP vendor master
Step 2. Extract vendor info from SAP and Use Vendor API Post or Put to update vendor as approved vendors, meanwhile matching approved vendors with original unapproved vendor by AddressImportSyncID.

My problem
I can only retrieve Value from custom field if it is a list field.
i.e. Bank Key in SAP: code - 1234567 / value - Bank of Japan
Bank Key in Concur: code - 1234567 / value - Bank of Japan
When I retrieve vendor by API Get in Step 1, what I get from Vendor API Get is “Bank of Japan”, instead of 1234567.
But I only need 1234567 to input in SAP.
And actually, if I use “Bank of Japan” in Step 2, it will fail since Concur only accept code when import vendor.

I am wondering if anyone has the same problem and would appreciate if you can share the solution.

Thank you!


#2

Rather than query the Vendor API, have you tried querying the List API?
You could save off the ListID of your custom list, then call a GET on the List Item API to retrieve values and codes directly from the list.


#3

Thank you for your reply.

Even I retrieve values from list. How can I know which one is the custom list item I got from Vendor API?
Or there is any list contains unapproved vendor?

It would be appreciated if you can advise on this.


#4

If you query the ListItem API, you will get an item code.
If you query the Vendor API you will get an item code.
You could make 2 maps (aka dictionaries) and see if the keys match. If they do, it’s confirmed they are the same thing, if not, they’re not.

IDK all the query filters available to the Vendor API, but you could query everything, then separate between Approved and Unapproved into 2 lists, then only process the lists you care about.


#5

Sorry I did not make my problem clear.

The problem is when I query the Vendor API, I get an item TEXT instead of item CODE.
If Concur can output CODE, then I can do the matching as you mentioned.
But Concur stored same TEXT and different CODEs and I can only get TEXT from Vendor API.
That is the problem.

I asked them to copy the code to another field, but they told me it is not possible to copy fields in one form…
I also have requested this problem to CONCUR SUPPORT but apparently no one is having same problem and this is not their priority.

I hope they can change the Vendor API Get…