Feilsøking av SAP Business Warehouse-kobling
Denne artikkelen inneholder feilsøkingssituasjoner (og mulige løsninger) for å arbeide med SAP Business Warehouse (BW)-koblingen.
Samle inn avanserte sporinger for SAP BW
Merk
Innsamling av en sporing av en spørring som sendes til SAP BW-serveren, krever noen alternativer og innstillinger som bare kan leveres ved hjelp av Power BI Desktop. Hvis du ikke allerede har en kopi av Power BI Desktop, kan du få en kopi på Microsoft Download Center. Du kan angi alle de nødvendige alternativene og innstillingene for avanserte sporinger ved hjelp av denne gratisversjonen.
Mange ganger når det oppstår en feil, kan det være en fordel å samle inn en sporing av spørringen som ble sendt til SAP BW-serveren og svaret. Følgende fremgangsmåte viser hvordan du konfigurerer avanserte sporinger for problemer som oppstår ved hjelp av SAP BW-koblingen.
Lukk Power BI Desktop hvis det kjører.
Opprett en ny miljøvariabel:
Velg System>advanced System Innstillinger fra Windows Kontrollpanel.
Du kan også åpne en ledetekst og angi sysdm.cpl.
Velg Avansert-fanen i Systemegenskaper, og velg deretter Miljøvariabler.
Velg Ny under Systemvariabler i miljøvariabler.
Skriv inn PBI_EnableSapBwTracing og angi sann under Variabelverdi under Variabelnavn i ny systemvariabel.
Velg OK.
Når denne avanserte sporingen er aktivert, opprettes en ekstra mappe kalt SapBw i Sporinger-mappen . Se resten av denne fremgangsmåten for plasseringen av Sporinger-mappen .
Åpne Power BI Desktop.
Fjern hurtigbufferen før du registrerer den.
- Velg Fil-fanen i Power BI Desktop.
- Velg Alternativer og innstillinger>Alternativer.
- Velg Datainnlasting under Globale innstillinger.
- Velg Fjern hurtigbuffer.
Aktiver sporing mens du fortsatt er i Alternativer og innstillinger.
- Velg Diagnostikk under Globale innstillinger.
- Velg Aktiver sporing.
Mens du fortsatt er i Alternativer og innstillinger>for global>diagnostikk, velger du Åpne mappe for krasjdump/sporing. Kontroller at mappen er klar før du registrerer nye sporinger.
Reprodusere problemet.
Når du er ferdig, lukker du Power BI Desktop slik at loggene tømmes til disken.
Du kan vise de nylig registrerte sporingene under SapBw-mappen (Sporinger-mappen som inneholder SapBw-mappen, vises ved å velge åpne mappen for krasjdump/sporing på Diagnose-siden i Power BI Desktop).
Kontroller at du deaktiverer denne avanserte sporingen når du er ferdig, enten ved å fjerne miljøvariabelen eller angi PBI_EnableSapBwTracing til usann.
Samle inn AVANSERTE SAP BW-sporinger med CPIC-sporinger
Hvis du undersøker problemer med godkjenning eller enkel pålogging (SSO), kan du bruke samme fremgangsmåte som beskrevet i avanserte sporinger for Collect SAP BW, bortsett fra i trinn 2d, angi følgende flere systemvariabler og verdier:
- CPIC_TRACE – 3
- CPIC_TRACE_DIR – en gyldig mappe, for eksempel: E:\traces\CPIC
Resten av prosedyren forblir den samme. Du kan vise CPIC-sporingene i mappen du angav i miljøvariabelen CPIC_TRACE_DIR. Du kan også vise de vanlige sporingene under SapBw-mappen .
Kontroller også at du deaktiverer denne avanserte sporingen når du er ferdig, enten ved å fjerne miljøvariablene eller angi BI_EnableSapBwTracing til usann og CPIC_TRACE til 0.
Utfør ren installasjon av SAP .NET-kobling
Hvis det blir nødvendig å installere SAP .NET-koblingen på nytt:
Fjern (avinstaller) SAP .NET Koble til or.
Når du har fjernet, må du kontrollere at SAP .NET-Koble til oren ikke er installert i GAC (Global Assembly Cache), ved å kontrollere at følgende baner IKKE finnes eller ikke inneholder DLL-er:
32-biters GAC:
C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23
C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco_utils\v4.0_3.0.0.42__50436dca5c7f7d23
64-biters GAC:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco_utils\v4.0_3.0.0.42__50436dca5c7f7d23
Kontroller at binærfilene ikke er i programfiler. Kontroller at følgende plasseringer IKKE finnes eller er tomme:
C:\Programfiler\SAP\SAP_DotNet Koble til or3_Net40_x64
C:\Programfiler (x86)\sap\SAP_DotNet Koble til or3_Net40_x86
Installer koblingen på nytt, og husk å velge alternativet Installer samlinger til GAC . Vi anbefaler at du bruker den nyeste, 3.0.23.
Feilsøke feilmeldinger
Finner ikke SAP BW ErrorCode-metoden
Method not found: 'Int32 SAP.Middleware.Connector.RfcBaseException.get_ErrorCode()'
Denne feilen oppstår når det oppstår en feil på SAP BW-serveren, og SAP .NET-koblingen prøver å hente informasjon om denne feilen. Denne feilen kan imidlertid skjule den virkelige feilen. Denne feilen kan oppstå når:
Bruke en gammel versjon av SAP .NET-koblingen.
Flere versjoner av SAP .NET-koblingen er installert.
SAP .NET-koblingen ble installert to ganger, én gang i global samlingsbuffer (GAC) og én gang ikke i GAC.
Følg instruksjonene under Utfør ren installasjon av SAP .NET-kobling for å installere koblingen på nytt.
Dette løser ikke problemet, men vil gi den faktiske feilmeldingen.
Unntak: Typeinitialisereren for Microsoft.Mashup.Engine1.Library.SapBusinessWarehouse.
SapBwMicrosoftProviderFactoryService forårsaket et unntak.
Følg instruksjonene under Utfør ren installasjon av SAP .NET-kobling for å installere koblingen på nytt.
Denne koblingen krever én eller flere tilleggskomponenter
Hvis du får denne feilmeldingen, kan du bruke følgende fremgangsmåte for feilsøking:
Kontroller at versjonen av SAP .NET-koblingen er installert i riktig bitlengde. Hvis du har Power BI Desktop 64-biters installert, må du kontrollere at du installerte 64-biters SAP .NET-koblingen.
Kontroller at installasjon av SAP .NET-Koble til or ble kontrollert av installeringssamlingene i GAC. Hvis du vil bekrefte at GAC er installert, åpner du Windows Utforsker og går til:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco
Den fullstendige banen kan for eksempel være:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll
Hvis du installerte 32-bitersversjonen av SAP .NET-koblingen, ville det vært C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll (og du trenger en 32-biters versjon av Power BI Desktop).
En annen måte å sjekke GAC er å bruke gacutil (ett av alternativene for å deaktivere sterk navnesignering). Du må kjøre den fra en 64-biters ledetekst. Du kan kontrollere innholdet i GAC-en ved å åpne en ledetekst, navigere til gacutil.exe bane og kjøre:
gacutil -l
I utdataene skal du for eksempel se:
sapnco, Version=3.0.0.42, Culture=neutral, PublicKeyToken=50436dca5c7f7d23, processorArchitecture=AMD64 sapnco_utils, Version=3.0.0.42, Culture=neutral, PublicKeyToken=50436dca5c7f7d23, processorArchitecture=AMD64
"Ingen RFC-autorisasjon for funksjon ...*
Implementering 2.0 krever tilgang til følgende BAPI-er. Hvis du vil løse problemet, kan du kontakte SAP Basis-teamet og be om tillatelser til disse BAPI-ene og RFC-ene for brukeren.
Koble til ivitet:
- RFC_PING
- RFC_METADATA_GET
MDX-kjøring:
- RSR_MDX_CREATE_OBJECT
- BAPI_MDDATASET_CREATE_OBJECT
- BAPI_MDDATASET_SELECT_DATA
- BAPI_MDDATASET_DELETE_OBJECT
- RSR_MDX_GET_AXIS_INFO
- RSR_MDX_GET_AXIS_DATA
- RSR_MDX_GET_CELL_DATA
- BAPI_MDDATASET_GET_AXIS_INFO
- BAPI_MDDATASET_GET_AXIS_DATA
- BAPI_MDDATASET_GET_CELL_DATA
ExecutionMode-sammenslåing:
- RSR_MDX_GET_FLAT_DATA
- RSR_MDX_GET_FS_DATA
- BAPI_MDDATASET_GET_FLAT_DATA
- BAPI_MDDATASET_GET_FS_DATA
ExecutionMode-strømming:
- BAPI_MDDATASET_GET_STREAMDATA
- BAPI_MDDATASET_GET_STREAMINFO
ExecutionMode BasXml:
- RSR_MDX_BXML_GET_DATA
- RSR_MDX_BXML_GET_GZIP_DATA
- RSR_MDX_BXML_GET_INFO
- RSR_MDX_BXML_SET_BINDING
Metadata:
- BAPI_MDPROVIDER_GET_DIMENSIONS
- BAPI_MDPROVIDER_GET_CATALOGS
- BAPI_MDPROVIDER_GET_CUBES
- BAPI_MDPROVIDER_GET_MEASURES
- BAPI_MDPROVIDER_GET_HIERARCHYS
- BAPI_MDPROVIDER_GET_LEVELS
- BAPI_MDPROVIDER_GET_PROPERTIES
- BAPI_MDPROVIDER_GET_MEMBERS
- BAPI_MDPROVIDER_GET_VARIABLES
Informasjon:
- BAPI_IOBJ_GETDETAIL (obligatorisk for innskrevne dimensjoner (DATS, TIMS))
- BAPI_USER_GET_DETAIL (bare brukt til sammenslåing av grensesnitt)
- RFC_READ_TABLE (kreves for katalognavn og visse kall med variable verdier)
Kan kalles av den underliggende SAP .NET-koblingen:
- RFC_GET_FUNCTION_INTERFACE
- FUNCTION_IMPORT_INTERFACE
- DDIF_FIELDINFO_GET
- SYSTEM_FINISH_ATTACH_GUI
- BGRFC_DEST_CONFIRM
- BGRFC_CHECK_UNIT_STATE_SERVER
- BGRFC_DEST_SHIP
- ARFC_DEST_SHIP
- RFC_FUNCTION_SEARCH
- RFC_SYSTEM_INFO
- RFC_SET_REG_SERVER_PROPERTY
- RFC_DOCU
- SEO_GET_CLIF_REMOTE
- SYSTEM_PREPARE_ATTACH_GUI
- API_CLEAR_TID
- ARFC_DEST_CONFIRM
Finner ikke metoden Int32 SAP. Mellomvare. Koble til eller. RfcBaseException.get_ErrorCode()
Kontroller at SAP .NET-koblingen er riktig installert. Se Utføre ren installasjon av SAP .NET-kobling.
Denne feilen vises når den installerte versjonen i GAC er lavere enn den forventede 3.0.18.0-versjonen. SAP Obs! 2417315 diskuterer dette scenarioet.
Koble til ionstrengegenskaper angitt av koblingen
Når både SNC-partnernavn og SNC-bibliotek er angitt, angir SAP BW Application Server-koblingen (implementering 2.0) disse egenskapene i tilkoblingsstreng:
- SNC_MODE — SncModeApply
- SNC_LIB – med angitt bibliotekbane; Hvis det er en miljøvariabel, utvides den nå
- SNC_PARTNERNAME – med den angitte verdien
- SNC_QOP = RfcConfigParameters.RfcSncQOP.Default
Disse brukes for både SAP BW-programserver og SAP BW-meldingsservertilkoblinger.
For begge tilkoblingstypene angir koblingen:
- LANG (språk)
- KLIENT
For SAP BW Application Server-tilkoblingen angir koblingen:
- ASHOST (AppServerHost)
- SYSNR (SystemNumber)
For SAP BW-meldingsservertilkoblinger angir koblingen:
- MSHOST (MessageServerHost)
- SYSID (SystemID)
- GROUP (LogonGroup)
Ugyldig MDX-kommando med <intern>
Denne feilen kommer direkte fra SAP BW-serveren. Implementering 1 av koblingen, basert på Netweaver RFC, viste ikke disse feilene for brukeren, og returnerte i stedet et tomt resultatsett.
Dette problemet beskrives i følgende SAP-notater. Tilgang til disse notatene krever en S-bruker. Kontakt SAP Basis-teamet for å bruke de relevante løsningene for dette problemet.
- 1084454 – MDX: Systemfeil «Ugyldig MDX-kommando med <intern>»
- 1282785 – MDX: Systemfeil «Ugyldig MDX-kommando med <intern>»
- 401607 – Feil ved MDX-kommandoen med CROSSJOIN i sliceren
- 1786009 – Ugyldig MDX når du bruker en medlemsformel med spesialtegn
I tillegg, for andre lignende feil, kan du se gjennom innholdet i følgende SAP-notater og bruke dem etter behov for miljøet ditt:
- 1142664 – MDX: Sammensatt SAP Obs! om ytelsesforbedringer
- 1156101 – MDX: Sammensatt SAP-merknad om uriktige data
Problemer og begrensninger
Hvis du endrer variabelnavn på en SAP-kube, settes DirectQuery-rapporten i en ødelagt, uopprettelig tilstand
Følgende symptomer oppstår:
Feilmelding –
[Expression.Error] The import [XXXX] matches no exports.
I loggene –
Message: [Expression.Error] The key didn't match any rows in the table.
StackTrace:
at Microsoft.Mashup.Engine1.Runtime.TableValue.get_Item(Value key) at Microsoft.Mashup.Engine1.Library.Cube.CubeParametersModule.Cube.ApplyParameterFunctionValue.GetParameterValue(CubeValue cubeValue, Value parameter) at Microsoft.Mashup.Engine1.Library.Cube.CubeParametersModule.Cube.ApplyParameterFunctionValue.TypedInvoke(TableValue cube, Value parameter, Value arguments) Detail: [Key = [Id = \"[!V000004]\"], Table = #table({...}, {...})]
Én mulig løsning er å:
Lag en kopi av PBIX-filen (som ting kan gå i stykker).
Legg til en miljøvariabel kalt PBI_AlwaysEnableQueryEditor med verdien sann. Denne innstillingen gir tilgang til redigeringsprogrammet for spørringen selv i DirectQuery-modus.
Merk
Denne miljøvariabelen støttes ikke, så bør bare brukes som beskrevet her.
Høyreklikk på Kube-spørringen, og velg avansert redigering.
Spørringen der skal ha en linje som starter med {Cube.ApplyParameter, "[! V000004]" (den manglende parameteren)". Fjern denne linjen.
Velg Ferdig.
Lukk Power Query-redigering.
Oppdater det berørte visualobjektet.
Hvis løsningen ovenfor ikke fungerer, er den eneste alternative løsningen at du kan opprette rapporten på nytt.
Numeriske data fra SAP BW
Merk
Følgende informasjon gjelder bare når du bruker implementering 1.0 av SAP BW-koblingen eller implementering 2.0 av SAP BW-koblingen med flatingsmodus (når ExecutionMode=67).
Brukerkontoer i SAP BW har standardinnstillinger for hvordan desimal- eller dato/klokkeslett-verdier formaters når de vises for brukeren i SAP GUI.
Standardinnstillingene opprettholdes i SAP-systemet i brukerprofilen for en konto, og brukeren kan vise eller endre disse innstillingene i SAP GUI med menybanen System>User Profile>Own Data.
Power BI Desktop spør SAP-systemet for desimalmering av den tilkoblede brukeren og bruker notasjonen til å formatere desimalverdier i dataene fra SAP BW.
SAP BW returnerer desimaldata med enten et ,
(komma) eller en .
(prikk) som desimalskilletegn. Hvis du vil angi hvilken av disse SAP BW-ene som skal brukes for desimalskilletegnet, ringer driveren som brukes av Power BI Desktop til BAPI_USER_GET_DETAIL
. Dette kallet returnerer en struktur kalt DEFAULTS
, som har et felt DCPFM
kalt Desimalformat notasjon. Feltet tar én av følgende verdier:
- ' ' (mellomrom) = Desimaltegn er komma: N.NNN,NN
- 'X' = Desimaltegn er punktum: N,NNN.NN
- 'Y' = Desimaltegn er N NNN NNN,NN
Kunder som har rapportert dette problemet, fant ut at kallet til BAPI_USER_GET_DETAIL
mislykkes for en bestemt bruker, som viser feil data, med en feilmelding som ligner på følgende melding:
You are not authorized to display users in group TI:
<item>
<TYPE>E</TYPE>
<ID>01</ID>
<NUMBER>512</NUMBER>
<MESSAGE>You are not authorized to display users in group TI</MESSAGE>
<LOG_NO/>
<LOG_MSG_NO>000000</LOG_MSG_NO>
<MESSAGE_V1>TI</MESSAGE_V1>
<MESSAGE_V2/>
<MESSAGE_V3/>
<MESSAGE_V4/>
<PARAMETER/>
<ROW>0</ROW>
<FIELD>BNAME</FIELD>
<SYSTEM>CLNTPW1400</SYSTEM>
</item>
Hvis du vil løse denne feilen, må brukerne be SAP-administratoren om å gi SAP BW-brukeren som brukes i Power BI, rettigheten til å kjøre BAPI_USER_GET_DETAIL
. Det er også verdt å bekrefte at brukeren har den nødvendige DCPFM
verdien, som beskrevet tidligere i denne feilsøkingsløsningen.
Koble til ivitet for SAP BEx-spørringer
Du kan utføre BEx-spørringer i Power BI Desktop ved å aktivere en bestemt egenskap, som vist på følgende bilde:
Begrensning av MDX-grensesnitt
En begrensning av MDX-grensesnittet er at lange variabler mister sitt tekniske navn og erstattes av V00000#.
Ingen forhåndsvisning av data i Navigator-vinduet
I noen tilfeller viser ikke dialogboksen Navigator en forhåndsvisning av data, og gir i stedet en objektreferanse som ikke er angitt til en forekomst av en objektfeilmelding.
SAP-brukere trenger tilgang til bestemte BAPI-funksjonsmoduler for å hente metadata og hente data fra SAP BWs InfoProviders. Disse modulene omfatter:
- BAPI_MDPROVIDER_GET_CATALOGS
- BAPI_MDPROVIDER_GET_CUBES
- BAPI_MDPROVIDER_GET_DIMENSIONS
- BAPI_MDPROVIDER_GET_HIERARCHYS
- BAPI_MDPROVIDER_GET_LEVELS
- BAPI_MDPROVIDER_GET_MEASURES
- BAPI_MDPROVIDER_GET_MEMBERS
- BAPI_MDPROVIDER_GET_VARIABLES
- BAPI_IOBJ_GETDETAIL
Hvis du vil løse dette problemet, må du kontrollere at brukeren har tilgang til de ulike MDPROVIDER-modulene og BAPI_IOBJ_GETDETAIL
. Hvis du vil feilsøke dette eller lignende problemer, kan du aktivere sporing. Velg Fil>Alternativer og innstillinger>Alternativer. Velg Diagnostikk i Alternativer, og velg deretter Aktiver sporing. Prøv å hente data fra SAP BW mens sporing er aktiv, og undersøk sporingsfilen for mer detaljert informasjon.
Minneunntak
I noen tilfeller kan det oppstå en av følgende minnefeil:
Message: No more memory available to add rows to an internal table.
Message: [DataSource.Error] SAP Business Warehouse: The memory request for [number] bytes could not be complied with.
Message: The memory request for [number] bytes could not be complied with.
Disse minneunntakene er fra SAP BW-serveren og skyldes at serveren går tom for tilgjengelig minne for å behandle spørringen. Dette kan skje når spørringen returnerer et stort sett med resultater, eller når spørringen er for kompleks for serveren til å håndtere, for eksempel når en spørring har mange krysskoblinger.
For å løse denne feilen er anbefalingen å forenkle spørringen eller dele den inn i mindre spørringer. Hvis det er mulig, kan du sende mer aggregasjon til serveren. Du kan også kontakte SAP Basis-teamet for å øke ressursene som er tilgjengelige på serveren.
Innlasting av tekststrenger som er lengre enn 60 tegn i Power BI Desktop, mislykkes
I noen tilfeller kan det hende at tekststrenger avkortes til 60 tegn i Power BI Desktop.
Følg først instruksjonene i 2777473 – MDX: Vanlige spørsmål om power bi-tilgang til BW eller BW/4HANA , og se om dette løser problemet.
Siden Power Query SAP Business Warehouse-koblingen bruker MDX-grensesnittet som leveres av SAP for tredjepartstilgang, må du kontakte SAP for mulige løsninger fordi de eier laget mellom MDX-grensesnittet og SAP BW-serveren. Spør hvordan «lang tekst er XL» kan angis for det bestemte scenarioet.
CHAR-grense på 60 til tross for «lang tekst» i SAP BW
Det finnes en kjent begrensning der «lang tekst»-egenskaper i SAP BW vises med en grense på 60 tegn i Power BI. Denne tegngrensen skyldes en begrensning i MDX-grensesnittet, og det finnes ingen kjent løsning. SAP har dokumentert denne MDX-begrensningen i dette SAP-notatet.
Overføre til implementering 2.0 når du bruker Direct Query
På grunn av avskrivingen av implementering 1.0 av SAP Business Warehouse-koblingen, må du kanskje oppdatere spørringene for å dra nytte av implementering 2.0. Når du bruker Direktespørring, er tilgangen til redigeringsprogrammet for spørring begrenset. Så du kan ikke enkelt gå over til implementering 2.0 uten å gjenskape hele spørringen. Løsningen er å legge til en systemmiljøvariabel for å gi tilgang til redigeringsprogrammet for spørringen. Vær oppmerksom på at følgende trinn ikke støttes offisielt, og bør bare brukes som beskrevet her.
- Opprett en ny miljøvariabel enten ved å navigere til Filutforsker> Dette SYSTEM-innstillingene For avanserte systeminnstillinger>for PC-egenskaper>>, miljøvariabler>, systemvariabler>ny, eller ved å åpne en ledetekst og skrive inn
sysdm.cpl
og deretter velge Ny under Systemvariabler. - Gi navn til miljøvariabelen
PBI_AlwaysEnableQueryEditor
, og angi verdientrue
. Denne variabelinnstillingen gir tilgang til redigeringsprogrammet for spørring selv i direkte spørringsmodus. - Velg Transformer data i Hjem-fanen i Power BI Desktop for å åpne redigeringsprogrammet for Power Query.
- Oppdater spørringen for å bruke implementering 2.0 ved å følge disse instruksjonene, fra og med trinn 2 i denne artikkelen.
Sluttspørringen skal se omtrent slik SapBusinessWarehouse.Cubes("server", "system", "clientId", [Implementation = "2.0"])
ut.