Fejlfinding af SAP Business Warehouse-connector
Denne artikel indeholder fejlfindingssituationer (og mulige løsninger) til at arbejde med SAP Business Warehouse-connectoren (BW).
Indsaml avancerede SAP BW-sporinger
Bemærk
Indsamling af en sporing af en forespørgsel, der er sendt til SAP BW-serveren, kræver nogle indstillinger, der kun kan angives ved hjælp af Power BI Desktop. Hvis du ikke allerede har en kopi af Power BI Desktop, kan du hente en kopi på Microsoft Download Center. Du kan angive alle de påkrævede indstillinger for avancerede sporinger ved hjælp af denne gratis version.
Mange gange, når der opstår en fejl, kan det være en fordel at indsamle en sporing af den forespørgsel, der blev sendt til SAP BW-serveren og dens svar. I følgende procedure kan du se, hvordan du konfigurerer avancerede sporinger for problemer, der opstår ved hjælp af SAP BW-connectoren.
Luk Power BI Desktop, hvis det kører.
Opret en ny miljøvariabel:
I Windows Kontrolpanel skal du vælge System>Advanced System Indstillinger.
Du kan også åbne en kommandoprompt og angive sysdm.cpl.
Under Egenskaber for system skal du vælge fanen Avanceret og derefter vælge Miljøvariabler.
Under Miljøvariabler under Systemvariabler skal du vælge Ny.
Angiv PBI_EnableSapBwTracing under Variabelnavn under Ny systemvariabel, og angiv true under Variabelværdi.
Vælg OK.
Når denne avancerede sporing aktiveres, oprettes der en ekstra mappe med navnet SapBw i mappen Sporinger . Se resten af denne procedure for at få oplysninger om placeringen af mappen Traces .
Åbn Power BI Desktop.
Ryd cachen, før du henter den.
- Vælg fanen Filer i Power BI Desktop.
- Vælg Indstillinger Indstillinger>.
- Under Globale indstillinger skal du vælge Dataindlæsning.
- Vælg Ryd cache.
Aktivér sporing, mens du stadig er i Indstillinger.
- Under Globale indstillinger skal du vælge Diagnosticering.
- Vælg Aktivér sporing.
Mens du stadig er i Indstillinger>Global>diagnosticering, skal du vælge Åbn mappen crashdump/sporinger. Sørg for, at mappen er ryddet, før du henter nye sporinger.
Genskab problemet.
Når du er færdig, skal du lukke Power BI Desktop, så loggene ryddes til disken.
Du kan få vist de nyligt hentede sporinger under mappen SapBw (mappen Sporinger , der indeholder SapBw-mappen , vises ved at vælge Åbn crashdump/sporingsmappe på siden Diagnosticering i Power BI Desktop).
Sørg for at deaktivere denne avancerede sporing, når du er færdig, ved enten at fjerne miljøvariablen eller angive PBI_EnableSapBwTracing til falsk.
Indsaml avancerede SAP BW-sporinger med CPIC-sporinger
Hvis du undersøger problemer med godkendelse eller enkeltlogon (SSO), skal du bruge den samme procedure som beskrevet i Indsaml avancerede SAP BW-sporinger, undtagen i trin 2d, skal du angive følgende yderligere systemvariabler og -værdier:
- CPIC_TRACE-3
- CPIC_TRACE_DIR – en gyldig mappe, f.eks.: E:\traces\CPIC
Resten af proceduren forbliver den samme. Du kan få vist CPIC-sporingerne i den mappe, du har angivet i miljøvariablen CPIC_TRACE_DIR. Du kan også få vist de almindelige sporinger under mappen SapBw .
Sørg også for at deaktivere denne avancerede sporing, når du er færdig, ved enten at fjerne miljøvariablerne eller angive BI_EnableSapBwTracing til false og CPIC_TRACE til 0.
Udfør en ren installation af SAP .NET-connectoren
Hvis det bliver nødvendigt at geninstallere SAP .NET-connectoren:
Fjern (fjern) SAP .NET Forbind or.
Når du har fjernet, skal du kontrollere, at SAP .NET Forbind or ikke er installeret i GAC (Global Assembly Cache) ved at sikre, at følgende stier IKKE findes eller IKKE indeholder DLL-filer:
32-bit 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-bit 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
Kontrollér, at de binære filer ikke findes i programfiler. Kontrollér, at følgende placeringer IKKE findes eller er tomme:
C:\Programmer\SAP\SAP_DotNet Forbind or3_Net40_x64
C:\Programmer (x86)\sap\SAP_DotNet Forbind or3_Net40_x86
Geninstaller connectoren, og husk at vælge indstillingen Installer assemblies til GAC . Vi anbefaler, at du bruger den nyeste version af 3.0.23.
Fejlfinding af fejlmeddelelser
Metoden SAP BW ErrorCode blev ikke fundet
Method not found: 'Int32 SAP.Middleware.Connector.RfcBaseException.get_ErrorCode()'
Denne fejl udløses, når der opstår en fejl på SAP BW-serveren, og SAP .NET-connectoren forsøger at hente oplysninger om fejlen. Denne fejl kan dog skjule den reelle fejl. Denne fejl kan opstå, når:
Brug af en gammel version af SAP .NET-connectoren.
Der er installeret flere versioner af SAP .NET-connectoren.
SAP .NET-connectoren blev installeret to gange, én gang i GAC (Global Assembly Cache) og én gang ikke i GAC.
Følg vejledningen under Udfør en ren installation af SAP .NET-connectoren for at geninstallere connectoren.
Dette løser ikke problemet, men giver den faktiske fejlmeddelelse.
Undtagelse: Typeinitialiseringsfunktionen for 'Microsoft.Mashup.Engine1.Library.SapBusinessWarehouse.
SapBwMicrosoftProviderFactoryService' udløste en undtagelse.
Følg vejledningen under Udfør en ren installation af SAP .NET-connectoren for at geninstallere connectoren.
Denne connector kræver en eller flere ekstra komponenter
Hvis du får vist denne fejlmeddelelse, skal du bruge følgende fejlfindingstrin:
Kontrollér, at versionen af SAP .NET-connectoren er installeret med den korrekte bitlængde. Hvis du har installeret Power BI Desktop 64-bit, skal du kontrollere, at du har installeret 64-bit SAP .NET-connectoren.
Kontrollér, at installation af SAP .NET Forbind or blev kontrolleret. Hvis du vil kontrollere, at GAC er installeret, skal du åbne Windows Stifinder og gå til:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco
Den fulde sti kan f.eks. være:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll
Hvis du har installeret 32-bit versionen af SAP .NET-connectoren, er det C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll (og du skal bruge en 32-bit version af Power BI Desktop).
En anden måde at kontrollere GAC på er at bruge gacutil (en af mulighederne for at deaktivere signering af stærkt navn). Du skal køre den fra en 64-bit kommandoprompt. Du kan kontrollere indholdet af GAC ved at åbne en kommandoprompt, navigere til den gacutil.exe sti og udføre:
gacutil -l
I outputtet kan du f.eks. se:
sapnco, Version=3.0.0.42, Kultur=neutral, PublicKeyToken=50436dca5c7f7d23, processorArchitecture=AMD64 sapnco_utils, Version=3.0.0.42, Culture=neutral, PublicKeyToken=50436dca5c7f7d23, processorArchitecture=AMD64
"Ingen RFC-godkendelse for funktionen ...*
Implementation 2.0 kræver adgang til følgende BAPIs. Du kan løse problemet ved at kontakte SAP Basis-teamet og anmode om tilladelser til disse BAPIs og RFC'er for brugeren.
Forbind ivitet:
- RFC_PING
- RFC_METADATA_GET
MDX-udførelse:
- 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 fladgøring:
- RSR_MDX_GET_FLAT_DATA
- RSR_MDX_GET_FS_DATA
- BAPI_MDDATASET_GET_FLAT_DATA
- BAPI_MDDATASET_GET_FS_DATA
ExecutionMode-streaming:
- 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
Oplysninger:
- BAPI_IOBJ_GETDETAIL (kræves til angivne dimensioner (DATS, TIMS))
- BAPI_USER_GET_DETAIL (bruges kun til flade grænseflader)
- RFC_READ_TABLE (påkrævet ved kald af katalognavne og visse variabelværdier)
Kan kaldes af den underliggende SAP .NET-connector:
- 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
Metoden 'Int32 SAP' blev ikke fundet. Middleware. Forbind eller. RfcBaseException.get_ErrorCode()
Kontrollér, at SAP .NET-connectoren er installeret korrekt. Se Udfør en ren installation af SAP .NET-connectoren.
Denne fejl vises, når den installerede version i GAC er lavere end den forventede 3.0.18.0-version. SAP Note 2417315 beskriver dette scenarie.
Forbind ionstrengegenskaber, der er angivet af connectoren
Når både SNC-partnernavn og SNC-bibliotek er angivet, angiver SAP BW Application Server-connectoren (implementation 2.0) disse egenskaber i forbindelsesstreng:
- SNC_MODE – SncModeApply
- SNC_LIB – med den angivne bibliotekssti; hvis det er en miljøvariabel, udvides den på dette tidspunkt
- SNC_PARTNERNAME – med den angivne værdi
- SNC_QOP = RfcConfigParameters.RfcSncQOP.Default
Disse bruges til både SAP BW Application Server- og SAP BW Message Server-forbindelser.
For begge forbindelsestyper angiver connectoren:
- LANG (sprog)
- KLIENT
For forbindelsen til SAP BW Application Server angiver connectoren:
- ASHOST (AppServerHost)
- SYSNR (SystemNumber)
For SAP BW-meddelelsesserverforbindelser angiver connectoren:
- MSHOST (MessageServerHost)
- SYSID (SystemID)
- GROUP (LogonGroup)
Ugyldig MDX-kommando med <intern>
Denne fejl kommer direkte fra SAP BW-serveren. Implementering 1 af connectoren, der er baseret på Netweaver RFC, viste ikke disse fejl for brugeren og returnerede et tomt resultatsæt i stedet.
Dette problem er beskrevet i følgende SAP-noter. Adgang til disse noter kræver en S-bruger. Kontakt dit SAP Basis-team for at anvende de relevante rettelser til dette problem.
- 1084454 – MDX: Systemfejl "Ugyldig MDX-kommando med <intern>"
- 1282785 – MDX: Systemfejl "Ugyldig MDX-kommando med <intern>"
- 401607 – Fejl ved MDX-kommando med CROSSJOIN i udsnittet
- 1786009 – ugyldig MDX, når der bruges en medlemsformel med specialtegn
Derudover kan du for andre lignende fejl gennemse indholdet af følgende SAP-noter og anvende dem efter behov for dit miljø:
- 1142664 – MDX: Sammensat SAP Note om forbedringer af ydeevnen
- 1156101 – MDX: Sammensat SAP Note om forkerte data
Problemer og begrænsninger
Ændring af variabelnavne i en SAP-kube sætter DirectQuery-rapporten i en ødelagt, uoprettelig tilstand
Følgende symptomer opstår:
Fejlmeddelelse–
[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({...}, {...})]
En mulig løsning er at:
Opret en kopi af PBIX-filen (som tingene kan gå i stykker).
Tilføj en miljøvariabel med navnet PBI_AlwaysEnableQueryEditor med værdien true. Denne indstilling giver adgang til forespørgselseditoren selv i DirectQuery-tilstand.
Bemærk
Denne miljøvariabel understøttes ikke, så den bør kun bruges som beskrevet her.
Højreklik på forespørgslen "Kube", og vælg Avanceret editor.
Forespørgslen der skal have en linje, der starter med "{Cube.ApplyParameter, "[! V000004]" (den manglende parameter)". Fjern linjen.
Vælg Udført.
Luk Power Query-editor.
Opdater den pågældende visualisering.
Hvis ovenstående løsning ikke fungerer, er den eneste alternative løsning, at du genopretter rapporten.
Numeriske data fra SAP BW
Bemærk
Følgende oplysninger gælder kun, når du bruger Implementation 1.0 af SAP BW-connectoren eller Implementation 2.0 af SAP BW-connectoren med fladgørelsestilstand (når ExecutionMode=67).
Brugerkonti i SAP BW har standardindstillinger for, hvordan decimal- eller dato-/klokkeslætsværdier formateres, når de vises for brugeren i SAP GUI.
Standardindstillingerne vedligeholdes i SAP-systemet i brugerprofilen for en konto, og brugeren kan få vist eller ændre disse indstillinger i SAP GUI med menustien System>User Profile>Own Data.
Power BI Desktop forespørger SAP-systemet om decimalnotationen for den tilsluttede bruger og bruger denne notation til at formatere decimalværdier i dataene fra SAP BW.
SAP BW returnerer decimaldata med enten et ,
(komma) eller en .
(prik) som decimalseparator. Hvis du vil angive, hvilken af disse SAP BW der skal bruges som decimalseparator, foretager den driver, der bruges af Power BI Desktop, et kald til BAPI_USER_GET_DETAIL
. Dette kald returnerer en struktur med navnet DEFAULTS
, som har et felt kaldet DCPFM
, der gemmer decimalformatnotation. Feltet bruger en af følgende værdier:
- ' ' (mellemrum) = Decimaltegnet er komma: N.NNN,NN
- 'X' = Decimaltegnet er punktum: N,NNN.NN
- 'Y' = Decimaltegnet er N NNN NNN,NN
Kunder, der har rapporteret dette problem, har registreret, at kaldet til BAPI_USER_GET_DETAIL
mislykkes for en bestemt bruger, som viser de forkerte data, med en fejlmeddelelse, der ligner følgende meddelelse:
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>
For at løse denne fejl skal brugerne bede deres SAP-administrator om at give den SAP BW-bruger, der bruges i Power BI, ret til at udføre BAPI_USER_GET_DETAIL
. Det er også værd at kontrollere, at brugeren har den nødvendige DCPFM
værdi, som beskrevet tidligere i denne fejlfindingsløsning.
Forbind ivitet for SAP BEx-forespørgsler
Du kan udføre BEx-forespørgsler i Power BI Desktop ved at aktivere en bestemt egenskab, som vist på følgende billede:
Begrænsning af MDX-grænseflade
En begrænsning i MDX-grænsefladen er, at lange variabler mister deres tekniske navn og erstattes af V00000#.
Der er ingen eksempelvisning af data i vinduet Navigator
I nogle tilfælde vises der ikke et eksempel på data i dialogboksen Navigator , og der vises i stedet en objektreference, der ikke er angivet til en forekomst af en objektfejlmeddelelse .
SAP-brugere skal have adgang til specifikke BAPI-funktionsmoduler for at hente metadata og hente data fra SAP BW's InfoProviders. Disse moduler 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
Du kan løse dette problem ved at kontrollere, at brugeren har adgang til de forskellige MDPROVIDER-moduler og BAPI_IOBJ_GETDETAIL
. Hvis du vil foretage yderligere fejlfinding af dette eller lignende problemer, kan du aktivere sporing. Vælg Fil>Funktioner og indstillinger>Funktioner. Under Indstillinger skal du vælge Diagnosticering og derefter vælge Aktivér sporing. Forsøg at hente data fra SAP BW, mens sporing er aktiv, og undersøg sporingsfilen for at få flere oplysninger.
Hukommelsesundtagelser
I nogle tilfælde kan der opstå en af følgende hukommelsesfejl:
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 hukommelsesundtagelser er fra SAP BW-serveren og skyldes, at serveren løber tør for tilgængelig hukommelse til behandling af forespørgslen. Dette kan ske, når forespørgslen returnerer et stort sæt resultater, eller når forespørgslen er for kompleks til, at serveren kan håndtere, f.eks. når en forespørgsel har mange krydsjoins.
For at løse denne fejl anbefales det at forenkle forespørgslen eller opdele den i mindre forespørgsler. Hvis det er muligt, skal du sende flere sammenlægninger til serveren. Du kan også kontakte dit SAP Basis-team for at øge de ressourcer, der er tilgængelige på serveren.
Indlæsning af tekststrenge, der er længere end 60 tegn i Power BI Desktop, mislykkes
I nogle tilfælde kan du opleve, at tekststrenge afkortes til 60 tegn i Power BI Desktop.
Først skal du følge vejledningen i 2777473 – MDX: Ofte stillede spørgsmål om Power BI-adgang til BW eller BW/4HANA og se, om det løser dit problem.
Da Power Query SAP Business Warehouse-connectoren bruger DEN MDX-grænseflade, der leveres af SAP til tredjepartsadgang, skal du kontakte SAP for at få mulige løsninger, da de ejer laget mellem MDX-grænsefladen og SAP BW-serveren. Spørg, hvor "lang tekst er XL" kan angives for dit specifikke scenarie.
CHAR-grænse på 60 på trods af "lang tekst" i SAP BW
Der er en kendt begrænsning, hvor "lange tekst"-egenskaber i SAP BW vises med en grænse på 60 tegn i Power BI. Denne tegngrænse skyldes en begrænsning i MDX-grænsefladen, og der er ingen kendt løsning tilgængelig. SAP har dokumenteret denne MDX-begrænsning i denne SAP-note.
Overførsel til implementation 2.0, når direct query bruges
På grund af udfasningen af implementering 1.0 af SAP Business Warehouse-connectoren skal du muligvis opdatere dine forespørgsler for at drage fordel af implementering 2.0. Når du bruger Direct Query, er adgangen til forespørgselseditoren begrænset. Så du kan ikke nemt skifte til implementation 2.0 uden at oprette hele forespørgslen igen. Løsningen er at tilføje en systemmiljøvariabel for at give adgang til forespørgselseditoren. Bemærk, at følgende trin ikke understøttes officielt og kun bør bruges som beskrevet her.
- Opret en ny miljøvariabel ved enten at gå til Stifinder> Dette pc-egenskaber>>Avancerede systemindstillinger>Miljøvariabler>Systemvariabler>Nye eller ved at åbne en kommandoprompt og angive
sysdm.cpl
og derefter vælge Ny under Systemvariabler. - Navngiv miljøvariablen
PBI_AlwaysEnableQueryEditor
, og angiv værdientrue
. Denne variabelindstilling giver adgang til forespørgselseditoren selv i Direct Query-tilstand. - Under fanen Hjem i Power BI Desktop skal du vælge Transformér data for at åbne Power Query-editoren.
- Opdater forespørgslen for at bruge implementation 2.0 ved at følge disse instruktioner startende med trin 2 i den pågældende artikel.
Slutforespørgslen bør ligne .SapBusinessWarehouse.Cubes("server", "system", "clientId", [Implementation = "2.0"])