Code: Select all
url = f"https://:
/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top={top_value}&$skip = {skip_value}"
Code: Select all
url_1 = https://:
/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top=1000&$skip = 0" #for 1st call skip value is 0
url_2 = https://:/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top=1001&$skip = 2000"
url_3 = https://:/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top=2001&$skip = 3000"
url_4 = https://:/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top=3001&$skip = 4000"
url_5 = https://:/" + "sap/opu/odata/sap/ZRSO_BKPF&$format=json&$top=4001&$skip = 5000"
< /code>
Ich habe einen Code entwickelt, aber das wird seriell mit einer für die Schleife ausgeführt. < /p>
import requests
from requests.auth import HTTPBasicAuth
import json
import os
num_iter = 5
dataChunkSize = 10000
fldr_to_write = '/local folder/on the drive'
for i in range(1,dataChunkSize*num_iter,dataChunkSize):
if i == 1:
data = requests.get(url = url + "&$top = {1}".format(dataChunkSize) + "&$skip=0",headers=headers,auth = HTTPBasicAuth(usr,pwd))
if data.status_code = 200:
data_f = json.loads(data.text)
with (os.path.join(fld_to_write,'bkpf_1st.json'),'w',encoding='utf-8') as j:
json.dump(data_f,j,ensure_ascii=False, indent=4)
else:
data = _make_http_call_to_sap(url = url + "&$filter = {0}".format(flt) + "&$top = {1}".format(i) + "&$skip={2}".format(i+999),headers=headers,auth = HTTPBasicAuth(usr,pwd))
if data.status_code = 200:
data_f = json.loads(data.text)
with (os.path.join(fld_to_write,'bkpf_{}.json'.format(i)),'w',encoding='utf-8') as j:
json.dump(data_f,j,ensure_ascii=False, indent=4)