From 8db72fb55bb9da3a89ef21b81ce216fd76f2a21c Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 29 Jul 2024 22:26:16 +0200 Subject: [PATCH 01/17] initial --- package.json | 10 +- srv/external/API_BUSINESS_PARTNER.csn | 7042 ++++++++++++++++++++++++ srv/external/API_BUSINESS_PARTNER.edmx | 1 + srv/services.cds | 14 + srv/services.js | 28 +- 5 files changed, 7092 insertions(+), 3 deletions(-) create mode 100644 srv/external/API_BUSINESS_PARTNER.csn create mode 100644 srv/external/API_BUSINESS_PARTNER.edmx diff --git a/package.json b/package.json index 9421f3f3..e427f621 100644 --- a/package.json +++ b/package.json @@ -38,7 +38,9 @@ "reset": "read -p 'This will irreversibly reset your working directory including ALL files in this git repo. Continue?' -n 1 -r && echo && if [[ $REPLY =~ ^[Yy]$ ]]; then git clean -fd && git reset --hard && npm i; fi" }, "jest": { - "modulePathIgnorePatterns": ["/xmpls/"] + "modulePathIgnorePatterns": [ + "/xmpls/" + ] }, "sapux": [ "app/incidents" @@ -61,8 +63,12 @@ } } } + }, + "API_BUSINESS_PARTNER": { + "kind": "odata-v2", + "model": "srv/external/API_BUSINESS_PARTNER" } } }, "private": true -} +} \ No newline at end of file diff --git a/srv/external/API_BUSINESS_PARTNER.csn b/srv/external/API_BUSINESS_PARTNER.csn new file mode 100644 index 00000000..fb0a494d --- /dev/null +++ b/srv/external/API_BUSINESS_PARTNER.csn @@ -0,0 +1,7042 @@ +{ + "meta": { + "creator": "cds-dk 7.8.2" + }, + "$version": "2.0", + "definitions": { + "API_BUSINESS_PARTNER": { + "kind": "service", + "@cds.external": true, + "@m.IsDefaultEntityContainer": "true", + "@sap.message.scope.supported": "true", + "@sap.supported.formats": "atom json xlsx" + }, + "API_BUSINESS_PARTNER.A_AddressEmailAddress": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Email Address", + "elements": { + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "Person": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "notNull": true + }, + "OrdinalNumber": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Sequence Number", + "notNull": true + }, + "IsDefaultEmailAddress": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard addr.", + "@sap.quickinfo": "Flag: this address is the default address" + }, + "EmailAddress": { + "type": "cds.String", + "length": 241, + "@sap.label": "Email Address" + }, + "SearchEmailAddress": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "E-Mail Address", + "@sap.quickinfo": "E-Mail Address Search Field", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "AddressCommunicationRemarkText": { + "type": "cds.String", + "length": 50, + "@sap.label": "Notes", + "@sap.quickinfo": "Communication link notes" + } + } + }, + "API_BUSINESS_PARTNER.A_AddressFaxNumber": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Fax Number", + "elements": { + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "Person": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "notNull": true + }, + "OrdinalNumber": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Sequence Number", + "notNull": true + }, + "IsDefaultFaxNumber": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard No.", + "@sap.quickinfo": "Standard Sender Address in this Communication Type" + }, + "FaxCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Country/Region", + "@sap.quickinfo": "Country/Region for Telephone/Fax Number" + }, + "FaxNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Fax", + "@sap.quickinfo": "Fax Number: Dialing Code+Number" + }, + "FaxNumberExtension": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Extension", + "@sap.quickinfo": "Fax no.: Extension" + }, + "InternationalFaxNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Fax Number", + "@sap.quickinfo": "Complete Number: Dialing Code+Number+Extension" + }, + "AddressCommunicationRemarkText": { + "type": "cds.String", + "length": 50, + "@sap.label": "Notes", + "@sap.quickinfo": "Communication link notes" + } + } + }, + "API_BUSINESS_PARTNER.A_AddressHomePageURL": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Home Page URL", + "elements": { + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "Person": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "notNull": true + }, + "OrdinalNumber": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Sequence Number", + "notNull": true + }, + "ValidityStartDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "from", + "@sap.quickinfo": "Valid-from date - in current Release only 00010101 possible", + "notNull": true + }, + "IsDefaultURLAddress": { + "key": true, + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard addr.", + "@sap.quickinfo": "Flag: this address is the default address", + "notNull": true + }, + "SearchURLAddress": { + "type": "cds.String", + "length": 50, + "@sap.display.format": "UpperCase", + "@sap.label": "URI address", + "@sap.quickinfo": "URI address search field" + }, + "AddressCommunicationRemarkText": { + "type": "cds.String", + "length": 50, + "@sap.label": "Notes", + "@sap.quickinfo": "Communication link notes" + }, + "URLFieldLength": { + "type": "cds.Integer", + "@sap.label": "URI length", + "@sap.quickinfo": "URI field length" + }, + "WebsiteURL": { + "type": "cds.String", + "length": 2048, + "@sap.label": "URI", + "@sap.quickinfo": "Universal Resource Identifier (URI)" + } + } + }, + "API_BUSINESS_PARTNER.A_AddressPhoneNumber": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Phone Number", + "elements": { + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "Person": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "notNull": true + }, + "OrdinalNumber": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Sequence Number", + "notNull": true + }, + "DestinationLocationCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Country/Region", + "@sap.quickinfo": "Country/Region for Telephone/Fax Number" + }, + "IsDefaultPhoneNumber": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard No.", + "@sap.quickinfo": "Standard Sender Address in this Communication Type" + }, + "PhoneNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Telephone", + "@sap.quickinfo": "Telephone No.: Dialing Code + Number" + }, + "PhoneNumberExtension": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Extension", + "@sap.quickinfo": "Telephone no.: Extension" + }, + "InternationalPhoneNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Telephone Number", + "@sap.quickinfo": "Complete Number: Dialing Code+Number+Extension" + }, + "PhoneNumberType": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Mobile phone", + "@sap.quickinfo": "Indicator: Telephone is a Mobile Telephone" + }, + "AddressCommunicationRemarkText": { + "type": "cds.String", + "length": 50, + "@sap.label": "Notes", + "@sap.quickinfo": "Communication link notes" + } + } + }, + "API_BUSINESS_PARTNER.A_BPAddrDepdntIntlLocNumber": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Business Partner Address-Dependent ILN", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "InternationalLocationNumber1": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 1", + "@sap.quickinfo": "International location number (part 1)" + }, + "InternationalLocationNumber2": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 2", + "@sap.quickinfo": "International location number (Part 2)" + }, + "InternationalLocationNumber3": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Check digit", + "@sap.quickinfo": "Check digit for the international location number" + } + } + }, + "API_BUSINESS_PARTNER.A_BPContactToAddress": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Contact Person Address", + "elements": { + "RelationshipNumber": { + "key": true, + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Relationship No.", + "@sap.quickinfo": "BP Relationship Number", + "notNull": true + }, + "BusinessPartnerCompany": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerPerson": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "ValidityEndDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity Date (Valid To)", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "AddressNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number" + }, + "AdditionalStreetPrefixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 3" + }, + "AdditionalStreetSuffixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 5" + }, + "AddressTimeZone": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Time Zone", + "@sap.quickinfo": "Address Time Zone" + }, + "CareOfName": { + "type": "cds.String", + "length": 40, + "@sap.label": "c/o", + "@sap.quickinfo": "c/o name" + }, + "CityCode": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "City Code", + "@sap.quickinfo": "City code for city/street file" + }, + "CityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "City" + }, + "CompanyPostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Postal Code", + "@sap.quickinfo": "Company Postal Code (for Large Customers)" + }, + "Country": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Country/Region Key" + }, + "County": { + "type": "cds.String", + "length": 40, + "@sap.label": "County" + }, + "DeliveryServiceNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Delivery Service No.", + "@sap.quickinfo": "Number of Delivery Service" + }, + "DeliveryServiceTypeCode": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Delvry Serv Type", + "@sap.quickinfo": "Type of Delivery Service" + }, + "District": { + "type": "cds.String", + "length": 40, + "@sap.label": "District" + }, + "FormOfAddress": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Title Key", + "@sap.quickinfo": "Form-of-Address Key", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "FullName": { + "type": "cds.String", + "length": 80, + "@sap.label": "Full Name", + "@sap.quickinfo": "Full name of a party (Bus. Partner, Org. Unit, Doc. address)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "HomeCityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Different City", + "@sap.quickinfo": "City (different from postal city)" + }, + "HouseNumber": { + "type": "cds.String", + "length": 10, + "@sap.label": "House Number" + }, + "HouseNumberSupplementText": { + "type": "cds.String", + "length": 10, + "@sap.label": "Supplement", + "@sap.quickinfo": "House number supplement" + }, + "Language": { + "type": "cds.String", + "length": 2, + "@sap.label": "Language Key" + }, + "POBox": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box" + }, + "POBoxDeviatingCityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "PO Box City", + "@sap.quickinfo": "PO Box city" + }, + "POBoxDeviatingCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Ctry/Region", + "@sap.quickinfo": "PO Box of Country/Region" + }, + "POBoxDeviatingRegion": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Region", + "@sap.quickinfo": "Region for PO Box (Country/Region, State, Province, ...)" + }, + "POBoxIsWithoutNumber": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box w/o No.", + "@sap.quickinfo": "Flag: PO Box Without Number" + }, + "POBoxLobbyName": { + "type": "cds.String", + "length": 40, + "@sap.label": "PO Box Lobby" + }, + "POBoxPostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Postal Code" + }, + "Person": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "PostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Postal Code", + "@sap.quickinfo": "City Postal Code" + }, + "PrfrdCommMediumType": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Comm. Method", + "@sap.quickinfo": "Communication Method (Key) (Business Address Services)" + }, + "Region": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Region", + "@sap.quickinfo": "Region (State, Province, County)" + }, + "StreetName": { + "type": "cds.String", + "length": 60, + "@sap.label": "Street" + }, + "StreetPrefixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 2" + }, + "StreetSuffixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 4" + }, + "TaxJurisdiction": { + "type": "cds.String", + "length": 15, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Jurisdiction" + }, + "TransportZone": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Transportation Zone", + "@sap.quickinfo": "Transportation zone to or from which the goods are delivered" + }, + "AddressRepresentationCode": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Version", + "@sap.quickinfo": "Version ID for International Addresses" + }, + "ContactRelationshipFunction": { + "type": "cds.String", + "length": 40, + "@sap.label": "Function" + }, + "ContactRelationshipDepartment": { + "type": "cds.String", + "length": 40, + "@sap.label": "Department" + }, + "Floor": { + "type": "cds.String", + "length": 10, + "@sap.label": "Floor", + "@sap.quickinfo": "Floor in building" + }, + "ContactPersonBuilding": { + "type": "cds.String", + "length": 10, + "@sap.label": "Building code", + "@sap.quickinfo": "Building (number or code)" + }, + "RoomNumber": { + "type": "cds.String", + "length": 10, + "@sap.label": "Room Number", + "@sap.quickinfo": "Room or Apartment Number" + }, + "ContactPersonPrfrdCommMedium": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Comm. Method", + "@sap.quickinfo": "Communication Method (Key) (Business Address Services)" + }, + "CorrespondenceShortName": { + "type": "cds.String", + "length": 10, + "@sap.label": "Short name", + "@sap.quickinfo": "Short name for correspondence" + }, + "InhouseMail": { + "type": "cds.String", + "length": 10, + "@sap.label": "Internal mail", + "@sap.quickinfo": "Internal Mail Postal Code" + }, + "to_EmailAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressEmailAddress", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_FaxNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressFaxNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_MobilePhoneNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressPhoneNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_PhoneNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressPhoneNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_URLAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressHomePageURL", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_BPContactToFuncAndDept": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.creatable": "false", + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Function and Department", + "elements": { + "RelationshipNumber": { + "key": true, + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Relationship No.", + "@sap.quickinfo": "BP Relationship Number", + "notNull": true + }, + "BusinessPartnerCompany": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerPerson": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "ValidityEndDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity Date (Valid To)", + "notNull": true + }, + "ContactPersonFunction": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Function", + "@sap.quickinfo": "Function of partner" + }, + "ContactPersonDepartment": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Department" + }, + "PhoneNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Telephone", + "@sap.quickinfo": "Telephone No.: Dialing Code + Number" + }, + "PhoneNumberExtension": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Extension", + "@sap.quickinfo": "Telephone no.: Extension" + }, + "FaxNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Fax", + "@sap.quickinfo": "Fax Number: Dialing Code+Number" + }, + "FaxNumberExtension": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Extension", + "@sap.quickinfo": "Fax no.: Extension" + }, + "EmailAddress": { + "type": "cds.String", + "length": 241, + "@sap.label": "Email Address" + }, + "RelationshipCategory": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Relationship Cat.", + "@sap.quickinfo": "Business Partner Relationship Category" + } + } + }, + "API_BUSINESS_PARTNER.A_BPCreditWorthiness": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Credit Worthiness", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusPartCreditStanding": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Credit Standing" + }, + "BPCreditStandingStatus": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Stat.Cred.Stndg Info", + "@sap.quickinfo": "Status of Credit Standing Information" + }, + "CreditRatingAgency": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Cred.Stndg Inst", + "@sap.quickinfo": "Institute Providing Credit Standing Information", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BPCreditStandingComment": { + "type": "cds.String", + "length": 50, + "@sap.label": "Credit Standing Text", + "@sap.quickinfo": "Additional Credit Standing Information", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BPCreditStandingDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Dt.Cred. Stndg Info.", + "@sap.quickinfo": "Date of Credit Standing Information", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BPCreditStandingRating": { + "type": "cds.String", + "length": 3, + "@sap.label": "Rating", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BPLegalProceedingStatus": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Status of Leg. Proc.", + "@sap.quickinfo": "Status of Legal Proceedings" + }, + "BPLglProceedingInitiationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date of Legal Proc.", + "@sap.quickinfo": "Date of Initiation of Legal Proceedings" + }, + "BusinessPartnerIsUnderOath": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Affidavit" + }, + "BusinessPartnerOathDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date of affidavit" + }, + "BusinessPartnerIsBankrupt": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Bankruptcy Proceed.", + "@sap.quickinfo": "Launch Bankruptcy Proceedings" + }, + "BusinessPartnerBankruptcyDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Bankruptcy Pr. Date", + "@sap.quickinfo": "Commencement Date of Bankruptcy Proceedings" + }, + "BPForeclosureIsInitiated": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Foreclosure" + }, + "BPForeclosureDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date of foreclosure" + }, + "BPCrdtWrthnssAccessChkIsActive": { + "type": "cds.String", + "length": 1, + "@sap.creatable": "false", + "@sap.updatable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_BPFinancialServicesExtn": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Financial Services Details", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerIsVIP": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "VIP Business Partner", + "@sap.quickinfo": "Business Partner Is VIP" + }, + "TradingPartner": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Trading Partner No.", + "@sap.quickinfo": "Company ID of Trading Partner" + }, + "FactoryCalendar": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Factory calendar" + }, + "BusinessPartnerOfficeCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "C/R of Reg. Office", + "@sap.quickinfo": "Country/Region of Registered Office" + }, + "BusinessPartnerOfficeRegion": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Region", + "@sap.quickinfo": "Region of Registered Office" + }, + "BPRegisteredOfficeName": { + "type": "cds.String", + "length": 35, + "@sap.label": "Registered Office" + }, + "BPBalanceSheetCurrency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Bal. Sheet Currency", + "@sap.quickinfo": "Balance Sheet Currency", + "@sap.semantics": "currency-code" + }, + "BPLastCptlIncrAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Capital increase", + "@sap.quickinfo": "Amount of last capital increase" + }, + "BPLastCapitalIncreaseYear": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "NonNegative", + "@sap.label": "Year", + "@sap.quickinfo": "Year of Last Capital Increase" + }, + "BPBalanceSheetDisplayType": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Bal.Sheet Disp.", + "@sap.quickinfo": "Balance Sheet Display" + }, + "BusinessPartnerCitizenship": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Citizenship" + }, + "BPMaritalPropertyRegime": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Marital prop. regime", + "@sap.quickinfo": "Marital property regime" + }, + "BusinessPartnerIncomeCurrency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Currency", + "@sap.quickinfo": "Currency of Net Income", + "@sap.semantics": "currency-code" + }, + "BPNumberOfChildren": { + "type": "cds.Decimal", + "precision": 2, + "scale": 0, + "@sap.label": "Children", + "@sap.quickinfo": "Number of Children Belonging to the Business Partner" + }, + "BPNumberOfHouseholdMembers": { + "type": "cds.Decimal", + "precision": 2, + "scale": 0, + "@sap.label": "Household Members", + "@sap.quickinfo": "Number of People Living in the Household" + }, + "BPAnnualNetIncAmtInIncomeCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BusinessPartnerIncomeCurrency", + "@sap.label": "Net Annual Income" + }, + "BPMonthlyNetIncAmtInIncomeCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BusinessPartnerIncomeCurrency", + "@sap.label": "Monthly Net Income", + "@sap.quickinfo": "Monthly Net Income of Business Partner" + }, + "BPAnnualNetIncomeYear": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "NonNegative", + "@sap.label": "Year", + "@sap.quickinfo": "Year of Net Annual Income" + }, + "BPMonthlyNetIncomeMonth": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Month", + "@sap.quickinfo": "Calendar Month of Monthly Net Income" + }, + "BPMonthlyNetIncomeYear": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "NonNegative", + "@sap.label": "Year", + "@sap.quickinfo": "Year of Monthly Net Income" + }, + "BPPlaceOfDeathName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Place of Death", + "@sap.quickinfo": "Name of Place of Death of Natural Person" + }, + "CustomerIsUnwanted": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Undesirable Customer" + }, + "UndesirabilityReason": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Reason Undes.", + "@sap.quickinfo": "Reason for Undesirability" + }, + "UndesirabilityComment": { + "type": "cds.String", + "length": 35, + "@sap.label": "Comment", + "@sap.quickinfo": "Comment on Undesirability" + }, + "LastCustomerContactDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Last Cust. Contact", + "@sap.quickinfo": "Date of Last Customer Contact" + }, + "BPGroupingCharacter": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Grouping Charact.", + "@sap.quickinfo": "Grouping Character" + }, + "BPLetterSalutation": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Salutation" + }, + "BusinessPartnerTargetGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Target Group" + }, + "BusinessPartnerEmployeeGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Employee Group" + }, + "BusinessPartnerIsEmployee": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Employee" + }, + "BPTermnBusRelationsBankDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "End Date", + "@sap.quickinfo": "Termination Date for Business Relations with the Bank" + } + } + }, + "API_BUSINESS_PARTNER.A_BPFinancialServicesReporting": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Financial Services Reporting", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BPIsNonResident": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Non-Resident", + "@sap.quickinfo": "Non-Resident According to Paragraph 4 AWG" + }, + "BPNonResidencyStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Non-Resident Since", + "@sap.quickinfo": "Start of Non-Residency According to Paragraph 4 AWG" + }, + "BPIsMultimillionLoanRecipient": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Multimillion Loan", + "@sap.quickinfo": "Recipient of Multimillion Loan According to Paragraph 14 GBA" + }, + "BPLoanReportingBorrowerNumber": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "UpperCase", + "@sap.label": "Borrower Number", + "@sap.quickinfo": "Borrower Number for Reporting a Loan According to GBA" + }, + "BPLoanRptgBorrowerEntityNumber": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "UpperCase", + "@sap.label": "Borr. Entity No.", + "@sap.quickinfo": "Borrower Entity Number Used to Report Loan acc. to GBA" + }, + "BPCreditStandingReview": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "GBA Information", + "@sap.quickinfo": "Credit Standing Review According to Paragraph 18 GBA" + }, + "BPCreditStandingReviewDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Cred.Stand.Rev.Dat", + "@sap.quickinfo": "Date of Credit Standing Review According to Paragraph 18 GBA" + }, + "BusinessPartnerLoanToManager": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Manag.Loan Recipient", + "@sap.quickinfo": "Loan to Manager According to Paragraph 15 German Banking Act" + }, + "BPCompanyRelationship": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Org. Relation.", + "@sap.quickinfo": "Organization Relationship" + }, + "BPLoanReportingCreditorNumber": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "UpperCase", + "@sap.label": "Creditor Number", + "@sap.quickinfo": "Creditor Number for Reporting a Loan According to GBA" + }, + "BPOeNBIdentNumber": { + "type": "cds.String", + "length": 11, + "@sap.display.format": "UpperCase", + "@sap.label": "(OeNB) Ident Number" + }, + "BPOeNBTargetGroup": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "OeNB Target Grp", + "@sap.quickinfo": "Target Group According to OeNB" + }, + "BPOeNBIdentNumberAssigned": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Assign Ident Number", + "@sap.quickinfo": "Assign (OeNB) Ident Number" + }, + "BPOeNBInstituteNumber": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "UpperCase", + "@sap.label": "OeNB Inst. No.", + "@sap.quickinfo": "Institute Number According to OeNB" + }, + "BusinessPartnerIsOeNBInstitute": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "OeNB Rep.Instit.", + "@sap.quickinfo": "Institute Subject to Austrian Reg. Reporting Requirements" + }, + "BusinessPartnerGroup": { + "type": "cds.String", + "length": 15, + "@sap.label": "Group ID" + }, + "BPGroupAssignmentCategory": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Grp Assignment Cat.", + "@sap.quickinfo": "Group Assignment Category" + }, + "BusinessPartnerGroupName": { + "type": "cds.String", + "length": 50, + "@sap.label": "Group Name" + }, + "BusinessPartnerLegalEntity": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Legal Entity", + "@sap.quickinfo": "Legal Entity for Business Partner" + }, + "BPGerAstRglnRestrictedAstQuota": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Par.4/2 AR", + "@sap.quickinfo": "Business Partner Acc. to Para. 4, Sec. 2 of Asset Regulation" + }, + "BusinessPartnerDebtorGroup": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Debtor Group", + "@sap.quickinfo": "Debtor Group According to German Law (BerVersV, Template 5)" + }, + "BusinessPartnerBusinessPurpose": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Purpose", + "@sap.quickinfo": "Category of Business Purpose" + }, + "BusinessPartnerRiskGroup": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Risk Group" + }, + "BPRiskGroupingDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Grouping Date", + "@sap.quickinfo": "Date of Risk Grouping" + }, + "BPHasGroupAffiliation": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Group Affiliation", + "@sap.quickinfo": "Group Affiliation Exists" + }, + "BPIsMonetaryFinInstitution": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Mon. Fin. Instit.", + "@sap.quickinfo": "Monetary Financial Institution" + }, + "BPCrdtStandingReviewIsRequired": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "GBA Para.18 Relevant", + "@sap.quickinfo": "Obligation to Submit to Credit Standing Review - Para.18 GBA" + }, + "BPLoanMonitoringIsRequired": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Lge-Scale Loan Mon.", + "@sap.quickinfo": "Large-Scale Loan Monitoring According to Paragraph 13b GBA" + }, + "BPHasCreditingRelief": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Crediting Relief", + "@sap.quickinfo": "Crediting Relief in Accordance with Paragraph 13/3 GBA" + }, + "BPInvestInRstrcdAstIsAuthzd": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Para. 2(1)18b GAR", + "@sap.quickinfo": "Authorized Acc. to Para. 2(1)18b of German Asset Regulation" + }, + "BPCentralBankCountryRegion": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "SCB Cntry/Reg. Ind.", + "@sap.quickinfo": "Numeric Code for State Central Bank Country/Region Indicator" + } + } + }, + "API_BUSINESS_PARTNER.A_BPFiscalYearInformation": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Fiscal Year Information", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerFiscalYear": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "NonNegative", + "@sap.label": "Fiscal year", + "notNull": true + }, + "BPBalanceSheetCurrency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Bal. Sheet Currency", + "@sap.quickinfo": "Balance Sheet Currency", + "@sap.semantics": "currency-code" + }, + "BPAnnualStockholderMeetingDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Ann.Stckhold.Meeting", + "@sap.quickinfo": "Date of Annual Stockholders Meeting" + }, + "BPFiscalYearStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Fisc.Year Start Date", + "@sap.quickinfo": "Fiscal Year Start Date" + }, + "BPFiscalYearEndDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Fiscal Year End", + "@sap.quickinfo": "Fiscal Year End Date" + }, + "BPFiscalYearIsClosed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Year-End Closing" + }, + "BPFiscalYearClosingDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Year-End Closing", + "@sap.quickinfo": "Year-End Closing Date for Fiscal Year" + }, + "BPFsclYrCnsldtdFinStatementDte": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Cons.Fin.Statements", + "@sap.quickinfo": "Date of Consolidated Financial Statements of Group Company" + }, + "BPCapitalStockAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Capital Stock", + "@sap.quickinfo": "Amount of Authorized Capital Stock for Company" + }, + "BPIssdStockCptlAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Issued Stock Capital", + "@sap.quickinfo": "Amount of Issued Stock Capital for Company" + }, + "BPPartcipnCertAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Part.Certs Outstand.", + "@sap.quickinfo": "Amount of Participation Certificates Outstanding for Company" + }, + "BPEquityCapitalAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Equity capital", + "@sap.quickinfo": "Amount of Equity Capital for Company" + }, + "BPGrossPremiumAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Gross Premium" + }, + "BPNetPremiumAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Net Premium" + }, + "BPAnnualSalesAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Annual sales", + "@sap.quickinfo": "Amount of Annual Sales for Company" + }, + "BPAnnualNetIncAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Annual Net Income", + "@sap.quickinfo": "Amount of Annual Net Income/Net Loss for Company" + }, + "BPDividendDistrAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Dividend", + "@sap.quickinfo": "Dividend/Profit Distribution Amount for Company" + }, + "BPDebtRatioInYears": { + "type": "cds.Decimal", + "precision": 6, + "scale": 3, + "@sap.label": "Debt ratio", + "@sap.quickinfo": "Debt Ratio in Years" + }, + "BPAnnualPnLAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Reported Profit", + "@sap.quickinfo": "Amount of Annual Profit/Loss for Organization" + }, + "BPBalSheetTotalAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Balance Sheet Total", + "@sap.quickinfo": "Amount of Balance Sheet Total for Company" + }, + "BPNumberOfEmployees": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "NonNegative", + "@sap.label": "Number of Employees", + "@sap.quickinfo": "Number of Employees in Company" + }, + "BPCptlReserveAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Capital Reserve", + "@sap.quickinfo": "Amount of Capital Reserve for Company" + }, + "BPLglRevnRsrvAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Legal Revenue Res.", + "@sap.quickinfo": "Amount of Legal Revenue Reserves for Company" + }, + "RevnRsrvOwnStkAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Rev.Reserves.OwnSt.", + "@sap.quickinfo": "Revenue Reserves for Own Stock" + }, + "BPStatryReserveAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Statutory Reserve", + "@sap.quickinfo": "Amount of Statutory Revenue Reserve for Company" + }, + "BPOthRevnRsrvAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Other Revenue Res.", + "@sap.quickinfo": "Amount of Other Revenue Reserves for Company" + }, + "BPPnLCarryfwdAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "P/L Carried Fwd", + "@sap.quickinfo": "Amount of Profit/Loss Carried Forward for Company" + }, + "BPSuborddLbltyAmtInBalShtCrcy": { + "type": "cds.Decimal", + "precision": 16, + "scale": 3, + "@sap.unit": "BPBalanceSheetCurrency", + "@sap.label": "Subord. Liabilities", + "@sap.quickinfo": "Amount of Subordinated Liabilities for Company" + }, + "BPRetOnTotalCptlEmpldInPercent": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Return on Tot.Cap.", + "@sap.quickinfo": "Return on Total Capital Employed for Company in Percent" + }, + "BPDebtClearancePeriodInYears": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Debt Clearance Per.", + "@sap.quickinfo": "Debt Clearance Period in Years" + }, + "BPFinancingCoeffInPercent": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Financing Coeff.", + "@sap.quickinfo": "Financing Coefficient for Company in Percent" + }, + "BPEquityRatioInPercent": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Equity Ratio", + "@sap.quickinfo": "Equity Ratio of Company in Percent" + } + } + }, + "API_BUSINESS_PARTNER.A_BPRelationship": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Business Partner Relationship", + "elements": { + "RelationshipNumber": { + "key": true, + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Relationship No.", + "@sap.quickinfo": "BP Relationship Number", + "notNull": true + }, + "BusinessPartner1": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartner2": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "ValidityEndDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity Date (Valid To)", + "notNull": true + }, + "ValidityStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Date (Valid From)" + }, + "IsStandardRelationship": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard", + "@sap.quickinfo": "Standard Relationship" + }, + "RelationshipCategory": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Relationship Cat.", + "@sap.quickinfo": "Business Partner Relationship Category" + }, + "BPRelationshipType": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Relationship type", + "@sap.quickinfo": "Business partner relationship type" + }, + "CreatedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Created By", + "@sap.quickinfo": "User who created the object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Created On", + "@sap.quickinfo": "Date on which the object was created", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationTime": { + "type": "cds.Time", + "@sap.label": "Created at", + "@sap.quickinfo": "Time at which the object was created", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastChangedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Changed by", + "@sap.quickinfo": "Last user to change object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastChangeDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Changed on", + "@sap.quickinfo": "Date when object was last changed", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastChangeTime": { + "type": "cds.Time", + "@sap.label": "Changed at", + "@sap.quickinfo": "Time at which object was last changed", + "@sap.creatable": "false", + "@sap.updatable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_BuPaAddressUsage": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Address Usage", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "ValidityEndDate": { + "key": true, + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity End of a Business Partner Address Usage", + "notNull": true + }, + "AddressUsage": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Type", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "ValidityStartDate": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Start of a Business Partner Address Usage" + }, + "StandardUsage": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard Usage", + "@sap.quickinfo": "Indicator: Standard Address Usage" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_BuPaIdentification": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Identification", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BPIdentificationType": { + "key": true, + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Identification Type", + "notNull": true + }, + "BPIdentificationNumber": { + "key": true, + "type": "cds.String", + "length": 60, + "@sap.display.format": "UpperCase", + "@sap.label": "ID Number", + "@sap.quickinfo": "Identification Number", + "notNull": true + }, + "BPIdnNmbrIssuingInstitute": { + "type": "cds.String", + "length": 40, + "@sap.label": "Responsible Institn", + "@sap.quickinfo": "Responsible Institution for ID Number" + }, + "BPIdentificationEntryDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Entry date", + "@sap.quickinfo": "Date of Entry for ID Number" + }, + "Country": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Country/Region", + "@sap.quickinfo": "Country/Region in Which ID Number is Valid or Was Assigned" + }, + "Region": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Region", + "@sap.quickinfo": "Region (State, Province, County)" + }, + "ValidityStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid from", + "@sap.quickinfo": "Validity Start for ID Number" + }, + "ValidityEndDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity End for ID Number" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_BuPaIndustry": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Industry", + "elements": { + "IndustrySector": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry", + "notNull": true + }, + "IndustrySystemType": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry System", + "notNull": true + }, + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "IsStandardIndustry": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Standard Industry", + "@sap.quickinfo": "Industry is Standard for BP in Industry System" + }, + "IndustryKeyDescription": { + "type": "cds.String", + "length": 100, + "@sap.label": "Description" + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartner": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Business Partner", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "Customer": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "Supplier": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "AcademicTitle": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Academic Title 1", + "@sap.quickinfo": "Academic Title: Key" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + }, + "BusinessPartnerCategory": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Category", + "@sap.quickinfo": "Business Partner Category" + }, + "BusinessPartnerFullName": { + "type": "cds.String", + "length": 81, + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BusinessPartnerGrouping": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Grouping", + "@sap.quickinfo": "Business Partner Grouping" + }, + "BusinessPartnerName": { + "type": "cds.String", + "length": 81, + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BusinessPartnerUUID": { + "type": "cds.UUID", + "@sap.label": "BP GUID", + "@sap.quickinfo": "Business Partner GUID", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CorrespondenceLanguage": { + "type": "cds.String", + "length": 2, + "@sap.label": "Correspondence lang.", + "@sap.quickinfo": "Business Partner: Correspondence Language" + }, + "CreatedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Created By", + "@sap.quickinfo": "User who created the object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Created On", + "@sap.quickinfo": "Date on which the object was created", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationTime": { + "type": "cds.Time", + "@sap.label": "Created at", + "@sap.quickinfo": "Time at which the object was created", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "FirstName": { + "type": "cds.String", + "length": 40, + "@sap.label": "First Name", + "@sap.quickinfo": "First Name of Business Partner (Person)" + }, + "FormOfAddress": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Title Key", + "@sap.quickinfo": "Form-of-Address Key" + }, + "Industry": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry sector" + }, + "InternationalLocationNumber1": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 1", + "@sap.quickinfo": "International location number (part 1)" + }, + "InternationalLocationNumber2": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 2", + "@sap.quickinfo": "International location number (Part 2)" + }, + "IsFemale": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Female", + "@sap.quickinfo": "Selection: Business partner is female" + }, + "IsMale": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Male", + "@sap.quickinfo": "Selection: Business partner is male" + }, + "IsNaturalPerson": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Natural Person", + "@sap.quickinfo": "Business Partner Is a Natural Person Under the Tax Laws" + }, + "IsSexUnknown": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Unknown", + "@sap.quickinfo": "Selection: Sex of business partner is not known" + }, + "GenderCodeName": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Gender", + "@sap.quickinfo": "Gender of Business Partner (Person)" + }, + "Language": { + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Business partner: Language" + }, + "LastChangeDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Changed on", + "@sap.quickinfo": "Date when object was last changed", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastChangeTime": { + "type": "cds.Time", + "@sap.label": "Changed at", + "@sap.quickinfo": "Time at which object was last changed", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastChangedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Changed by", + "@sap.quickinfo": "Last user to change object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "LastName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Last Name", + "@sap.quickinfo": "Last Name of Business Partner (Person)" + }, + "LegalForm": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Legal form", + "@sap.quickinfo": "BP: Legal form of organization" + }, + "OrganizationBPName1": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 1", + "@sap.quickinfo": "Name 1 of organization" + }, + "OrganizationBPName2": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 2", + "@sap.quickinfo": "Name 2 of organization" + }, + "OrganizationBPName3": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 3", + "@sap.quickinfo": "Name 3 of organization" + }, + "OrganizationBPName4": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 4", + "@sap.quickinfo": "Name 4 of organization" + }, + "OrganizationFoundationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date founded", + "@sap.quickinfo": "Date organization founded" + }, + "OrganizationLiquidationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Liquidation date", + "@sap.quickinfo": "Liquidation date of organization" + }, + "SearchTerm1": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "Search Term 1", + "@sap.quickinfo": "Search Term 1 for Business Partner" + }, + "SearchTerm2": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "Search Term 2", + "@sap.quickinfo": "Search Term 2 for Business Partner" + }, + "AdditionalLastName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Other Last Name", + "@sap.quickinfo": "Other Last Name of a Person" + }, + "BirthDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date of Birth", + "@sap.quickinfo": "Date of Birth of Business Partner" + }, + "BusinessPartnerBirthDateStatus": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Birth Date Status", + "@sap.quickinfo": "Date of Birth: Status" + }, + "BusinessPartnerBirthplaceName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Birthplace", + "@sap.quickinfo": "Birthplace of business partner" + }, + "BusinessPartnerDeathDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Death date", + "@sap.quickinfo": "Date of death of business partner" + }, + "BusinessPartnerIsBlocked": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Central Block", + "@sap.quickinfo": "Central Block for Business Partner" + }, + "BusinessPartnerType": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Type", + "@sap.quickinfo": "Business Partner Type" + }, + "ETag": { + "type": "cds.String", + "length": 26, + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "GroupBusinessPartnerName1": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 1", + "@sap.quickinfo": "Name 1 (group)" + }, + "GroupBusinessPartnerName2": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name 2", + "@sap.quickinfo": "Name 2 (group)" + }, + "IndependentAddressID": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber3": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Check digit", + "@sap.quickinfo": "Check digit for the international location number" + }, + "MiddleName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Middle Name", + "@sap.quickinfo": "Middle Name or Second Forename of a Person" + }, + "NameCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Ctry/Reg. for Format", + "@sap.quickinfo": "Country/Region for Name Format Rule" + }, + "NameFormat": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Name Format", + "@sap.quickinfo": "Name format" + }, + "PersonFullName": { + "type": "cds.String", + "length": 80, + "@sap.label": "Full Name" + }, + "PersonNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "IsMarkedForArchiving": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Archiving Flag", + "@sap.quickinfo": "Central Archiving Flag" + }, + "BusinessPartnerIDByExtSystem": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "External BP Number", + "@sap.quickinfo": "Business Partner Number in External System" + }, + "BusinessPartnerPrintFormat": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Print Format", + "@sap.quickinfo": "Business Partner Print Format" + }, + "BusinessPartnerOccupation": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Occupation", + "@sap.quickinfo": "Occupation/group" + }, + "BusPartMaritalStatus": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Marital Status", + "@sap.quickinfo": "Marital Status of Business Partner" + }, + "BusPartNationality": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Nationality" + }, + "BusinessPartnerBirthName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Name at Birth", + "@sap.quickinfo": "Name at birth of business partner" + }, + "BusinessPartnerSupplementName": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Name Supplement", + "@sap.quickinfo": "Name supplement, e.g. noble title (key)" + }, + "NaturalPersonEmployerName": { + "type": "cds.String", + "length": 35, + "@sap.label": "Employer", + "@sap.quickinfo": "Name of Employer of a Natural Person" + }, + "LastNamePrefix": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Prefix Key", + "@sap.quickinfo": "Name Prefix (Key)" + }, + "LastNameSecondPrefix": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "2nd prefix", + "@sap.quickinfo": "2nd name prefix (key)" + }, + "Initials": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Initials", + "@sap.quickinfo": ""Middle Initial" or personal initials" + }, + "TradingPartner": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Trading Partner No.", + "@sap.quickinfo": "Company ID of Trading Partner" + }, + "to_BPCreditWorthiness": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPCreditWorthiness", + "keys": [] + }, + "to_BPFinServicesReporting": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPFinancialServicesReporting", + "keys": [] + }, + "to_BPFiscalYearInformation": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPFiscalYearInformation", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BPRelationship": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPRelationship", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BuPaIdentification": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BuPaIdentification", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BuPaIndustry": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BuPaIndustry", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartner": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPFinancialServicesExtn", + "keys": [] + }, + "to_BusinessPartnerAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerAddress", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartnerBank": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerBank", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartnerContact": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerContact", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartnerRating": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerRating", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartnerRole": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerRole", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusinessPartnerTax": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusinessPartnerTaxNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BusPartAddrDepdntTaxNmbr": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BusPartAddrDepdntTaxNmbr", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_Customer": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_Customer", + "keys": [] + }, + "to_Supplier": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_Supplier", + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerAddress": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Address", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "ValidityStartDate": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Start of a Business Partner Address" + }, + "ValidityEndDate": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity End of a Business Partner Address" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + }, + "AddressUUID": { + "type": "cds.UUID", + "@sap.label": "GUID of a Business Partner Address", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "AdditionalStreetPrefixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 3" + }, + "AdditionalStreetSuffixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 5" + }, + "AddressTimeZone": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Time Zone", + "@sap.quickinfo": "Address Time Zone" + }, + "CareOfName": { + "type": "cds.String", + "length": 40, + "@sap.label": "c/o", + "@sap.quickinfo": "c/o name" + }, + "CityCode": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "City Code", + "@sap.quickinfo": "City code for city/street file" + }, + "CityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "City" + }, + "CompanyPostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Postal Code", + "@sap.quickinfo": "Company Postal Code (for Large Customers)" + }, + "Country": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Country/Region Key" + }, + "County": { + "type": "cds.String", + "length": 40, + "@sap.label": "County" + }, + "DeliveryServiceNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Delivery Service No.", + "@sap.quickinfo": "Number of Delivery Service" + }, + "DeliveryServiceTypeCode": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Delvry Serv Type", + "@sap.quickinfo": "Type of Delivery Service" + }, + "District": { + "type": "cds.String", + "length": 40, + "@sap.label": "District" + }, + "FormOfAddress": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Title Key", + "@sap.quickinfo": "Form-of-Address Key", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "FullName": { + "type": "cds.String", + "length": 80, + "@sap.label": "Full Name", + "@sap.quickinfo": "Full name of a party (Bus. Partner, Org. Unit, Doc. address)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "HomeCityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Different City", + "@sap.quickinfo": "City (different from postal city)" + }, + "HouseNumber": { + "type": "cds.String", + "length": 10, + "@sap.label": "House Number" + }, + "HouseNumberSupplementText": { + "type": "cds.String", + "length": 10, + "@sap.label": "Supplement", + "@sap.quickinfo": "House number supplement" + }, + "Language": { + "type": "cds.String", + "length": 2, + "@sap.label": "Language Key" + }, + "POBox": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box" + }, + "POBoxDeviatingCityName": { + "type": "cds.String", + "length": 40, + "@sap.label": "PO Box City", + "@sap.quickinfo": "PO Box city" + }, + "POBoxDeviatingCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Ctry/Region", + "@sap.quickinfo": "PO Box of Country/Region" + }, + "POBoxDeviatingRegion": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Region", + "@sap.quickinfo": "Region for PO Box (Country/Region, State, Province, ...)" + }, + "POBoxIsWithoutNumber": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box w/o No.", + "@sap.quickinfo": "Flag: PO Box Without Number" + }, + "POBoxLobbyName": { + "type": "cds.String", + "length": 40, + "@sap.label": "PO Box Lobby" + }, + "POBoxPostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "PO Box Postal Code" + }, + "Person": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Person Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "PostalCode": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Postal Code", + "@sap.quickinfo": "City Postal Code" + }, + "PrfrdCommMediumType": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Comm. Method", + "@sap.quickinfo": "Communication Method (Key) (Business Address Services)" + }, + "Region": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Region", + "@sap.quickinfo": "Region (State, Province, County)" + }, + "StreetName": { + "type": "cds.String", + "length": 60, + "@sap.label": "Street" + }, + "StreetPrefixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 2" + }, + "StreetSuffixName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Street 4" + }, + "TaxJurisdiction": { + "type": "cds.String", + "length": 15, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Jurisdiction" + }, + "TransportZone": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Transportation Zone", + "@sap.quickinfo": "Transportation zone to or from which the goods are delivered" + }, + "AddressIDByExternalSystem": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "External Address No.", + "@sap.quickinfo": "Address number in external system" + }, + "CountyCode": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "UpperCase", + "@sap.label": "County code", + "@sap.quickinfo": "County code for county" + }, + "TownshipCode": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "UpperCase", + "@sap.label": "Township code", + "@sap.quickinfo": "Township code for Township" + }, + "TownshipName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Township" + }, + "to_AddressUsage": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BuPaAddressUsage", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_BPAddrDepdntIntlLocNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPAddrDepdntIntlLocNumber", + "keys": [] + }, + "to_EmailAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressEmailAddress", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_FaxNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressFaxNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_MobilePhoneNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressPhoneNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_PhoneNumber": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressPhoneNumber", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_URLAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_AddressHomePageURL", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerBank": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Bank", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BankIdentification": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Bank Details ID", + "notNull": true + }, + "BankCountryKey": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Bank Country/Region", + "@sap.quickinfo": "Country/Region Key of Bank" + }, + "BankName": { + "type": "cds.String", + "length": 60, + "@sap.label": "Bank Name", + "@sap.quickinfo": "Name of Financial Institution", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BankNumber": { + "type": "cds.String", + "length": 15, + "@sap.display.format": "UpperCase", + "@sap.label": "Bank Key" + }, + "SWIFTCode": { + "type": "cds.String", + "length": 11, + "@sap.display.format": "UpperCase", + "@sap.label": "SWIFT/BIC", + "@sap.quickinfo": "SWIFT/BIC for International Payments", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "BankControlKey": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Bank Control Key" + }, + "BankAccountHolderName": { + "type": "cds.String", + "length": 60, + "@sap.label": "Account Holder", + "@sap.quickinfo": "Account Holder Name" + }, + "BankAccountName": { + "type": "cds.String", + "length": 40, + "@sap.label": "Account Name", + "@sap.quickinfo": "Name of Bank Account" + }, + "ValidityStartDate": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Start of Business Partner Bank Details" + }, + "ValidityEndDate": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity End of Business Partner Bank Details" + }, + "IBAN": { + "type": "cds.String", + "length": 34, + "@sap.display.format": "UpperCase", + "@sap.label": "IBAN", + "@sap.quickinfo": "IBAN (International Bank Account Number)" + }, + "IBANValidityStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "IBAN Valid From", + "@sap.quickinfo": "Validity Start of IBAN" + }, + "BankAccount": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Bank Account", + "@sap.quickinfo": "Bank Account Number" + }, + "BankAccountReferenceText": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "Reference Details", + "@sap.quickinfo": "Reference Details for Bank Details" + }, + "CollectionAuthInd": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Collect.author.", + "@sap.quickinfo": "Indicator: Collection Authorization" + }, + "CityName": { + "type": "cds.String", + "length": 35, + "@sap.label": "City", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerContact": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Contact", + "elements": { + "RelationshipNumber": { + "key": true, + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Relationship No.", + "@sap.quickinfo": "BP Relationship Number", + "notNull": true + }, + "BusinessPartnerCompany": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerPerson": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "ValidityEndDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity Date (Valid To)", + "notNull": true + }, + "ValidityStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Date (Valid From)" + }, + "IsStandardRelationship": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Standard", + "@sap.quickinfo": "Standard Relationship" + }, + "RelationshipCategory": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Relationship Cat.", + "@sap.quickinfo": "Business Partner Relationship Category" + }, + "to_ContactAddress": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPContactToAddress", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_ContactRelationship": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_BPContactToFuncAndDept", + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerRating": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Ratings", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerRatingProcedure": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.label": "Rating Procedure", + "notNull": true + }, + "BPRatingValidityEndDate": { + "key": true, + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Rating Valid To", + "@sap.quickinfo": "Valid-to Date for Rating", + "notNull": true + }, + "BusinessPartnerRatingGrade": { + "type": "cds.String", + "length": 10, + "@sap.label": "Rating" + }, + "BusinessPartnerRatingTrend": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Trend" + }, + "BPRatingValidityStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Rating Valid From", + "@sap.quickinfo": "Valid-from Date for Rating" + }, + "BPRatingCreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Rated On", + "@sap.quickinfo": "Entered-on Date for Rating" + }, + "BusinessPartnerRatingComment": { + "type": "cds.String", + "length": 60, + "@sap.label": "Text", + "@sap.quickinfo": "Text for Ratings" + }, + "BusinessPartnerRatingIsAllowed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Rating Allowed" + }, + "BPRatingIsValidOnKeyDate": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Rating Valid", + "@sap.quickinfo": "Business Partner Rating is valid on Key Date" + }, + "BusinessPartnerRatingKeyDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Access Date", + "@sap.quickinfo": "Key Date of Accessing Business Partner Rating Data" + }, + "BusinessPartnerRatingIsExpired": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Rating is Expired", + "@sap.quickinfo": "Rating Validity is Expired according to Permitted Period" + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerRole": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Role", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BusinessPartnerRole": { + "key": true, + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "BP Role", + "notNull": true + }, + "ValidFrom": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid From", + "@sap.quickinfo": "Validity Start of a BP Role" + }, + "ValidTo": { + "type": "cds.DateTime", + "@odata.Type": "Edm.DateTimeOffset", + "@sap.label": "Valid To", + "@sap.quickinfo": "Validity End of a BP Role" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_BusinessPartnerTaxNumber": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Tax Number", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "BPTaxType": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Category", + "notNull": true + }, + "BPTaxNumber": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax number", + "@sap.quickinfo": "Business Partner Tax Number" + }, + "BPTaxLongNumber": { + "type": "cds.String", + "length": 60, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Long", + "@sap.quickinfo": "Business Partner Tax Number" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_BusPartAddrDepdntTaxNmbr": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Business Partner Address Dependent Tax Numbers", + "elements": { + "BusinessPartner": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Business Partner", + "@sap.quickinfo": "Business Partner Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "notNull": true + }, + "BPTaxType": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Category", + "notNull": true + }, + "BPTaxNumber": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax number", + "@sap.quickinfo": "Business Partner Tax Number" + }, + "BPTaxLongNumber": { + "type": "cds.String", + "length": 60, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Long", + "@sap.quickinfo": "Business Partner Tax Number" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_CustAddrDepdntExtIdentifier": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Address Dependent External Identifier", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)", + "notNull": true + }, + "CustomerExternalRefID": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer ID External", + "@sap.quickinfo": "Customer Identifier for External System" + } + } + }, + "API_BUSINESS_PARTNER.A_CustAddrDepdntInformation": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Address Dependent Infomation", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)", + "notNull": true + }, + "ExpressTrainStationName": { + "type": "cds.String", + "length": 25, + "@sap.label": "Express station", + "@sap.quickinfo": "Express train station" + }, + "TrainStationName": { + "type": "cds.String", + "length": 25, + "@sap.label": "Train station" + }, + "CityCode": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "City Code" + }, + "County": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "County Code" + } + } + }, + "API_BUSINESS_PARTNER.A_Customer": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.creatable": "false", + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Customer", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "BillingIsBlockedForCustomer": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Billing Block", + "@sap.quickinfo": "Central Billing Block for Customer" + }, + "CreatedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Created by", + "@sap.quickinfo": "Name of Person who Created the Object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Created On", + "@sap.quickinfo": "Record Created On", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CustomerAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Customer Account Group" + }, + "CustomerClassification": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Classific.", + "@sap.quickinfo": "Customer Classification" + }, + "CustomerFullName": { + "type": "cds.String", + "length": 220, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Name", + "@sap.quickinfo": "Customer Full Name", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CustomerName": { + "type": "cds.String", + "length": 80, + "@sap.label": "Name of Customer", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "DeliveryIsBlocked": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Delivery block", + "@sap.quickinfo": "Central delivery block for the customer" + }, + "FreeDefinedAttribute01": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 1" + }, + "FreeDefinedAttribute02": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 2" + }, + "FreeDefinedAttribute03": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 3" + }, + "FreeDefinedAttribute04": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 4" + }, + "FreeDefinedAttribute05": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 5" + }, + "FreeDefinedAttribute06": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 6" + }, + "FreeDefinedAttribute07": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 7" + }, + "FreeDefinedAttribute08": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 8" + }, + "FreeDefinedAttribute09": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 9" + }, + "FreeDefinedAttribute10": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Attribute 10" + }, + "NFPartnerIsNaturalPerson": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Natural Person" + }, + "OrderIsBlockedForCustomer": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Order Block", + "@sap.quickinfo": "Central Order Block for Customer" + }, + "PostingIsBlocked": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Posting Block", + "@sap.quickinfo": "Central Posting Block" + }, + "Supplier": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier" + }, + "CustomerCorporateGroup": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Group Key" + }, + "FiscalAddress": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Fiscal address", + "@sap.quickinfo": "Account number of the master record with the fiscal address" + }, + "Industry": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry", + "@sap.quickinfo": "Industry key", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "IndustryCode1": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry Code 1" + }, + "IndustryCode2": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry Code 2" + }, + "IndustryCode3": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry Code 3" + }, + "IndustryCode4": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry Code 4" + }, + "IndustryCode5": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry Code 5" + }, + "InternationalLocationNumber1": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 1", + "@sap.quickinfo": "International location number (part 1)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber2": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 2", + "@sap.quickinfo": "International location number (Part 2)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber3": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Check digit", + "@sap.quickinfo": "Check digit for the international location number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "NielsenRegion": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Nielsen Indicator", + "@sap.quickinfo": "Nielsen ID" + }, + "ResponsibleType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Type" + }, + "TaxNumber1": { + "type": "cds.String", + "length": 16, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 1", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber2": { + "type": "cds.String", + "length": 11, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 2", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber3": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 3", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber4": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 4", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber5": { + "type": "cds.String", + "length": 60, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 5", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumberType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Type" + }, + "VATRegistration": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "VAT Registration No.", + "@sap.quickinfo": "VAT Registration Number" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Deletion Flag", + "@sap.quickinfo": "Central Deletion Flag for Master Record" + }, + "ExpressTrainStationName": { + "type": "cds.String", + "length": 25, + "@sap.label": "Express station", + "@sap.quickinfo": "Express train station" + }, + "TrainStationName": { + "type": "cds.String", + "length": 25, + "@sap.label": "Train station" + }, + "CityCode": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "City Code" + }, + "County": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "County Code" + }, + "to_CustAddrDepdntExtIdentifier": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustAddrDepdntExtIdentifier", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustAddrDepdntInformation": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustAddrDepdntInformation", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerCompany": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerCompany", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerSalesArea": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerSalesArea", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerTaxGrouping": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerTaxGrouping", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerText", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerUnloadingPoint": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerUnloadingPoint", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustUnldgPtAddrDepdntInfo": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustUnldgPtAddrDepdntInfo", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerCompany": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Customer Company", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "APARToleranceGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tolerance group", + "@sap.quickinfo": "Tolerance group for the business partner/G/L account" + }, + "AccountByCustomer": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Account at customer", + "@sap.quickinfo": "Our account number at customer" + }, + "AccountingClerk": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Clerk Abbrev.", + "@sap.quickinfo": "Accounting Clerk Abbreviation" + }, + "AccountingClerkFaxNumber": { + "type": "cds.String", + "length": 31, + "@sap.label": "Acctg clerk's fax", + "@sap.quickinfo": "Accounting clerk's fax number at the customer/vendor" + }, + "AccountingClerkInternetAddress": { + "type": "cds.String", + "length": 130, + "@sap.label": "Clrk's internet add.", + "@sap.quickinfo": "Internet address of partner company clerk" + }, + "AccountingClerkPhoneNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Acct.clerks tel.no.", + "@sap.quickinfo": "Accounting clerk's telephone number at business partner" + }, + "AlternativePayerAccount": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Alternative payer", + "@sap.quickinfo": "Account number of an alternative payer" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "CollectiveInvoiceVariant": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Coll.invoice variant", + "@sap.quickinfo": "Collective invoice variant" + }, + "CustomerAccountNote": { + "type": "cds.String", + "length": 30, + "@sap.label": "Account memo", + "@sap.quickinfo": "Memo" + }, + "CustomerHeadOffice": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Head Office", + "@sap.quickinfo": "Head Office Account Number (in branch accounts)" + }, + "CustomerSupplierClearingIsUsed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Clearing with vendor", + "@sap.quickinfo": "Indicator: Clearing between customer and vendor ?" + }, + "HouseBank": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "House Bank", + "@sap.quickinfo": "Short Key for a House Bank" + }, + "InterestCalculationCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Interest Indicator" + }, + "InterestCalculationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Last key date", + "@sap.quickinfo": "Key date of the last interest calculation" + }, + "IntrstCalcFrequencyInMonths": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Int.Calc.Freq.", + "@sap.quickinfo": "Interest Calculation Frequency in Months" + }, + "IsToBeLocallyProcessed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Local processing", + "@sap.quickinfo": "Indicator: Local processing?" + }, + "ItemIsToBePaidSeparately": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Individual pmnt", + "@sap.quickinfo": "Indicator: Pay all items separately ?" + }, + "LayoutSortingRule": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Sort Key", + "@sap.quickinfo": "Key for Sorting According to Assignment Numbers" + }, + "PaymentBlockingReason": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Payment block", + "@sap.quickinfo": "Block Key for Payment" + }, + "PaymentMethodsList": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Payment Methods", + "@sap.quickinfo": "List of Respected Payment Methods" + }, + "PaymentTerms": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Terms of Payment", + "@sap.quickinfo": "Terms of Payment Key" + }, + "PaytAdviceIsSentbyEDI": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Pmnt advice by EDI", + "@sap.quickinfo": "Indicator: Send Payment Advices by EDI" + }, + "PhysicalInventoryBlockInd": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Co.code post.block", + "@sap.quickinfo": "Posting block for company code" + }, + "ReconciliationAccount": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Reconciliation Acct", + "@sap.quickinfo": "Reconciliation Account in General Ledger" + }, + "RecordPaymentHistoryIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Record pmnt history", + "@sap.quickinfo": "Indicator: Record Payment History ?" + }, + "UserAtCustomer": { + "type": "cds.String", + "length": 15, + "@sap.label": "User at customer" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Co.Cde Deletion Flag", + "@sap.quickinfo": "Deletion Flag for Master Record (Company Code Level)" + }, + "CashPlanningGroup": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Planning group" + }, + "KnownOrNegotiatedLeave": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Knwn/negotiat.leave", + "@sap.quickinfo": "Short Key for Known/Negotiated Leave" + }, + "ValueAdjustmentKey": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Value Adjustment", + "@sap.quickinfo": "Value Adjustment Key" + }, + "CustomerAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Customer Account Group" + }, + "to_CompanyText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerCompanyText", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_CustomerDunning": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerDunning", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_WithHoldingTax": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerWithHoldingTax", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerCompanyText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Company Text", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerDunning": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Dunning", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "DunningArea": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Area", + "notNull": true + }, + "DunningBlock": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Block" + }, + "DunningLevel": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Dunning Level" + }, + "DunningProcedure": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Procedure" + }, + "DunningRecipient": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunn.recipient", + "@sap.quickinfo": "Account number of the dunning recipient" + }, + "LastDunnedOn": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Last Dunned", + "@sap.quickinfo": "Date of Last Dunning Notice" + }, + "LegDunningProcedureOn": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Legal dunn.proc.from", + "@sap.quickinfo": "Date of the legal dunning proceedings" + }, + "DunningClerk": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning clerk" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "CustomerAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Customer Account Group" + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerSalesArea": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Sales Area", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Distribution Channel", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "AccountByCustomer": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Account at customer", + "@sap.quickinfo": "Shipper's (Our) Account Number at the Customer or Vendor" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization Group" + }, + "BillingIsBlockedForCustomer": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "BBlock for SlsA", + "@sap.quickinfo": "Billing block for customer (sales and distribution)" + }, + "CompleteDeliveryIsDefined": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Complete Delivery", + "@sap.quickinfo": "Complete Delivery Defined for Each Sales Order?" + }, + "CreditControlArea": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Credit Control Area" + }, + "Currency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Currency", + "@sap.semantics": "currency-code" + }, + "CustIsRlvtForSettlmtMgmt": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Settlement Mgmt.", + "@sap.quickinfo": "Indicator: Relevant for Settlement Management" + }, + "CustomerABCClassification": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "ABC Classification", + "@sap.quickinfo": "Customer classification (ABC analysis)" + }, + "CustomerAccountAssignmentGroup": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Acct Assmt Grp Cust.", + "@sap.quickinfo": "Account Assignment Group for Customer" + }, + "CustomerGroup": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group" + }, + "CustomerIsRebateRelevant": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Rebate", + "@sap.quickinfo": "Indicator: Customer Is Rebate-Relevant" + }, + "CustomerPaymentTerms": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Terms of Payment", + "@sap.quickinfo": "Terms of Payment Key" + }, + "CustomerPriceGroup": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Price Group" + }, + "CustomerPricingProcedure": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Cust.Pric.Procedure", + "@sap.quickinfo": "Customer Classification for Pricing Procedure Determination" + }, + "CustProdProposalProcedure": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "PP customer proced.", + "@sap.quickinfo": "Customer procedure for product proposal" + }, + "DeliveryIsBlockedForCustomer": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "DelBlckSalesAr.", + "@sap.quickinfo": "Customer delivery block (sales area)" + }, + "DeliveryPriority": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Delivery Priority" + }, + "IncotermsClassification": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms", + "@sap.quickinfo": "Incoterms (Part 1)" + }, + "IncotermsLocation2": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 2" + }, + "IncotermsVersion": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms Version" + }, + "IncotermsLocation1": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 1" + }, + "IncotermsSupChnLoc1AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnLoc2AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnDvtgLocAddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Del.ID SlsArea", + "@sap.quickinfo": "Deletion flag for customer (sales level)" + }, + "IncotermsTransferLocation": { + "type": "cds.String", + "length": 28, + "@sap.label": "Incoterms (Part 2)" + }, + "InspSbstHasNoTimeOrQuantity": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Price determination", + "@sap.quickinfo": "Relevant for price determination ID" + }, + "InvoiceDate": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Invoicing Dates", + "@sap.quickinfo": "Invoice Dates (Calendar Identification)" + }, + "ItemOrderProbabilityInPercent": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Order Probability", + "@sap.quickinfo": "Order Probability of the Item" + }, + "ManualInvoiceMaintIsRelevant": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Man. Invoice Maint.", + "@sap.quickinfo": "Manual Invoice Maintenance" + }, + "MaxNmbrOfPartialDelivery": { + "type": "cds.Decimal", + "precision": 1, + "scale": 0, + "@sap.label": "Max.Part.Deliveries", + "@sap.quickinfo": "Maximum Number of Partial Deliveries Allowed Per Item" + }, + "OrderCombinationIsAllowed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Order Combination", + "@sap.quickinfo": "Order Combination Indicator" + }, + "OrderIsBlockedForCustomer": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Ord.blk:sls ar.", + "@sap.quickinfo": "Customer order block (sales area)" + }, + "OverdelivTolrtdLmtRatioInPct": { + "type": "cds.Decimal", + "precision": 3, + "scale": 1, + "@sap.label": "Overdeliv. Tolerance", + "@sap.quickinfo": "Overdelivery Tolerance" + }, + "PartialDeliveryIsAllowed": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Partial Deliv./Item", + "@sap.quickinfo": "Partial Delivery at Item Level" + }, + "PriceListType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Price List Type" + }, + "ProductUnitGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Unit of Measure Grp", + "@sap.quickinfo": "Unit of Measure Group" + }, + "ProofOfDeliveryTimeValue": { + "type": "cds.Decimal", + "precision": 6, + "scale": 2, + "@sap.label": "POD timeframe", + "@sap.quickinfo": "Timeframe for Confirmation of POD" + }, + "SalesGroup": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Group" + }, + "SalesItemProposal": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Item proposal" + }, + "SalesOffice": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Office" + }, + "ShippingCondition": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Shipping Conditions" + }, + "SlsDocIsRlvtForProofOfDeliv": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Relevant for POD", + "@sap.quickinfo": "Relevant for POD processing" + }, + "SlsUnlmtdOvrdelivIsAllwd": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Unlimited Tolerance", + "@sap.quickinfo": "Unlimited Overdelivery Allowed" + }, + "SupplyingPlant": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Delivering Plant", + "@sap.quickinfo": "Delivering Plant (Own or External)" + }, + "SalesDistrict": { + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales District" + }, + "UnderdelivTolrtdLmtRatioInPct": { + "type": "cds.Decimal", + "precision": 3, + "scale": 1, + "@sap.label": "Underdel. Tolerance", + "@sap.quickinfo": "Underdelivery Tolerance" + }, + "InvoiceListSchedule": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Invoice List Sched.", + "@sap.quickinfo": "Invoice List Schedule (calendar identification)" + }, + "ExchangeRateType": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Exchange Rate Type" + }, + "AdditionalCustomerGroup1": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group 1" + }, + "AdditionalCustomerGroup2": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group 2" + }, + "AdditionalCustomerGroup3": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group 3" + }, + "AdditionalCustomerGroup4": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group 4" + }, + "AdditionalCustomerGroup5": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer Group 5" + }, + "PaymentGuaranteeProcedure": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Paymt guarant. proc.", + "@sap.quickinfo": "Customer payment guarantee procedure" + }, + "CustomerAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Customer Account Group" + }, + "to_PartnerFunction": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustSalesPartnerFunc", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SalesAreaTax": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerSalesAreaTax", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SalesAreaText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustomerSalesAreaText", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SlsAreaAddrDepdntInfo": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustSlsAreaAddrDepdntInfo", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerSalesAreaTax": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Sales Area Tax", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "RefDistCh-Cust/Mat.", + "@sap.quickinfo": "Reference distrib.channel for cust.and material masters", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "DepartureCountry": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Departure Ctry/Reg.", + "@sap.quickinfo": "Departure Country/Region (from which the goods are sent)", + "notNull": true + }, + "CustomerTaxCategory": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Condition Type", + "@sap.quickinfo": "Tax Condition Type (Sales Tax, Value-Added Tax,...)", + "notNull": true + }, + "CustomerTaxClassification": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Classification", + "@sap.quickinfo": "Tax classification for customer" + }, + "to_SlsAreaAddrDepdntTax": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_CustSlsAreaAddrDepdntTaxInfo", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerSalesAreaText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Sales Area Text", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Distribution Channel", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerTaxGrouping": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.creatable": "false", + "@sap.content.version": "1", + "@sap.label": "Customer Tax Grouping", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "CustomerTaxGroupingCode": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax category", + "@sap.quickinfo": "Category indicator for tax codes", + "notNull": true + }, + "CustTaxGrpExemptionCertificate": { + "type": "cds.String", + "length": 15, + "@sap.display.format": "UpperCase", + "@sap.label": "Exempt. Number", + "@sap.quickinfo": "Number of exemption certificate" + }, + "CustTaxGroupExemptionRate": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Exemption Rate", + "@sap.quickinfo": "Exemption rate" + }, + "CustTaxGroupExemptionStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exempted from", + "@sap.quickinfo": "Start date of exemption" + }, + "CustTaxGroupExemptionEndDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exempted until", + "@sap.quickinfo": "End date of exemption" + }, + "CustTaxGroupSubjectedStartDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "subjected from", + "@sap.quickinfo": "Subjected from" + }, + "CustTaxGroupSubjectedEndDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "subjected until", + "@sap.quickinfo": "Subjected until" + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Text", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerUnloadingPoint": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Unloading Point", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "UnloadingPointName": { + "key": true, + "type": "cds.String", + "length": 25, + "@sap.label": "Unloading Point", + "notNull": true + }, + "CustomerFactoryCalenderCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Cust.fact.calendar", + "@sap.quickinfo": "Customer's factory calendar" + }, + "BPGoodsReceivingHoursCode": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Goods receiving hrs", + "@sap.quickinfo": "Goods receiving hours ID (default value)" + }, + "IsDfltBPUnloadingPoint": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Default unloading pt", + "@sap.quickinfo": "Default unloading point" + }, + "MondayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receipt times: Monday morning from ..." + }, + "MondayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday morning until ..." + }, + "MondayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday afternoon from ..." + }, + "MondayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday afternoon until ..." + }, + "TuesdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday morning from..." + }, + "TuesdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receipt times: Tuesday morning until ..." + }, + "TuesdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday afternoon from ..." + }, + "TuesdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday afternoon until ..." + }, + "WednesdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday morning from ..." + }, + "WednesdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday morning until ..." + }, + "WednesdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday afternoon from ..." + }, + "WednesdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday afternoon until ..." + }, + "ThursdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday morning from ..." + }, + "ThursdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday morning until ..." + }, + "ThursdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday afternoon from ..." + }, + "ThursdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday afternoon until..." + }, + "FridayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday morning from ..." + }, + "FridayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday morning until ..." + }, + "FridayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday afternoon from ..." + }, + "FridayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday afternoon until ..." + }, + "SaturdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday morning from ..." + }, + "SaturdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday morning from ..." + }, + "SaturdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday afternoon from ..." + }, + "SaturdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday afternoon until ..." + }, + "SundayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday morning from ..." + }, + "SundayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday morning until ..." + }, + "SundayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday afternoon from ..." + }, + "SundayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday afternoon until ..." + } + } + }, + "API_BUSINESS_PARTNER.A_CustomerWithHoldingTax": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Withholding Tax", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "WithholdingTaxType": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Withholding Tax Type", + "@sap.quickinfo": "Indicator for Withholding Tax Type", + "notNull": true + }, + "WithholdingTaxCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "W/tax code", + "@sap.quickinfo": "Withholding tax code" + }, + "WithholdingTaxAgent": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "With/tax agent", + "@sap.quickinfo": "Indicator: Withholding tax agent?" + }, + "ObligationDateBegin": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "W/tax obligated from", + "@sap.quickinfo": "Obligated to withhold tax from" + }, + "ObligationDateEnd": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Oblig.to w/tax until", + "@sap.quickinfo": "Obligated to withhold tax until" + }, + "WithholdingTaxNumber": { + "type": "cds.String", + "length": 16, + "@sap.display.format": "UpperCase", + "@sap.label": "W/tax number", + "@sap.quickinfo": "Withholding tax identification number" + }, + "WithholdingTaxCertificate": { + "type": "cds.String", + "length": 25, + "@sap.display.format": "UpperCase", + "@sap.label": "Exemption number", + "@sap.quickinfo": "Exemption certificate number" + }, + "WithholdingTaxExmptPercent": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Exemption rate" + }, + "ExemptionDateBegin": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exemption start date", + "@sap.quickinfo": "Date on which exemption begins" + }, + "ExemptionDateEnd": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exemption end date", + "@sap.quickinfo": "Date on which exemption ends" + }, + "ExemptionReason": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Exemption reason", + "@sap.quickinfo": "Reason for exemption" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_CustSalesPartnerFunc": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Sales Partner Functions", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Distribution Channel", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "PartnerCounter": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Partner counter", + "notNull": true + }, + "PartnerFunction": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Partner Function", + "notNull": true + }, + "BPCustomerNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier" + }, + "CustomerPartnerDescription": { + "type": "cds.String", + "length": 30, + "@sap.label": "Partner Description", + "@sap.quickinfo": "Cust.-Specif. Descr. of Business Partner (Plant, Stor. Loc.)" + }, + "DefaultPartner": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Default Partner" + }, + "Supplier": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier" + }, + "PersonnelNumber": { + "type": "cds.String", + "length": 8, + "@sap.display.format": "NonNegative", + "@sap.label": "Personnel Number" + }, + "ContactPerson": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "NonNegative", + "@sap.label": "Contact Person", + "@sap.quickinfo": "Number of Contact Person" + }, + "AddressID": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_CustSlsAreaAddrDepdntInfo": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Sales Area Address Dependent Information", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Distribution Channel", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)", + "notNull": true + }, + "IncotermsClassification": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms", + "@sap.quickinfo": "Incoterms (Part 1)" + }, + "IncotermsLocation1": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 1" + }, + "IncotermsLocation2": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 2" + }, + "IncotermsSupChnLoc1AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnLoc2AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnDvtgLocAddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "DeliveryIsBlocked": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "DelBlckSalesAr.", + "@sap.quickinfo": "Customer delivery block (sales area)" + }, + "SalesOffice": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Office" + }, + "SalesGroup": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Group" + }, + "ShippingCondition": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Shipping Conditions" + }, + "SupplyingPlant": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Delivering Plant", + "@sap.quickinfo": "Delivering Plant (Own or External)" + }, + "IncotermsVersion": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms Version" + } + } + }, + "API_BUSINESS_PARTNER.A_CustSlsAreaAddrDepdntTaxInfo": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Sales Area Address Dependent Tax Info", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "SalesOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Sales Organization", + "notNull": true + }, + "DistributionChannel": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "RefDistCh-Cust/Mat.", + "@sap.quickinfo": "Reference distrib.channel for cust.and material masters", + "notNull": true + }, + "Division": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Division", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)", + "notNull": true + }, + "DepartureCountry": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Departure Ctry/Reg.", + "@sap.quickinfo": "Departure Country/Region (from which the goods are sent)", + "notNull": true + }, + "CustomerTaxCategory": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Condition Type", + "@sap.quickinfo": "Tax Condition Type (Sales Tax, Value-Added Tax,...)", + "notNull": true + }, + "CustomerTaxClassification": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Classification", + "@sap.quickinfo": "Tax classification for customer" + } + } + }, + "API_BUSINESS_PARTNER.A_CustUnldgPtAddrDepdntInfo": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Customer Unloading Point Address Dependent Information", + "elements": { + "Customer": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number", + "notNull": true + }, + "AddressID": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Address Number", + "@sap.quickinfo": "Business Partner Address Number (from BUT020)", + "notNull": true + }, + "UnloadingPointName": { + "key": true, + "type": "cds.String", + "length": 25, + "@sap.label": "Unloading Point", + "notNull": true + }, + "CustomerFactoryCalenderCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Cust.fact.calendar", + "@sap.quickinfo": "Customer's factory calendar" + }, + "BPGoodsReceivingHoursCode": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Goods receiving hrs", + "@sap.quickinfo": "Goods receiving hours ID (default value)" + }, + "IsDfltBPUnloadingPoint": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Default unloading pt", + "@sap.quickinfo": "Default unloading point" + }, + "MondayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receipt times: Monday morning from ..." + }, + "MondayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday morning until ..." + }, + "MondayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday afternoon from ..." + }, + "MondayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Monday", + "@sap.quickinfo": "Goods receiving hours: Monday afternoon until ..." + }, + "TuesdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday morning from..." + }, + "TuesdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receipt times: Tuesday morning until ..." + }, + "TuesdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday afternoon from ..." + }, + "TuesdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Tuesday", + "@sap.quickinfo": "Goods receiving hours: Tuesday afternoon until ..." + }, + "WednesdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday morning from ..." + }, + "WednesdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday morning until ..." + }, + "WednesdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday afternoon from ..." + }, + "WednesdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Wednesday", + "@sap.quickinfo": "Goods receiving hours: Wednesday afternoon until ..." + }, + "ThursdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday morning from ..." + }, + "ThursdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday morning until ..." + }, + "ThursdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday afternoon from ..." + }, + "ThursdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Thursday", + "@sap.quickinfo": "Goods receiving hours: Thursday afternoon until..." + }, + "FridayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday morning from ..." + }, + "FridayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday morning until ..." + }, + "FridayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday afternoon from ..." + }, + "FridayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Friday", + "@sap.quickinfo": "Goods receiving hours: Friday afternoon until ..." + }, + "SaturdayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday morning from ..." + }, + "SaturdayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday morning from ..." + }, + "SaturdayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday afternoon from ..." + }, + "SaturdayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Saturday", + "@sap.quickinfo": "Goods receiving hours: Saturday afternoon until ..." + }, + "SundayMorningOpeningTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday morning from ..." + }, + "SundayMorningClosingTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday morning until ..." + }, + "SundayAfternoonOpeningTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday afternoon from ..." + }, + "SundayAfternoonClosingTime": { + "type": "cds.Time", + "@sap.label": "Sunday", + "@sap.quickinfo": "Goods receiving hours: Sunday afternoon until ..." + } + } + }, + "API_BUSINESS_PARTNER.A_Supplier": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.creatable": "false", + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Supplier", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "notNull": true + }, + "AlternativePayeeAccountNumber": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Alternative payee", + "@sap.quickinfo": "Account Number of the Alternative Payee" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "CreatedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Created by", + "@sap.quickinfo": "Name of Person who Created the Object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Created On", + "@sap.quickinfo": "Record Created On", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "Customer": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Customer", + "@sap.quickinfo": "Customer Number" + }, + "PaymentIsBlockedForSupplier": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Payment block", + "@sap.quickinfo": "Payment Block" + }, + "PostingIsBlocked": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Posting Block", + "@sap.quickinfo": "Central Posting Block" + }, + "PurchasingIsBlocked": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Purch. block", + "@sap.quickinfo": "Centrally imposed purchasing block" + }, + "SupplierAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Supplier Account Group" + }, + "SupplierFullName": { + "type": "cds.String", + "length": 220, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier Name", + "@sap.quickinfo": "Supplier Full Name", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "SupplierName": { + "type": "cds.String", + "length": 80, + "@sap.label": "Name of Supplier", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "VATRegistration": { + "type": "cds.String", + "length": 20, + "@sap.display.format": "UpperCase", + "@sap.label": "VAT Registration No.", + "@sap.quickinfo": "VAT Registration Number" + }, + "BirthDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Date of birth", + "@sap.quickinfo": "Date of birth of the person subject to withholding tax" + }, + "ConcatenatedInternationalLocNo": { + "type": "cds.String", + "length": 20, + "@sap.label": "Int. Location No.", + "@sap.quickinfo": "Cocatenated International Location Number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Deletion Flag", + "@sap.quickinfo": "Central Deletion Flag for Master Record" + }, + "FiscalAddress": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Fiscal address", + "@sap.quickinfo": "Account number of the master record with fiscal address" + }, + "Industry": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Industry", + "@sap.quickinfo": "Industry key", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber1": { + "type": "cds.String", + "length": 7, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 1", + "@sap.quickinfo": "International location number (part 1)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber2": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "NonNegative", + "@sap.label": "Int. location no. 2", + "@sap.quickinfo": "International location number (Part 2)", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "InternationalLocationNumber3": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Check digit", + "@sap.quickinfo": "Check digit for the international location number", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "IsNaturalPerson": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Natural Person" + }, + "ResponsibleType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Type" + }, + "SuplrQltyInProcmtCertfnValidTo": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "QM System Valid To", + "@sap.quickinfo": "Validity Date of Certification" + }, + "SuplrQualityManagementSystem": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Actual QM System", + "@sap.quickinfo": "Supplier's QM System" + }, + "SupplierCorporateGroup": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Group Key" + }, + "SupplierProcurementBlock": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Block Function", + "@sap.quickinfo": "Function That Will Be Blocked" + }, + "TaxNumber1": { + "type": "cds.String", + "length": 16, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 1", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber2": { + "type": "cds.String", + "length": 11, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 2", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber3": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 3", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber4": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 4", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumber5": { + "type": "cds.String", + "length": 60, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number 5", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "TaxNumberResponsible": { + "type": "cds.String", + "length": 18, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number", + "@sap.quickinfo": "Tax Number at Responsible Tax Authority" + }, + "TaxNumberType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Tax Number Type" + }, + "SuplrProofOfDelivRlvtCode": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Relevant for POD", + "@sap.quickinfo": "Supplier indicator relevant for proof of delivery" + }, + "BR_TaxIsSplit": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Tax split", + "@sap.quickinfo": "Tax Split" + }, + "DataExchangeInstructionKey": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Instruction Key", + "@sap.quickinfo": "Instruction Key for Data Medium Exchange" + }, + "to_SupplierCompany": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierCompany", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SupplierPurchasingOrg": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierPurchasingOrg", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SupplierText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierText", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierCompany": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Supplier Company", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "CompanyCodeName": { + "type": "cds.String", + "length": 25, + "@sap.label": "Company Name", + "@sap.quickinfo": "Name of Company Code or Company", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "PaymentBlockingReason": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Payment block", + "@sap.quickinfo": "Block Key for Payment" + }, + "SupplierIsBlockedForPosting": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Co.code post.block", + "@sap.quickinfo": "Posting block for company code" + }, + "AccountingClerk": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Clerk Abbrev.", + "@sap.quickinfo": "Accounting Clerk Abbreviation" + }, + "AccountingClerkFaxNumber": { + "type": "cds.String", + "length": 31, + "@sap.label": "Acctg clerk's fax", + "@sap.quickinfo": "Accounting clerk's fax number at the customer/vendor" + }, + "AccountingClerkPhoneNumber": { + "type": "cds.String", + "length": 30, + "@sap.display.format": "UpperCase", + "@sap.label": "Acct.clerks tel.no.", + "@sap.quickinfo": "Accounting clerk's telephone number at business partner" + }, + "SupplierClerk": { + "type": "cds.String", + "length": 15, + "@sap.label": "Clerk at vendor" + }, + "SupplierClerkURL": { + "type": "cds.String", + "length": 130, + "@sap.label": "Clrk's internet add.", + "@sap.quickinfo": "Internet address of partner company clerk" + }, + "PaymentMethodsList": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Payment Methods", + "@sap.quickinfo": "List of Respected Payment Methods" + }, + "PaymentTerms": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Terms of Payment", + "@sap.quickinfo": "Terms of Payment Key" + }, + "ClearCustomerSupplier": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Clearing with cust.", + "@sap.quickinfo": "Indicator: Clearing between customer and vendor?" + }, + "IsToBeLocallyProcessed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Local processing", + "@sap.quickinfo": "Indicator: Local processing?" + }, + "ItemIsToBePaidSeparately": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Individual pmnt", + "@sap.quickinfo": "Indicator: Pay all items separately ?" + }, + "PaymentIsToBeSentByEDI": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Pmnt advice by EDI", + "@sap.quickinfo": "Indicator: Send Payment Advices by EDI" + }, + "HouseBank": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "House Bank", + "@sap.quickinfo": "Short Key for a House Bank" + }, + "CheckPaidDurationInDays": { + "type": "cds.Decimal", + "precision": 3, + "scale": 0, + "@sap.label": "Check cashing time", + "@sap.quickinfo": "Probable time until check is paid" + }, + "Currency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Currency", + "@sap.quickinfo": "Currency Key", + "@sap.semantics": "currency-code" + }, + "BillOfExchLmtAmtInCoCodeCrcy": { + "type": "cds.Decimal", + "precision": 14, + "scale": 3, + "@sap.unit": "Currency", + "@sap.label": "Bill/Ex. Limit", + "@sap.quickinfo": "Bill of Exchange Limit (in Local Currency)" + }, + "SupplierClerkIDBySupplier": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Account with vendor", + "@sap.quickinfo": "Our account number with the vendor" + }, + "ReconciliationAccount": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Reconciliation Acct", + "@sap.quickinfo": "Reconciliation Account in General Ledger" + }, + "InterestCalculationCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Interest Indicator" + }, + "InterestCalculationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Last key date", + "@sap.quickinfo": "Key date of the last interest calculation" + }, + "IntrstCalcFrequencyInMonths": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "NonNegative", + "@sap.label": "Int.Calc.Freq.", + "@sap.quickinfo": "Interest Calculation Frequency in Months" + }, + "SupplierHeadOffice": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Head Office", + "@sap.quickinfo": "Head Office Account Number" + }, + "AlternativePayee": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Alternative payee", + "@sap.quickinfo": "Account number of the alternative payee" + }, + "LayoutSortingRule": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Sort Key", + "@sap.quickinfo": "Key for Sorting According to Assignment Numbers" + }, + "APARToleranceGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Tolerance group", + "@sap.quickinfo": "Tolerance group for the business partner/G/L account" + }, + "SupplierCertificationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Certification Date", + "@sap.quickinfo": "Certification date" + }, + "SupplierAccountNote": { + "type": "cds.String", + "length": 30, + "@sap.label": "Account memo", + "@sap.quickinfo": "Memo" + }, + "WithholdingTaxCountry": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "WTax C/R Key", + "@sap.quickinfo": "Withholding Tax Country/Region Key" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Co.Cde Deletion Flag", + "@sap.quickinfo": "Deletion Flag for Master Record (Company Code Level)" + }, + "CashPlanningGroup": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Planning group" + }, + "IsToBeCheckedForDuplicates": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Check Double Invoice", + "@sap.quickinfo": "Check Flag for Double Invoices or Credit Memos" + }, + "MinorityGroup": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Minority indicator", + "@sap.quickinfo": "Minority Indicators" + }, + "SupplierAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Supplier Account Group" + }, + "to_CompanyText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierCompanyText", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_Supplier": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_Supplier", + "keys": [] + }, + "to_SupplierDunning": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierDunning", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_SupplierWithHoldingTax": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierWithHoldingTax", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierCompanyText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Supplier Company Text", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierDunning": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Supplier Dunning", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "DunningArea": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Area", + "notNull": true + }, + "DunningBlock": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Block" + }, + "DunningLevel": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "NonNegative", + "@sap.label": "Dunning Level" + }, + "DunningProcedure": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning Procedure" + }, + "DunningRecipient": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunn.recipient", + "@sap.quickinfo": "Account number of the dunning recipient" + }, + "LastDunnedOn": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Last Dunned", + "@sap.quickinfo": "Date of Last Dunning Notice" + }, + "LegDunningProcedureOn": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Legal dunn.proc.from", + "@sap.quickinfo": "Date of the legal dunning proceedings" + }, + "DunningClerk": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Dunning clerk" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "SupplierAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Supplier Account Group" + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierPartnerFunc": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Purchasing Partner Functions", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "notNull": true + }, + "PurchasingOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Purch. Organization", + "@sap.quickinfo": "Purchasing Organization", + "notNull": true + }, + "SupplierSubrange": { + "key": true, + "type": "cds.String", + "length": 6, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier Subrange", + "notNull": true + }, + "Plant": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Plant", + "notNull": true + }, + "PartnerFunction": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Partner Function", + "notNull": true + }, + "PartnerCounter": { + "key": true, + "type": "cds.String", + "length": 3, + "@sap.display.format": "NonNegative", + "@sap.label": "Partner counter", + "notNull": true + }, + "DefaultPartner": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Default Partner" + }, + "CreationDate": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Created On", + "@sap.quickinfo": "Record Created On", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "CreatedByUser": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Created By", + "@sap.quickinfo": "Name of Person Responsible for Creating the Object", + "@sap.creatable": "false", + "@sap.updatable": "false" + }, + "ReferenceSupplier": { + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Ref. to suplr", + "@sap.quickinfo": "Reference to other supplier" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierPurchasingOrg": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.deletable": "false", + "@sap.content.version": "1", + "@sap.label": "Purchasing Organization", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Supplier's Account Number", + "notNull": true + }, + "PurchasingOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Purch. Organization", + "@sap.quickinfo": "Purchasing Organization", + "notNull": true + }, + "AutomaticEvaluatedRcptSettlmt": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Aut. ev. GRSetmt.Ret", + "@sap.quickinfo": "Automatic evaluated receipt settlement for return items" + }, + "CalculationSchemaGroupCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Schema Grp, Supplier", + "@sap.quickinfo": "Group for Calculation Schema (Supplier)" + }, + "DeletionIndicator": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Del. flag POrg.", + "@sap.quickinfo": "Deletion Indicator for Supplier at Purchasing Level" + }, + "EvaldReceiptSettlementIsActive": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Eval. Receipt Sett.", + "@sap.quickinfo": "Evaluated Receipt Settlement (ERS)" + }, + "IncotermsClassification": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms", + "@sap.quickinfo": "Incoterms (Part 1)" + }, + "IncotermsTransferLocation": { + "type": "cds.String", + "length": 28, + "@sap.label": "Incoterms (Part 2)" + }, + "IncotermsVersion": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Incoterms Version" + }, + "IncotermsLocation1": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 1" + }, + "IncotermsLocation2": { + "type": "cds.String", + "length": 70, + "@sap.label": "Incoterms Location 2" + }, + "IncotermsSupChnLoc1AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnLoc2AddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IncotermsSupChnDvtgLocAddlUUID": { + "type": "cds.UUID", + "@sap.label": "Location UUID" + }, + "IntrastatCrsBorderTrMode": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Mode of Transport", + "@sap.quickinfo": "Mode of Transport at the Border (Intrastat)" + }, + "InvoiceIsGoodsReceiptBased": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "GR-Based Inv. Verif.", + "@sap.quickinfo": "Indicator: GR-Based Invoice Verification" + }, + "InvoiceIsMMServiceEntryBased": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Srv.-Based Inv. Ver.", + "@sap.quickinfo": "Indicator for Service-Based Invoice Verification" + }, + "MaterialPlannedDeliveryDurn": { + "type": "cds.Decimal", + "precision": 3, + "scale": 0, + "@sap.label": "Planned Deliv. Time", + "@sap.quickinfo": "Planned Delivery Time in Days" + }, + "MinimumOrderAmount": { + "type": "cds.Decimal", + "precision": 14, + "scale": 3, + "@sap.unit": "PurchaseOrderCurrency", + "@sap.label": "Minimum order value" + }, + "PaymentTerms": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Terms of Payment", + "@sap.quickinfo": "Terms of Payment Key" + }, + "PlanningCycle": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Planning Cycle" + }, + "PricingDateControl": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "Pricing Date Control", + "@sap.quickinfo": "Price Determination (Pricing) Date Control" + }, + "ProdStockAndSlsDataTransfPrfl": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "PROACT control prof.", + "@sap.quickinfo": "Profile for transferring material data via IDoc PROACT" + }, + "ProductUnitGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Unit of Measure Grp", + "@sap.quickinfo": "Unit of Measure Group" + }, + "PurOrdAutoGenerationIsAllowed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Automatic PO", + "@sap.quickinfo": "Automatic Generation of Purchase Order Allowed" + }, + "PurchaseOrderCurrency": { + "type": "cds.String", + "length": 5, + "@sap.display.format": "UpperCase", + "@sap.label": "Order currency", + "@sap.quickinfo": "Purchase order currency", + "@sap.semantics": "currency-code" + }, + "PurchasingGroup": { + "type": "cds.String", + "length": 3, + "@sap.display.format": "UpperCase", + "@sap.label": "Purchasing Group" + }, + "PurchasingIsBlockedForSupplier": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Pur. block POrg", + "@sap.quickinfo": "Purchasing block at purchasing organization level" + }, + "RoundingProfile": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Rounding Profile" + }, + "ShippingCondition": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Shipping Conditions" + }, + "SuplrDiscountInKindIsGranted": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Checkbox", + "@sap.heading": "" + }, + "SuplrInvcRevalIsAllowed": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Revaluation", + "@sap.quickinfo": "Revaluation allowed" + }, + "SuplrIsRlvtForSettlmtMgmt": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Settlement Mgmt.", + "@sap.quickinfo": "Indicator: Relevant for Settlement Management" + }, + "SuplrPurgOrgIsRlvtForPriceDetn": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Price determination", + "@sap.quickinfo": "Indicator: "relev. to price determination (vend. hierarchy)" + }, + "SupplierABCClassificationCode": { + "type": "cds.String", + "length": 1, + "@sap.display.format": "UpperCase", + "@sap.label": "ABC indicator" + }, + "SupplierAccountNumber": { + "type": "cds.String", + "length": 12, + "@sap.display.format": "UpperCase", + "@sap.label": "Acc. with supplier", + "@sap.quickinfo": "Our account number with the supplier" + }, + "SupplierPhoneNumber": { + "type": "cds.String", + "length": 16, + "@sap.label": "Telephone", + "@sap.quickinfo": "Supplier's Telephone Number" + }, + "SupplierRespSalesPersonName": { + "type": "cds.String", + "length": 30, + "@sap.label": "Salesperson", + "@sap.quickinfo": "Responsible Salesperson at Supplier's Office" + }, + "SupplierConfirmationControlKey": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Confirmation Control", + "@sap.quickinfo": "Confirmation Control Key" + }, + "IsOrderAcknRqd": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Acknowledgment Reqd.", + "@sap.quickinfo": "Order Acknowledgment Requirement" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + }, + "SupplierAccountGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Account Group", + "@sap.quickinfo": "Supplier Account Group" + }, + "to_PartnerFunction": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierPartnerFunc", + "cardinality": { + "max": "*" + }, + "keys": [] + }, + "to_PurchasingOrgText": { + "@cds.ambiguous": "missing on condition?", + "type": "cds.Association", + "target": "API_BUSINESS_PARTNER.A_SupplierPurchasingOrgText", + "cardinality": { + "max": "*" + }, + "keys": [] + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierPurchasingOrgText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Purchasing Organization Text", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "PurchasingOrganization": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Purch. Organization", + "@sap.quickinfo": "Purchasing Organization", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierText": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Supplier Text", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "@sap.creatable": "false", + "@sap.updatable": "false", + "notNull": true + }, + "Language": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.label": "Language", + "@sap.quickinfo": "Language key", + "notNull": true + }, + "LongTextID": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Text ID", + "notNull": true + }, + "LongText": { + "type": "cds.LargeString", + "@sap.label": "String", + "@sap.heading": "", + "@sap.creatable": "false", + "@sap.updatable": "false", + "@sap.sortable": "false", + "@sap.filterable": "false" + } + } + }, + "API_BUSINESS_PARTNER.A_SupplierWithHoldingTax": { + "kind": "entity", + "@cds.external": true, + "@cds.persistence.skip": true, + "@sap.content.version": "1", + "@sap.label": "Company Withholding Tax", + "elements": { + "Supplier": { + "key": true, + "type": "cds.String", + "length": 10, + "@sap.display.format": "UpperCase", + "@sap.label": "Supplier", + "@sap.quickinfo": "Account Number of Supplier", + "notNull": true + }, + "CompanyCode": { + "key": true, + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Company Code", + "notNull": true + }, + "WithholdingTaxType": { + "key": true, + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Withholding Tax Type", + "@sap.quickinfo": "Indicator for Withholding Tax Type", + "notNull": true + }, + "ExemptionDateBegin": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exemption start date", + "@sap.quickinfo": "Date on which exemption begins" + }, + "ExemptionDateEnd": { + "type": "cds.Date", + "@sap.display.format": "Date", + "@sap.label": "Exemption end date", + "@sap.quickinfo": "Date on which exemption ends" + }, + "ExemptionReason": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Exemption reason", + "@sap.quickinfo": "Reason for exemption" + }, + "IsWithholdingTaxSubject": { + "type": "cds.Boolean", + "@sap.display.format": "UpperCase", + "@sap.label": "Subject to w/tx", + "@sap.quickinfo": "Indicator: Subject to withholding tax?" + }, + "RecipientType": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "Recipient type", + "@sap.quickinfo": "Type of recipient" + }, + "WithholdingTaxCertificate": { + "type": "cds.String", + "length": 25, + "@sap.display.format": "UpperCase", + "@sap.label": "Exemption number", + "@sap.quickinfo": "Exemption certificate number" + }, + "WithholdingTaxCode": { + "type": "cds.String", + "length": 2, + "@sap.display.format": "UpperCase", + "@sap.label": "W/tax code", + "@sap.quickinfo": "Withholding tax code" + }, + "WithholdingTaxExmptPercent": { + "type": "cds.Decimal", + "precision": 5, + "scale": 2, + "@sap.label": "Exemption rate" + }, + "WithholdingTaxNumber": { + "type": "cds.String", + "length": 16, + "@sap.display.format": "UpperCase", + "@sap.label": "W/tax number", + "@sap.quickinfo": "Withholding tax identification number" + }, + "AuthorizationGroup": { + "type": "cds.String", + "length": 4, + "@sap.display.format": "UpperCase", + "@sap.label": "Authorization", + "@sap.quickinfo": "Authorization Group" + } + } + } + } +} \ No newline at end of file diff --git a/srv/external/API_BUSINESS_PARTNER.edmx b/srv/external/API_BUSINESS_PARTNER.edmx new file mode 100644 index 00000000..3494eeda --- /dev/null +++ b/srv/external/API_BUSINESS_PARTNER.edmx @@ -0,0 +1 @@ +LongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongTextLongText \ No newline at end of file diff --git a/srv/services.cds b/srv/services.cds index 60f15d85..4a7be6b7 100644 --- a/srv/services.cds +++ b/srv/services.cds @@ -15,3 +15,17 @@ service AdminService @(requires:'admin') { entity Customers as projection on my.Customers; entity Incidents as projection on my.Incidents; } + +/** + * filling in missing events as found on SAP Business Accelerator Hub + */ +using { API_BUSINESS_PARTNER as S4 } from './external/API_BUSINESS_PARTNER'; +extend service S4 with { + event BusinessPartner.Created @(topic:'sap.s4.beh.businesspartner.v1.BusinessPartner.Created.v1') { + BusinessPartner : String + } + event BusinessPartner.Changed @(topic:'sap.s4.beh.businesspartner.v1.BusinessPartner.Changed.v1') { + BusinessPartner : String + } +} +annotate S4 with @protocol: 'none'; //> do not serve diff --git a/srv/services.js b/srv/services.js index 10802dd2..2f6a2b94 100644 --- a/srv/services.js +++ b/srv/services.js @@ -28,7 +28,33 @@ class ProcessorService extends cds.ApplicationService { } } -module.exports = { ProcessorService } +class AdminService extends cds.ApplicationService { + async init() { + const { Customers } = this.entities + + const bupa = await cds.connect.to('API_BUSINESS_PARTNER') + const { A_BusinessPartner } = bupa.entities + + async function upsertCustomer(id) { + const remote = await bupa.get(A_BusinessPartner, id) + const local = await SELECT.from(Customers, id) + // TODO: field mapping from A_BusinessPartner to Customers + if (local) await UPDATE(Customers, id).with(remote) + else await INSERT.into(Customers).entries(remote) + } + + bupa.on('BusinessPartner.Created', async function (msg) { + await upsertCustomer(msg.data.BusinessPartner) + }) + bupa.on('BusinessPartner.Changed', async function (msg) { + await upsertCustomer(msg.data.BusinessPartner) + }) + + return super.init() + } +} + +module.exports = { ProcessorService, AdminService } // ------------------------------------------------------------------------------------------------------------------------------------------------------------ From c49882eacbdc020e5484c5dcac763e7bc51757c5 Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 29 Jul 2024 22:27:27 +0200 Subject: [PATCH 02/17] revert formatting change --- package.json | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/package.json b/package.json index e427f621..d03c2744 100644 --- a/package.json +++ b/package.json @@ -38,9 +38,7 @@ "reset": "read -p 'This will irreversibly reset your working directory including ALL files in this git repo. Continue?' -n 1 -r && echo && if [[ $REPLY =~ ^[Yy]$ ]]; then git clean -fd && git reset --hard && npm i; fi" }, "jest": { - "modulePathIgnorePatterns": [ - "/xmpls/" - ] + "modulePathIgnorePatterns": ["/xmpls/"] }, "sapux": [ "app/incidents" @@ -71,4 +69,4 @@ } }, "private": true -} \ No newline at end of file +} From 77f6ae536516c4d823b56d243ae3a2f659379a2a Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 29 Jul 2024 22:44:41 +0200 Subject: [PATCH 03/17] REVISIT: we should probably only update existing replicas --- srv/services.js | 1 + 1 file changed, 1 insertion(+) diff --git a/srv/services.js b/srv/services.js index 2f6a2b94..3f554822 100644 --- a/srv/services.js +++ b/srv/services.js @@ -43,6 +43,7 @@ class AdminService extends cds.ApplicationService { else await INSERT.into(Customers).entries(remote) } + // REVISIT: we should probably only update existing replicas bupa.on('BusinessPartner.Created', async function (msg) { await upsertCustomer(msg.data.BusinessPartner) }) From d2294bd1654be56095455efcd89ae0a690f357fb Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 5 Aug 2024 21:59:32 +0200 Subject: [PATCH 04/17] config, impl, mta --- .gitignore | 5 ++++ mta.yaml | 65 ++++++++++++++++++++++++++++++++++++++++++++ package.json | 59 ++++++++++++++++++++++++++++------------ srv/services.js | 22 +++++++-------- x509.mtaext.template | 23 ++++++++++++++++ 5 files changed, 145 insertions(+), 29 deletions(-) create mode 100644 mta.yaml create mode 100644 x509.mtaext.template diff --git a/.gitignore b/.gitignore index 1aaf2c2b..35fa834f 100644 --- a/.gitignore +++ b/.gitignore @@ -40,3 +40,8 @@ resources/ # VitePress _docs/.vitepress/cache + +# secrets +cert +*.mtaext +notes.txt diff --git a/mta.yaml b/mta.yaml new file mode 100644 index 00000000..d927bbb4 --- /dev/null +++ b/mta.yaml @@ -0,0 +1,65 @@ +_schema-version: '3.1' +ID: d050513.incidents +version: 1.0.0 +description: "S/4HANA to @capire/incidents" + +parameters: + enable-parallel-deployments: true + +build-parameters: + before-all: + - builder: custom + commands: + - npm ci + - npx cds build --production + - cp db.sqlite gen/srv # deploy the sqlite db + - cp -r cert/ gen/srv/cert # deploy the certificates + +modules: + - name: incidents-srv + type: nodejs + path: gen/srv + parameters: + buildpack: nodejs_buildpack + readiness-health-check-type: http + readiness-health-check-http-endpoint: /health + domain: cert.${default-domain} # needed for mTLS + build-parameters: + builder: npm + provides: + - name: incidents-srv-api + properties: + url: ${default-url} + requires: + - name: incidents-logs + - name: incidents-destination + - name: incidents-event-broker + parameters: + config: + authentication-type: X509_PROVIDED + x509: + outbound: # values for certificate and key provided via x509.mtaext + certificate: '***' + key: '***' + +resources: + - name: incidents-logs + type: org.cloudfoundry.managed-service + parameters: + service: application-logs + service-plan: lite + - name: incidents-destination + type: org.cloudfoundry.managed-service + parameters: + service: destination + service-plan: lite + - name: incidents-event-broker + type: org.cloudfoundry.managed-service + parameters: + service: event-broker + service-plan: event-connectivity + config: + systemNamespace: cap.incidents # inconsequential value, just shouldn't clash (probably) but "must be fewer than 15 symbols" -> what to recommend? + webhookUrl: ~{incidents-srv-api/url}/-/cds/event-broker/webhook + requires: + - name: incidents-srv-api diff --git a/package.json b/package.json index d03c2744..d26d4d54 100644 --- a/package.json +++ b/package.json @@ -12,11 +12,15 @@ "dummy": 0 }, "dependencies": { - "@sap/cds": ">=7", + "@cap-js/sqlite": "^1", + "@sap-cloud-sdk/connectivity": "^3.17.0", + "@sap-cloud-sdk/http-client": "^3.17.0", + "@sap-cloud-sdk/resilience": "^3.17.0", + "@sap/cds": "^8", "express": "^4" }, "devDependencies": { - "@cap-js/sqlite": "^1.0.1", + "@sap/cds-dk": "^8", "@sap/ux-specification": "^1.108.4", "axios": "^1.4.0", "chai": "^4.3.7", @@ -24,6 +28,9 @@ "chai-subset": "^1.6.0" }, "scripts": { + "build": "mbt build -t gen --mtar mta.tar", + "deploy": "cf deploy gen/mta.tar -e x509.mtaext", + "undeploy": "cf undeploy d050513.incidents --delete-services --delete-service-keys", "watch": "cds watch", "start": "cds-serve", "test": "npx jest --silent", @@ -38,7 +45,9 @@ "reset": "read -p 'This will irreversibly reset your working directory including ALL files in this git repo. Continue?' -n 1 -r && echo && if [[ $REPLY =~ ^[Yy]$ ]]; then git clean -fd && git reset --hard && npm i; fi" }, "jest": { - "modulePathIgnorePatterns": ["/xmpls/"] + "modulePathIgnorePatterns": [ + "/xmpls/" + ] }, "sapux": [ "app/incidents" @@ -46,25 +55,41 @@ "cds": { "requires": { "auth": { - "[development]": { - "users": { - "alice": { - "roles": [ - "support", - "admin" - ] - }, - "bob": { - "roles": [ - "support" - ] - } + "kind": "mocked", + "users": { + "alice": { + "roles": [ + "support", + "admin" + ] + }, + "bob": { + "roles": [ + "support" + ] } } }, + "db": { + "kind": "sqlite", + "credentials": { + "url": "db.sqlite" + } + }, + "messaging": { + "kind": "event-broker", + "x509": { + "certPath": "./cert/sap.cdsipoc-client-cert-chain.pem", + "pkeyPath": "./cert/sap.cdsipoc-client-cert-key.pem" + } + }, "API_BUSINESS_PARTNER": { "kind": "odata-v2", - "model": "srv/external/API_BUSINESS_PARTNER" + "model": "srv/external/API_BUSINESS_PARTNER", + "credentials": { + "destination": "S4HANA", + "path": "/sap/opu/odata/sap/API_BUSINESS_PARTNER" + } } } }, diff --git a/srv/services.js b/srv/services.js index 3f554822..a8711046 100644 --- a/srv/services.js +++ b/srv/services.js @@ -35,20 +35,18 @@ class AdminService extends cds.ApplicationService { const bupa = await cds.connect.to('API_BUSINESS_PARTNER') const { A_BusinessPartner } = bupa.entities - async function upsertCustomer(id) { - const remote = await bupa.get(A_BusinessPartner, id) - const local = await SELECT.from(Customers, id) - // TODO: field mapping from A_BusinessPartner to Customers - if (local) await UPDATE(Customers, id).with(remote) - else await INSERT.into(Customers).entries(remote) - } + const BUPA_LOG = cds.log('API_BUSINESS_PARTNER') - // REVISIT: we should probably only update existing replicas - bupa.on('BusinessPartner.Created', async function (msg) { - await upsertCustomer(msg.data.BusinessPartner) - }) bupa.on('BusinessPartner.Changed', async function (msg) { - await upsertCustomer(msg.data.BusinessPartner) + BUPA_LOG.info('Received event "BusinessPartner.Changed" with data:', msg.data) + const ID = msg.data.BusinessPartner + const local = await SELECT.one.from(Customers, ID) + if (!local) { + BUPA_LOG.info('No matching Customer in local database') + return + } + // the below is only pseudo code!!! + await UPDATE(Customers, ID).with(await bupa.get(A_BusinessPartner, ID)) }) return super.init() diff --git a/x509.mtaext.template b/x509.mtaext.template new file mode 100644 index 00000000..4f968513 --- /dev/null +++ b/x509.mtaext.template @@ -0,0 +1,23 @@ +_schema-version: '3.1' +ID: d050513.incidents.x509 +extends: d050513.incidents + +modules: + - name: incidents-srv + requires: + - name: incidents-event-broker + parameters: + config: + x509: + outbound: + certificate: |- + -----BEGIN CERTIFICATE----- + MII... + -----END CERTIFICATE----- + -----BEGIN CERTIFICATE----- + MII... + -----END CERTIFICATE----- + key: |- + -----BEGIN PRIVATE KEY----- + MII... + -----END PRIVATE KEY----- From cc04800bafab3fcad28ef98c7540e42e294dadfd Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 5 Aug 2024 22:02:17 +0200 Subject: [PATCH 05/17] db.sqlite --- .gitignore | 2 +- db.sqlite | Bin 0 -> 110592 bytes 2 files changed, 1 insertion(+), 1 deletion(-) create mode 100644 db.sqlite diff --git a/.gitignore b/.gitignore index 35fa834f..717aea56 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ _out *.db -*.sqlite +#*.sqlite connection.properties default-*.json .cdsrc-private.json diff --git a/db.sqlite b/db.sqlite new file mode 100644 index 0000000000000000000000000000000000000000..039846d6d5191451c0e5bf2883fb9f610fb5f1c2 GIT binary patch literal 110592 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 literal 0 HcmV?d00001 From eedcf18bff31176173b1a74fc9082836bb83fb6c Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 5 Aug 2024 22:14:44 +0200 Subject: [PATCH 06/17] deploy the sqlite db + fix ci --- .gitignore | 2 +- db.sqlite | Bin 110592 -> 0 bytes mta.yaml | 4 +++- package.json | 3 +++ 4 files changed, 7 insertions(+), 2 deletions(-) delete mode 100644 db.sqlite diff --git a/.gitignore b/.gitignore index 717aea56..35fa834f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,6 @@ _out *.db -#*.sqlite +*.sqlite connection.properties default-*.json .cdsrc-private.json diff --git a/db.sqlite b/db.sqlite deleted file mode 100644 index 039846d6d5191451c0e5bf2883fb9f610fb5f1c2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 110592 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 diff --git a/mta.yaml b/mta.yaml index d927bbb4..f825578d 100644 --- a/mta.yaml +++ b/mta.yaml @@ -12,8 +12,10 @@ build-parameters: commands: - npm ci - npx cds build --production - - cp db.sqlite gen/srv # deploy the sqlite db - cp -r cert/ gen/srv/cert # deploy the certificates + # deploy the sqlite db + - npx cds deploy + - cp db.sqlite gen/srv modules: - name: incidents-srv diff --git a/package.json b/package.json index d26d4d54..1ca940cc 100644 --- a/package.json +++ b/package.json @@ -81,6 +81,9 @@ "x509": { "certPath": "./cert/sap.cdsipoc-client-cert-chain.pem", "pkeyPath": "./cert/sap.cdsipoc-client-cert-key.pem" + }, + "[test]": { + "kind": "local-messaging" } }, "API_BUSINESS_PARTNER": { From 18ed30bf5b3148dbb5c4ca8864b617a912539c92 Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 5 Aug 2024 23:02:15 +0200 Subject: [PATCH 07/17] comment re domain + fix ci --- mta.yaml | 2 +- package.json | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/mta.yaml b/mta.yaml index f825578d..c27e0081 100644 --- a/mta.yaml +++ b/mta.yaml @@ -25,7 +25,7 @@ modules: buildpack: nodejs_buildpack readiness-health-check-type: http readiness-health-check-http-endpoint: /health - domain: cert.${default-domain} # needed for mTLS + domain: cert.${default-domain} # needed for mTLS -> do we need the non-cert route as well? build-parameters: builder: npm provides: diff --git a/package.json b/package.json index 1ca940cc..de13d4bc 100644 --- a/package.json +++ b/package.json @@ -73,7 +73,10 @@ "db": { "kind": "sqlite", "credentials": { - "url": "db.sqlite" + "url": "db.sqlite", + "[test]": { + "url": ":memory:" + } } }, "messaging": { From 949f53ad98ee13cbc5e0f84a4ac5e537cd23a590 Mon Sep 17 00:00:00 2001 From: sjvans <30337871+sjvans@users.noreply.github.com> Date: Fri, 9 Aug 2024 23:33:11 +0200 Subject: [PATCH 08/17] =?UTF-8?q?d050513.incidents=20=E2=86=92=20cap.incid?= =?UTF-8?q?ents?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- mta.yaml | 2 +- package.json | 2 +- x509.mtaext.template | 4 ++-- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/mta.yaml b/mta.yaml index c27e0081..d0930643 100644 --- a/mta.yaml +++ b/mta.yaml @@ -1,5 +1,5 @@ _schema-version: '3.1' -ID: d050513.incidents +ID: cap.incidents version: 1.0.0 description: "S/4HANA to @capire/incidents" diff --git a/package.json b/package.json index de13d4bc..61d28d57 100644 --- a/package.json +++ b/package.json @@ -30,7 +30,7 @@ "scripts": { "build": "mbt build -t gen --mtar mta.tar", "deploy": "cf deploy gen/mta.tar -e x509.mtaext", - "undeploy": "cf undeploy d050513.incidents --delete-services --delete-service-keys", + "undeploy": "cf undeploy cap.incidents --delete-services --delete-service-keys", "watch": "cds watch", "start": "cds-serve", "test": "npx jest --silent", diff --git a/x509.mtaext.template b/x509.mtaext.template index 4f968513..7333f1e2 100644 --- a/x509.mtaext.template +++ b/x509.mtaext.template @@ -1,6 +1,6 @@ _schema-version: '3.1' -ID: d050513.incidents.x509 -extends: d050513.incidents +ID: cap.incidents.x509 +extends: cap.incidents modules: - name: incidents-srv From 7954dfe0560d4fad029e764a2246067f3d9c255d Mon Sep 17 00:00:00 2001 From: sjvans <30337871+sjvans@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:47:57 +0200 Subject: [PATCH 09/17] Delete x509.mtaext.template --- x509.mtaext.template | 23 ----------------------- 1 file changed, 23 deletions(-) delete mode 100644 x509.mtaext.template diff --git a/x509.mtaext.template b/x509.mtaext.template deleted file mode 100644 index 7333f1e2..00000000 --- a/x509.mtaext.template +++ /dev/null @@ -1,23 +0,0 @@ -_schema-version: '3.1' -ID: cap.incidents.x509 -extends: cap.incidents - -modules: - - name: incidents-srv - requires: - - name: incidents-event-broker - parameters: - config: - x509: - outbound: - certificate: |- - -----BEGIN CERTIFICATE----- - MII... - -----END CERTIFICATE----- - -----BEGIN CERTIFICATE----- - MII... - -----END CERTIFICATE----- - key: |- - -----BEGIN PRIVATE KEY----- - MII... - -----END PRIVATE KEY----- From 19e359b06d367c065bd8752e84cdb51628739722 Mon Sep 17 00:00:00 2001 From: sjvans <30337871+sjvans@users.noreply.github.com> Date: Mon, 19 Aug 2024 11:48:24 +0200 Subject: [PATCH 10/17] Update package.json --- package.json | 4 ---- 1 file changed, 4 deletions(-) diff --git a/package.json b/package.json index 61d28d57..1aea0f51 100644 --- a/package.json +++ b/package.json @@ -81,10 +81,6 @@ }, "messaging": { "kind": "event-broker", - "x509": { - "certPath": "./cert/sap.cdsipoc-client-cert-chain.pem", - "pkeyPath": "./cert/sap.cdsipoc-client-cert-key.pem" - }, "[test]": { "kind": "local-messaging" } From eef97bedf1493c1014b8b78091ba3f251656a46d Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 19 Aug 2024 14:29:19 +0200 Subject: [PATCH 11/17] changes re ias --- mta.yaml | 33 +++++++++++++++++++++++++-------- package.json | 5 +++++ 2 files changed, 30 insertions(+), 8 deletions(-) diff --git a/mta.yaml b/mta.yaml index d0930643..0b6b9ef9 100644 --- a/mta.yaml +++ b/mta.yaml @@ -12,7 +12,6 @@ build-parameters: commands: - npm ci - npx cds build --production - - cp -r cert/ gen/srv/cert # deploy the certificates # deploy the sqlite db - npx cds deploy - cp db.sqlite gen/srv @@ -25,7 +24,6 @@ modules: buildpack: nodejs_buildpack readiness-health-check-type: http readiness-health-check-http-endpoint: /health - domain: cert.${default-domain} # needed for mTLS -> do we need the non-cert route as well? build-parameters: builder: npm provides: @@ -38,11 +36,12 @@ modules: - name: incidents-event-broker parameters: config: - authentication-type: X509_PROVIDED - x509: - outbound: # values for certificate and key provided via x509.mtaext - certificate: '***' - key: '***' + authentication-type: X509_IAS + - name: incidents-ias + parameters: + config: + credential-type: "X509_GENERATED" + app-identifier: "cap.incidents" resources: - name: incidents-logs @@ -61,7 +60,25 @@ resources: service: event-broker service-plan: event-connectivity config: - systemNamespace: cap.incidents # inconsequential value, just shouldn't clash (probably) but "must be fewer than 15 symbols" -> what to recommend? + # unique identifier for this event broker instance + # should start with own namespace (i.e., "foo.bar") and may not be longer than 15 characters + systemNamespace: cap.incidents webhookUrl: ~{incidents-srv-api/url}/-/cds/event-broker/webhook requires: - name: incidents-srv-api + - name: incidents-ias + type: org.cloudfoundry.managed-service + requires: + - name: srv-api + processed-after: + # for consumed-services (cf. below), incidents-event-broker must already exist + # -> ensure incidents-ias is created afterwards + - incidents-event-broker + parameters: + service: identity + service-plan: application + config: + consumed-services: + - service-instance-name: incidents-event-broker + display-name: cap.incidents + home-url: ~{incidents-srv-api/url} diff --git a/package.json b/package.json index 1aea0f51..824839b9 100644 --- a/package.json +++ b/package.json @@ -85,6 +85,11 @@ "kind": "local-messaging" } }, + "my-ias": { + "vcap": { + "label": "identity" + } + }, "API_BUSINESS_PARTNER": { "kind": "odata-v2", "model": "srv/external/API_BUSINESS_PARTNER", From f69bc32fec6839804f1e294543cafa3425236000 Mon Sep 17 00:00:00 2001 From: sjvans <30337871+sjvans@users.noreply.github.com> Date: Mon, 19 Aug 2024 14:31:55 +0200 Subject: [PATCH 12/17] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 824839b9..692fa1a0 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "scripts": { "build": "mbt build -t gen --mtar mta.tar", - "deploy": "cf deploy gen/mta.tar -e x509.mtaext", + "deploy": "cf deploy gen/mta.tar", "undeploy": "cf undeploy cap.incidents --delete-services --delete-service-keys", "watch": "cds watch", "start": "cds-serve", From fbea701beb0a93fb3c9cda65d0e8e264e7094dad Mon Sep 17 00:00:00 2001 From: D050513 Date: Mon, 19 Aug 2024 15:41:21 +0200 Subject: [PATCH 13/17] fix incidents-ias.requires --- mta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mta.yaml b/mta.yaml index 0b6b9ef9..9086de45 100644 --- a/mta.yaml +++ b/mta.yaml @@ -69,7 +69,7 @@ resources: - name: incidents-ias type: org.cloudfoundry.managed-service requires: - - name: srv-api + - name: incidents-srv-api processed-after: # for consumed-services (cf. below), incidents-event-broker must already exist # -> ensure incidents-ias is created afterwards From 79641caf3e6d420ca3a2eeb73565a9c8adae2c8a Mon Sep 17 00:00:00 2001 From: D050513 Date: Tue, 20 Aug 2024 12:31:51 +0200 Subject: [PATCH 14/17] rm unnecessary quotes --- mta.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/mta.yaml b/mta.yaml index 9086de45..4fb92897 100644 --- a/mta.yaml +++ b/mta.yaml @@ -40,8 +40,8 @@ modules: - name: incidents-ias parameters: config: - credential-type: "X509_GENERATED" - app-identifier: "cap.incidents" + credential-type: X509_GENERATED + app-identifier: cap.incidents resources: - name: incidents-logs From d1c24ae5b8f608a0a792368017c788541517f068 Mon Sep 17 00:00:00 2001 From: D050513 Date: Wed, 21 Aug 2024 01:19:28 +0200 Subject: [PATCH 15/17] add comments to mta.yaml --- mta.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/mta.yaml b/mta.yaml index 4fb92897..728b98bb 100644 --- a/mta.yaml +++ b/mta.yaml @@ -29,7 +29,7 @@ modules: provides: - name: incidents-srv-api properties: - url: ${default-url} + url: ${default-url} #> needed in webhookUrl and home-url below requires: - name: incidents-logs - name: incidents-destination @@ -41,7 +41,7 @@ modules: parameters: config: credential-type: X509_GENERATED - app-identifier: cap.incidents + app-identifier: cap.incidents #> any value, e.g., reuse MTA ID resources: - name: incidents-logs @@ -72,7 +72,7 @@ resources: - name: incidents-srv-api processed-after: # for consumed-services (cf. below), incidents-event-broker must already exist - # -> ensure incidents-ias is created afterwards + # -> ensure incidents-ias is created after incidents-event-broker - incidents-event-broker parameters: service: identity @@ -80,5 +80,5 @@ resources: config: consumed-services: - service-instance-name: incidents-event-broker - display-name: cap.incidents + display-name: cap.incidents #> any value, e.g., reuse MTA ID home-url: ~{incidents-srv-api/url} From 8abd656625c1812db2290ea9a4c7e70a2adc83c0 Mon Sep 17 00:00:00 2001 From: "Dr. David A. Kunz" Date: Fri, 14 Feb 2025 17:39:17 +0100 Subject: [PATCH 16/17] Switch order of service bindings --- mta.yaml | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) diff --git a/mta.yaml b/mta.yaml index 728b98bb..9656ec1d 100644 --- a/mta.yaml +++ b/mta.yaml @@ -33,16 +33,15 @@ modules: requires: - name: incidents-logs - name: incidents-destination - - name: incidents-event-broker - parameters: - config: - authentication-type: X509_IAS - name: incidents-ias parameters: config: credential-type: X509_GENERATED app-identifier: cap.incidents #> any value, e.g., reuse MTA ID - + - name: incidents-event-broker + parameters: + config: + authentication-type: X509_IAS resources: - name: incidents-logs type: org.cloudfoundry.managed-service From 9091b061bfe9ceba975859954e49aaf900529ac3 Mon Sep 17 00:00:00 2001 From: "Dr. David A. Kunz" Date: Fri, 14 Feb 2025 17:41:29 +0100 Subject: [PATCH 17/17] Update mta.yaml --- mta.yaml | 1 + 1 file changed, 1 insertion(+) diff --git a/mta.yaml b/mta.yaml index 9656ec1d..6cc18a21 100644 --- a/mta.yaml +++ b/mta.yaml @@ -42,6 +42,7 @@ modules: parameters: config: authentication-type: X509_IAS + resources: - name: incidents-logs type: org.cloudfoundry.managed-service