Stücklisten

SAP R/3 Materialwirtschaft: Einkauf, Bestandsführung, Rechnungsprüfung, Inventur, Bewertung, Leistungsabwicklung, Materialstamm...
11 Beiträge • Seite 1 von 1
11 Beiträge Seite 1 von 1

Stücklisten

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
Hallo zusammen,

für einen Kunden sollen wir eine Stücklistenauflösung programmieren. Die Standard SAP ist leider nicht geeignet hierfür, da der Kunde sehr viele Informationen zusätzlich benötigt.

Ich stehe nun vor dem Problem, die vollständige Auflösung zu schaffen (mit Baugruppen und Unterbaugruppen, etc.) Einen FB hierfür habe ich noch nicht gefunden, Gibt es soetwas?

Oder hat einer schon mal so etwas gelöst?

Für Info bin ich sehr dankbar.

grüsse

gerhard

gesponsert
Stellenangebote auf ABAPforum.com schalten
kostenfrei für Ausbildungsberufe und Werksstudenten


Beitrag von ismailer (ForumUser / 22 / 0 / 0 ) »
genau das gleiche habe ich in den letzten 2 wochen auch gemacht und ich kann dieses wort stückliste nicht mehr hören!
vor allem die struktur hinzubekommen ist echt eine ekelige arbeit, aber abhilfe schaffen dir diverse FuBu's, und zwar folgende(je nach dem was genau du brauchst!):
CALL FUNCTION 'CS_BOM_EXPL_PSP_V1'
EXPORTING
* ALTVO = ' '
* AMIND = ' '
* AUFSW = ' '
* AUMGB = ' '
* AUMNG =
* AUSKZ = ' '
* BAGRP = ' '
* BEIKZ = ' '
* BESSL = ' '
* BGIXO = ' '
* BREMS = ' '
capid = 'PP01'
* CHLST = ' '
* COSPR = ' '
* CUOBJ = 000000000000000
* CUOVS = 0
* CUOLS = ' '
datuv = sy-datum
* DELNL = ' '
* DRLDT = ' '
* DRSTP = ' '
ehndl = '1'
* EMENG = 0
* ERSKZ = ' '
* ERSSL = ' '
* FBSTP = ' '
* FTREL = ' '
* KNFBA = ' '
* KSBVO = ' '
mbwls = ' '
* MDMPS = ' '
* MDNOT = ' '
mehrs = 'X'
* MKMAT = ' '
* MMAPS = ' '
* SALWW = ' '
* SPLWW = ' '
mmory = '1'
mtnrv = wa_stkl_mara-matnr
* NESTP = ' '
* NLINK = ' '
* NPSTP = ' '
* PANOT = ' '
* PBSTP = ' '
* POSTP = ' '
pspnr = wa_stkl_prst-pspnr
* QVERW = ' '
* RNDKZ = ' '
* RVREL = ' '
* SANFR = ' '
* SANIN = ' '
* SANKA = ' '
* SANKO = ' '
* SANVS = ' '
* SCHGT = ' '
* SALWW = ' '
* SPLWW = ' '
* STKKZ = ' '
stlal = '1'
stlan = '3'
* STPST = 0
* SVWVO = 'X'
werks = '0001'
* WERKS = ' '
* NORVL = ' '
* IMPORTING
* TOPMAT =
* DSTST =
TABLES
stb = stb
matcat = matcat
* EXCEPTIONS
* ALT_NOT_FOUND = 1
* CALL_INVALID = 2
* MATERIAL_NOT_FOUND = 3
* MISSING_AUTHORIZATION = 4
* NO_BOM_FOUND = 5
* NO_PLANT_DATA = 6
* NO_SUITABLE_BOM_FOUND = 7
* CONVERSION_ERROR = 8
* OTHERS = 9
.
IF sy-subrc <> 0.
* MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
* WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.

es gibt noch welche die heissen CS_BOM_* oder so!

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Moinsen.

Mit dem FuBa CS_BOM_EXPL_MAT_V2 kannst Du Materialstücklisten rekursiv auflösen. Guckst Du, probierst Du... :wink:

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
Haubi hat geschrieben:Moinsen.

Mit dem FuBa CS_BOM_EXPL_MAT_V2 kannst Du Materialstücklisten rekursiv auflösen. Guckst Du, probierst Du... :wink:

Gruss,
Haubi
Hallo ihr beiden,

erst einmal Dank an euch für die raschen Antworten. Habe nun ja was zu tun.

Ja habe auch versucht eine rekursive Form zu schreiben, die sich immer selbst wieder aufruft, habe aber irgendwie nicht ganz den dreh gefunden. :?

Den FuBa CS_BOM_EXPL_MAT_V2 habe ich auch schon gesehen, aber wie ich damit rekursiv die Stückliste auflösen kann muss ich mir erst überlegen. (Du hast nicht zufällig :) ein Beispielprogramm [Hoffnung On])

gruss

gerhard

Beitrag von Haubi (Expert / 625 / 20 / 30 ) »
Hi Gerhard.

Ein Beispiel habe ich gerade nicht da, wir haben den Baustein aber schon mal für ähnliche Zwecke wie Du benutzt.

Das oberste Kopfmaterial ist MTNRV (IIRC... :shock: ). Für mehrstufige Auflösung sollte MEHRS auch angehakt sein.
Dann brauchst Du auf jeden Fall STPST (Stufe, bis zu der aufgelöst werden soll). Wenn Du den Parameter mit 99 übergibst sollte das ausreichen (es sei denn, Ihr habt extrem tiefe Strukturen)... :wink:

Ansonsten kann ich leider nur sagen: Versuch macht kluch... :lol:

Gruss,
Haubi
Das ABAP Kochbuch ab sofort bei Amazon...

I'd rather write code that writes code than write code...

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Hi Gerhard,

je nachdem was für Stücklisten du genau auflösen möchtest, gibt es die Bausteine
CS_BOM_EXPL*

Was meist Schwierigkeiten bereitet, ist der Importparameter "CAPID", der entweder korrekt gesetzt sein muss oder leer.

Für letzten Fall mal ein Beispiel für einen Aufruf

Initiale Felder
CAPID = ""

Gefüllte Felder
DATUV ( Gültigkeitsdatum Stüli )
EMENG ( kann glaub ich auch leer bleiben --> Basismenge aus Kopf wird genommen )
MEHRS ( Mehrstufig = 'X', Einstufig = '' )
+ die Schlüsselfelder für Stückliste ( Hier Materialstückliste )
MTNRV
WERKS
STLAN


Daten stehen dann in Tabelle STPOB.


Am besten einfach mal in der SE37 austesten - dann siehst du schon wie die Mehrstufigkeit funktioniert.


Kleiner Hinweis noch. Der Baustein löst keine Klassenpositionen weiter auf, auch wenn durch eine die möglichen Werte der Klassen eine weitere Auflösung zulassen würden.
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von GERDLA (Specialist / 116 / 0 / 0 ) »
black_adept hat geschrieben:Hi Gerhard,

je nachdem was für Stücklisten du genau auflösen möchtest, gibt es die Bausteine
CS_BOM_EXPL*

Was meist Schwierigkeiten bereitet, ist der Importparameter "CAPID", der entweder korrekt gesetzt sein muss oder leer.

Für letzten Fall mal ein Beispiel für einen Aufruf

Initiale Felder
CAPID = ""

Gefüllte Felder
DATUV ( Gültigkeitsdatum Stüli )
EMENG ( kann glaub ich auch leer bleiben --> Basismenge aus Kopf wird genommen )
MEHRS ( Mehrstufig = 'X', Einstufig = '' )
+ die Schlüsselfelder für Stückliste ( Hier Materialstückliste )
MTNRV
WERKS
STLAN


Daten stehen dann in Tabelle STPOB.


Am besten einfach mal in der SE37 austesten - dann siehst du schon wie die Mehrstufigkeit funktioniert.


Kleiner Hinweis noch. Der Baustein löst keine Klassenpositionen weiter auf, auch wenn durch eine die möglichen Werte der Klassen eine weitere Auflösung zulassen würden.

Hallo Stefan,

der Tipp war gut. Hatte es schon ausprobiert, brachte aber kein Ergebniss. Erst das Experimentieren mit dem Parameter CAPID
(der in diesem Falle nicht leer sein durfte)
brachte erste Ergebnisse. Kann jetzt weitermachen.

Danke euch allen.

gruss

gerhard

Beitrag von shapoc (ForumUser / 52 / 3 / 0 ) »
Hallo zusammen,

ich versuche gerade, den FuBa CS_BOM_EXPL_MAT_V2 zu nutzen. Ich bekomme auch in der STB-Tabelle die aufgelöste Stücklsite, kann aber mit den Indizes nicht so richtig viel anfangen.
Es steht zwar zu jedem Item eine Stücklistenstufe, aber die Zuordnung offenbart sich mir noch nicht ganz!

Ich möchte diese Tabelle per Schleife o.ä. durchlaufen und einen Tree aufbauen, in dem die Hierarchie abgebildet ist!

Ich bin für jede Hilfe dankbar!

Hier mal eine Beispieltabelle STB einer Stückliste:

STUFE WEGXX B TTIDX VWEGX ... MATNR
1-----1-----M 1-----0---------67
2-----1-----M 2-----1---------70
2-----2-----M 2-----1---------71
1-----2-----M 1-----0---------65
2-----3-----M 3-----2---------72


Danke.

Gruß,
Andy

Beitrag von black_adept (Top Expert / 4089 / 127 / 940 ) »
Für ein Element (STUFE, WEGXX, VWEGX) finden sich:

Vorgänger: (STUFE-1, VWEGX, ?)
Nachfolger: (STUFE+1, ?, WEGXX)
live long and prosper
Stefan Schmöcker

email: stefan@schmoecker.de

Beitrag von shapoc (ForumUser / 52 / 3 / 0 ) »
Das hatte ich auch schon gesehen.

Ich habe jetz nur das Problem, dass ich diese Tabelle in Java (in einem Portal-IView) durchlaufen muss (wahrscheinlich auch noch rekursiv), um ein Tree-Control zu füllen.

Leider habe ich das bisher erfolglos probiert und würde mich über jeden Tipp bzw. Beispiele freuen, wie ich das Problem lösen kann!

Ziel soll wie oben erwähnt sein, die Struktur(Stückliste) als Baum im Portal darzustellen.

Danke schonmal im Voraus.

Gruß,
Andy

Beitrag von shapoc (ForumUser / 52 / 3 / 0 ) »
Ich habe nun einen Weg gefunden:
Auf sdn.sap.com gibt es ein Tutorial dafür. Das habe ich angepasst (anstelle der Dynpage auf JSPDynPage).

Kurze Beschreibung:

In der processBeforeOutput erstelle ich den Tree und speichere den rootNode in meiner Bean:

Code: Alles auswählen.

		   //set the root node to top material.
		   
		   TreeNode root = new TreeNode(rootmatnr, rootdescr);
		   root.setOpen(true);

		   //Build hierarchy via recursive method calls
		   addNode(0, rootmatnr, data, root);
		   // save rootnode in bean	   
		   this.searchBean.setRootNode(root);
Die Rekursion erfolgt durch den Aufruf der addNode-Methode:

Code: Alles auswählen.

	public void addNode(
		int index,
		String pname,
		Vector data,
		TreeNode treeNode) {
		for (int j = index; j < data.size(); j++) {
			Vector items = (Vector) data.elementAt(j);
			String childName = (String) items.get(0);
			String childDescr = (String) items.get(1);
			String parentname = (String) items.get(2);
			if (parentname.equals(pname)) {
				TreeNode newNode =
					new TreeNode(childName, childDescr, treeNode);
				newNode.setTooltip(childName);
				//newNode.setOnNodeClick("nodeClick");
				
				HoverMenu hover = new HoverMenu(childName + "_" + j);
				hover.setMenuTrigger(com.sapportals.htmlb.enum.HoverMenuTrigger.ONLRCLICK);
				HoverMenuItem item1 = hover.addMenuItem("1", "Materialnumber: " + childName);
				HoverMenuItem item2 = hover.addMenuItem("2", "Description: " + childDescr);
				
				newNode.setHoverMenu(hover);
				
				addNode(j, childName, data, newNode);
			}

		}

	}

Alles weitere ist dem sehr gut beschriebenen Artikel unter:

https://www.sdn.sap.com/irj/sdn/weblogs ... b/wlg/1648

zu entnehmen.

Gruß,
Andy

Seite 1 von 1

Vergleichbare Themen

2
Antw.
1759
Views
Stücklisten
von HH_ABAP » 25.05.2018 15:10 • Verfasst in ABAP® für Anfänger
4
Antw.
15140
Views
Tabelle zu Stücklisten
von Gast » 20.07.2005 13:11 • Verfasst in Material Management & Produktionsplanung
2
Antw.
2628
Views
Änderungen in Stücklisten
von Tina » 03.11.2005 22:05 • Verfasst in Material Management & Produktionsplanung
4
Antw.
1994
Views
Stücklisten ändern
von Bugfix13 » 28.03.2014 11:45 • Verfasst in ABAP® für Anfänger
2
Antw.
1732
Views
Stücklisten Kopf Text
von dmi » 11.10.2013 11:57 • Verfasst in ABAP® Core

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 5 Stunden von DeathAndPain gelöst 22 / 2797
Daten an Tabelle binden
vor 10 Stunden von Lukas Sanders 2 / 875
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

Newsletter Anmeldung

Keine Beiträge verpassen! Wöchentlich versenden wir lesenwerte Beiträge aus unserer Community.
Die letzte Ausgabe findest du hier.
Details zum Versandverfahren und zu Ihren Widerrufsmöglichkeiten findest du in unserer Datenschutzerklärung.

Aktuelle Forenbeiträge

Dialog-Container mit Toolbar/Status
vor 5 Stunden von DeathAndPain gelöst 22 / 2797
Daten an Tabelle binden
vor 10 Stunden von Lukas Sanders 2 / 875
Zeilenumbrüche ersetzen
vor 2 Tagen von ralf.wenzel 6 / 430

Unbeantwortete Forenbeiträge

aRFC im OO-Kontext
vor 4 Wochen von ralf.wenzel 1 / 2467
Hilfe bei SWEC/SWE2
September 2024 von retsch 1 / 9050