Hallo ihr beiden,Haubi hat geschrieben:Moinsen.
Mit dem FuBa CS_BOM_EXPL_MAT_V2 kannst Du Materialstücklisten rekursiv auflösen. Guckst Du, probierst Du...
Gruss,
Haubi
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.
Für ein Element (STUFE, WEGXX, VWEGX) finden sich:
Vorgänger: (STUFE-1, VWEGX, ?)
Nachfolger: (STUFE+1, ?, WEGXX)
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);
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);
}
}
}