query Über iban und stammdaten kreditor oder debitor (zusatztabellen in sap query)

4
Query über IBAN und Stammdaten Kreditor oder Debitor (Zusatztabellen in SAP Query) Ausgangslage Zur Vermeidung von mehrfach angelegten Kreditoren / Debitoren soll ein Abgleich über die IBAN erfolgen, ob ein entsprechender Stammdatensatz hier schon angelegt worden ist. Da zwischenzeitlich IBAN eingeführt ist (siehe Artikel "IBAN in der Stammdatenpflege generieren (SEPA)") sollte in jeden Kreditor / Debitor das Feld IBAN gepflegt sein. Da im Standard keine Auswertung über die Stammdaten der Debitoren- / Kreditoren- Rechnung möglich ist, bietet sich hier eine entsprechende Query an. Tabellen identifizieren Leider ist das Feld IBAN nicht in den Stammdatentabellen der Kreditoren und Debitoren vorhanden. Hierfür wird in SAP die Tabelle TIBAN angelegt, die zu den "vorhandenen" Bankverbindungsdaten auch die entsprechende IBAN hinterlegt hat. Die Zahlungsverkehrsdaten sind in den Tabellen LFBK "Lieferantenstamm (Bankverbindungen)" für Kreditoren und KNBK "Kundenstamm (Bankverbindungen)" für Debitoren hinterlegt. Bei der Definition eines Infosets funktioniert jedoch keine direkte Definition eines Tabellenjoins über die Tabellen LFBK und TIBAN. Es werden hier nur drei Verknüpfungen vorgeschlagen, es sind jedoch vier erforderlich um eine eindeutige Auswertung zu treffen. Eine Verknüpfung der Felder BANKS, BANKL und BKONT funktioniert zwischen LFBK und TIBAN. Jedoch ist das Feld BANKN (Bankkontonummer) in der Tabelle LFBK als Char mit 18 Zeichen und in der Tabelle TIBAN mit Char 35 Zeichen definiert. daher wird eine Verknüpfung mit der Fehlermeldung "Illegale Join-Bedingung" abgelehnt. Daher ist hier der Umweg über die Zusatztabelle erforderlich. Infoset anlegen Innerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle LFBK (bzw. KNBK) angelgt. 1. Stammdaten Innerhalb des Infosets IBAN-KREDITOR nehmen wir als Datenquelle einen Tabellen- Join über die Tabelle LFBK und ergänzen in der Join Definition über BEARBEITEN- >TABELLE EINFÜGEN die Tabelle LFA1 "Lieferantenstamm (allgemeiner Teil)". Die vorgeschlagene Verknüpfung über das Feld LIFNR lassen wir bestehen. Danach wechseln wir über die Schaltfläche Infoset und lassen alle Felder der beiden Tabellen in Feldgruppen anlegen. Für das Infoset IBAN-DEBITOR verknüpfen wir die beiden Tabellen KNBK und die Tabelle KNA1 wie vorgeschlagen über das Feld KUNNR. Auch hier werden alle Felder in eine Feldgruppe übernommen. Danach haben wir zwei Feldgruppen mit der Bankverbindung und den allgemeinen Stammdaten (Anschrift) der Kreditoren bzw. Debitoren. Erweiterung des Infoset über Zusatztabelle TIBAN Über die Schaltfläche Zusätze (F5) bzw. über SPRINGEN-> ZUSÄTZE ZUM KNOTEN

Upload: writeme670

Post on 13-Apr-2016

668 views

Category:

Documents


3 download

DESCRIPTION

Query über IBAN und Stammdaten Kreditor oder Debitor (Zusatztabellen in SAP Query)

TRANSCRIPT

Page 1: Query Über IBAN Und Stammdaten Kreditor Oder Debitor (Zusatztabellen in SAP Query)

Query über IBAN und Stammdaten Kreditor oder Debitor (Zusatztabellen in SAP Query)

Ausgangslage Zur Vermeidung von mehrfach angelegten Kreditoren / Debitoren soll ein Abgleich über die IBAN erfolgen, ob ein entsprechender Stammdatensatz hier schon angelegt worden ist. Da zwischenzeitlich IBAN eingeführt ist (siehe Artikel "IBAN in der Stammdatenpflege generieren (SEPA)") sollte in jeden Kreditor / Debitor das Feld IBAN gepflegt sein.

Da im Standard keine Auswertung über die Stammdaten der Debitoren- / Kreditoren-Rechnung möglich ist, bietet sich hier eine entsprechende Query an. Tabellen identifizieren Leider ist das Feld IBAN nicht in den Stammdatentabellen der Kreditoren und Debitorenvorhanden. Hierfür wird in SAP die Tabelle TIBAN angelegt, die zu den "vorhandenen" Bankverbindungsdaten auch die entsprechende IBAN hinterlegt hat.

Die Zahlungsverkehrsdaten sind in den Tabellen LFBK "Lieferantenstamm (Bankverbindungen)" für Kreditoren und KNBK "Kundenstamm (Bankverbindungen)" für Debitoren hinterlegt.

Bei der Definition eines Infosets funktioniert jedoch keine direkte Definition eines Tabellenjoins über die Tabellen LFBK und TIBAN. Es werden hier nur drei Verknüpfungen vorgeschlagen, es sind jedoch vier erforderlich um eine eindeutige Auswertung zu treffen.

Eine Verknüpfung der Felder BANKS, BANKL und BKONT funktioniert zwischen LFBK und TIBAN. Jedoch ist das Feld BANKN (Bankkontonummer) in der Tabelle LFBK als Char mit 18 Zeichen und in der Tabelle TIBAN mit Char 35 Zeichen definiert. daher wird eine Verknüpfung mit der Fehlermeldung "Illegale Join-Bedingung" abgelehnt.

Daher ist hier der Umweg über die Zusatztabelle erforderlich. Infoset anlegenInnerhalb der Transaktion SQ02 wird folgendes Infoset definiert. Hierfür wird als Datenquelle ein Tabellen-Join über Tabelle LFBK (bzw. KNBK) angelgt. 1. Stammdaten Innerhalb des Infosets IBAN-KREDITOR nehmen wir als Datenquelle einen Tabellen-Join über die Tabelle LFBK und ergänzen in der Join Definition über BEARBEITEN->TABELLE EINFÜGEN die Tabelle LFA1 "Lieferantenstamm (allgemeiner Teil)". Die vorgeschlagene Verknüpfung über das Feld LIFNR lassen wir bestehen. Danach wechseln wir über die Schaltfläche Infoset und lassen alle Felder der beiden Tabellen in Feldgruppen anlegen.

Für das Infoset IBAN-DEBITOR verknüpfen wir die beiden Tabellen KNBK und die Tabelle KNA1 wie vorgeschlagen über das Feld KUNNR. Auch hier werden alle Felder ineine Feldgruppe übernommen.

Danach haben wir zwei Feldgruppen mit der Bankverbindung und den allgemeinen Stammdaten (Anschrift) der Kreditoren bzw. Debitoren. Erweiterung des Infoset über Zusatztabelle TIBAN Über die Schaltfläche Zusätze (F5) bzw. über SPRINGEN-> ZUSÄTZE ZUM KNOTEN

Page 2: Query Über IBAN Und Stammdaten Kreditor Oder Debitor (Zusatztabellen in SAP Query)

innerhalb der Transaktion SQ02 (Pflege des Infosets) kann nun eine Zusatztabelle eingefügt werden. Hierzu kann im Register Zusätze die Schaltfläche Anlegen ausgewählt werden. Hierzu tragen wir die den Namen TIBAN und als Art der Zusatzinformation Zusatztabelle ein. Nun erfolgt eine Abfrage über SELECT SINGLE * FROM TIBAN WHERE ... in der mehrere Bedingungen erfüllt sein sollen.

Diese habe ich für beide Infosets in folgender Tabelle erläutert.

Verknüpfungsbedingungen Zusatztabelle TIBANBedingung INFOSET IBAN-KREDITOR INFOSET IBAN-DEBITORWHERE BANKS = LFBK-BANKS KNBK-BANKS AND BANKL= LFBK-BANKL KNBK-BANKL AND BANKN= LFBK-BANKN KNBK-BANKN AND BKONT= LFBK-BKONT KNBK-BKONT

Aus Performancegründen kann hier noch das Feld "intern puffern" angekreuzt werden, wodurch diese Tabelle gepuffert wird und somit bei häufiger Abfrage einer IBAN die Daten schneller gefunden werden können.Der Nachteil ist dann jedoch der gesteigerte Speicherbedarf, da für die Zusatztabelle eine neue interne Tabelle angelegt wird.

Wichtig ist, dass das Feld IBAN aus der Tabelle TIBAN ebenfalls ein einer Feldgruppe innerhalb des Infosets mit aufgenommen werden muss. In der Query ist dieses in der entsprechenden Feldgruppe des Infosets vorhanden.

Vergessen Sie nicht das Infoset dann einer entsprechenden Benutzergruppe über die Schaltfläche "Zuordnung zu Rollen/Benutzergruppe" zuzuordnen, da dieses Infoset andernfalls nicht für eine Query verwendet werden kann. Hintergrund: Aufbau IBANEine Verknüpfung der Felder BANKN (Bankkontonummer) war in der Definition des Infosets nicht möglich (Fehlermeldung illegale Verknüpfung). Hintergrund ist, dass das Feld LFBK-BANKN mit 18 Zeichen (Typ Char) und in der TIBAN-BANKN mit 35 Zeichen definiert ist. Alledings werden bei einer Verknüpfung über die Zusatztabelle dann einfachdie fehlenden Zeichen aufgefüllt, so dass eine Verknüpfung zwischen LFBK, KNBK und TIBAN hergestellt werden kann. Da sich die IBAN aus einer Kombination von Ländercode, Prüfziffer, Bankleitzahl und Kontonummer zusammensetzt, kann auch nur durch die Verknüpfung aller vier Felder eine eindeutige Zuordnung der Bankverbindung zur IBAN gefunden werden. Dies wird an folgenden Beispiel deutlich:

Deutsche IBAN (immer 22 Stellen)1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 DE Prüfsumme Bankleitzahl Kontonummer

Zur weiteren Beschreibung des IBAN AUfbaus siehe Wikipedia: Zusammensetzung IBAN

Page 3: Query Über IBAN Und Stammdaten Kreditor Oder Debitor (Zusatztabellen in SAP Query)

Query Suche IBAN über Kreditor oder DebitorInnerhalb der Query werden nun auf folgende Felder der einzelnen Tabellen des Infosets Zugriff genommen beziehungsweise in der Grundliste zugewiesen. Hierbei ist L als Listenfeld und S als Selektionsfeld zu verstehen.

Die Felder werden hier in der Reihenfolge angegeben, wie diese dann auch in der Query ausgegeben werden sollen:

Auch hier sind wiederum zwei Query anzulegen: Query Suche über IBAN nach Kreditor/DebitorFeld Query Kreditor Query DebitorIBAN TIBAN-IBAN (L,S) TIBAN-IBAN (L,S) Kontonummer des Lieferanten bzw. KreditorsDebitorennummer LFBK-LIFNR (L,S) KNBK-KUNNR (L,S)Name 1 LFA1-NAME1 (L) KNA1-NAME1 (L) Postleitzahl LFA1-PSTLZ (L) KNA1-PSTLZ (L) Ort LFA1-ORT01 (L) KNA1-ORT01 (L) Bankschlüssel (BLZ) LFBK-BANKL (L) KNBK-BANKL (L) Bankkontonummer LFBK-BANKN (L) KNBK-BANKN (L)

Damit ist eine entsprechende Suche möglich.Natürlich können im Bedarfsfall auch nochweitere Datenfelder mit in die Query eingepflegt werden.

Je nach Bedarf können natürlich auch weitere Felder als Listen- oder Selektionsfelder verwendet werden. Hierdurch ist auch ein vollständiges Kreditorenverzeichnis oder Debitorenverzeichnis als ALV Liste (Tabelle) möglich. Gerade beim Export nach Excel istdieses ein erheblicher Unterschied zu den Standardtransaktionen S_ALR_87012086 (Kreditorenverzeichnis) und S_ALR_87012179 (Debitorenverzeichnis). Insbesondere da in einer Query auch Suchen über Felder möglich sind, die in der freien Abgrenzung nichtaufgeführt sind (als Beispiel ist dieses hier ja anhand der IBAN erläutert).

Ein Vorteil der Suche über die IBAN besteht auch durch die Möglichkeit der Platzhalter. So kann über eine Suche nach AT* (Ländercode Österreich) oder CH* (Ländercode Schweiz) nach allen Kreditoren/Debitoren mit einer österreichischen oder schweizerischen Bankverbindung gesucht werden. Berichtszuordnung FK03, FBL1N bzw. FD03, FBL5N Innerhalb der Querypflege (SQ01) kann nun noch über SPRINGEN->BERICHTSZUORDNUNG über den Punkt Zeile hinzufügen (+) mittels anderer Berichtstyp eine Transaktion als Absprungtransaktion von der Query hinzugefügt werden. Hier bieten sich die Transaktionen FK03 - Kreditor anzeigen bzw. FD03 - Debitor anzeigen an. Eine weitere ebenfalls sinnvolle Zuordnung wären auch die Transaktionen FBL1N - Kreditoren Konto Posten anzeigen und FBL5N - Debitoren KontoPosten anzeigen. Hierdurch können nicht nur weitere Stammdaten angezeigt werden sondern auch die Einzelposten zum Kreditor / Debitor angezeigt werden. Basis: SE93 kundeneigene Transaktion anlegen und Query transportieren

Wie im Artikel "Transaktion anlegen (Report, Parameter) bspw. für SAP Query" beschrieben kann dann noch eine kundeneigene Transaktion zum Beispiel ZIBANK und ZIBAND für diese Query angelegt werden. Ansonsten kann die Query, wie im Artikel

Page 4: Query Über IBAN Und Stammdaten Kreditor Oder Debitor (Zusatztabellen in SAP Query)

"Transport von SAP Queries (DL/UL)" beschrieben als Datei zwischen SAP Systemen ausgetauscht werden.