12:51 Uhr
Neue Fachliteratur rund um SAP von Espresso Tutorials
Auch wenn ein zentraler Fokus der Neuerscheinungen in diesem Jahr auf S/4HANA sowie den Entwicklungen rund um das Cloud-Computing und UI5 liegt sind auch wieder einige ERP Themen dabei, die ich persönlich als sehr spannend empfinde.
Einige persönliche Highlights sind für mich:
- SAP Materialwirtschaft: MM-Kontenfindung im Detail
- Die SAP-ERP Materialstammdaten
- Schnelleinstieg in SAP HCM
- SAP ERP Personalabrechnung und Administration
- Berechtigungen im SAP ERP HCM – Einrichtung und Konfiguration
- und viele andere mehr
Hierdurch ist ein kompletter Zugriff auf alle Medien des Verlags möglich, was neben eBooks auch Schulungsvideos umfasst. Besonders positiv ist, dass hier auch aktuelle Neuerscheinungen direkt zur Verfügung stehen und die Oberfläche auch durch Suchfunktion und Lesezeichen punktet.
Einige der in der Bibliothek vorhandenen Bücher sind auch in meinen Buchempfehlungen zu finden (dabei sind alle in der Flatrate enthaltenen Exemplare traditionell durch eine Tasse Espresso gekennzeichnet).
Immerhin ist die Kombination von Kaffee, Literatur und spannende Themen stets eine sinnvolle Kombination :-).

Alternativ sind die Bücher natürlich auch in gedruckter Form eine Empfehlung, so dass ich hier auch gerne auf meine beiden eigene Bücher, erschienen im Verlag Espresso Tutorials verweise. Gerade das neue Buch "Berichtswesen im SAP Controlling" ist ein guter Einstieg sich Gedanken um die Verwendung von vorhandener Berichte aber auch die Entwicklung eigener Berichte zum Beispiel als Rechercheberichte, SAP Query im Rechnungswesen oder auch Report Painter zu machen. Gerade wenn Sie sich intensiver mit diesen Themen auseinander setzen wollen ist dieses Buch sicherlich ein guter Anfang und vielleicht auch ein geeigneter Vorschlag für ihre lokale Bibliothek.
Eine ausführliche Beschreibung ist unter Buchempfehlungen unter Berichtswesen im SAP®-Controlling (SAP Modul CO; internes Berichtswesen) zu finden.
Paperback ISBN: 9783960127406
Für 19,95 € direkt bestellen
Oder als SAP Bibliothek-Flatrate *
Auch wenn ich kein großer Freund von Neujahrsvorsätzen bin möchte ich dieses Jahr doch vermehrt dazu nutzen mich persönlich mit einigen dieser Bücher weiterzubilden aber auch einige Buchbesprechungen hier online zu stellen. Grundsätzlich habe ich dieses ja jedes Jahr vor..aber für dieses Jahr habe ich da, bedingt durch ein paar Veränderungen im Vergleich zu den Vorjahren, noch eine größere Motivation.
Ich hoffe daher hier in nächster Zeit noch die ein oder andere Neuerscheinung besprechen zu können und mich auch selbst anhand der Bücher aber auch durch Austausch mit anderen Menschen hier weiterbilden zu können.
Hier zeigt sich tatsächlich der Vorteil dass mit der digitalen SAP Bibliothek auch Zugriff auf Neuerscheinungen von Espresso Tutorials genommen werden kann und so virtuell ebenfalls SAP Know How aufgebaut werden kann. Persönlich merke ich das auch an der Arbeit als Vorteil wenn man sich schon einmal mit Themen wie Funktionsbereich im SAP Modul Haushaltsmanagement (PSM-FM) oder auch im Artikel "Grundlagen Finanzbuchhaltung - Geschäftsbereiche als mögliche Lösung zur Abbildung eines Betrieb gewerblicher Art (BgA)" oder bei meinen eigenen Buch mit der Thematik "Selektionsvariante KOK5 und Statusselektionsschemata zur Auswertung gesperrter Innenaufträge" auseinandergesetzt hat.
Abschlussarbeiten im SAP S/4HANA Controlling (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
12:17 Uhr
Europäischer Datenschutztag oder Privacy Data Day
Laut Wikipedia findet am 28. Januar seit 2007 der Europäische Datenschutztag und seit 2008 der Data Privacy Day, Statt. Dieses Datum wurde auf Basis des Inkrafttretens der Europäische Datenschutzkonvention (formal korrekt: „Übereinkommen zum Schutz des Menschen bei der automatischen Verarbeitung personenbezogener Daten (Konvention Nr. 108)“) gewählt und dient der Sensibilisierung zum Thema Datenschutz.
Leider ist das Webprojekt "do not track" nicht mehr online abrufbar, aber die einzelnen Folgen sind unter "Interaktive Webdoku-Reihe Do Not Track" auf der Seite des Bayrischen Rundfunk aufrufbar. "Do Not Track" war ein internationales Projekt das von der französischen Produktionsfirma Upian in Koproduktion mit dem BR, ARTE France und dem NFB produziert worden ist..
Nachtrag:
Es scheint so, als wäre die interaktive Webdoku zu Do Not Track wieder online auf https://donottrack-doc.com/de/ abrufbar :-) Dieses freut mich besonders in Bezug auf die aktuelle Diskussionen rund um Datenschutz und Facebook.
Dabei wurden einige Aspekte des Datenschutz inklusive einiger Auswertungen über die eigenen Daten dargestellt. Aber auch abseits dieser Themen ist ein solcher Tag vielleicht eine gute Gelegenheit sich ausführlicher mit Datenschutzeinstellungen zu beschäftigen.
Einstellungen rund um Datenschutz bei Google und Facebook
Google bietet hier auf der Startseite einen direkten Link auf einen "Privatsphärecheck". Aber auch die Einstellungen von Facebook oder andere Netzwerke können hier einen interessanten Blick bieten. So findet sich bei Facebook auf der Seite "Einstellungen für Werbeanzeigen" eine Auflistung wie die einzelnen Werbeanzeigen zustande kommen udn welche Informationen hier Facebook für Werbung verarbeitet. Auf Vimeo werden die Datensammlungen im Video "Monologue of the Algorithm: how Facebook turns users data into its profit" anschaulich erläutert.Nachtrag: Im Artikel "Facebook gestaltet Einstellungen für Privatsphäre und Datenschutz neu" auf Heise Online wird direkt darauf hingewiesen, dass Facebook nun ein wenig später auch die Einstellungsseiten zur Privacy überarbeitet hat.
Ergänzend zu den Links oben hat Facebook unter Facebook Privacy Basics eine Informationsseite rund um die Privatsphäre-Grundlagen bei Facebook online gestellt.
Daneben bieten aber auch Internetseitenbetreibende weitreichende Informationen zum Beispiel zum Einsatz von Google Analytics und Google Adsense an. Auf der Seite der "European Interactive Digital Advertising Alliance" (youronlinechoices.com) eine Widerspruchsmöglichkeit gegen "nutzungsbasierte Online-Werbung" für verschiedene Anbieter nutzen. Diese Einstellung ist jedoch auf jeden von Ihnen genutzten Rechner (bzw. Browser) erforderlich, da diese Seite entsprechende Cookies mit einer entsprechenden Einstellung hinterlegt, die die einzelnen Werbenetzwerke (auch bspw. Facebook, Google, ...) beachten sollen. Anstatt der benutzerbezogenen Werbung (die durch verschiedene Daten zu ihrer Person erhoben sind) wird dann allgemeine Werbung eingeblendet.
Datenschutzinformationen online
Daneben gibt es aber auch noch einige andere Webangebote (die ich auch im Artikel "Rückblick THM Datenschutztag 2017") zusammen gestellt habe. An größeren Informationsportalen würde ich noch auf das Blog "Datenschutzbeauftragter INFO Informationen zum Datenschutz" sowie auf das "virtuelle Datenschutzbüro" verweisen.Vielleicht kann der heutige Tag ja ein wenig dazu genutzt werden sich etwas ausführlicher mit den Thema Datenschutz auseinander zu setzen.
Datenschutz im Zusammenhang mit SAP - mehr als nur Berechtigungswesen
Das Thema Datenschutz wird aber auch in Bezug auf SAP immer aktueller. So bietet die DSAG (Deutschsprachige SAP-Anwendergruppe) unter https://www.dsag.de/go/leitfaeden Prüfleitfäden SAP ERP die sich auch mit dem Thema Datenschutz unter SAP auseinnader setzen. Aber auch das IT Grundschutzhandbuch des BSI (Bundesamt für Sicherheit in der Informationstechnik) hat hier einige Informationen rund um den Einsatz von SAP zusammengestellt.An aktueller Literatur ist in 2017 das Buch "Datenschutz mit SAP: Der Praxisleitfaden zur Umsetzung der EU-Datenschutz-Grundverordnung (DSVO)" (Amazon Partnerlink) im Verlag SAP Press erschienen. Aber auch im Rahmen des Berechtigungsmanagement sind hier einige Neuerscheinungen lesenswert. So stellt der virtuelle Buchclub von Espresso Tutorials auch das Thema Berechtigungen im Artikel "Sicherheitslücke SAP-Berechtigung" ausführich dar. Persönlich bin ich gerade dabei zum Buch "SAP-Berechtigungen für Anwender und Einsteiger" (Amazon Partnerlink) von Andreas Prieß eine Rezension zu schreiben. Dieses Buch ist ebenfalls in der SAP Bibliothek Flatrate als eBook verfügbar und liest sich sehr gut an.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
09:52 Uhr
Grundlagen: Set-Variablen im Report Painter / Report Writer am Beispiel Kostenstellengruppe und Innenauftragsgruppe
Hintergrund: Auswertung von Planwerten mit zugeordneten Kostenarten
Ausgangslage: Budgetrelevante oder alle Kosten
Im Rahmen eines Report Painter / Report Writer Berichtes sollen sowohl Kostenstellen als auch Innenaufträge eines Bereiches ausgewertet werden. Dabei sollen Planwerte als Budget und die entsprechenden Kosten sowie Obligo ausgewertet werden. Allerdings sind die einzelnen Kostenstellen (und die zugeordneten Innenaufträge) unterschiedlich mit Planwerten versehen.
Budgetrelevante oder alle Kosten auswerten?
Während der globale Bereich neben der Verantwortung für Sachmittel auch für die Personalkosten Verantwortung hat sind für den dezentralen Bereich die Personalkosten nicht relevant. Daher sind im Bericht einmal als Planwerte nur die Plankostenarten für Sachmittel und in einen anderen Bericht die Planwerte für Sachmittel und Personalmittel ausgewertet. Ferner sind entsprechend auch die ausgewiesenen Kosten einmal mit und einmal ohne Planwerte (im Sinne eines Budgets) für einen Plan/Ist Vergleich ausgegeben.
Ein solches Beispiel habe ich auch im Buch »Berichtswesen im SAP®-Controlling« verwendet.
Auswertung von Kostenstellengruppen oder Innenauftragsgruppen
Bisher wurden hier zwei unterschiedliche Berichte erstellt und diese auch unterschiedlichen Berichtsgruppen zugeordnet. In einer Variante wurden die jeweiligen Kostenstellen hinterlegt, so dass hier im Bericht A Kosten und Planwerte ausgewertet werden während im Bericht B Kosten und Planwerte ohne Personal ausgewertet werden.Somit mussten hier zwei Auswertungen gestartet werden. Angedacht ist nun aber eine Lösung, dass A und B als eigene Abschnitte (und bei Excelintegration als Tabellenblätter) ausgewiesen werden und beim Aufruf des neuen Berichtes sowohl die Kostenstellen und Innenaufträge mit Personalverantwortung als auch ohne angegeben werden können.
Die Vorteile der Verwendung von Abschnitten ist im Artikel "Grundlagen: Abschnitte in Report Painter und Report Writer und ihre Vorteile bei Officeintegration und Excel" beschrieben,
Setvariablen oder Set Auswertung im Report Painter Report Writer
Bei Zuordung der Merkmale Kostenstelle und Innenauftrag in einer Zeile habe ich bisher die Option SET (Gruppe markiert) eine bestehende Variable ausgewählt (1KOSET oder 6-AUFGR) dann erscheint im Selektionsbild die Angabe Kostenstelle(gruppe) und Innenauftrags(gruppe) wo ich per Variante die Werte zugeordnet habe.Technisch handelt es sich dabei um Setvariable die auch für eigene Bedürfnisse angelegt werden können. Für einen Mehrjahresvergleich ist dieses im Artikel "Mehrjahresvergleich im ReportWriter/Painter mit variabler Spaltenanzahl je Jahr dank Variablen" hatte ich schon Wertvariablen und Formelvariablen beschrieben, so dass nun auch der dritte Variablentyp die Setvariable einen eigenen Artikel bekommt.
Im SAP Menü kann unter
- Infosysteme
- Ad-hoc Berichte
- Report Painter
- Report Writer
- Variable
- Anlegen (Transaktionscode GSI1)
Dabei sollen insgesamt vier Variablen angelegt werden. Für Bericht A und für Bericht B jeweils Kostenstellengruppe und Innenauftragsgruppe.
Sofern man es sich einfach machen möchte, kann hier einfach eine bestehende Variable als Vorlage verwendet werden. Auch wenn ich mich an die beiden bestehenden Variablen 1KOSET und 6-AUFGR orientiert habe, soll in diesen Beispiel alle Optionen ohne Vorlage angegeben werden.
Setvariable für Kostenstellengruppe anlegen (analog 1KOSET)
Nach Aufruf der Transaktion GSI1 muss der Varaiblenname angegeben werden. Hier wählen wir ZK2A-KS (zur Verwendung im Bericht beziehungsweise künftig im Abschnitt A) und ZK2B-KS (zur Verwendung im Bericht beziehungsweise Abschnitt B).Im Abschnitt Bezugsfeld sind Tabelle und Feldname anzugeben. Um die beiden CO-OM (Gemeinkostencontrolling) Merkmale Kostenstelle und Innenauftrag auswerten zu können verwenden wir hier die Berichtstabelle CCSS - "Berichtstabelle Gemeinkostencontrolling".
Als Feldname für die Kostenstellen ist hier das Feld KOSTL zu wählen, so dass Tabelle CCSS und Feldname KOSTL eingetragen werden.
Als Variablentyp ist nun SET zu wählen und über die Schaltfläche "Allgemeine Daten" kann unter anderen eine Beschreibung eingegeben werden. Diese Beschreibung wird dann auch am Selektionsbild des Berichtes erscheinen, so dass wir hier "Kostenstellen ALLE" oder "Kostenstellen BUDGET" oder vergleichbare Beschreibungen angeben können.
Im Abschnitt Vorschlag kann für diese Variable eine bestehende Gruppe als Vorschlagswert angegeben werden. Dieses kann sinnvoll sein, wenn wir eine Kostenstellengruppe wie ZK2A hätten. Allerdings verändert sich die Budgetverantwortung auch und bei einer bestehenden Kostenstellengruppe hätten wir auch einfach diese als Set ohne Variable eintragen können.
Daher ist hier die Option "Alle Werte" markiert.
Im Abschnitt Eingabefelder und Selektionsbilder kann nun die Option "Set- und Werteingabe" eingetragen werden. Dadurch ist es möglich sowohl Kostenstellengruppen als auch einzelne Kostenstellen beim Aufruf des Berichtes anzugeben. Alternativ könnte auch "Nur Seteingabe" oder "Nur Werteingabe" selektiert werden.
Da wir auf bestehende Kostenstellengruppen zugreifen wollen ist auch die Option "Nur durch Gruppen ersetzen" relevant. Hierdurch können zum Merkmal nur die CO Stammdatengruppen, im Beispiel unter KSH1 angelegte Kostenstellengruppen, ausgewählt werden.
Über die Schaltfläche "Sichern" kann diese Setvariable gesichert werden und später im Bericht auch verwendet werden.
Setvariable für Innenauftragsgruppe anlegen (analog 6-AUFGR)
Ebenso kann für die Setvariablen für die Innenaufträge verfahren werden. Hier legen wir die beiden Variablen ZK2A-IA und ZK2B-IA an. Auch hier ist die Tabelle CCSS zu wählen allerdings diesmal das Feld AUFNR für die Innenaufträge. Bei den übrigen Einstellungen verfahren wir wie in den oberen Setvariablen, allerdings sollte in der Beschreibung schon erwähnt werden, dass hier Innenaufträge selektiert werden.Verwendung Setvariablen im Reporting
Damit können alle vier angelegten Variablen im Bericht verwendet werden. Die Merkmale Kostenstelle und Innenauftrag können also als Gruppe SET markiert werden und durch Variable können dann die jeweiligen ZK2A oder ZK2B Variablen zugewiesen werden.Soll der Bericht an ein anderes SAP System transportiert werden findet sich im Artikel "Report Writer oder Report Painter Berichte über Dateisystem inklusive Bibliothek Variablen und Berichtsgruppe exportieren und importieren" eine ausführliche Anleitung.
Hinweis:
Eine kurze Einführung in das Thema Report Painter und Report Writer habe ich im Artikel "Grundlagen Kurzeinführung und Handbuch Report Painter Report Writer" beschrieben und hoffe Ihnen hier eine Einführung ins Thema bieten zu können.
Abschlussarbeiten im SAP S/4HANA Controlling (📖)
Für 29,95 € direkt bestellen
Oder bei Amazon ** Oder bei Autorenwelt
08:14 Uhr
Ausgeblendeten Text per Makro mit drucken oder nicht drucken über Schnellzugriff Symbolleiste
Allerdings war es hier einer Kollegin zu mühsam immer erst in den Optionen zu gehen um diese Einstellung zu aktivieren, bzw. zu deaktivieren, so dass sich hier Gedanken darum gemacht worden ist, ob eine solche Umstellung nicht auch über die Symbolleiste für den Schnellzugriff aufgerufen werden kann.
Als eigene Funktion ist dieses nicht vorhanden, aber innerhalb VBA bzw. für MAKROS gibt es für die Optionen eines Worddokumentes eigene Eigenschaften.
Das Objekt Options.PrintHiddenText steuert die entsprechende Ausgabe. Dabei handelt es sich um ein Objekt vom Typ boolean, so dass es entweder FALSE oder TRUE sein kann.
Durch die VBA Anweisung Options.PrintHiddenText = True wird ausgeblendeter Text mitgedruckt und durch Options.PrintHiddenText = False erscheint eben dieser nicht im Ausdruck.
Ebenso kann der Objektzustand im Rahmen einer IF Schleife abgefragt werden und entsprechend umgestellt werden.
Das entsprechende VBA Coding lautet:
Sinnvollerweise sollte dieses als Makro in der NORMAL.DOTM als globale Vorlage hinterlegt werden, so dass dieses in allen Worddokumenten aufgerufen werden kann. Die folgende Anleitung gilt dabei für alle Office Versionen ab 2010.Sub SwitchHiddenText()
If Options.PrintHiddenText = False Then
If MsgBox("Soll Ausgeblendeten Text drucken aktiviert werden?", vbYesNo) = vbYes Then
Options.PrintHiddenText = True
MsgBox ("Option ausgeblendeten Text drucken wurde aktiviert")
End If
Else
If MsgBox("Soll Ausgeblendeten Text drucken deaktiviert werden?", vbYesNo) = vbYes Then
Options.PrintHiddenText = False
MsgBox ("Option ausgeblendeten Text drucken wurde deaktiviert")
End If
End If
End Sub
In der Symbolleiste ANSICHT kann in der Befehlsgruppe MAKROS direkt die Schaltfläche MAKROS wie in unterer Abbildung aufgerufen werden. Wichtig ist nun dass neben den Makronamen (in der Abbildung unter 1 SwichtHiddenText) die Option "Normal.dotm (globale Vorlage) (in der Abbildung unter 2) gewählt wird.

Durch die Wahl der globalen Vorlage können alle künftigen Worddateien auf dieses Makro zugreifen und das jeweilige Makro daraus aufgerufen werden.
Im erscheinenden Visual Basic Editor kann obiger Code kopiert und eingefügt werden, so dass das Makro entsprechend gespeichert werden kann.
Im Ergebnis ist das Makro dann konstant vorhanden.
Sinnvollerweise kann dieses Makro nun in der Schnellzugriffsleiste (links oben), wie in der zweiten Abbildung zu sehen, als Schaltfläche hinzugefügt werden.

Dadurch ist das Makro auch direkt per Symbol aufrufbar, sofern es a) ausgewählt und b) über die Schaltfläche HINZUFÜGEN der Symbolleiste hinzugefügt worden ist.
Im Ergebnis kann nun zwischen "Ausgeblendeten Text drucken" oder "Ausgeblendeten Text nicht drucken" hin und her geschaltet werden. Durch die IF Anweisung erscheint jedoch zuvor eine Messagebox in der vorher eine Rückfrage erscheint.

Im Ergebnis kann hier also im Dokument zum Beispiel die Kennzeichnung Entwurf oder beliebige Anmerkungen eingeblendet oder ausgeblendet werden. Damit können bestimmte Informationen bzw. Textbestandteile (Entwurf, Verteiler, etc.) nur im Bedarfsfall mit ausgedruckt werden. Der Nachteil an solchen ausgeblendeten Texten ist jedoch der Zeilenumbruch, so dass bei Anmerkungen in meinen Augen die Kommentarfunktion die bessere Wahl ist. Der Umgang mit Markups und Kommentaren ist im Artikel "Microsoft Office Vorlagen und Änderungsverfolgungen" behandelt worden.
Aktuelles von Andreas Unkelbach
unkelbach.link/et.reportpainter/
unkelbach.link/et.migrationscockpit/
17:06 Uhr
Blogartikel per Link im »social web« datenschutzfreundlich teilen
Hierbei ging es um die Frage, wie Blogartikel in den einzelnen sozialen Netzwerken wie XING, Facebook, Twitter oder Google+ geteilt werden können, ohne dass schon beim Aufruf der Seite Skripte dieser Anbieter mit auf der Seite eingebunden werden, was der Fall ist, wenn die vom jeweiligen Netzwerk zur Verfügung gestellte "Share-Buttons" genutzt werden.
Während ich auf meiner Seite die im Artikel "Blog: 2 Klicks für mehr Datenschutz" vorgestellte Lösung nutze besteht auch die Möglichkeit über einen einfachen Link (der gerne auch per CSS formatiert werden kann) statt mit einer wie hier eingesetzten JavaScript Lösung.
Diese Variante ist eine einfache Alternative zum Projekt "Shariff: Social-Media-Buttons mit Datenschutz" oder der auf meiner Seite eingesetzten Vorgängerlösung "2 Klicks für mehr Datenschutz" des c't magazin.
Alternative Möglichkeit des Link teilen im social web
Die einzelnen Netzwerke haben eine entsprechende SHARE-Url der als Parameter eine URL übergegeben werden kann. In der folgenden Tabelle sind beispielhaft für vier von mir genutzten Netzwerke die URLs zum Teilen von Artikeln angegeben.
Damit werden keine Daten von Facebook direkt eingebunden sondern ebenfalls nur beim Klick die URL an den Teilmechanismus des jeweiligen sozialen Netzwerk übertragen.
Der Nachteil ist hier jedoch, dass kein Counter bzw. Information mit ausgegeben wird, wie häufig ein Link im Netzwerk geliked oder ge+ worden ist sondern nur die SHARE / TEILEN Funktion angeboten wird. Shariff Plus und andere Lösungen haben auch eine LIKE Version mit im Angebot.
Teilfunktion der einzelnen sozialen Netzwerke mit Parameter
Aus folgender Tabelle können die einzelnen URL für die häufigsten Netzwerke entnommen werden.Dienst | URL zum Teilen von Artikeln |
---|---|
https://www.facebook.com/sharer/sharer.php?u= | |
https://twitter.com/share?url= | |
Google + | https://plus.google.com/share?app=110&url= |
https://www.xing.com/social_plugins/share?url= | |
https://www.linkedin.com/shareArticle?mini=true&url= |
Am Ende der jeweiligen URL muss dann noch die Webadresse des jeweiligen Artikel ergänzt werden.
Allerdings muss diese URL noch entsprechend encoden muss.
Ziel (Artikel) URL encoden
Hierzu bietet die Programmiersprache PHP direkt die Funktion urlencode an während die entsprechende Funktion in JavaScript encodeURIComponent lautet.
PHP.NET beschreibt diese Funktion wie folgt: "gibt einen String zurück, in dem alle nicht-alphanumerischen Zeichen außer -_. durch ein Prozentzeichen (%) gefolgt von zwei Hexadezimalwerten und Leerzeichen durch ein Plus (+) ersetzt werden"
Konkret bedeutet dieses zum Beispiel, dass aus der Seite
https://www.andreas-unkelbach.de/smarthome,php
durch die Funktion
https%3A%2F%2Fwww.andreas-unkelbach.de%2Fsmarthome.php
wird. Entsprechendes gilt auch für = dass in %3D oder & dass in %26 umgewandelt wird.
Innerhalb PHP kann diese Variablenübergabe relativ einfach per Variablen erfolgen und mit oberer URL zusammengefasst werden.
Weitere Infos zu den einzelnen Funktionen sind in der Onlinehilfe zur PHP Funktion urlencode auf php.net oder zu JavaScript Funktion encodeURIComponent auf w3schools.com zu finden.
Aktuelle URL inklusive Parameter mit PHP auslesen und encoden
Um die aktuelle URL inklusive Parameter auszulesen kann die PHP Funktion $_SERVER verwendet werden.$_SERVER ist ein Array, das Informationen wie Header, Pfade und die verschiedenen Wege, das Skript anzusprechen beinhaltet. Die Einträge in diesem Array werden vom Webserver erstellt.
Als Coding inklusive des Protokolls kann hier folgende PHP Anweisung verwandt werden.
<?php
$url = (empty($_SERVER['HTTPS'])) ? 'http://' : 'https://';
$url .= $_SERVER['HTTP_HOST'];
$url .= $_SERVER['REQUEST_URI'];
echo urlencode($url);
?>
Die erste Zeile gibt entweder http:// oder https:// aus.
Die zweite Zeile die Domain inkl. Subdomain.
Die dritte Zeile Pfad und Parameter der aufgerufenen Datei.
Zum Schluss wird der ganze String noch encoded.
Für diesen Artikel wird also aus:
https://www.andreas-unkelbach.de/blog/?go=show&id=891
https%3A%2F%2Fwww.andreas-unkelbach.de%2Fblog%2F%3Fgo%3Dshow%26id%3D891
Dieses kann direkt am Ende der Share-URL des jeweiligen Dienstes ausgegeben werden.
Teilenbutton mit CSS Formatieren
Neben der Verlinkung von kleinen Bildern mit LOGO des jeweiligen sozialen Netzwerks können diese Links auch hinter anderen Varianten verborgen werden.Eine optisch ansprechende Variante kann zum Beispiel per CSS Sprite oder generell per CSS erfolgen. Im Artikel "Socialmedia Buttons für Profile per CSS Sprites oder CSS Box für XING, Google+, Twitter und Facebook" bin ich ausführlicher auf dieses Thema eingegangen.
Im Artikel "Fontello - Icons als Webfonts per CSS einfügen" ist auch eine Beschreibung zu finden, wie per Webfonts die einzelnen sozialen Netzwerke als Webfontsymbol ausgegeben werden können.
Im Ergebnis kann diese Funktion einer Sharebutton-Integration wie folgt aussehen:

Fazit oder warum behalte ich die 2 Klicks für mehr Datenschutz Funktion bei
Persönlich behalte ich jedoch lieber meine hier eingesetzte Funktion, die auf der einen Seite entsprechend gut auf der Seite dokumentiert ist und zum anderen nicht durch einen Bot ohne weiteres aufgerufen werden kann. Gerade wenn ich mir das Spamaufkommen der letzten Tage ansehe, mag ich ungern hier auch ein automatisiertes Abrufen der Teilfunktion beobachten.Ausserdem ist mir diese Funktion ebenso wie die im Artikel "Eine Tasse Kaffee als Feedback für gelungene Blogartikel" vorgestellte Zusatzfunktion immer noch sehr sympathisch und ich glaube, dass sollte jemand tatsächlich auf XING einen meiner Artikel teilen möchten dieses auch problemlos per Copy & Paste der URL aus der Browserzeile oder der integrierten Teilenfunktion funktioniueren sollte ;-)
Nachtrag und vollständiges Coding
Im Artikel "Socialmedia Buttons für Profile per CSS Sprites oder CSS Box für XING, Google+, Twitter und Facebook" hatte ich ja schon erwähnt, dass ich für die einzelnen sozialen Netzwerke eine eigene CSS Klasse je Button angelegt habe. Dieses entspricht btnfb, btntw, btngp und btnxing. Ferner habe ich per Webfonts eine Weltkugel als Hexadezimalcode eingefügt.Im Ergebnis lautet mein PHP Code wie folgt:
<?
// Anfang URL per HREF Link teilen
$url = (empty($_SERVER['HTTPS'])) ? 'http://' : 'https://';
$url .= $_SERVER['HTTP_HOST'];
$url .= $_SERVER['REQUEST_URI'];
$url = urlencode($url);
?>
<b>Seite teilen</b><br /><br /><br />
<a rel="nofollow" target="_blank" href="https://www.facebook.com/sharer/sharer.php?u=<? echo $url; ?>" class="btnfb" title="Artikel auf Facebook teilen"><span class="symbol">🌎</span> Facebook</a>
<a rel="nofollow" target="_blank" href="https://twitter.com/share?url=<? echo $url; ?>" class="btntw" title="Artikel auf Twitter teilen"><span class="symbol">🌎</span> Twitter</a>
<a rel="nofollow" target="_blank" href="https://plus.google.com/share?app=110&url=<? echo $url; ?>" class="btngp" title="Artikel auf Google + teilen"><span class="symbol">🌎</span> Google</a>
<a rel="nofollow" target="_blank" href="https://www.xing.com/social_plugins/share?url=<? echo $url; ?>" class="btnxing" title="Artikel auf XING teilen"><span class="symbol">🌎</span> XING</a>
<?
// Ende URL per HREF Link teilen
?>
Manchmal kann ich tatsächlich Basteltrieben nicht widerstehen, daher ist das Blog nun auf diese Variante angepasst worden :-) Damit nicht auch noch Google Bots oder andere Suchmaschinen die Seite teilen ist dieser Link mit NOFOLLOW versehen.
Einzige Ausnahme ist hier XING, da hier sofern zwei Parameter in der URL übergeben werden... go und id bei mir ... die zweite Übergabe statt mit & über & übergeben wird, oder alternativ die Parameter abgeschnitten werden. Daher ist XING hier auch nicht als SocialButton eingebunden.
Erneutes Fazit inklusive Auswirkung auf Pagespeed
Das letzte Mal hatte ich mich im Artikel "In eigener Sache: Updates der Seite (Technik und Design) - Fokus auf Responsives Webdesign und pagespeed" mit Gedanken rund um Pagespeed beschäftigt. Dadurch, dass ich nun nicht mehr JavaScript Bibliotheken einsetze ist auch die Ladezeit der Seite erheblich gesteigert worden (Pagespeed-Insight von Google 89 Mobil und 96 Desktop), so dass diese Änderung noch einen weiteren positiven Effekt hat.Entsprechend habe ich nun diese Lösung dann doch trotz obiger Argumente eingesetzt :-)
Steuersoftware für das Steuerjahr 2024
Lexware TAXMAN 2025 (für das Steuerjahr 2024)
WISO Steuer 2025 (für Steuerjahr 2024)
* Als Amazon-Partner verdiene ich an qualifizierten Käufen über Amazon.