problemen SAP Business Warehouse connector oplossen
Dit artikel bevat situaties voor probleemoplossing (en mogelijke oplossingen) voor het werken met de SAP Business Warehouse (BW)-connector.
Geavanceerde traceringen SAP BW verzamelen
Notitie
Voor het verzamelen van een traceer van een query die naar de SAP BW server is verzonden, zijn enkele opties en instellingen vereist die alleen kunnen worden opgegeven met behulp van Power BI Desktop. Als u nog geen kopie van de Power BI Desktop hebt, kunt u een kopie verkrijgen in het Microsoft Downloadcentrum. U kunt alle vereiste opties en instellingen voor geavanceerde traceringen instellen met behulp van deze gratis versie.
Vaak wanneer er een fout optreedt, kan het nuttig zijn om een trace van de query te verzamelen die naar de SAP BW server en het antwoord ervan is verzonden. De volgende procedure laat zien hoe u geavanceerde traceringen kunt instellen voor problemen die zich voordoen met behulp van SAP BW connector.
Sluit Power BI Desktop als deze wordt uitgevoerd.
Maak een nieuwe omgevingsvariabele:
Selecteer in Windows Configuratiescherm de optie Systeem > geavanceerd systeem Instellingen.
U kunt ook een opdrachtprompt openen en invoeren sysdm.cpl.
Selecteer in Systeemeigenschappen het tabblad Geavanceerd en selecteer vervolgens Omgevingsvariabelen.
Selecteer in Omgevingsvariabelen onder Systeemvariabelen de optie Nieuw.
Voer in Nieuwe systeemvariabele onder Variabelenaam PBI_EnableSapBwTracing en voer onder Variabele waarde true in.
Selecteer OK.
Wanneer deze geavanceerde tracering is geactiveerd, wordt er een extra map met de naam SapBw gemaakt in de map Traces. Zie de rest van deze procedure voor de locatie van de map Traces.
Open Power BI Desktop.
Wissen van de cache voordat u vast te leggen.
- Selecteer Power BI bureaublad het tabblad Bestand.
- Selecteer Opties en instellingen > Opties.
- Kies onder Algemene instellingen de optie Gegevens laden.
- Selecteer Cache wissen.
Schakel tracering in terwijl u zich nog steeds in Opties en instellingen.
- Kies diagnostische gegevens onder Algemene instellingen.
- Selecteer Tracering inschakelen.
Terwijl u zich nog steeds in opties en instellingen > globale > diagnostische gegevens, selecteert u open crashdump/traceringen map. Zorg ervoor dat de map leeg is voordat u nieuwe traceringen vast legt.
Reproduceer het probleem.
Als u klaar bent, sluit Power BI Desktop zodat de logboeken naar de schijf worden getrokken.
U kunt de zojuist vastgelegde traceringen bekijken onder de map SapBw (de map Traces die de map SapBw bevat, wordt weergegeven door Map met crashdumps/traceringen openen te selecteren op de pagina Diagnostische gegevens in Power BI Desktop).
Zorg ervoor dat u deze geavanceerde tracering deactiveert wanneer u klaar bent, door de omgevingsvariabele te verwijderen of door de instelling PBI_EnableSapBwTracing op false.
Geavanceerde SAP BW verzamelen met CPIC-traceringen
Als u problemen met verificatie of eenmalige aanmelding (SSO) onderzoekt, gebruikt u dezelfde procedure als beschreven in Geavanceerde traceringen verzamelen van SAP BW,behalve in stap 2d, voert u de volgende aanvullende systeemvariabelen en -waarden in:
- CPIC_TRACE — 3
- CPIC_TRACE_DIR een — geldige map, bijvoorbeeld: E:\traces\CPIC
De rest van de procedure blijft hetzelfde. U kunt de CPIC-traceringen weergeven in de map die u hebt opgegeven in CPIC_TRACE_DIR omgevingsvariabele. U kunt ook de reguliere traceringen bekijken in de map SapBw.
Zorg er ook voor dat u deze geavanceerde tracering deactiveert wanneer u klaar bent, door de omgevingsvariabelen te verwijderen of door BI_EnableSapBwTracing in te stellen op false en CPIC_TRACE op 0.
Schone installatie van SAP .NET-connector uitvoeren
Als het nodig is om de SAP .NET-connector opnieuw te installeren:
Verwijder (verwijder) de SAP .NET-connector.
Controleer na het verwijderen of de SAP .NET-connector niet is geïnstalleerd in de Global Assembly Cache (GAC), door ervoor te zorgen dat de volgende paden NIET bestaan of GEEN DLL's bevatten:
32-bits 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-bits 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
Controleer of de binaire bestanden zich niet in Program Files (Programmabestanden) hebben. Zorg ervoor dat de volgende locaties NIET bestaan of leeg zijn:
C:\Program Files\SAP\SAP_DotNetConnector3_Net40_x64
C:\Program Files (x86)\sap\SAP_DotNetConnector3_Net40_x86
Installeer de connector opnieuw en vergeet niet om de optie Assemblies installeren op GAC te selecteren. U wordt aangeraden de meest recente versie 3.0.23 te gebruiken.
Foutberichten oplossen
SAP BW ErrorCode-methode niet gevonden
Method not found: 'Int32 SAP.Middleware.Connector.RfcBaseException.get_ErrorCode()'
Deze fout treedt op wanneer er een fout optreedt op de SAP BW-server en de SAP .NET-connector informatie over die fout probeert op te halen. Deze fout kan echter de werkelijke fout verbergen. Deze fout kan optreden wanneer:
Een oude versie van de SAP .NET-connector gebruiken.
Er worden meerdere versies van de SAP .NET-connector geïnstalleerd.
De SAP .NET-connector is twee keer geïnstalleerd, eenmaal in de Global Assembly Cache (GAC) en eenmaal niet in de GAC.
Volg de instructies onder Schone installatie van SAP .NET-connector uitvoeren om de connector opnieuw te installeren.
Hiermee wordt het probleem niet opgelost, maar wordt het werkelijke foutbericht weergegeven.
Uitzondering: het type initializer voor 'Microsoft.Mashup.Engine1.Library.SapBusinessWarehouse.
SapBwMicrosoftProviderFactoryService heeft een uitzondering gemaakt.
Volg de instructies onder Schone installatie van SAP .NET-connector uitvoeren om de connector opnieuw te installeren.
Voor deze connector zijn een of meer extra onderdelen vereist
Als u dit foutbericht ontvangt, gebruikt u de volgende stappen voor probleemoplossing:
Controleer of de versie van de SAP .NET-connector is geïnstalleerd met de juiste bitlengte. Als u een Power BI Desktop 64-bits hebt geïnstalleerd, moet u ervoor zorgen dat u de 64-bits SAP .NET-connector hebt geïnstalleerd.
Controleer of tijdens het installeren van de SAP .NET-connector de controle 'Install assemblies to GAC' is ingeschakeld. Als u wilt controleren of GAC is geïnstalleerd, opent Windows Explorer en gaat u naar:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco
Het volledige pad kan bijvoorbeeld zijn:
C:\Windows\Microsoft.NET\assembly\GAC_64\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll
Als u de 32-bits versie van de SAP .NET-connector hebt geïnstalleerd, wordt deze C:\Windows\Microsoft.NET\assembly\GAC_32\sapnco\v4.0_3.0.0.42__50436dca5c7f7d23\sapnco.dll (en hebt u een 32-bits versie van Power BI Desktop).
Een andere manier om de GAC te controleren, is door gacutil te gebruiken (een van de opties voor het uitschakelen van ondertekening van sterke namen). U moet deze uitvoeren vanaf een 64-bits opdrachtprompt. U kunt de inhoud van de GAC controleren door een opdrachtprompt te openen, naar het gacutil.exe te navigeren en het volgende uit te voeren:
gacutil -l
In de uitvoer ziet u bijvoorbeeld het volgende:
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
"Geen RFC-autorisatie voor functie ...*
Implementatie 2.0 vereist toegang tot de volgende BAP's. Neem contact op met het SAP Basis-team en vraag machtigingen aan voor deze BAPIs en RPC's voor de gebruiker.
Connectiviteit:
- RFC_PING
- RFC_METADATA_GET
MDX-uitvoering:
- 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 plat maken:
- 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
Metagegevens:
- 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
Informatie:
- BAPI_IOBJ_GETDETAIL (vereist voor getypte dimensies (DATS, TIMS))
- BAPI_USER_GET_DETAIL (alleen gebruikt voor plat maken van interface)
- RFC_READ_TABLE (vereist voor catalogusnamen en bepaalde aanroepen van variabele waarden)
Kan worden aangeroepen door de onderliggende 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
Methode niet gevonden 'Int32 SAP. Middleware.Connector.RfcBaseException.get_ErrorCode()
Controleer of de SAP .NET-connector juist is geïnstalleerd. Raadpleeg Schone installatie van SAP .NET-connector uitvoeren.
Deze fout wordt weergegeven wanneer de geïnstalleerde versie in de GAC lager is dan de verwachte versie 3.0.18.0. Sap Note 2417315 dit scenario besproken.
Eigenschappen van de verbindingsreeks die zijn ingesteld door de connector
Wanneer zowel de SNC-partnernaam als de SNC-bibliotheek zijn opgegeven, worden deze eigenschappen door de SAP BW Application Server-connector (implementation 2.0) in de volgende connection string:
- SNC_MODE — SncModeApply
- SNC_LIB met het opgegeven bibliotheekpad. Als het een omgevingsvariabele is, wordt deze op dit moment — uitgebreid
- SNC_PARTNERNAME met — de opgegeven waarde
- SNC_QOP = RfcConfigParameters.RfcSncQOP.Default
Deze worden gebruikt voor verbindingen SAP BW toepassingsserver en SAP BW Message Server.
Voor beide verbindingstypen stelt de connector het volgende in:
- LANG (taal)
- CLIENT
Voor de SAP BW Application Server-verbinding stelt de connector het volgende in:
- ASHOST (AppServerHost)
- SYSNR (SystemNumber)
Voor SAP BW Message Server-verbindingen stelt de connector het volgende in:
- MSHOST (MessageServerHost)
- SYSID (SystemID)
- GROUP (LogonGroup)
Ongeldige MDX-opdracht met <internal>
Deze fout is rechtstreeks afkomstig van SAP BW server. Implementatie 1 van de connector, op basis van Netweaver RFC, heeft deze fouten niet aan de gebruiker blootstaan, waardoor in plaats daarvan een lege resultatenset wordt retourneren.
Dit probleem wordt besproken in de volgende SAP-opmerkingen. Voor toegang tot deze notities is een S-gebruiker vereist. Neem contact op met uw SAP Basis-team om de relevante oplossingen voor dit probleem toe te passen.
- 1084454 — MDX: Systeemfout 'Ongeldige MDX-opdracht met <internal> '
- 1282785 — MDX: Systeemfout 'Ongeldige MDX-opdracht met <internal> '
- 401607 fouten — bij de MDX-opdracht met CROSSJOIN in de slicer
- 1786009 — ongeldige MDX bij gebruik van een lidformule met speciaal char
Daarnaast kunt u voor andere vergelijkbare fouten de inhoud van de volgende SAP-opmerkingen bekijken en deze toepassen op uw omgeving:
- 1142664 — MDX: Samengestelde SAP-opmerking over prestatieverbeteringen
- 1156101 — MDX: Samengestelde SAP-notitie over onjuiste gegevens
Problemen en beperkingen
Als u de namen van variabelen in een SAP-kubus verandert, heeft het DirectQuery-rapport een verbroken, onherkenbare status
De volgende symptomen treden op:
Foutbericht—
[Expression.Error] The import [XXXX] matches no exports.In de logboeken—
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({...}, {...})]
Een mogelijke tijdelijke oplossing is:
Maak een kopie van het PBIX-bestand (omdat er mogelijk iets uitbreekt).
Voeg een omgevingsvariabele PBI_AlwaysEnableQueryEditor met de waarde true. Met deze instelling wordt zelfs in de DirectQuery-modus toegang tot de queryeditor toegestaan.
Notitie
Deze omgevingsvariabele wordt niet ondersteund, dus moet alleen worden gebruikt zoals hier wordt beschreven.
Klik met de rechtermuisknop op de kubusquery en selecteer Geavanceerde editor.
De query moet een regel hebben die begint met {Cube.ApplyParameter, "[! V000004]" (de ontbrekende parameter). Verwijder die regel.
Selecteer Gereed.
Sluit de Power Query Editor.
Vernieuw de betreffende visual.
Als de bovenstaande tijdelijke oplossing niet werkt, kunt u het rapport alleen opnieuw maken.
Numerieke gegevens van SAP BW
Notitie
De volgende informatie is alleen van toepassing bij het gebruik van Implementation 1.0 van de SAP BW-connector of Implementation 2.0 van de SAP BW-connector met de modus Plat maken (wanneer ExecutionMode=67).
Gebruikersaccounts in SAP BW hebben standaardinstellingen voor hoe decimale waarden of datum/tijd-waarden worden opgemaakt wanneer deze worden weergegeven aan de gebruiker in de SAP-GUI.
De standaardinstellingen worden bijgehouden in het SAP-systeem in het gebruikersprofiel voor een account. De gebruiker kan deze instellingen weergeven of wijzigen in de SAP-GUI met het menupad Systeemgebruikersprofiel > > eigen gegevens.

Power BI Desktop vraagt het SAP-systeem om de decimale notatie van de verbonden gebruiker en gebruikt deze notatie om decimale waarden in de gegevens van de SAP BW.
SAP BW retourneert decimale gegevens met ofwel een , (komma) of een . (punt) als decimaal teken. Om op te geven welke van beide SAP BW moet gebruiken voor het decimale scheidingsteken, roept het stuurprogramma dat wordt gebruikt door Power BI Desktop BAPI_USER_GET_DETAIL aan. Deze aanroep retourneert een structuur met de naam DEFAULTS, die een veld bevat met de naam DCPFM waarin Decimale notatie wordt opgeslagen. Eén van de volgende waarden wordt gebruikt:
- ' ' (spatie) = Decimaal punt is een komma: N.NNN,NN
- 'X' = decimaal teken is een punt: N,NNN.NN
- 'Y' = decimaal punt is N NNN NNN,NN
Klanten die dit probleem hebben gerapporteerd, hebben geconstateerd dat de aanroep naar voor een bepaalde gebruiker mislukt, waarbij de onjuiste gegevens worden weergegeven, met een foutbericht dat lijkt op BAPI_USER_GET_DETAIL het volgende bericht:
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>
Om deze fout op te lossen, moeten gebruikers hun SAP-beheerder vragen om de SAP BW gebruiker die wordt gebruikt in Power BI het recht om uit te BAPI_USER_GET_DETAIL voeren. Het verdient ook aanbeveling om te controleren of de gebruiker de vereiste DCPFM-waarde heeft, zoals eerder in deze probleemoplossing is beschreven.
Connectiviteit voor SAP BEx-query's
U kunt BEx-query's uitvoeren in Power BI Desktop door een bepaalde eigenschap in te schakelen, zoals wordt weergegeven op de volgende afbeelding:

Beperking van MDX-interface
Een beperking van de MDX-interface is dat lange variabelen hun technische naam verliezen en worden vervangen door V00000#.
Geen voorbeeld van gegevens in het venster Navigator
In sommige gevallen wordt in het dialoogvenster Navigator geen voorbeeld van gegevens weergegeven en wordt in plaats daarvan een objectverwijzing weergegeven die niet is ingesteld op een exemplaar van een objectfoutbericht.
SAP-gebruikers moeten toegang hebben tot specifieke BAPI-functiemodules om metagegevens en gegevens op te halen van InfoProviders van SAP BW. Deze modules omvatten:
- 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
Om dit probleem op te lossen, moet u eerst verifiëren dat de gebruiker toegang heeft tot de verschillende MDPROVIDER-modules en tot BAPI_IOBJ_GETDETAIL. Als u deze of vergelijkbare problemen verder wilt oplossen, kunt u tracering inschakelen. Selecteer achtereenvolgens Bestand > Opties en instellingen > Opties. Selecteer in Opties Diagnostische gegevens en selecteer vervolgens Traceren inschakelen. Probeer gegevens van SAP BW op te halen terwijl de tracering actief is en bekijk het traceringsbestand voor meer informatie.
Geheugen-uitzonderingen
In sommige gevallen kan een van de volgende geheugenfouten optreden:
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.
Deze geheugen-uitzonderingen zijn afkomstig van SAP BW server en worden veroorzaakt doordat de server te weinig beschikbaar geheugen heeft om de query te verwerken. Dit kan gebeuren wanneer de query een grote set resultaten retourneert of wanneer de query te complex is voor de server om te verwerken, bijvoorbeeld wanneer een query veel kruisjoins heeft.
Om deze fout op te lossen, is de aanbeveling om de query te vereenvoudigen of deze onder te verdelen in kleinere query's. Push indien mogelijk meer aggregatie naar de server. U kunt ook contact opnemen met uw SAP Basis-team om de beschikbare resources op de server te vergroten.
Het laden van teksttekenreeksen die langer zijn dan 60 tekens in Power BI Desktop mislukt
In sommige gevallen kan het zijn dat teksttekenreeksen worden afgekapt tot 60 tekens in Power BI Desktop.
Volg eerst de instructies in 2777473 - MDX: Faq for Power BI accessing BW or BW/4HANA and see if that resolves your issue.
Omdat de Power Query SAP Business Warehouse-connector gebruikmaakt van de MDX-interface van SAP voor toegang van derden, moet u contact opnemen met SAP voor mogelijke oplossingen omdat deze eigenaar zijn van de laag tussen de MDX-interface en de SAP BW-server. Vraag hoe 'lange tekst XL' is voor uw specifieke scenario kan worden opgegeven.
