<?xml version="1.0" encoding="utf-8"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
	<channel>
		<atom:link href="https://sap-basis.x10.bz/blog/x5feed.php" rel="self" type="application/rss+xml" />
		<title><![CDATA[Blog]]></title>
		<link>https://sap-basis.x10.bz/blog/</link>
		<description><![CDATA[Blog]]></description>
		<language>DE</language>
		<lastBuildDate>Wed, 15 Jun 2022 06:07:00 -0400</lastBuildDate>
		<generator>Incomedia WebSite X5 Evo</generator>
		<item>
			<title><![CDATA[ABAP DOC - mit wenig Aufwand Klassen und Methoden dokumentieren]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=ABAP"><![CDATA[ABAP]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_000000027">Die Einschätzung, wie die Dokumentation eines Programms aussehen sollte, unterlag im Laufe der Zeit immer wieder Schwankungen. Früher galt eine detaillierte (und dadurch auch oft erschlagende) Dokumentation als das Maß der Dinge. Mit <a href="https://de.wikipedia.org/wiki/Clean_Code" onclick="return x5engine.imShowBox({ media:[{type: 'iframe', url: 'https://de.wikipedia.org/wiki/Clean_Code', width: 1920, height: 1080, description: ''}]}, 0, this);" class="imCssLink">"Clean Code"</a> hat sich die Ansicht darüber geändert - anstatt Aufwand in die Dokumentation zu stecken, sollte der Aufwand lieber in den Code gesteckt werden, so dass er leicht verständlich und selbsterklärend ist und dadurch keine ausführliche Dokumentation benötigt - was allerdings nicht heißen soll, dass gar keine Dokumentation mehr erstellt werden sollte.<div><br></div><div>Ein gewisses Maß an Programmdokumentation ist natürlich nach wie vor sinnvoll - wer mag schon vor einer neuen Bibliothek mit Klassen und deren Methoden stehen, ohne auch nur ein bisschen greifbare Dokumentation zu haben?</div><div><br></div><div>Mit ABAP DOC ist eine einfache Dokumentation innerhalb des Sourcecodes möglich, die in Eclipse / ADT hübsch aufbereitet dargestellt wird und - wenn man will - ständig präsent ist. </div><div><br></div><div>Hier ein einfaches Beispiel: mit recht geringem Aufwand ist hier die Klasse im Wesentlichen dokumentiert, inkl. Verweisen auf weitere Informationen, darunter die Parameter des Konstruktors sowie eine Kurzbeschreibung der EXPORT-Methode und deren Parameter: </div><div><img class="image-0" src="https://sap-basis.x10.bz/images/ABAP-Doc-1.png"  title="" alt="" width="991" height="456" /><br></div><div><br></div><div>Hat man in Eclipse die View "ABAP Element Info" aktiviert,</div><div><img class="image-4" src="https://sap-basis.x10.bz/images/ABAP-Doc-2.png"  title="" alt="" width="796" height="458" /><br></div><div><br></div><div>bekommt man - wenn der Klassenname oder der Methodenname selektiert ist - eine aufbereitete und leicht lesbare Dokumentation im entsprechenden Fenster. </div><div><br></div><div>Hier die Dokumentation, wenn man den Klassennamen im Editor selektiert hat: </div><div><br></div><div><img class="image-5" src="https://sap-basis.x10.bz/images/ABAP-Doc-3.png"  title="" alt="" width="1023" height="596" /><br></div><div><br></div><div>Und genauso schön auch bei Methoden:</div><div><br></div><div><img class="image-6" src="https://sap-basis.x10.bz/images/ABAP-Doc-4.png"  title="" alt="" width="987" height="654" /><br></div><div><br></div><div><img class="image-7" src="https://sap-basis.x10.bz/images/ABAP-Doc-5.png"  title="" alt="" width="705" height="641" /><br></div><div><br></div><div><span class="fs13lh1-5">ABAP Doc-Kommentare werden grundsätzlich durch</span><br></div><div><div><span class="fs12lh1-5 ff1"><b>"!</b> </span><br></div></div><div><div><span class="fs13lh1-5">eingeleitet, danach folgt der Text. </span></div></div><div>Hier noch eine Auswahl weiterer Zeichenfolgen: </div><div><ul><li>Parameter: <br><span class="fs12lh1-5 ff1"> &nbsp;@parameter name|documentation</span><br></li><li><span class="fs13lh1-5">Klassenbasierte Exception: <br></span><span class="fs12lh1-5 ff1"> &nbsp;@raising name|documentation</span><br></li><li><span class="fs13lh1-5">Nicht klassenbasierte Exception: <br></span><span class="fs12lh1-5 ff1"> &nbsp;@exception name|documentation</span><br></li><li><span class="fs13lh1-5">Zeilenumbruch: <br></span><span class="fs12lh1-5 cf1 ff1"> &nbsp;&lt;br/&gt;</span><br></li><li><div class="cf1"><span class="fs13lh1-5">Absatz: <br></span><div class="fs12lh1-5 ff1"> &nbsp;&lt;p&gt;…&lt;/p&gt;</div></div></li><li><span class="fs13lh1-5">Unsortierte Liste: <br></span><div class="fs12lh1-5 ff1"> &nbsp;&lt;ul&gt;&lt;li&gt;…&lt;/li&gt;&lt;/ul&gt;</div> &nbsp;</li></ul><br><div><span class="fs13lh1-5">Hier noch ein paar Links zu dem Thema:</span><br></div></div><div><div><ul><li><span class="fs13lh1-5">Blog "ABAP Doc" von Michael Schneider: <a href="https://blogs.sap.com/2013/04/29/abap-doc/" target="_blank" class="imCssLink">https://blogs.sap.com/2013/04/29/abap-doc/</a></span><br></li><li><span class="fs13lh1-5">Blog "New ABAP Doc Features with NetWeaver 7.5" von Michael Schneider: <a href="https://blogs.sap.com/2015/10/21/new-abap-doc-features-with-netweaver-75/" target="_blank" class="imCssLink">https://blogs.sap.com/2015/10/21/new-abap-doc-features-with-netweaver-75/</a> </span><br></li><li><span class="fs13lh1-5"><span class="cf1">ABAP Doc in der SAP-Dokumentation: </span><a href="https://help.sap.com/doc/abapdocu_754_index_htm/7.54/de-DE/abendoccomment.htm" target="_blank" class="imCssLink">https://help.sap.com/doc/abapdocu_754_index_htm/7.54/de-DE/abendoccomment.htm</a></span></li></ul></div></div></div>]]></description>
			<pubDate>Wed, 15 Jun 2022 10:07:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-786900_thumb.jpg" length="117429" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?abap-doc---mit-wenig-aufwand-klassen-und-methoden-dokumentieren</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/000000027</guid>
		</item>
		<item>
			<title><![CDATA[Nützlich und oft ungenutzt - der Oracle SQL Tuning Advisor]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_000000026">Da hat man nun das SQL-Statement identifiziert, das viel zu lange braucht und die ganze Anwendung ausbremst. Aber, wie kriegt man das jetzt flotter?<div><br><div>Die echten Oracle-Experten sehen sich den Ausführungsplan und die Statistiken an, die Indexe und die Distinct-Values der Key-Felder, und dann ist denen alles klar. Wenn man ein Oracle-Experte ist...</div><div><br></div><div>Ist man das nicht, kommt bisweilen etwas Hilflosigkeit auf. Es gibt aber ein Tool, das in allen SAP-Systemen mit einer Oracle-Datenbank vorhanden ist, das aber viel zu selten genutzt wird - der "SQL Tuning Advisor". </div><div>Die seltene Nutzung liegt allerdings auch daran, dass es gut versteckt ist.</div><div> </div><div>Zu finden ist es in der ST04 &gt; Performance &gt; SQL Statement Analysis:</div><div><br></div><div><img class="image-0" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-1.png"  title="" alt="Oracle SQL Tuning Advisor ST04" width="511" height="487" /><br></div><div><span class="fs11lh1-5"><i>Der Menüpunkt zum "SQL Tuning Advisor" in der ST04</i></span></div><div><br></div><div>Sehen Sie mal nach... wie, der Menüpunkt fehlt bei Ihnen?</div><div><br></div><div>Ja, das ist meistens so. Im Standard wird dieses Tool ausgeblendet, aus lizenzrechtlichen Gründen - sollten Sie die Oracle-Datenbank nicht über SAP sondern direkt von Oracle bezogen haben, ist das "Tuning Pack" erforderlich, um den Tuning Advisor nutzen zu dürfen. </div><div>Infos dazu finden Sie im SAP-Hinweis <a href="https://launchpad.support.sap.com/#/notes/1028068/D" target="_blank" class="imCssLink">1028068 - Notwendige Oracle Optionen für das DBA Cockpit</a>. </div><div>Wenn Sie das "Tuning Pack" <span class="fs13lh1-5">lizenziert bzw. die Oracle-DB über SAP bezogen haben, dürfen Sie den Tuning Advisor nutzen. </span><br></div><div><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">Im SAP-Hinweis steht auch, was Sie tun müssen, um den Tuning Advisor verfügbar zu machen: einen Eintrag mit "TUNINGPACK" / "X" für das System in der Tabelle ORA_FEAT_USED anlegen. </span></div><div><span class="fs13lh1-5"><br></span></div><div><img class="image-1" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-2.png"  title="" alt="Tabelle ORA_FEAT_USED" width="636" height="171" /><span class="fs13lh1-5"><br></span></div><div><span class="fs11lh1-5"><i>Tabelle ORA_FEAT_USED</i></span></div><div><br></div><div><span class="fs13lh1-5">In "offenen" Systemen (also in einem Entwicklungssystem) können Sie die SE16 dafür verwenden, um den Satz in die Tabelle einzutragen. In geschlossenen Systemen gibt es die Möglichkeit, den Funktionsbaustein SE16N_INTERFACE zu verwenden (sofern verfügbar) oder den Eintrag mit <a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP Systems"</a> vorzunehmen. Das einfachste wird sein, jeweils einen Eintrag für alle Systeme im Entwicklungssystem anzulegen und die Tabelleneinträge per Transportauftrag in die Systeme zu verteilen. </span></div><div><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">Sieht man dann in der ST04 erneut nach (einmal die Transaktion neu aufrufen), ist der Menüeintrag wie im Bild oben vorhanden.</span></div><div><span class="fs13lh1-5">Ok, dann wollen wir den Tuning Advisor mal nutzen. Wir haben da z.B. dieses teure SQL-Statement. 2 Ausführungen seit Systemstart, jeweils 40 Sekunden Laufzeit. Die Anzahl der Ausführungen ist hier recht gering, schlechter wäre eine hohe Ausführungszahl </span><span class="fs13lh1-5"><b>und</b></span><span class="fs13lh1-5"> eine lange Laufzeit pro Ausführung. </span></div><div><span class="fs13lh1-5"><br></span></div><div><img class="image-2" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-3.png"  title="" alt="Teures SQL-Statement" width="1030" height="53" /><span class="fs13lh1-5"><br></span></div><div><i class="fs11lh1-5">Shared Cursor Cache: ein teures SQL-Statement</i></div><div><br></div><div>Ein Klick auf den "Explain"-Button zeigt den Ausführungsplan. Dort sehen wir auch eine "SQL-ID":</div><div><br></div><div><img class="image-3" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-4.png"  title="" alt="Oracle Ausführungsplan" width="784" height="628" /><br></div><div><i class="fs11lh1-5">Shared Cursor Cache: Ausführungsplan</i></div><div><br></div><div>Mit der SQL-ID starten wir nun den Oracle SQL Tuning Advisor.</div><div><br></div><div><img class="image-4" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-5.png"  title="" alt="Oracle SQL Tuning Advisor" width="856" height="374" /><br></div><div><span class="fs11lh1-5"><i>Start des Oracle SQL Tuning Advisor</i></span></div><div><br></div><div>Auch eine Online-Ausführung ist möglich, aber gerade bei größeren Tabellen ist eine Ausführung im Batch vorzuziehen. Den Job finden wir in der SM37: </div><div><br></div><div><img class="image-5" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-6.png"  title="" alt="Batch-Job Oracle SQL Tuning Advisor" width="923" height="134" /><br></div><div><i class="fs11lh1-5">SM37: Ausführung des Oracle SQL Tuning Advisor im Batch</i></div><div><br></div><div>Nach der Fertigstellung ist die Auswertung vom Oracle SQL Tuning Advisor in der Spoolliste des Jobs zu finden. </div><div><br></div><div><img class="image-6" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-7.png"  title="" alt="Oracle SQL Tuning Advisor - Output" width="575" height="1683" /><br></div><div><i class="fs11lh1-5">Ausgabe des Oracle SQL Tuning Advisor</i></div><div><br></div><div>Die Liste sieht nicht ganz vollständig aus, der rechte Rand ist abgeschnitten. Eine Unschönheit beim ABAP-Programm RSORASTS, der längere Zeilen ausgibt, aber keine entsprechende "line-size" nach dem "REPORT"-Statement gesetzt hat. Aber die wesentlichen Informationen sind da: in diesem Fall schlägt der Tuning Advisor einen "Patch" auf das Statement vor, so dass ein anderer Index verwendet wird. Prognostizierte Zeit-Ersparnis: stolze 99,99%. Die Werte sind meistens etwas übertrieben, aber eine Verbesserung ist auf jeden Fall zu erwarten. </div><div>In der Liste findet sich der aktuelle Ausführungsplan sowie der Ausführungsplan, wie er nach dem Patch wäre, inkl. einiger interessanter Kennzahlen. Hier schrumpft die Anzahl der beteiligten Tabellenzeilen signifikant, von 12 Mio. auf lediglich 12. </div><div><br></div><div>Oft findet sich aber auch die Empfehlung, einen neuen Index anzulegen, wie in diesem Beispiel: </div><div><br></div><div><img class="image-7" src="https://sap-basis.x10.bz/images/Oracle-SQL-Tuning-Advisor-8.png"  title="" alt="Oracle SQL Tuning Advisor - Output" width="569" height="1796" /><br></div><div><br></div><div>Auch hier findet sich wieder eine Prognose über eine enorme Laufzeitverkürzung und ein Ausführungsplan vorher / nachher.</div><div><br></div><div>Bei der Anlage eines Index ist natürlich zu berücksichtigen, dass entsprechende Lesezugriffe profitieren, aber der Datenbank eine zusätzliche Last bei Änderungen auferlegt wird. Ein Index bei einer Tabelle mit hohem Änderungsvolumen wirkt sich dann positiv auf einen Lesezugriff mit entsprechenden Selektionskriterien aus, kann sich aber auch insgesamt eher negativ auswirken. Vor der Anlage eines Index sollte man daher noch einen Blick in die Tabellenstatistiken (Transaktion ST10) werfen und dort einen Blick auf die Werte bzgl. Tabellenänderungen werfen. <span class="fs13lh1-5">Der SAP-Hinweis </span><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0912620/D" target="_blank" class="imCssLink">912620 - FAQ: Oracle Indizes</a></span><span class="fs13lh1-5"> behandelt das Thema "Index" ausführlich. </span></div><div><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">Letztendlich ist der Oracle SQL Tuning Advisor aber eine feine Sache: man bekommt schnell und unkompliziert Empfehlungen zur Verbesserung eines einzelnen SQL-Statements. Im Fall der Empfehlung eines Index hat der Tuning Advisor bereits die Selektivität einzelner Felder berücksichtigt und die Reihenfolge der Felder entsprechend optimiert - darüber muss man sich dann keine Gedanken mehr machen. </span></div><div><span class="fs13lh1-5">Man kann vom Tuning Advisor aber auch als Resultat bekommen, dass keine weiteren Optimierungen an dem Statement möglich sind - in dem Fall kann man sich weitere Überlegungen bzgl. Index oder SQL-Patch sparen und Laufzeitoptimierungen sind dann "nur noch" in der Anwendungslogik oder der Formulierung des SQL-Statements möglich.</span></div></div></div>]]></description>
			<pubDate>Tue, 14 Jun 2022 09:06:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-2138981_thumb.jpg" length="148579" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?oracle-sql-tuning-advisor</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/000000026</guid>
		</item>
		<item>
			<title><![CDATA[Job-Abbrüche bei Queries nach Upgrade]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_000000025">Das SAP-System hat mal wieder einen Upgrade hinter sich. So, nun sehen wir uns mal an, wie es so aussieht im System... hoppla, etliche Job-Abbrüche. Jobs mit Programmen AQ... was ist das denn?<div>In den Job-Logs sieht man so etwas:</div><div><img class="image-0" src="https://sap-basis.x10.bz/images/Job-Abbrueche-Queries-1.png"  title="" alt="" width="845" height="139" /><br><div><br></div></div><div>Das angegebene Programm gibt es gar nicht. Vor dem Upgrade scheint es aber noch vorhanden gewesen zu sein, die Jobs sind auch fehlerfrei durchgelaufen. </div><div><br></div><div>Das Problem: hier wurden Queries mit dem ABAP-Programm der zugehörigen Query als Job eingeplant. Das funktioniert leider nicht dauerhaft. Die ABAP-Programme werden in den Query-Transaktionen (SQ01 und Verwandte) generiert. Die Namen dieser generierten ABAP-Programme sind allerdings nicht beständig - ein Transport von Queries aus einem vorgelagerten System oder aber - wie hier - ein SAP-Upgrade kann bewirken, dass die Queries neu generiert werden und dadurch ggf. auch andere Progammnamen erhalten. Dadurch sind im Job-Scheduling ungültige Programmnamen eingetragen und das führt zum Abbruch der Jobs. </div><div><br></div><div>Im SAP wird man leider dazu verleitet, Queries auf diese Art und Weise einzuplanen. In der SQ01 ist diese Art der "falschen" Einplanung einer Query ganz normal bei Start der Query und Nutzung der Funktion "Im Hintergrund ausführen" verfügbar. Schnell noch eine tägliche Ausführung angegeben, fertig. </div><div><img class="image-1" src="https://sap-basis.x10.bz/images/Job-Abbrueche-Queries-2.png"  title="" alt="" width="292" height="128" /><br></div><div><br></div><div>So funktioniert es dann aber leider nur für eine begrenzte Zeitspanne. I<span class="fs13lh1-5">nsbesondere der normale Anwender kann nicht wissen, dass hier eine Falle lauert.</span></div><div><br></div><div>Wie man es richtig macht, ist im <a href="https://launchpad.support.sap.com/#/notes/0393160/D" target="_blank" class="imCssLink">SAP-Hinweis <span class="fs13lh1-5">0393160: SAP Query: Verwendung von Queries</span></a><span class="fs13lh1-5"> beschrieben. Nicht der Name des generierten ABAP-Programmes ist zu verwenden sondern das Programm </span><span class="fs13lh1-5"><b>SAP_QUERY_CALL</b></span><span class="fs13lh1-5">. Für dieses Programm gibt man die Daten zur aufzurufenden Query an und speichert die Daten als Variante. Im Job wird dann als Programm SAP_QUERY_CALL mit der entsprechenden Variante verwendet - und schon ist man auf der sicheren Seite, dass der Job auch nach einem Transport mit neuen Queries oder einem SAP-Upgrade funktioniert. </span></div><div><img class="image-3" src="https://sap-basis.x10.bz/images/Job-Abbrueche-Queries-3.png"  title="" alt="" width="424" height="197" /><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">In Vorbereitung für den nächsten SAP-Upgrade kann man ja mal prüfen, ob es "falsche" Einplanungen für SAP-Queries im System gibt. Einfach mal die SM37 verwenden, und schon bekommt man die Kandidaten, die nach dem nächsten Upgrade ggf. nicht mehr funktionieren. Diese Jobs sollte man entsprechend umstellen und hat dann für den nächsten Upgrade eine Sorge weniger.</span></div><div><img class="image-2" src="https://sap-basis.x10.bz/images/Job-Abbrueche-Queries-4.png"  title="" alt="" width="553" height="434" /><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5"><br></span></div></div>]]></description>
			<pubDate>Thu, 09 Jun 2022 08:53:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-5906264_thumb.png" length="79356" type="image/png" />
			<link>https://sap-basis.x10.bz/blog/?job-abbrueche-bei-queries-nach-upgrade</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/000000025</guid>
		</item>
		<item>
			<title><![CDATA[Keine Ansicht eigener Spoollisten möglich]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_000000020"><div>So ein Problem eines Anwenders erreichte mich mal vor langer Zeit - und des Rätsels Lösung ist schon etwas eigenartig. </div><div>Der Anwender konnte seine eigenen Spoollisten nicht ansehen. Im Dialog war die ausgegebene Liste ganz normal sichtbar, aber bei Ausführung im Hintergrund... nö, keine Berechtigung. Und das Drucken der im Dialog angezeigten Liste war auch nicht möglich. Fehlermeldung "Fehler eingetreten", PT 118. Sehr vielsagend :-(</div><div><br></div><div>Die Ursache: </div><div><div>In den Benutzerparametern (SU3 bzw. SU01, Reiter "Parameter") war beim Anwender ein Parameter "SAU" mit einem Wert gesetzt. Irgendwann hat sich die SAP diesen Parameter mal ausgedacht, um damit eine bessere Steuerung der Einsicht von Spoolaufträgen zu ermöglichen. Der für den Parameter eingetragene Wert wird in das Feld "Berechtigung" der Spoolliste eingetragen. Für das Anzeigen / Drucken muss dann aber auch eine entsprechende Berechtigung (S_SPO_ACT / SPOACTION DISP bzw. PRNT bzw. REPR / SPOAUTH = (Wert lt. "SAU"-Parameter)) vorhanden sein - und die fehlte. </div><div><br></div><div>Lösung also: </div><div><div><ul><li>Eine Rolle mit der entsprechenden Berechtigung für S_SPO_ACT zuordnen - das wäre die bevorzugte Lösung<br></li></ul></div><div>oder</div><div><ul><li>In der SU3 (oder SU01) den "SAU"-Parameter entfernen / ändern - das wirkt dann nur für neu erstellte Spoollisten<br></li></ul></div><div>oder</div><div><ul><li>Den Berechtigungswert in den Spoollisten entfernen / ändern - das wirkt dann nur für die jeweiligen Spoollisten<br></li></ul><div><br></div></div><div>Es scheint nur wenig Dokumentation dazu zu geben. Hier 2 Hinweise, die sich mit dem Parameter befassen:</div><div><ul><li><a href="https://launchpad.support.sap.com/#/notes/1120421/D" target="_blank" class="imCssLink">1120421 - Spoolberechtigung wird angezeigt obwohl nicht vorhanden</a> <br></li><li><a href="https://launchpad.support.sap.com/#/notes/1007750/D" target="_blank" class="imCssLink">1007750 - Benutzer-Parameter "SAU" zieht nicht</a><br></li></ul></div><div><br></div></div><div><br></div></div></div>]]></description>
			<pubDate>Fri, 03 Jun 2022 15:23:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-1532789_thumb.jpg" length="223740" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?keine-ansicht-eigener-spoollisten-moeglich</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/000000020</guid>
		</item>
		<item>
			<title><![CDATA[Anzeige unter "System" > "Status" ist unvollständig]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001F">So, der Upgrade hat funktioniert, das System läuft jetzt mit neuem Release-Stand. SAP_BASIS 753, super. <div>Aber... warum sieht die Anzeige der Release-Daten (im Menü: "System" &gt; "Status...") so lückenhaft aus? An einer fehlenden Berechtigung scheint es nicht zu liegen, die SU53 zeigt nichts an.</div><div><br></div><div>Es ist allerdings auch wirklich ein bisschen gemein, dass man sich auf die SU53 nicht immer verlassen kann. Es liegt nämlich doch an einer fehlenden Berechtigung. Seit SAP_BASIS 753 gibt es das Berechtigungsobjekt S_SYS_INFO, und das erlaubt... genau, die Anzeige der Release-Daten. </div><div><br></div><div>Aber warum zeigt die SU53 nichts an?</div><div><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">Die Einschränkung in der Status-Anzeige erfolgt im Funktions-Baustein STATUS_ANZEIGEN. Die Berechtigungsprüfung wird allerdings nicht - wie üblich - über das ABAP-Statement AUTHORITY-CHECK sondern über einen Aufruf der Systemfunktion SUSR_USER_BUFFER durchgeführt, die anscheinend direkt im Benutzerpuffer (Tabelle USRBF2) nachsieht. Daher gibt die SU53 keine Auskunft. Gemein, oder? </span></div><div><div><br></div></div><div><img class="image-0" src="https://sap-basis.x10.bz/images/System_Status-1.png"  title="" alt="" width="663" height="374" /><br></div></div>]]></description>
			<pubDate>Fri, 03 Jun 2022 13:59:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/Statusinfo_thumb.png" length="14180" type="image/png" />
			<link>https://sap-basis.x10.bz/blog/?anzeige-unter--system-----status--ist-unvollstaendig</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001F</guid>
		</item>
		<item>
			<title><![CDATA[Analyse von Langläufern]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001E"><div>Für die Analyse von Langläufern, ob nun im Dialog oder im Batch, gibt es verschiedene Werkzeuge von SAP - und die sind gar nicht mal schlecht!</div><div><br></div><div>Der Allrounder schlechthin und meiner Meinung nach erste Wahl für die Analyse der Performance einer Anwendung ist die Transaktion <span class="fs13lh1-5"><b>ST12 </b></span>("Single transaction analysis"). Lassen Sie sich durch den Begriff "transaction" nicht verunsichern, auch Batch-Jobs - eigentlich alles - ist darüber analysierbar. Mit dem darüber durchgeführten Trace erhalten Sie sowohl Daten zum ABAP-Processing als auch über die Datenbankzugriffe (ein echter Vorteil z.B. gegenüber der Transaktion SAT, die eine weitere Möglichkeit darstellt). Sie können damit auch eingeplante (also derzeit nicht laufende Jobs) analysieren, indem Sie den Trace für den Job einplanen. Läuft der Job los, startet auch (mit einer kleinen Verzögerung) der Trace. </div><div>Die ST12 finden Sie nicht zwangsläufig in jedem SAP-System vor. Ihren Ursprung hat sie in den "Service Tools for Application", die von SAP für Dinge wie Early-Watch ausgeliefert werden und eigentlich nur für die Verwendung durch die SAP vorgesehen sind. Wenn Sie aber die Solution Tools installiert haben (<span class="fs13lh1-5">ST-A/PI), haben Sie auch die ST12 verfügbar.</span></div><div><span class="fs13lh1-5">U.a. hier </span><span class="fs13lh1-5"><a href="http://wiki.sdn.sap.com/wiki/display/ABAP/Single+Transaction+Analysis" target="_blank" class="imCssLink">http://wiki.sdn.sap.com/wiki/display/ABAP/Single+Transaction+Analysis</a></span> <span class="fs13lh1-5">finden Sie detaillierte Informationen zur ST12.</span></div><div><span class="fs13lh1-5"><br></span></div><div><div>Alternativ misst die Transaktion <span class="fs13lh1-5"><b>SE30 </b></span>(Laufzeitmessung) die Aufteilung des Zeitverbrauchs in ABAP- und Datenbankaktivitäten, wobei für ABAP-Aktivitäten auch eine Auflistung auf die einzelnen ABAP-Routinen (Forms, Funktionsbausteine etc.) ausgewiesen wird. </div><div>Nachfolger der SE30 ist die Transaktion <span class="fs13lh1-5"><b>SAT </b></span>(ABAP Trace). Hier finden Sie einen schön beschriebenen Einstieg in die SAT: <span class="fs13lh1-5"><a href="https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/" target="_blank" class="imCssLink">https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-introduction/</a></span><span class="fs13lh1-5">. <br></span><span class="fs13lh1-5">Die ST12 ist zwar umfänglicher, aber die SAT hat den Vorteil, dass sie nicht mit aktivierten Berechtigungstraces kollidiert (ein immer mal wiederkehrendes Ärgernis: man will einen ST12-Trace starten, was einem wegen eines parallel laufenden Berechtigungstrace (ST01) verweigert wird). Sofern man auf den SQL-Teil verzichten kann, ist die SAT dann eine Alternative. Auch Speicherverbraucher lassen sich mit der SAT besser finden (</span><span class="fs13lh1-5"><a href="https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-how-to-analyze-memory-consumption/" target="_blank" class="imCssLink">https://blogs.sap.com/2011/01/18/next-generation-abap-runtime-analysis-sat-how-to-analyze-memory-consumption/</a></span><span class="fs13lh1-5">).</span></div><div><br></div><div><div>Die Transaktion <span class="fs13lh1-5"><b>ST05</b></span> (SQL-Trace) gibt Informationen über die Datenbankzugriffe (inkl. SQL Execution Plan, verwendete Indexes etc. - bekommt man in der ST12 aber auch). Gut geeignet, wenn bekannt ist, dass die Probleme bei den Datenbank-Zugriffen liegen. </div><div>Über "Trace-Liste" &gt; "Trace nach SQL-Anweisungen verdichten" kriegt man die teuersten SQL-Zugriffe.</div><div>Über "Trace-Liste" &gt; "Zusammenfasste Tabellenzugriffe" und anschließender absteigender Sortierung nach "Zugriffszeit" kriegt man die Tabellen mit der größten Verarbeitungsdauer.</div><div>ST05 "Quick and easy": <span class="fs13lh1-5"><a href="http://scn.sap.com/community/abap/testing-and-troubleshooting/blog/2007/09/05/the-sql-trace-st05-quick-and-easy" target="_blank" class="imCssLink">http://scn.sap.com/community/abap/testing-and-troubleshooting/blog/2007/09/05/the-sql-trace-st05-quick-and-easy</a></span></div><div><br></div></div></div><div><div><span class="fs13lh1-5">Bei Systemen mit mehreren Applikationsservern darauf achten, daß man den Trace auf dem gleichen Server durchführt, auf dem auch der zu untersuchende Langläufer läuft (bei Dialog-Tasks also mit AL08 nachsehen, auf welchem Server der Anwender angemeldet ist, dann mit SM51 auf den gleichen Server wechseln). </span></div></div><div><br></div><div><div>Transaktion <span class="fs13lh1-5"><b>ST13 </b></span>(Analyse &amp; Service Tools Launchpad) enthält eine Vielzahl von Tools bzgl. Performance (z.B. BACKGROUND_JOB_ANALYSIS, PERF_TOOL).</div><div>Wenn die Transaktionsberechtigung nicht vorhanden ist: Programm /SSA/MXS über SA38 ausführen.</div><div><br></div></div></div>]]></description>
			<pubDate>Thu, 02 Jun 2022 09:57:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-69184_thumb.jpg" length="94588" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?analyse-von-langlaeufern</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001E</guid>
		</item>
		<item>
			<title><![CDATA[Langläufer-Job - verflixter Zombie!]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001D"><div>In der Jobübersicht ist ein Langläufer sichtbar - der läuft schon so lange, man mag es kaum glauben. Und siehe da, in der Workprozess-Übersicht ist er nicht zu finden (der Workprozess kann ja recht leicht über die Job-Details, "Ausführungsserver" / "WP-Nummer / PID" herausgefunden werden). <span class="fs13lh1-5">Eine Statusprüfung ("Job" -&gt; "Status") bleibt ohne Wirkung. </span></div><div><span class="fs13lh1-5">Und dann finden sich im Syslog auch noch so eigenartige Meldungen:</span></div><blockquote><div><span class="fs13lh1-5 ff1">E06 Zusicherung Too may DB-rows. in Programm $Id: //b Ort 001 nicht erfüllt</span></div><div><span class="fs13lh1-5 ff1">Q0E Signal 6 vom Betriebssystem empfangen &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">Q02 Stop Workproc 9, Pid 15204606 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div></blockquote><div>Für den gleichen Zeitpunkt existiert ein Dump mit Abbruch-ID SYSTEM_CORE_DUMPED. </div><div><br></div><div><div><span class="fs13lh1-5">Ja, was ist denn hier los?</span></div></div><div><br></div><div>Nach einiger Suche hat sich die Ursache gezeigt: </div><div><br></div><div><span class="imUl">Der Job hat eine Spolliste erzeugt, deren Speicherbedarf oberhalb der 2GB-Grenze liegt.</span> Der Workprozess bricht dadurch ab. </div><div>Die Ursache für so eine große Spoolliste kann darin liegen, daß in den Druckparametern keine Markierung bei "Neuer Spool-Auftrag" gesetzt ist. Dadurch wird die Spoolausgabe an einen vorhandenen passenden Spoolauftrag angehängt. </div><div><img class="image-0" src="https://sap-basis.x10.bz/images/Langlaeufer-Job-1.png"  title="" alt="" width="563" height="388" /><br></div><div><i class="fs9lh1-5">SM37 &gt; Job auswählen &gt; Step auswählen &gt; Button "Print Data" &gt; Button "Properties" &gt; Output Options &gt; New Spool Request</i></div><div><br></div><div>Ein Seiteneffekt daraus ist auch, daß das Löschdatum immer weiter verschoben wird. So wird bei einem täglichen oder wöchentlichen Ablauf und einer Spoolreorganisation mit Fristen größer 1 bzw. 7 Tage die Spoolliste nie gelöscht und immer weiter vergrößert. Irgendwann wird dann die 2GB-Grenze erreicht.</div><div><br></div><div>Die Lösung besteht darin, den <span class="fs13lh1-5">Spoolauftrag zu identifizieren und entweder in dessen Kopfdaten eine Markierung bei "Abgeschlossen, kein Anfügen mehr möglich" zu setzen...</span></div><div><img class="image-1" src="https://sap-basis.x10.bz/images/Langlaeufer-Job-2.png"  title="" alt="" width="624" height="571" /><span class="fs13lh1-5"><br></span></div><div><div><i><span class="fs9lh1-5">SP01 &gt; Spool-Auftrag auswählen &gt; Goto &gt; Request attributes</span></i></div></div><div><i><span class="fs9lh1-5"><br></span></i></div><div><span class="fs13lh1-5">... oder den Spoolauftrag gleich zu löschen. Wer braucht schon eine Liste mit einem Volumen von 2 GB? Und damit das Problem nicht in einigen Tagen oder Wochen wieder auftritt, sollte die Ursache natürlich auch behoben und im Job in den Druckparametern eine Markierung bei "Neuer Spool-Auftrag" gesetzt werden (siehe Bild oben). </span><span class="fs13lh1-5">Zur Identifikation des Spoolauftrages kann auch das Programm RSTS0014 (Große Spoolaufträge selektieren") genutzt werden.</span></div><div>Den Job-Status des Zombies kann man nur durch manuelles Ändern des Status in Tabelle TBTCO auf "A" (aborted) korrigieren (möglich z.B. mit SE16N (sofern verfügbar) oder mit <a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP Systems"</a>). Die Statusprüfung in SM37 ("Job" -&gt; "Status prüfen") zeigt keine Wirkung. &nbsp;&nbsp;</div><div><br></div><div>Siehe auch <a href="https://launchpad.support.sap.com/#/notes/0857075/D" target="_blank" class="imCssLink">SAP-Hinweis 0857075: TemSe: Core DUMP in rstsf_tel_040_22707_131</a>.</div><div><br></div></div>]]></description>
			<pubDate>Thu, 02 Jun 2022 09:34:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/Zombie_thumb.png" length="154008" type="image/png" />
			<link>https://sap-basis.x10.bz/blog/?langlaeufer-job---verflixter-zombie-</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001D</guid>
		</item>
		<item>
			<title><![CDATA[Rund um das Thema Jobs / Background-Processing]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001C"><div>Das Thema Hintergrund-Verarbeitung kann komplex sein. Das SAP bietet im Standard ein gar nicht mal schlechtes Scheduling-System, das vieles möglich macht. Es gibt aber auch 3rd-Party-Lösungen, mit denen Jobs im SAP eingeplant und überwacht werden können, z.B. UC4.</div><div><br></div><div>Die hier aufgeführten Notizen beziehen sich auf das SAP-eigene Job-Scheduling-System.</div><div><div class="imHeading4">Standard-Jobs anlegen / verwalten</div><div>-&gt; Button "Standardjobs" in der SM36 bzw. "Job-Repository" in der SM36 (= Transaktion SJOBREPO) in HANA-Systemen. Weiterhin gibt es in HANA-Systemen die Transaktion SJOBREPO_STEPUSER, mit der Systemuser für die Standardjobs angelegt und zugeordnet werden können.</div></div><div class="imHeading4">Massenänderung von Jobs</div><div><div><span class="fs13lh1-5 cf1">mit Programm BTC_MASS_JOB_CHANGE</span></div></div><div class="imHeading4">Abgebrochenen Job debuggen</div><div>in SM37 Job markieren und im OK-Feld <span class="fs13lh1-5 ff1">JDBG</span> eingeben. Warnung: der Job wird dann im Debug-Mode wiederholt, inklusive aller Updates!</div><div><div class="imHeading4">Jobs zu gelöschten Benutzern finden</div><div>Das geht mit Programm BTCAUX09 (<a href="https://launchpad.support.sap.com/#/notes/1533612/D" onclick="return x5engine.imShowBox({ media:[{type: 'iframe', url: 'https://launchpad.support.sap.com/#/notes/1533612/D', width: 1920, height: 1080, description: ''}]}, 0, this);" class="imCssLink">SAP-Hinweis 1533612: Jobs mit gelöschten oder gesperrten Benutzern identifizieren</a>)</div></div><div><div class="imHeading4">Jobs nach ihrer Häufigkeit auflisten</div><div>-&gt; Programm BTCAUX14 (<a href="https://launchpad.support.sap.com/#/notes/1439806/D" target="_blank" class="imCssLink">SAP-Hinweis 1439806: Jobs nach ihrer Häufigkeit auflisten</a>). </div></div><div><div class="imHeading4">Warum startet ein eingeplanter Job nicht?</div><div>Siehe <a href="https://launchpad.support.sap.com/#/notes/0165084/D" target="_blank" class="imCssLink">SAP-Hinweis 0165084: Warum startet mein Job nicht?</a></div><div><div class="imHeading4">Wie kann ich herausfinden, wer einen Job gelöscht hat?</div><div>Siehe <a href="https://launchpad.support.sap.com/#/notes/0850885/D" target="_blank" class="imCssLink">SAP-Hinweis 0850885: Protokollieren des Löschens von Jobs</a></div><div><div class="imHeading4">Mehrfache Ausführung eines Jobs verhindern</div><div>Das geht über die Programme RSBTONEJOB bzw. RSBTONEJOB2.</div><div>RSBTONEJOB prüft, ob ein Job (dessen Name als Eingabeparameter anzugeben ist) bereits läuft. Also: "eigenen" Jobname angegeben -&gt; werden mehrere Jobs dieses Namens gefunden, bricht die Ausführung ab. </div><div>RSBTONEJOB2 prüft und führt - wenn der Job nicht läuft - Programm und Variante anschließend aus. </div><div class="imHeading4">Periodische Jobketten mit Vorgänger-Nachfolger-Beziehung</div><div>Dafür kann Programm BTC_EVENT_RAISE verwendet werden. Siehe <a href="https://launchpad.support.sap.com/#/notes/0919458/D" target="_blank" class="imCssLink">SAP-Hinweis </a><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0919458/D" target="_blank" class="imCssLink">0919458: Das Programm 'BTC_EVENT_RAISE'</a>.</span></div><div><div class="imHeading4">Wait-Time zwischen 2 Steps einplanen</div><div>Programm RSBTONEJOBWAIT oder RSWAITSEC</div><div class="imHeading4">Job Scheduling Monitor</div><div>Transaktion RZ01</div><div><div class="imHeading4">Etliche Hilfsprogramme zu Jobs</div><div><span class="fs13lh1-5 ff1">BTCAUX01 &nbsp;</span>Jobs mit fehlenden Druckparametern anzeigen und reparieren</div><div><span class="fs13lh1-5 ff1">BTCAUX02 &nbsp;</span>Jobs mit gelöschtem Drucker anzeigen</div><div><span class="fs13lh1-5 ff1">BTCAUX03 &nbsp;</span>Hilfsprogramm zum Archivieren von Joblogs</div><div><span class="fs13lh1-5 ff1">BTCAUX04 &nbsp;</span>Mehrfach eingeplante periodische Jobs identifizieren</div><div><span class="fs13lh1-5 ff1">BTCAUX05 &nbsp;</span>Jobs zu Spoolaufträgen selektieren</div><div><span class="fs13lh1-5 ff1">BTCAUX06 &nbsp;</span>Protokollierung für Joblöschung einschalten</div><div><span class="fs13lh1-5 ff1">BTCAUX07 &nbsp;</span>Status von aktiven Jobs überprüfen</div><div><span class="fs13lh1-5 ff1">BTCAUX08 &nbsp;</span>Anfang oder Ende eines Joblogs anzeigen</div><div><span class="fs13lh1-5 ff1">BTCAUX09 &nbsp;</span>Jobs mit gelöschten Benutzern identifizieren</div><div><span class="fs13lh1-5 ff1">BTCAUX10 &nbsp;</span>Job mit letztem Ausführungstermin bzw. mit Zeitfenster einplanen</div><div><span class="fs13lh1-5 ff1">BTCAUX11 &nbsp;</span>Beispielprogramm zum Erzeugen eines Jobs mit Spoollistenempfänger</div><div><span class="fs13lh1-5 ff1">BTCAUX14 &nbsp;</span>Hintergrund-Jobs nach ihrer Häufigkeit auflisten</div><div><span class="fs13lh1-5 ff1">BTCAUX18 &nbsp;</span>verschiedene Überprüfungen von Jobs und ihren Protokollen</div><div><span class="fs13lh1-5 ff1">BTCAUX20 &nbsp;</span>Löschen obsoleter Einträge aus BTCOPTIONS</div><div><span class="fs13lh1-5 ff1">BTCAUX21 &nbsp;</span>Nach Jobprotokollen mit nur einer Meldung suchen</div><div><div class="imHeading4">Konfiguration für Hintergrundverarbeitung (Batch) prüfen</div><div>-&gt; Transaktion SM65</div><div><br></div></div></div></div></div></div></div><div><br></div></div>]]></description>
			<pubDate>Thu, 02 Jun 2022 08:57:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-995567_thumb.jpg" length="162341" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?rund-um-das-thema-jobs---background-processing</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001C</guid>
		</item>
		<item>
			<title><![CDATA[Rund ums Thema Berechtigungen]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001B"><div><div><span class="fs13lh1-5">Hier verschiedene über Jahre hinweg gesammelte Informationen, mehr oder weniger geordnet. </span><span class="fs13lh1-5">Los geht's...</span></div></div><div class="imHeading4">Welche Berechtigungen benötigt Transaktion xyz?</div><div>Das können Sie über die Transaktion SU22 herausfinden. <span class="fs13lh1-5">Mit Transaktion SU22 werden einer Anwendung die Berechtigungsobjekte einer Anwendung zugeordnet und die Vorschlagswerte (für den Profilgenerator (PFCG)) verwaltet. </span></div><div><div class="imHeading4">Berechtigungstrace:</div><div>Für den Berechtigungstrace gibt es mehrere Transaktionen:</div><div><ul><li>ST01 -&gt; Berechtigungsprüfung. Beachten: der Trace ist nicht systemweit sondern wirkt nur auf der Instanz, unter der der Trace gestartet wurde! Also: Anmeldung auf dem gleichen Server, auf dem die Session des zu tracenden Anwenders läuft! In den Details einer Berechtigungsprüfung im Trace (Doppelklick) findet sich auch ein Verweis auf das Programm und die Sourcecode-Zeile, in der die Berechtigungsprüfung erfolgte.<br>Bei der Auswertung: keine Sternchen im Feld für die User-ID verwenden, das wirkt in der ST01 nicht wie man erwarten könnte. Eine Angabe von z.B. "ABC*" führt dazu, dass für den User "ABC*" die Trace-Daten ausgewertet werden - und nicht für alle mit "ABC" beginnenden User.<br></li><li>STAUTHTRACE: Erweiterte Version von ST01 für den Trace von Berechtigungen (ab SAP_BASIS 7.00 SP26). Ab Gültigkeit lt. <span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/1707841/D" target="_blank" class="imCssLink">SAP-Hinweis 1707841 (STAUTHTRACE: Systemweite Traceauswertung)</a></span><span class="fs13lh1-5"> wird auch das Starten des Traces auf Appl.-Servern unterstützt. Liefert - bei gesetzter Markierung bei "Extended Passport auswerten" - auch einige nützliche Statistikdaten, z.B. bei RFC-Aufrufen (aufrufendes System/Mandant, Batch-Job, Transaktionsname). Darstellung der Trace-Daten in einem ALV-Grid, Sprungmöglichkeit zum jeweiligen ABAP-Sourcecode.</span><br></li><li>STUSOBTRACE: Setzen der Filter für den Berechtigungstrace (ab SAP_BASIS 740?). Abhängiger Profilparameter: auth/authorization_trace.<br></li><li>STRFCTRACE (aus <span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/2080378/D" target="_blank" class="imCssLink">SAP-Hinweis 2080378</a></span><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/2080378/D" target="_blank" class="imCssLink">: Analyse RFC-Kommunikation</a>, ähnlich der Funktion im "UCON" ("Unified Connectivity", </span><span class="fs13lh1-5"><a href="http://help.sap.com/saphelp_nw74/helpdata/de/ab/35e1c69f744d69a4fcf4ca93284e0c/content.htm" onclick="return x5engine.imShowBox({ media:[{type: 'iframe', url: 'http://help.sap.com/saphelp_nw74/helpdata/de/ab/35e1c69f744d69a4fcf4ca93284e0c/content.htm', width: 1920, height: 1080, description: ''}]}, 0, this);" class="imCssLink">http://help.sap.com/saphelp_nw74/helpdata/de/ab/35e1c69f744d69a4fcf4ca93284e0c/content.htm</a></span><span class="fs13lh1-5">))</span><br></li></ul></div><div><div class="imHeading4">Ausschalten von Berechtigungsprüfungen</div><div>Transaktionen AUTH_SWITCH_OBJECTS, SU24, SU25</div><div>-&gt; durch Profilparameter auth/object_disabling_active verhinderbar (sollte in P-Systemen auf N gesetzt sein!)</div><div>Kurze Beschreibung / Abgrenzung der Transaktionen SU22, SU24, SU25 (aus der Online-Doku zu SU22 übernommen): </div></div></div><blockquote><div><div><div><span class="fs13lh1-5"><i>Mit Transaktion SU22 ordnen Sie als Entwickler einer Anwendung die Berechtigungsobjekte der Anwendung zu und bearbeiten die Berechtigungsvorschlagswerte der Berechtigungsobjekte. Die Berechtigungsobjekte und deren Vorschlagswerte kann der Berechtigungsadministrator des Kunden mit Transaktion SU25 übernehmen und mit Transaktion SU24 anpassen. Diese kundenseitig angepassten Daten verwendet der Profilgenerator (Rollenverwaltungswerkzeug, Transaktion PFCG) bei der Erstellung von Rollenberechtigungen. In der PFCG kann der Rollenadministrator des Kunden die Berechtigungswerte noch weiter nachbearbeiten, z.B. um den Buchungskreis anzugeben.</i></span></div></div></div></blockquote><div><div><div>Die SU25 dient für die <span class="fs13lh1-5">Initialisierung des Profilgenerators nach Upgrade bzw. Erstinstallation.</span></div><div>Weitere Programme in dem Umfeld: SU2X_CHECK_CONSISTENCY, SU24_AUTO_REPAIR.</div><div><a href="https://launchpad.support.sap.com/#/notes/1539556/D" target="_blank" class="imCssLink">SAP-Hinweis 1539556 (FAQ: Administration von Berechtigungsvorschlagswerten)</a></div><div class="imHeading4">Berechtigungsfelder, Ausprägungen / Wertetabellen</div></div><div><div>Transaktion SU20</div><div><div>Für Transport: Objektkatalogeintrag ist folgendermaßen </div></div></div></div><blockquote><div><div><div><div>R3TR	AUTH	(Berechtigungsobjekt)</div></div></div></div></blockquote><div><div><div>Dabei dann aber auch an verwendete Datenelemente und Domänen denken!</div></div></div><blockquote><div><div><div>R3TR	DTEL	(Datenelement)</div></div></div><div><div><div>R3TR	DOMA	(Domäne)</div></div></div></blockquote><div><div><div class="imHeading4">SUIM: Suchen nach Gesamtberechtigung ('*')</div><div>Ein in den Feldwerten für Berechtigungen eingegebener * bewirkt, dass nach beliebigen Ausprägungen in dem Feld gesucht wird. Will man auf die Gesamtberechtigung abfragen, muss #* eingegeben werden (siehe SAP-Hinweise <a href="https://launchpad.support.sap.com/#/notes/1267608/D" target="_blank" class="imCssLink">1267608: SUIM| RSUSR030 Suche nach Gesamtberechtigung</a> und <a href="https://launchpad.support.sap.com/#/notes/1259329/D" target="_blank" class="imCssLink">1259329: SUIM| Suche mit dem Suchmuster #**)</a>. </div><div class="imHeading4">Reiter "Berechtigungen" fehlt in PFCG</div></div><div><div>-&gt; Profilparameter auth/no_check_in_some_cases enthält nicht "Y". Siehe <a href="https://launchpad.support.sap.com/#/notes/416016/D" target="_blank" class="imCssLink">SAP-Hinweis 416016: Profilparameter auth/no_check_in_some_cases</a>.</div><div><div class="imHeading4">Deklaration eines Feldes als Organisationsebene (in PFCG)</div><div>SAP-Hinweise</div><div><ul><li><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0323817/D" target="_blank" class="imCssLink">0323817: Anlegen von Orgebenenfeldern für den Profilgenerator</a></span><br></li><li><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0727536/D" target="_blank" class="imCssLink">0727536: FAQ | Nutzung kundeneigener Organisationsebenen in der PFCG</a></span><span class="fs13lh1-5"> </span><br></li><li><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0535602/D" target="_blank" class="imCssLink">0535602: SUPO | Dokumentation und Transportanschluss für OrgEbenenpflege</a></span><br></li></ul></div><div><div class="imHeading4">Zusammenspiel PFCG - HR-Org.Management</div><div>-&gt; indirekte Rollenzuordnung. Indem User einer "Planstelle" zugeordnet werden, erhalten sie dann auch die zu einer Planstelle zugeordneten Rollen. </div><div>Dokumentation in der SAP-Bibliothek dazu: </div><div><span class="fs13lh1-5"><a href="https://help.sap.com/saphelp_nw73/helpdata/de/58/9e563cf19bcb43e10000000a11405a/frameset.htm" target="_blank" class="imCssLink">https://help.sap.com/saphelp_nw73/helpdata/de/58/9e563cf19bcb43e10000000a11405a/frameset.htm</a></span></div><div><span class="fs13lh1-5">Eine Rollenzuordnung über HR-Org.Management ist u.a. am Flag "ORG_FLAG" in der Tabelle AGR_USERS erkennbar.</span><br></div><div>Voraussetzung ist u.a. ein Eintrag in Tabelle PRGN_CUST (HR_ORG_ACTIVE "YES").</div><div>Beteiligte Tabellen, Transaktionen etc.: Tabellen T77AW (WEGID = US_ACTGR), Transaktion PPOME. Liste der Besetzung von Planstellen: Transaktion S_AHR_61016503. Allgemeines Auswerteprogramm: RHSTRU00</div><div>SAP-Hinweise mit Informationen dazu: </div><div><a href="https://launchpad.support.sap.com/#/notes/0578271/D" target="_blank" class="imCssLink">0578271: PFCG Integration der Rollenzuordnungspflege in die PPOME</a></div><div><a href="https://launchpad.support.sap.com/#/notes/0578271/D" target="_blank" class="imCssLink">0511200: PFCG/PFUD/SU01/SU10: Rollenzuordnung und Profilabgleich</a></div><div><div class="imHeading4">Profile SAP_ALL und SAP_NEW<br></div><div><div>Für beide gibt es Generierungsprogramme: </div><div>RSUSR406 für SAP_ALL</div><div>REGENERATE_SAP_NEW für SAP_NEW</div><div>Mit dem Programm REGENERATE_SAP_APP kann man auch ein "SAP_APP"-Profil und/oder eine "SAP_APP-Rolle" generieren, in dem z.B. Basis- und HR-Objekte ausgeschlossen werden können. Anders als SAP_ALL und SAP_NEW existiert das Profil im Standard nicht, wenn man es über REGENERATE_SAP_APP generiert. </div><div><div class="imHeading4">Rollen: Massengenerierung von Profilen</div><div>Tx. SUPC bzw. Programm SAPPROFC_NEW. Für Ausführung von SAPPROFC_NEW wird allerdings auch die Transaktionsberechtigung für SUPC benötigt (wird bei Programmstart geprüft). Wenn man die nicht hat (und auch nicht die für Ausführen der Generierung in PFCG), kann man für Generierung von Profilen einzelner Rollen auch noch auf den Funktionsbaustein SUPRN_PROFILE_BATCH ausweichen (SE37, Parameter: ACT_OBJID = Rollenname). Interessanterweise scheinen dabei keine Änderungsbelege erzeugt zu werden. </div><div><div class="imHeading4">Massenlöschung von Rollen</div><div>nur über Zusatzprogramm aus <a href="https://launchpad.support.sap.com/#/notes/0313587/D" target="_blank" class="imCssLink">SAP-Hinweis 0313587: Massenlöschen von Aktivitätsgruppen</a></div><div><div class="imHeading4">Statusübersicht über Rollen (Profil / Profilgenerierung aktuell, Benutzer zugewiesen etc.)</div><div>Programm PRGN_STATUS_ALL</div><div class="imHeading4">Rollen: Massenfunktion für Aufnahme in Transportauftrag</div><div>Programm PFCG_MASS_TRANSPORT </div><div class="imHeading4">Rollen in andere Systeme verteilen</div><div>Transaktion PFCGROLEDIST</div><div class="imHeading4">Rollenvergleich</div><div><span class="fs13lh1-5">SUIM -&gt; Vergleiche -&gt; Rollen	(bzw. Transaktion S_BCE_68001777 bzw. Programm RSUSR050).</span><br></div><div><div class="imHeading4">Rollen: Anpassen und Generieren von abgeleiteten Rollen </div><div>Programm SUPRN_REGENERATE_DEPENDENT -&gt; geht aber nur für einzelne Mutterrollen (Name der vererbenden Rolle muss im Selektionsbildschirm angegeben werden). </div><div><div class="imHeading4">Berechtigungen: Ein-/Ausschalten Transaktionsberechtigung bei Aufruf aus einer anderen Transaktion (CALL TRANSACTION...)</div><div>Transaktion SE97 / Tabelle TCDCOUPLES für Berechtigungsprüfung Transaktionsaufruf aus einer anderen Transaktion</div></div></div></div></div><div><div class="imHeading4">In welchen Sammelrollen ist eine Rolle enthalten?</div><div>über SE16 -&gt; Tabelle AGR_AGRS, Rolle in CHILD_AGR eintragen.</div><div><div class="imHeading4">Welche Transaktionen hat Benutzer x im Zeitraum y - z verwendet?</div><div>ST03N -&gt; auf "Experte" umschalten -&gt; Appl-Server auswählen (nicht TOTAL!) -&gt; Zeitraum auswählen -&gt; im unteren Bereich &nbsp;"Anwender- u. Abrechnungsstat." -&gt; "Anwenderprofil" -&gt; Doppelklick auf Benutzer x</div><div class="imHeading4">Refresh der Benutzerpuffer (Berechtigungen)</div></div></div></div></div><div><div>in SU01 im Kommandofeld (egal, welches Dynpro) "RSET" eingeben 	</div><div>oder</div><div>Report RSUSR405 ausführen</div><div>oder</div><div>Funktionsbaustein 'SUSR_USER_BUFFER_AFTER_CHANGE' ausführen (Wert für Parameter PROFILE: 4. Siehe auch <a href="https://launchpad.support.sap.com/#/notes/452904/D" target="_blank" class="imCssLink">SAP-Hinweis 452904: Verlust der Berechtigung nach Profilgenerierung</a>)</div><div>oder</div><div>Funktionsbaustein 'SUSR_RESET_ALL_USER_BUFFERS' ausführen</div><div>Auch für einen einzelnen User kann der Benutzerpuffer zurückgesetzt werden: SU56 &gt; "Berechtigungswerte" &gt; "Anderer Benutzer / Berechtigungsobjekt" &gt; User angeben &gt; "Berechtigungswerte" &gt; "Benutzerpuffer zurücksetzen".</div><div><div class="imHeading4">Problem "Überlauf des Benutzerpuffers"</div><div>In Releases &lt; <span class="fs13lh1-5">SAP_BASIS 750 </span><span class="fs13lh1-5">gibt es eine "harte" Grenze von 312 Profilen, die ein Benutzer haben kann. Wird diese Grenze überschritten, klappt der Benutzerabgleich nicht (rote Ampeln).</span></div><div>Die Benutzer, bei denen so ein Überlauf vorliegt, kann man über SE16 / Tabelle USR04 herauskriegen. Im Feld PROFS stehen die zugeordneten Profile, im Feld NRPRO die Anzahl der belegten Bytes in dem Feld. Der Profilname ist 12 Zeichen lang, 2 Bytes werden noch zusätzlich für ein Änderungskennzeichen benötigt. Also: (NRPRO - 2) / 12 = Anzahl Profile. Bei Wert &gt; 3740 liegt ein Überlauf im Benutzerpuffer vor. </div><div>SAP-Hinweise dazu: </div><div><a href="https://launchpad.support.sap.com/#/notes/0841612/D" target="_blank" class="imCssLink">0841612: Maximale Anzahl von Profilen pro Benutzer</a> </div><div><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/0410993/D" target="_blank" class="imCssLink">0410993: Maximale Anzahl für Profile und Berechtigungen</a></span></div><div><div class="imHeading4">Meldung "Keine Berechtigung zum Lesen der Datei usr/sap/trans/sapnames/USERNAME"</div><div>das liegt daran: <a href="https://launchpad.support.sap.com/#/notes/816523/D" target="_blank" class="imCssLink">SAP-Hinweis 816523: Abbruch bei Anmeldung eines Benutzers: "Keine Berechtigung"</a></div><div class="imHeading4">Ein paar ggf. nützliche Programme</div></div></div></div></div></div><div><div><span class="fs13lh1-5">PRGN_STATUS_ALL	Übersicht Rollen (Profil generiert, User zugeordnet etc.)</span><br></div><div>PFCG_ADD_MINIAPP	Hinzufügen einer MiniApp</div><div>PFCG_AGRS_WITH_MANUAL_S_TCODE	Auflisten aller Rollen mit manueller S_TCODE Berechtigung</div><div>PFCG_COMPARE_ROLE_WITH_TEMPL	Report PFCG_COMPARE_ROLE_WITH_TEMPL</div><div>PFCG_MASS_DOWNLOAD	Massen-Download von Rollen</div><div>PFCG_MASS_IMPORT	Massenimport von Rollen</div><div>PFCG_MASS_TRANSPORT	Massentransport von Rollen</div><div>PFCG_MODAUTH	Ändern von Berechtigungen einer Rolle von „Standard“ zu „Manuell“</div><div>PFCG_ORGFIELD_CREATE	Profilgenerator: Neues Org.-Ebenen Feld anlegen</div><div>PFCG_ORGFIELD_DELETE	Profilgenerator: Neues Org.-Ebenen Feld wieder löschen</div><div>PFCG_ORGFIELD_ROLES	Rollen mit Orgebenendefinition synchronisieren</div><div>PFCG_ORGFIELD_UPGRADE	Profilgenerator: Anpassung nach Upgrade für neue Org.-Ebenen Feld</div><div>PFCG_SET_ACTGROUP_TIMESTAMP	Programm PFCG_SET_ACTGROUP_TIMESTAMP</div><div>PFCG_SET_PROFILE_NAMERANGE	Nummernbereich für den Namensvorschlag bei Profilen setzen</div><div>PFCG_START_PFCG	Programm zum Starten der PFCG</div><div>PFCG_TIME_DEPENDENCY	Report zum Einplanen für Zeitabhängigkeit der Rollen</div><div>PFCG_UPDATE_ALL_ROLES	Nachgenerieren aller Rollen</div><div>SUPRN_PRINT_COMPLETE_AGR	Druckaufbereitung aller Daten einer Rolle</div><div>SUPRN_REGENERATE_DEPENDENT	Anpassung abgeleiteter Rollen</div><div><div class="imHeading4">Berechtigungen für Tabellen</div><div class="imHeading5">Berechtigung für alle Tabellen einer Berechtigungsgruppe</div><div>Über Berechtigungsobjekt S_TABU_DIS. Die Berechtigungsprüfung für S_TABU_DIS erfolgt sowohl in den "generischen Tabellenzugrifftools" (SE16, SM30...) als auch in vielen Anwendungsprogrammen.</div><div class="imHeading5">Berechtigung für einzelne Tabellen</div><div>Das ist steuerbar über die Berechtigungsobjekte S_TABU_DIS (Ziel: erfolg<span class="imUl">lose</span> Berechtigungsprüfung für Berechtigungsgruppe der Tabelle) und S_TABU_NAM (Ziel: erfolg<span class="imUl">reiche</span> Berechtigungsprüfung für die Tabelle). </div><div>In den "generischen Tabellenzugriffstools (Transaktionen SE16, SE17, SM30, SM31 und SM34) und allen weiteren Anwendungen die den Funktionsbaustein VIEW_AUTHORITY_CHECK zur Berechtigungsprüfung nutzen" wird zunächst S_TABU_DIS mit der Berechtigungsgruppe der Tabelle geprüft. Schlägt diese Berechtigungsprüfung fehl, wird anschließend die Berechtigung für S_TABU_NAM mit dem Tabellennamen geprüft. Ist diese erfolgreich, ist der Zugriff auf die Tabellendaten möglich. In vielen Anwendungsprogrammen erfolgt diese Methodik der Berechtigungsprüfung aber nicht, d.h. funktioniert für einen Anwender in den Transaktion SE16, SM30, ... der Zugriff auf die Tabelle aufgrund fehlender Berechtigung für S_TABU_DIS und vorhandener Berechtigung für S_TABU_NAM, wird ihm der Zugriff in den Anwendungsprogrammen auf die gleiche Tabelle ggf. verwehrt. &nbsp;</div><div class="imHeading5">Berechtigung für einzelne Zeilen von Tabellen</div><div>Über Berechtigungsobjekt S_TABU_LIN.</div><div> </div><div>In dem Zusammenhang auch noch sinnvoll: Eine Parametertransaktion für SM30 mit dem Tabellennamen, Pflege in SU24 für diese Parametertransaktion.</div><div><div class="imHeading4">Sperrung eines Systems gegen den Import von Benutzerzuordnungen von Aktivitätsgruppen</div><div>Wenn Sie ein System gegen den Import von Benutzerzuordnungen von Aktivitätsgruppen grundsätzlich sperren wollen, so können Sie dies in der Customizing Tabelle PRGN_CUST angeben (Pflege mit der Transaktion SM30). Geben Sie dazu eine Zeile mit der Bezeichnung USER_REL_IMPORT und dem Wert NO ein.</div><div><div class="imHeading4">Sicherheitsrichtlinien / Security Policies</div><div>AB SAP_BASIS 731. Die Sicherheitsrichtlinien lösen etliche Profilparameter bzgl. Definition von Passwortregeln, -änderungen und Anmelderestriktionen ab. In der SU01 (Reiter "Logondaten") kann man Benutzer einer Sicherheitsrichtlinie zuordnen. Die Sicherheitsrichtlinien werden in Transaktion SECPOL gepflegt.</div><div>Ist bei einem User keine Sicherheitsrichtlinie eingetragen, sind die Regeln lt. Profilparameter gültig. </div><div>Änderungen an problematischen Profilparametern (wie z.B. login/password_downwards_compatibility) können darüber eingeführt werden, ohne dass man ein Risiko bei den Systemusern eingeht, wenn diese einer Sicherheitsrichtlinie zugeordnet sind, die ältere Regeln definieren.</div><div>Hinweis: mit Einführung der Sicherheitsrichtlinien sind die Passwortregeln nun auch für Servicebenutzer gültig! </div><div>Dokumentation dazu: <a href="https://help.sap.com/viewer/c6e6d078ab99452db94ed7b3b7bbcccf/7.31.19/en-US/e9c15fb4c06340558898fda99d98cb0d.html" class="imCssLink">https://help.sap.com/viewer/c6e6d078ab99452db94ed7b3b7bbcccf/7.31.19/en-US/e9c15fb4c06340558898fda99d98cb0d.html</a></div><div> </div><div><div class="imHeading4">Kritische Berechtigungen / kritische Kombination von Berechtigungen</div><div>Ab Release 7.52 gibt es mit dem Report RSUSR_UP_AND_DOWNLOAD_FOR_CA die Möglichkeit, die Definition der Regelwerke in Excel vorzunehmen. (In älteren Releases kann der Report selbst angelegt werden, der ABAP Code ist hier: <a href="https://wiki.scn.sap.com/wiki/download/attachments/491918787/Z_USCRAUTH.txt" target="_blank" class="imCssLink">https://wiki.scn.sap.com/wiki/download/attachments/491918787/Z_USCRAUTH.txt</a> zu finden). Mit diesem Report können die bestehenden Regeln aus dem System im passenden Format nach Excel exportiert und dort angepasst / ergänzt werden. Anschließend kann das Excel wieder hochgeladen werden. Weitere Infos dazu gibt es im <a href="https://launchpad.support.sap.com/#/notes/2785076/D" target="_blank" class="imCssLink">SAP-Hinweis 2785076: SUIM| Neue Funktionalitätten in RSUSR008_009_NEW</a>.</div><div class="imHeading4">Tabelleninhalt eines anderen Mandanten einsehen</div></div></div><div><div><ul><li>über Transaktion ST04, dort findet sich ein SQL-Editor<br></li><li>über Programm ADBC_QUERY. Nur den Tabellennamen eingeben (DB-Verbindungsname und Datenbankschema kann leer bleiben), nachfolgend ggf. Spalten auswählen, anschließend bekommt man die Daten aller Mandanten im System.<br></li></ul></div><div><div class="imHeading4">Änderungsbelege zu Usern</div><div>Tabellen:</div><div>USRSTAMP	Zeitstempel für alle Änderungen am Benutzer</div><div>USH02	Änderungshistorie f. Logon-Daten und Security Policy</div><div>USH04	Änderungshistorie Berechtigungen</div><div>CDHDR: OBJECTID = Username, und wie üblich haben die zugehörigen Sätze in Tabelle CDPOS die gleiche CHANGENR.</div><div><br></div></div></div></div></div><div><br></div></div><div><br></div></div></div><div><br></div></div></div>]]></description>
			<pubDate>Thu, 02 Jun 2022 07:34:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-1020134_thumb.jpg" length="50202" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?rund-ums-thema-berechtigungen</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001B</guid>
		</item>
		<item>
			<title><![CDATA[Probleme mit dem TMS]]></title>
			<author><![CDATA[]]></author>
			<category domain="https://sap-basis.x10.bz/blog/index.php?category=SAP_Basis"><![CDATA[SAP Basis]]></category>
			<category>imblog</category>
			<description><![CDATA[<div id="imBlogPost_00000001A"><div>Im Laufe der Jahre bin ich immer mal über Probleme mit dem Transportsystem gestoßen. Hier sind meine gesammelten Notizen dazu, die ebenfalls über etliche Jahre hinweg zusammengestellt wurden. Daher treten ggf. einige Probleme nicht mehr auf, und ggf. gibt es für einige Probleme auch inzwischen andere Lösungen. </div><div>Wie auch immer, wenn Sie auf eines der hier genannten Probleme stoßen sollten oder eine bestimmte Fragestellung zum TMS haben, können Ihnen die Information hoffentlich nützlich sein. Los geht's...</div><div class="imHeading4">Konflikt CTC=1 / clientALL</div><div>Der Support Package Manager stellt Transporte mit clientALL in die Importqueue. Diese können bei gesetzter CTC-Option (mandantenspezifische Importqueue) manuell nicht wieder aus der Importqueue gelöscht werden.</div><div>Lösung: über RSBDCOS0 tp-Aufruf mit temporärer Überlagerung des CTC-Paramters ("-D CTC=0"):</div><div><span class="fs13lh1-5 ff1">tp delfrombuffer SAPKIPZE43 &lt;SID pf=&lt;Domänenprofildatei&gt; <span class="cb1">"-D CTC=0"</span></span></div><div class="imHeading4">TMS bleibt stehen</div><div>Wenn das TMS "stehenbleibt" (z.B. beim Lesen der Importqueue, beim Weiterleiten eines Auftrages, beim Löschen eines TA aus der Importqueue oder beim Prüfen kritischer Transportobjekte): TP-Systemprotokoll einsehen. Dort sind vermutlich solche Meldungen vorhanden:</div><div><span class="fs13lh1-5 ff1">WARNING: \\....\&lt;SID&gt;.LOB is already in use (118), I'm waiting 5 sec (20200823110008). </span></div><div>(z.B. beim Weiterleiten eines Auftrages)</div><div>oder</div><div><span class="fs13lh1-5 ff1">WARNING: /usr/sap/trans.&lt;SID&gt;/tmp/&lt;TA-Nr.&gt;.&lt;SID&gt; is already in use (8), I'm waiting 5 sec .... </span></div><div>(beim Prüfen kritischer Transportobjekte)</div><div>Entweder ist die Datei eine Leiche aus einem vorangegangenen abgebrochenen tp-Prozess oder es laufen mehrere konkurrierende Prozesse gleichzeitig. Die Prozess-ID steht in der Datei. Wenn der Prozess noch läuft, sollte im Transportmonitor und im Transportverzeichnis (\tmp\) geprüft werden, ob der Prozess tatsächlich noch etwas tut. Wenn sich weder im Transportmonitor noch im tmp-Verzeichnis etwas tut, kann der Prozess abgebrochen werden, anschließend kann die Datei gelöscht werden. Siehe auch <a href="https://launchpad.support.sap.com/#/notes/12746/D" target="_blank" class="imCssLink">SAP-Hinweis 12746</a>.</div><div class="imHeading4">TA lässt sich nicht importieren: RC 242, "Because of serialization..."</div><div>Bei einem Abbruch des vorigen Transportes bleibt ggf. eine Semaphoren-Datei liegen. Die ist zu finden im Verzeichnis &lt;DIR_TRANS&gt;/serial mit dem Name &lt;SID&gt;SEMA.GLB. In dieser Datei ist die Prozess-ID des tp-Prozesses enthalten, die die Semaphoren-Datei erzeugt hat. Sollte der Prozess nicht mehr laufen, kann die Semaphoren-Datei gelöscht werden. </div><div>Überprüfung, ob der Prozess noch läuft: </div><div>Unix: auf BS-Ebene mit "ps -ef |grep &lt;PID&gt;"</div><div>NT / Win2K: da weiß ich nichts besseres als ST06 -&gt; "Erste 40 CPU-Prozesse"</div><div>Sollte der Prozess noch laufen (neuerer Zeitstempel in der Semaphoren-Datei? Bewegung im tmp-Verzeichnis?), aber anscheinend nichts mehr tun, muss er beendet werden, anschließend kann die Semaphoren-Datei gelöscht werden.</div><div><div class="imHeading4">Transport hängt ewig / bricht ab mit RC 12 im Schritt "Move Nametabs"</div><div>Sollte der Schritt "Move Nametabs" ewig laufen, sollte zunächst geprüft werden, ob der Job tatsächlich noch läuft (Job RDDMNTAB -&gt; in SM37 den Status prüfen). Ggf. ist der Prozess inzwischen gestorben. &nbsp;</div><div>Zunächst gilt es, den verursachenden Transport herauszufinden. Nachdem das Serialisierungs-Problem (voriges Problem) behoben ist, müssen die Transportaufträge in kleinen Portionen eingespielt werden. Bei einem TA tritt das Problem dann ggf. wieder auf. Ggf. tauchen im SysLog ORA-0060-Meldungen auf (Deadlock auf Tabelle D010...). </div><div>Die Ursache liegt vermutlich darin, dass der Transport eine Struktur oder Tabelle ändert, die an zahlreichen bzw. zentralen Stellen verwendet wird. Welche Strukturen / Tabellen das sind, kann evtl. über Einsicht in die Datei "P&lt;JJMMDD&gt;.&lt;SID&gt;" im \tmp-Verzeichnis in DIR_TRANS ermittelt werden. Der Import führt dazu, dass zum einen der Transportprozess, aber auch etliche Anwender, die ein abhängiges Objekt gerade in der Anwendung verwenden, eine Neugenerierung / Aktivierung veranlassen. Hier ist die Gefahr eines Deadlocks entsprechend gross. Abhilfe kann schaffen, die Strukturen / Tabellen des Transportauftrages in der SE11 manuell zu aktivieren. Auch hier können jedoch Deadlocks auftreten -&gt; neu versuchen.</div></div><div><div class="imHeading4">Import bricht ab mit RC=234 ("uncaught internal error")</div><div>OSS-Hinweise 526600 und 0400042 treffen nicht zu.</div><div>Im TP-Syslog taucht folgende Meldung auf:</div><div><span class="fs13lh1-5 ff1">HALT 20031125140801 </span></div><div><span class="fs13lh1-5 ff1">ERROR: uncaught internal error in database interface </span></div><div><span class="fs13lh1-5 ff1">ERROR: EXIT(16) -&gt; process ID is: 242654 </span></div><div>Ursache: ein zu importierender Transportauftrag ist in der Importqueue doppelt vorhanden. Das kann durch irrtümliche Ablehnung im QA-Arbeitsvorrat und anschließender Weiterleitung ans Zielsystem passieren.</div><div>Lösung: doppelte Einträge in Importqueue entfernen.</div></div><div><div class="imHeading4">Meldung "transport order ... exists already with different contents."</div><div>Meldung <span class="fs13lh1-5 ff1">"ERROR &lt;Transportauftrag&gt; &lt;SID&gt; I 0016 20200209210918 ..."</span> im TP-SysLog bzw. im Transportprotokoll durch Meldung</div><div><span class="fs13lh1-5 ff1">transport order ... exists already with different contents. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">===&gt; HALT: If you are sure that this is ok, use umode 1 to overwrite it. Please contact the SAP support.</span></div><div>Ursache: vermutlich wurden bereits früher Transporte gleichen Namens, aber mit anderen Inhalten in das System importiert. </div><div>Lösung: tja, was Besseres weiß ich nicht: </div><div>Entweder den Ratschlag mit umode 1 befolgen (also Import auf BS-Ebene mit tp import) oder aber die E07*-Tabellen um den / die angemeckerten TA(s) bereinigen (löschen). Die Tabellen sind diese: </div><div><div>E070, E070A, E070C, E070CREATE, E070DEP, E070L, E070M, E070P, E070TC, E071, E071C, E071E, E071K, E071KF, E071KFINI, E071L, E07T. </div></div></div><div>Die Tabellen sind nicht direkt verwaltbar, aber mit Tools wie <a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP systems"</a> ist es möglich. </div><div><div class="imHeading4">Im TMS fehlt der Import-Button</div><div>Vermutlich existieren Transportaufträge ohne Zielmandant in der Importqueue. Diese markieren und einen Zielmandanten zuweisen. </div><div><div class="imHeading4">Importmonitor voller Leichen</div><div>Kann beim Abbruch von tp entstehen. Wenn man riesige Mengen von Transporten gestartet hat, findet sich im Importmonitor für jeden TA ein Eintrag, die nur mühsam auf manuellem Wege gelöscht werden können.</div><div>Lösung: die zugrundeliegende Tabelle ist "TPSTAT". Über SE14 kann man die Tabelleninhalte löschen &nbsp;(Datenbanktabelle löschen, Datenbanktabelle anlegen). Die SE14 ist immer etwas heikel. Mit <span class="fs13lh1-5"><a href="https://www.shortcut-it.com" target="_blank" class="imCssLink"><span class="fs13lh1-5">"Shortcut for SAP systems"</span></a></span><span class="fs13lh1-5"> </span><span class="fs13lh1-5">ist es ebenfalls, und auch mit etwas mehr Kontrolle und Flexibilität möglich.</span></div><div><div class="imHeading4">Bei TMS-Konfiguration falsche Domäne angeben, System wartet jetzt irrtümlicherweise auf Aufnahme in Domäne</div><div>TMS-Konfiguration kann jetzt im Dialog nicht mehr gelöscht werden. Ehe man jetzt lange wartet, dass derjenige, der die fälschlicherweise angegebene TMS-Domäne verwaltet, einen wieder rausschmeißt: Eintrag in Tabelle TMSMCONF löschen (mit <span class="fs13lh1-5"><span class="fs13lh1-5"><a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP systems"</a></span> leicht möglich</span><span class="fs13lh1-5">). Dann kann man das TMS wieder neu konfigurieren.</span></div><div><div class="imHeading4">Transportaufträge verbleiben mit Status "Import läuft" (LKW-Symbol) oder mit Status "Import eingeplant" (Uhr-Symbol), obwohl kein Transport läuft. Erneutes Importieren ist nicht möglich (Fehlermeldung "Transport läuft bereits", CREATE_ENQUEUE_FAILED).</div><div><span class="fs13lh1-5">Dieser Fehler kann auftreten, wenn a) ein schwerwiegender Fehler beim Import aufgetreten ist oder b) Transporte per Batch eingeplant wurden, der Job ("TMS...") aber nicht oder nicht fehlerfrei gelaufen ist. </span></div><div><span class="fs13lh1-5">In der Tabelle TMSTLOCKP und/oder TMSTLOCKR wurden a) vom Import-Prozess oder b) zum Zeitpunkt der Einplanung des Batch-Jobs Sperreinträge für die eingeplanten Transportaufträge eingestellt, die nur durch den Import der jeweiligen Transportaufträge aus der Tabelle wieder entfernt werden. </span></div><div><span class="fs13lh1-5">Lösung: mit </span><span class="fs13lh1-5"><span class="fs13lh1-5"><a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP systems"</a></span></span><span class="fs13lh1-5"> die Tabelleninhalte löschen.</span></div><div><div class="imHeading4">Transportschritte laufen nicht an / laufen endlos. Im TP-Syslog stehen Fehlermeldungen mit "Background jobs cannot be started.".</div><div><span class="fs13lh1-5 ff1">ERROR: System &lt;SID&gt;. Warning. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20011030140113 :</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;The following call returned with exit code 4:</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;sapevt.exe SAP_TRIGGER_RDDIMPDP -t name=&lt;SID&gt;</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Background jobs cannot be started.</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please check trace file dev_evt.</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(This warning is harmless if no further warnings follow.</span></div><div><span class="fs13lh1-5">Wahrscheinlich trifft hier <a href="https://launchpad.support.sap.com/#/notes/449270/D" target="_blank" class="imCssLink">SAP-Hinweis 449270</a> zu. Eine schnelle Umgehung des Problems wäre die Durchführung der Transporte (bzw. das Einspielen der Support Packages bzw. PlugIn's) auf dem Server, der die Batch-Prozesse zur Verfügung stellt (also gezielt auf dem Server anmelden). &nbsp;</span></div><div><div class="imHeading4">Im QA-Arbeitsvorrat fehlen die Schaltflächen für Genehmigen und Ablehnen</div><div><span class="fs13lh1-5">In dem Fall gibt es Transportwege mit unterschiedlichen Mandanten. Wenn man einen Filter auf den zu bearbeitenden Mandanten setzt, stehen die Schaltflächen für Genehmigen und Ablehnen wieder zur Verfügung. Wenn man mal richtig die Augen aufmacht, sieht man auch einen entsprechenden Hinweis in der Fußzeile (hatte aber diverse Male anscheinend die Augen nicht richtig offen... ).</span></div><div><div class="imHeading4">Abbruch (Returncode 12) im Schritt "Tabellenumsetzung"</div><div><span class="fs13lh1-5">Ursache ist eine Änderung in einer Tabelle, bei der die Daten nicht umgesetzt werden konnten.</span></div><div><span class="fs13lh1-5">Die betroffene Tabelle bekommt man über das Einsehen der Transportprotokolle heraus. Dort sieht man dann z.B. so etwas:</span></div><div><span class="fs13lh1-5 ff1"> &nbsp;&nbsp;Auftrag: Umsetzen Table ZSD_IQ_WVE (DDIC/14.01.19/13:48)</span></div><div><span class="fs13lh1-5 ff1"> &nbsp;&nbsp;Programm wurde abgebrochen (Job: RDDGEN0L, Nr.: 13480201) &nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5">Im Datenbank-Utility (SE14) für die Tabelle sieht man dann die abgebrochene Umsetzung ebenfalls. Dort kann man dann eine Fortsetzung der Umsetzung versuchen und bekommt auch etwas mehr Informationen. Ggf. hilft auch ein Blick in die für die Umsetzung angelegte Kopie (Tabellenname mit Prefix "QCM8"). Nachdem die Umsetzung erfolgreich war, muss der Transportauftrag nochmal eingespielt werden (wobei vorher wahrscheinlich noch das Problem "TA lässt sich nicht importieren: RC 242, 'Because of serialization...'" auftritt, -&gt; siehe weiter oben). Durch die vorweggenommene Umsetzung muss (für die Tabelle) dann nicht nochmal eine Umsetzung erfolgen.</span></div><div><div class="imHeading4">Das Löschen abgelehnter Transporte aus der Importqueue funktioniert nicht</div><div><span class="fs13lh1-5">Das geht nicht über die normale Löschfunktion sondern nur über "Zusätze" -&gt; "Importierte Aufträge löschen". Da werden dann aber auch alle importierten Aufträge gelöscht (auch die mit Status "steht nochmal zum Import an").</span></div><div><div class="imHeading4">Weiterleiten eines Auftrages funktioniert nicht</div><div><span class="fs13lh1-5">Verschiedene Fälle, treten auf bei Systemen mit unterschiedlichen Transportgruppen / Verzeichnissen / Betriebssystemen:</span></div><div><span class="fs13lh1-5">1.: Meldung "Transportqueue muss abgeglichen werden"</span></div></div></div></div></div></div></div></div></div></div><blockquote><div><div><div><div><div><div><div><div><div><div><span class="fs13lh1-5">Ursache ist wohl ein Schiefstand in der Importqueue bzw. in der internen Abbildung der Importqueue in den einzelnen Systemen. </span></div></div></div></div></div></div></div></div></div></div><div><div><div><div><div><div><div><span class="fs13lh1-5">Vorgehensweise zur Behebung:</span></div></div></div></div></div></div></div></blockquote><div><div><div><div><div><div><div><ol><ol><li>TMS-Konfiguration auf Domäne neu verteilen und aktivieren</li><li>Transportwege-Konfiguration auf Domäne neu verteilen und aktivieren</li><li>Auf allen beteiligten Systemen: "Zusätze" -&gt; "Alle Importqueues aktualisieren"</li></ol></ol></div><div><span class="fs13lh1-5">2.: Transport erscheint in Ziel-Importqueue, aber data- und cofile werden nicht übertragen</span></div></div></div></div></div></div></div><blockquote><div><div><div><div><div><div><div><span class="fs13lh1-5">Für die Feststellung, ob Dateien übertragen werden müssen, wird anscheinend nicht die Existenz im Filesystem sondern ein Flag in der Importqueue des Zielsystems geprüft. Auch hier ist ein Schiefstand der Importqueue die Ursache. In dem Fall müssen data- und cofile manuell ins Zielverzeichnis kopiert werden. </span></div></div></div></div></div></div></div></blockquote><div><div><div><div><div><div><div><span class="fs13lh1-5">3.: Beim Import in ein vorgelagertes System werden keine / nicht alle Transportaufträge in die Importqueue des Folgesystems gestellt.</span></div></div></div></div></div></div></div><blockquote><div><div><div><div><div><div><div><span class="fs13lh1-5">Das vorgelagerte System hat eine andere Version der Importqueue des Folgesystems als das Folgesystem. Das lässt sich auch daran feststellen, dass die Dateien in den buffer-Verzeichnissen unterschiedlich sind (unterschiedliche Länge). </span></div></div></div></div></div></div></div><div><div><div><div><div><div><div><span class="fs13lh1-5">Behebung: Dateien auf dem vorgelagerten System phyikalisch aus dem buffer-Verzeichnis löschen, anschließend "Zusätze" -&gt; "Alle Importqueues aktualisieren". </span></div></div></div></div></div></div></div></blockquote><div><div><div><div><div><div><div class="imHeading4">tp-Befehle (addtobuffer etc.) scheitern mit Fehlermeldung "invalid syntax for tp-call"</div><div><span class="fs13lh1-5">Das kann auch daran liegen, dass entweder der einzufügende TA in der Importqueue schon vorhanden ist oder aber der nach "after" bzw. "before" angegebene TA in der Importqueue nicht vorhanden ist. </span></div><div><span class="fs13lh1-5">-&gt; ein Blick ins TP Systemlog ist hilfreich. Dort taucht dann ggf. so etwas auf:</span></div><div><span class="fs13lh1-5 ff1">ERROR: Inserting an already existing buffer entry is not supported! </span></div><div><span class="fs13lh1-5">oder</span></div><div><span class="fs13lh1-5 ff1">ERROR: Corresponding entry (&lt;Transportauftrag&gt;,&lt;Mandant&gt;) not found. &nbsp;</span></div><div><div class="imHeading4">tp-Befehle (addtobuffer etc.) scheitern mit Fehlermeldung "missing param"</div><div><span class="fs13lh1-5">Ein tp-Befehl scheitert mit dieser Fehlermeldung:</span></div><div><span class="fs13lh1-5 ff1">TOOLS: Highest return code of single steps was: 0 </span></div><div><span class="fs13lh1-5 ff1">ERRORS: Highest tp internal error was: 0208 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">tp finished with return code: 208 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">meaning: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1"> &nbsp;error in TPPARAM (param missing, unknown,...) &nbsp;&nbsp;</span></div><div><span class="fs13lh1-5">Leider schweigt sich die Fehlermeldung über den fehlenden Parameter aus. Wenn das Anhängen von Transporten / Weiterleiten über das STMS funktioniert, sollte man einen Blick in die Datei &lt;TRANSDIR&gt;\log\ULOG* werfen, dort werden die tp-Befehle protokolliert. Ggf. werden dort weitere Parameter mitgegeben. Wenn man das beim tp-Befehl genauso macht, klappt es. In diesem Beispiel hier wird explizit der Parameter transdir noch mitgegeben. </span></div><div><span class="fs13lh1-5 ff1">tp addtobuffer &lt;Transportauftrag&gt; &lt;SID&gt; client=&lt;Mandant&gt; pf=\\...\sapmnt\trans\bin\TP_DOMAIN_&lt;TMS-Domäne&gt;.PFL <span class="cb1">-dtransdir=&lt;Transportverzeichnis gemäß DIR_TRANS&gt;</span></span></div><div><div class="imHeading4">Import bricht ab beim Schritt "Import anwendungsdefinierter Objekte"</div><div><span class="fs13lh1-5">Im Importprotokoll wird ein Abbruch von Programm RDDDIC1L ausgewiesen, und im Jobprotokoll, auf das verwiesen wird, steht folgendes:</span></div><div><span class="fs13lh1-5 ff1">Job wurde gestartet</span></div><div><span class="fs13lh1-5 ff1">Step 001 gestartet (Programm RDDDIC1L, Variante , Benutzername DDIC)</span></div><div><span class="fs13lh1-5 ff1">Programm RDDDIC1L läuft im Mandanten &lt;Mandant&gt;</span></div><div><span class="fs13lh1-5 ff1">Keine Berechtigung zum Lesen der Datei /usr/sap/trans..../data/&lt;Datafile&gt;</span></div><div><span class="fs13lh1-5 ff1">Job wurde abgebrochen</span></div><div><span class="fs13lh1-5">-&gt; das heißt, im Mandanten fehlt dem DDIC-User die Berechtigung für S_DATASET. Tja, der DDIC sollte und muss halt SAP_ALL haben, und all die Bemühungen der Sicherheitsfanatiker, SAP_ALL auf Teufel komm raus zu eliminieren, scheitern spätestens beim DDIC. </span></div><div><div class="imHeading4">Import hängt beim Schritt "Import anwendungsdefinierter Objekte"</div><div><span class="fs13lh1-5">Im TP-Syslog steht ständig folgendes:</span></div><div><span class="fs13lh1-5 ff1">ERROR: System &lt;SID&gt;. Warning. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;20180213194537 : &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Background job not running properly. Function: D &nbsp;Jobcount: 19383701 &nbsp;Status: P.</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Please check the system. Use transactions SM21, SM37, SM50. &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">ERROR: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(This warning is harmless if no further warnings follow.) </span></div><div><span class="fs13lh1-5">Der Job RDDDIC1L (zuständig für den Import anwendungsdefinierter Objekte) läuft überhaupt nicht los. Ein erneutes Einplanen der TMS-Jobs mit RDDNEWPP bringt eine Fehlermeldung, und im Syslog taucht dann der entscheidende Tip auf:</span></div><div><span class="fs13lh1-5 ff1">EF2 BP_STEPLIST_EDITOR: ungueltige Stepwerte ( Step 1 ) entdeckt. Grund:</span></div><div><span class="fs13lh1-5 ff1">EFV &gt; <span class="cb1">Benutzer DDIC ist auf Grund seines Typs nicht einplanbar &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></span></div><div><span class="fs13lh1-5 ff1">EFN BP_JOB_EDITOR: Job RDDIMPDP_CLIENT_011 ist ungültig. Grund: &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span></div><div><span class="fs13lh1-5 ff1">EFT &gt; Step 1 enthält ungültige Werte</span></div><div><span class="fs13lh1-5">Der Benutzertyp des DDIC war auf "Kommunikation". Die Änderung auf "System" hat Abhilfe geschaffen. Eigenartigerweise ist der DDIC in allen anderen Systemen / Mandanten ebenfalls vom Typ Kommunikation, ohne dass Probleme auftraten. </span></div><div><span class="fs13lh1-5">Dieser Fehler tauchte bei einem System mit neuerem Support Package Stand (51) als den anderen auf, ggf. gibt es durch das Support Package das Problem. </span></div><div><div class="imHeading4">Import von Transporten läuft nicht, TMS-Monitor zeigt dauernd "Initialization complete, start working now"</div><div><span class="fs13lh1-5">Das TMS-Systemlog bringt keinerlei neue Einträge, auch nicht von den letzten Importversuchen.</span></div><div><span class="fs13lh1-5">-&gt; In AL11 mal nachsehen, ob im log- oder im tmp-Verzeichnis eine Datei "SLOG&lt;MMDD&gt;.&lt;SID&gt;.LOC" mit älterem Zeitstempel liegengeblieben ist. Das scheint eine Sperrdatei für das TMS-Systemlog zu sein. -&gt; Löschen</span></div><div><div class="imHeading4">Import-All bricht ab mit Fehlermeldung "Internal error getting container, RC= 4"</div><div><span class="fs13lh1-5">Das einmalige Aufsetzen eines Import-All-Jobs mit anschließender Änderung auf einen periodischen Job über die SM37 funktioniert so nicht. Die Periodizität muss direkt bei der Einplanung im STMS gesetzt werden. Siehe auch <a href="https://launchpad.support.sap.com/#/notes/398589/D" target="_blank" class="imCssLink">SAP-Hinweis 398589</a>. </span></div><div><div class="imHeading4">Importierte Workbench-Objekte sind trotz erfolgreichem Import nicht in den Entwicklungsklassen sichtbar</div><div><span class="fs13lh1-5">Jobs EU_PUT und EU_REORG nochmal laufen lassen bzw. die entsprechenden Programme nochmal starten. Die laufen i.d.R. 1x täglich. Ein Lauf nach dem Import sollte den Effekt bereinigen. </span></div><div><div class="imHeading3">Weitere Ansätze zur Fehlerhebung:</div><div><span class="fs13lh1-5">Importqueue: </span></div><div><ul><li><span class="fs13lh1-5">Importqueue prüfen</span><br></li><li><span class="fs13lh1-5">Transport-Tool prüfen</span><br></li><li><span class="fs13lh1-5">TMS-Konfiguration:</span><br></li><li><span class="fs13lh1-5">Transportgruppen prüfen</span><br></li></ul></div><div><span class="fs13lh1-5"><br></span></div><div><span class="fs13lh1-5">Weiterhin gibt es etliche Log-Dateien, in denen ggf. auch noch nähere Infos zu Fehlern enthalten sind.</span></div><div><ul><li><span class="fs13lh1-5">TP-Systemlog (&lt;Transportverzeichnis&gt;\log\SLOG*)</span><br></li><li><span class="fs13lh1-5">TP-Alerts</span><br></li><li><span class="fs13lh1-5">&lt;Transportverzeichnis&gt;\log\ALOG*</span><br></li><li><span class="fs13lh1-5">&lt;Transportverzeichnis&gt;\log\ULOG*</span><br></li><li><span class="fs13lh1-5">&lt;DIR_HOME-Verzeichnis&gt;\dev_tp (Einsehen sinnvoll z.B. bei Meldungen wie "ERROR: see tp's stdout (Standard Out may not be available)")</span><br></li></ul></div><div><span class="fs13lh1-5"><br></span></div></div></div></div><div><span class="fs13lh1-5">Es gibt auch noch den <a href="https://launchpad.support.sap.com/#/notes/13807/D" target="_blank" class="imCssLink">SAP-Hinweis 13807</a>, der generelle Informationen zur Analyse von Problemen des TMS beinhaltet.</span></div></div><div class="imHeading4">Tabellen im TMS-Umfeld:</div></div></div></div><div><div><ul><li><span class="fs13lh1-5">TRJOB		Jobkennung für Koordination Batch-ABAP/UNIX für Transporte</span><br></li><li><span class="fs13lh1-5">TBATG		Steuertabelle für Tabellenumsetzung in Batch</span><br></li><li><span class="fs13lh1-5">TRBAT		Kommunikationstabelle für Transportsteuerung</span><br></li><li><span class="fs13lh1-5">TMSBUFREQ	TMS Manager: Transportaufträge in Transportpuffer</span><br></li><li><span class="fs13lh1-5">TMSTLOCKR	TMS TP: Sperrtabelle für Einzelimporte	-&gt; LKW-Symbol in Importqueue</span><br></li><li><span class="fs13lh1-5">TMSTLOCKP	TMS TP: Sperrtabelle für Projektimporte	-&gt; LKW-Symbol in Importqueue</span><br></li><li><span class="fs13lh1-5">sowie weitere TMS*-Tabellen</span></li></ul></div><div class="imHeading4">Löschen von ggf. hängengebliebenen Einträgen in Tabelle TBATG: </div><div><span class="fs13lh1-5"><span class="cb1">Auf keinen Fall in SE14 über "Datenbanktabelle löschen" und "Datenbanktabelle anlegen"!</span> In der SE14 wird die TBATG gelesen (egal welche Tabelle man damit bearbeiten will). Ist die Tabelle gelöscht, bricht die SE14 mit Kurzdump ab, und das war's dann mit der TBATG - keine neue Anlage der Tabelle mehr möglich, weil die SE14 immer abbricht. </span></div><div><span class="fs13lh1-5">-&gt; Stattdessen Löschen von Sätzen der TBATG über den Menüpunkt "DB-Aufträge" -&gt; "Per Import erstellte". Oder </span><span class="fs13lh1-5"><span class="fs13lh1-5"><a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP systems"</a></span> verwenden.</span></div></div></div><div><div class="imHeading4">Umsetzung von Pool-Tabellen in Transparente Tabellen:</div><div><span class="fs13lh1-5">In den technischen Eigenschaften (SE13) gibt es dafür das Flag "Transform to transparent table“. Setzt man das und sichert/aktiviert die Tabelle, wird nach einem Transportauftrag verlangt, in den der Objektkatalogeintrag LIMU TABT (Tabellenname) reingeschrieben wird.</span></div><div><span class="fs13lh1-5">Das reicht aber nicht aus, damit die Tabelle in nachgelagerten Systemen dann nach dem Import auch umgesetzt wird! Dafür muss die Tabellendefinition (<span class="cb1">R3TR TABL (Tabellenname)</span>) in den Transportauftrag eingehängt werden. </span></div><div><div class="imHeading4">Periodischer Import All in einen Mandanten</div><div><span class="fs13lh1-5">Sollte nicht ins Quellsystem der Transporte durchgeführt werden (die Idee existiert immer wieder mal für eine Belieferung eines Sandbox-Mandanten auf dem Entwicklungssystem). Begründung: Workbench-Objekte, die sich derzeit wieder in Arbeit befinden, werden durch Import freigegebener TA's mit älterem Stand überschrieben. Und irgendwelche anderen Effekte gibt's dann auch noch.</span></div><div><span class="fs13lh1-5">Einplanung: über "Import All" Button in der Importqueue. Funktioniert nur, wenn TMS-Parameter NO_IMPORT_ALL != 1 für das System definiert ist. Ggf. umschalten, verteilen, Job einplanen, wieder zurückschalten. Über SM36, Report TMS_BCI_START_SERVICE geht's nicht, weil der Import-All bestimmte Einträge in TMS-Steuertabellen voraussetzt (TMSBCIJOY). </span></div><div><span class="fs13lh1-5">Oder aber (z.B. wenn die TMS-Konfiguration nicht in eigener Hand liegt): der STMS-Transaktion einen nicht gesetzten TMS-Parameter NO_IMPORT_ALL vorgaukeln. Dazu in STMS vor dem Aufruf der Importqueue (oder vor dem Auffrischen der Importqueue) das Debugging einschalten, dann im Debug-Mode einen Breakpoint bei Unterprogramm STATUS_IMPORT_QUEUE in Programm SAPLTMSU_IQ setzen. Dort dann Einzelausführung bis zur Abfrage von Feld gs_impbuf-no_imp_all, den Feldinhalt dann löschen. Dann erscheint der "Import All" Button und kann verwendet werden.</span></div><div><span class="fs13lh1-5">Übrigens kann man einen Import-All auch auf einen Mandanten und/oder ein CTS-Projekt einschränken: in der Importqueue einen entsprechenden Filter für die Anzeige setzen und dann den Import-All einplanen.</span></div><div><span class="fs13lh1-5">Die Periodizität muss übrigens direkt hier gesetzt werden. Eine einmalige Einplanung eines Import-All mit anschließender Änderung auf einen periodischen Job über die SM37 führt zum Abbruch mit Joblog-Meldung </span><span class="fs13lh1-5 ff1">"Internal error getting container, RC= 4"</span><span class="fs13lh1-5">. Siehe dazu </span><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/398589/D" target="_blank" class="imCssLink">SAP-Hinweis 398589</a></span><span class="fs13lh1-5">. </span></div><div><div class="imHeading4">Periodischer Import All bei vorgeschaltetem QA-System</div><div><span class="fs13lh1-5">Das funktioniert nicht ohne eine spezielle Konfiguration mit einem virtuellen System (Import_all scheitert, weil Transporte in der Importqueue noch nicht genehmigt sind). Lösung: siehe <a href="https://launchpad.support.sap.com/#/notes/313991/D" target="_blank" class="imCssLink">SAP-Hinweis 313991</a>. </span></div><div><div class="imHeading4">Löschung von TA's eines oder mehrerer Projekte aus der Importqueue</div><div><span class="fs13lh1-5">geht mit Programm RSTMS_DEL_PROJECT_FROM_QUEUE (sollte auch im Batch funktionieren).</span></div><div class="imHeading4">Weiterleitung von genehmigten TA's</div><div><span class="fs13lh1-5">Programm RSTMS_DIST_APPROVED_REQUESTS</span></div></div></div></div></div><div><div class="imHeading4">Wer hat einen bestimmten Transportauftrag importiert?</div><div><span class="fs13lh1-5">Das (u.a.) steht in der Tabelle TPLOG, Einsicht über SE16. Selektion: SYDATE von / bis, CLIENT = Importmandant, CMDSTRING = "IMPORT*&lt;TA-Nummer&gt;*"</span></div><div><span class="fs13lh1-5">Oder: mit AL11 in DIR_TRANS/log/ALOGjjkw.SID nachsehen. </span></div><div><span class="fs13lh1-5">Oder: in der Importhistorie "Bearbeiten" -&gt; "Mehr anzeigen" wählen.</span></div></div></div><div><div class="imHeading4">Welcher Transportauftrag hat Tabelleneinträge geändert / gelöscht?</div><div>Transaktion SE03, "Objekte in Aufträgen/Aufgaben suchen". Dann mehrere Möglichkeiten abklappern:</div><div>R3TR TDAT (Tabellenname)	Customizing: Tabelleninhalte </div><div>R3TR TABU (Tabellenname)	Tabelleninhalt</div><div>R3TR VDAT (Viewname)	Viewpflege: Daten</div><div>Bei der Suche nach Daten aus Viewpflege müssen die Views nacheinander abgeklappert werden, in denen die Tabelle verwendet wird (Verwendungsnachweis in SE11 -&gt; Verwendung in Views).</div></div></div></div><div><div class="imHeading4">Erklärung der tp-Fehlercodes</div><div>Aufruf von tp mit EXPLAINRC &lt;RC&gt; pf=&lt;TMS-Parameter-Datei&gt;, also z.B. so für Erklärung tp-Fehler 152:</div><div><span class="fs13lh1-5 ff1">/...sapmnt/exe/tp explainrc 152 pf=/...trans/bin/TP_DOMAIN_&lt;SID&gt;.PFL</span></div></div></div><div><div class="imHeading4">Statusanzeige Transportsystem</div><div>Transaktion SE07 </div><div><div class="imHeading4">(Automatische) Übertragung der Transportdateien zwischen Transportgruppen (Queue-Abgleich)</div><div>mit Report RSTMSTIQ. Nur nötig, wenn das vorgeschaltete System einer anderen Transportgruppe zugeordnet ist.</div><div>Parameter: Transportgruppe des in der TMS-Konfiguration vorgelagerten Systems eintragen und alle Markierungen setzen.</div><div>Variante SAP_LOC_GROUPS tut's i.d.R. aber auch. </div><div><div class="imHeading4">Änderung eines bereits freigegebenen Transportauftrages</div><div>mit Report RDDIT076</div></div><div><div class="imHeading4">Massenfunktion für Rollentransport:</div><div>(Aufnahme von Rollen in Transportaufträgen)</div><div>Programm PFCG_MASS_TRANSPORT </div><div><div class="imHeading4">Weitere ggf. nützliche Programme:</div><div>(im Einzelfall zu prüfen, etliche Programme werden im STMS-Umfeld über die entsprechenden Funktionen aufgerufen)</div><div><br></div><div><ul><li>/SDF/CMO_TR_CHECK &nbsp;&nbsp;Prognose von transportbezogenen Fehlern, bevor die Aufträge in ein Zielsystem importiert werden. -&gt; siehe <span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/2475591/D" target="_blank" class="imCssLink">SAP-Hinweis 2475591 - Report für Transportprüfung</a></span><span class="fs13lh1-5">.</span><br></li><li>RDDKOR60 &nbsp;Anzeige von After-Import-Methoden (entweder für einen einzelnen Auftrag oder für alle Objekte). Die Methoden sind auch in Tabelle OBJM ersichtlich, oder in Transaktion SOBJ &gt; BC-Set-Kompatibilität.<br></li><li>RSTMS_ACTIVATE_ALL_REQUESTS	TMS: inaktive Aufträge einer Importqueue aktivieren<br></li><li>RSTMS_CHANGE_DOMAIN_NAME	TMS: Name der Transportdomäne ändern<br></li><li>RSTMS_DEL_PROJECT_FROM_QUEUE	TMS: Alle Aufträge zu einem Projekt aus Importqueue löschen<br></li><li>RSTMS_DISPLAY_CTS_ALERTS	TMS: CTS-Alerts anzeigen<br></li><li>RSTMS_DIST_APPROVED_REQUESTS	TMS: Genehmigte Aufträge Weiterleiten<br></li><li>RSTMS_IMPORT_MONITOR	TMS: Importübersicht anzeigen<br></li><li>RSTMS_IMPORT_OVERVIEW	TMS: Importübersicht anzeigen<br></li><li>RSTMS_IMPORT_QUEUE	TMS: Importqueue anzeigen<br></li><li>RSTMS_IMPORT_TRACKING	TMS: Importübersicht anzeigen<br></li><li>RSTMS_ORGANIZER_WEBUI	TMS: Start Transport Organizer Web UI<br></li><li>RSTMS_QUALITY_ASSURANCE	TMS: QA Arbeitsvorrat anzeigen<br></li><li>RSTMS_SYSTEM_OVERVIEW	TMS: Systemübersicht anzeigen<br></li><li>RSTMS_TRANSPORT_PATH	TMS: Importübersicht anzeigen<br></li><li>RSTMS_UPLOAD_TP_PROFILE	TMS: tp-Profil lesen und Konfiguration am Controller anpassen<br></li><li>RSTMS_WORKFLOW_INBOX	TMS: Importqueue anzeigen<br></li><li>RSTMSAMO	TMS: Alert Monitor<br></li><li>RSTMSCBU	TMS: Importqueue prüfen<br></li><li>RSTMSCDI	TMS: Transportverzeichnis prüfen<br></li><li>RSTMSCOL	TMS: Importqueues in lokale Puffer lesen<br></li><li>RSTMSCON	TMS: RFC-Verbindungen monitoren<br></li><li>RSTMSDIC	TMS: Konfiguration anzeigen<br></li><li>RSTMSIMP	TMS: Aufträge der Importqueue importieren<br></li><li>RSTMSQADEL	TMS: Korrekturprogramm für QA-Vorrat (siehe <a href="https://launchpad.support.sap.com/#/notes/716009/D" onclick="return x5engine.imShowBox({ media:[{type: 'iframe', url: 'https://launchpad.support.sap.com/#/notes/716009/D', width: 1920, height: 1080, description: ''}]}, 0, this);" class="imCssLink">SAP-Hinweis 716009 - TMS-QA: Löschen von Aufträgen aus dem QA-Arbeitsvorrat</a>)<br></li><li>RSTMSTIQ	TMS: Importqueue aus fremder Gruppe übertragen<br></li><li>RSTMSTOC	TMS: Transport-Objektlisten prüfen<br></li><li>RSTMSTPL	TMS: tp-Systemlog anzeigen<br></li><li>RSTMSTPP	TMS: tp-Parameter anzeigen<br></li><li>RSTMSTPT	TMS: tp-Schnittstelle prüfen<br></li><li>RSWBO_ADJUST_REQUEST_TARGETS	Korrigiert Auftragsziele nach Umbau der Systemlandschaft<br></li><li>RSWBO_AUX_PROJECT	Arbeiten mit CTS-Projekten ohne IMG<br></li><li>RSWBO_CHECK_TLOCK	Konsistenzprüfung der Sperrtabelle<br></li><li>RSWBO_CURRENT_PROJECT	Arbeiten mit CTS-Projekten ohne IMG<br></li><li>RSWBO_DELETE_SAPNAMES oder RSWBOSOS	SAPNAMES-Datei eines Benutzers löschen<br></li><li>RSWBO_OBJCAT	Objektkatalogeinträge ändern<br></li><li>RSWBO004	Systemänderbarkeit setzen<br></li><li>RSWBO005	Globales Customizing Transport Organizer<br></li><li>RSWBO0052	Globales Customizing Transport Organizer<br></li><li>RSWBO006	Auftragsattribute anzeigen/ändern<br></li><li>RSWBO010	Selektion von Objekten<br></li><li>RSWBO011	Freigabe im Hintergrund (wahlweise mit Objektprüfungen)<br></li><li>RSWBO019	Modification Browser<br></li><li>RSWBO020	Reparierte Objekte anzeigen<br></li><li>RSWBO040	Objekte in Aufträgen/Aufgaben suchen<br></li><li>RSWBO050	Objekte in Aufträgen/Aufgaben analysieren<br></li><li>RSWBO051	Objektkatalogeinträge von Objekten eines Auftrags ändern<br></li><li>RSWBO052	Objektkatalogeinträge ändern<br></li><li>RSWBO053	Objektkatalogeinträge von Objekten eines Auftrags anzeigen<br></li><li>RSWBO054	Umzugstransport rückgängig machen<br></li><li>RSWBO055	Pakete anzeigen/ändern<br></li><li>RSWBO060	Objekte in einen Transportauftrag aufnehmen<br></li><li>RSWBO070	Objektlisten vereinigen<br></li><li>RSWBO071	Aufträge mergen (für Hintergrundverarbeitung)<br></li><li>RSWBO072	Objektlisten vereinigen (Darstellung als Liste)<br></li><li>RSWBO080	Aufruf der erweiterten Tabellenpflege für Namensraumtabellen<br></li><li>RSWBO081	Namensräume anzeigen/ändern<br></li><li>RSWBO084	Anpassung der Namensraumrollen für SAP-interne Systeme<br></li><li>RSWBO085	Namensraum: Direkte Aktivierung (Übernahme in Laufzeittabelle)<br></li><li>RSWBO088	Selektion von unbestätigten Reparaturen (zu freigegebenen Aufträgen)<br></li><li>RSWBO095	Protokolle CTO anzeigen<br></li><li>RSWBO099	Objekte entsperren (Expertentool)<br></li><li>RSWBO111	Aufruf der erweiterten Tabellenpflege für Namenskonventionen (V_TR<br></li><li>RSWBO112	Namenskonventionen anzeigen/ändern<br></li><li>RSWBO113	Namensraum-Infosystem<br></li><li>RSWBO113_DATA	Namensraum-Info-System, Include globale Daten<br></li><li>RSWBO113_LISTE	Namensraum-Infosystem, Include Objektliste<br></li><li>RSWBO113_NAME	Namensraum-Infosystem, Include Objektnamen<br></li><li>RSWBO113_NCONV	Namensraum-Infosystem, Include Namenskonventionen<br></li><li>RSWBO113_NSPACE	Namensraum-Infosystem, Include Namensräume<br></li><li>RSWBO114	Aufruf der Viewpflege für Namenskonventionen (CTRESNAME)<br></li><li>RSWBO230	Löschen von Upgrade Commandfiles (Release 3.0 und höher)<br></li><li>RSWBO301	Nummernvergabe bei Aufträgen: Freies Intervall suchen<br></li><li>RSWBODBC	Installationsnachbereitung Datenbankkopie<br></li><li>RSWBODVC	Pakete suchen<br></li><li>RSWBOINS	SE06 für Installation im Batch<br></li><li>RSWBOINST_CLEAN	Initialization of CTS<br></li><li>RSWBOSDR	Aufträge suchen<br></li><li>RSWBOSOS	Hotline Tools (Auftragskopf bearbeiten, Objekte entsperren, ADO-Import ausführen, SAPNAMES-Datei eines Benutzers löschen, Noteditor, Namensräume anzeigen/ändern (erweitert))</li><li>RSWBOUP1	Eigene Upgrade-Phase für WBO-Anpassungen</li></ul></div></div></div></div><div><div class="imHeading4">QA-Arbeitsvorrat</div><div>steht in den Tabellen TMSQWLF, TMSQNOTES, TMSQWL, TMSQLASTWL</div><div>Wird der QA-Vorrat aus einem Nicht-QA-System heraus aufgefrischt, erscheinen inzwischen (im QA-System) gelöschte Transporte erneut. Dafür gibt es ein Korrekturprogramm (siehe <span class="fs13lh1-5"><span class="fs13lh1-5"><a href="https://launchpad.support.sap.com/#/notes/716009/D" onclick="return x5engine.imShowBox({ media:[{type: 'iframe', url: 'https://launchpad.support.sap.com/#/notes/716009/D', width: 1920, height: 1080, description: ''}]}, 0, this);" class="imCssLink">SAP-Hinweis 716009 - TMS-QA: Löschen von Aufträgen aus dem QA-Arbeitsvorrat</a></span></span><span class="fs13lh1-5">). </span></div><div><span class="fs13lh1-5">Bei einem System-Refresh sollten solche Tabellen aber ohnehin vorher gesichert und nachher wieder eingespielt werden - entweder per PCA-Tool oder mit <a href="https://www.shortcut-it.com" target="_blank" class="imCssLink">"Shortcut for SAP systems"</a>.</span></div><div class="imHeading4">Auftragsattribute verwalten (Definition, als obligatorisch bestimmen etc.)</div></div><div><div>Programm RSWBO006</div><div><br></div><div><br></div></div><div><br></div></div></div></div>]]></description>
			<pubDate>Wed, 01 Jun 2022 12:23:00 GMT</pubDate>
			<enclosure url="https://sap-basis.x10.bz/blog/files/large-3814429_thumb.jpg" length="43257" type="image/jpeg" />
			<link>https://sap-basis.x10.bz/blog/?tms</link>
			<guid isPermaLink="false">https://sap-basis.x10.bz/blog/rss/00000001A</guid>
		</item>
	</channel>
</rss>