ich habe mal eine Frage zum Aufruf eines FuBa's aus einem Java IView:
Ich möchte gerne über ein Eingabefeld eine Materialnummer oder einen Teil davon eingeben können. Abhängig davon, ob ein Wildcardzeichen (*) benutzt wird, sollen entweder alle passenden Materialnummern oder genau die Eingegebene angezeigt werden.
Dazu habe ich den BAPI_MATERIAL_GETLIST aufgerufen und in der Übergabetabelle MATNRSELECTION den Wert des Feldes übergeben.
Leider funktioniert das so nicht ganz, weil die interne Suche nach nach dem Material 4711 fehlschlägt. Es wird nämlich nicht genau nach der Materialnummer 4711 gesucht, sondern intern nach 00000000004711.
Als Benutzer möchte ich aber nur 4711 eingeben und genau diese Nummer angezeigt bekommen.
Leider ist der FuBa CONVERSION_EXIT_MATN1_INPUT für die Nummernkonvertierung von extern->intern nur für den internen Gebrauch gedacht (nicht RFC-fähig)!
Wie bekomme ich nun die korrekten Ergebnisse, wenn der Benutzer a) 4711 und b) *11 eingibt?!
Oder liege ich komplett falsch?
Hier mein bisheriger Versuch:
- Code: [Select all] [Expand/Collapse] [Download] (Untitled.txt)
- JCO.Repository repository = new JCO.Repository("PDKM", connection);
- IFunctionTemplate template = repository.getFunctionTemplate("BAPI_MATERIAL_GETLIST");
- JCO.Table tableMaterial = function.getTableParameterList().getTable("MATNRSELECTION");
- tableMaterial.appendRow();
- tableMaterial.setValue("I","SIGN");
- tableMaterial.setValue("CP","OPTION");
- tableMaterial.setValue(material,"MATNR_LOW");
- }
- tableMaterial.appendRow();
- tableMaterial.setValue("I","SIGN");
- tableMaterial.setValue("CP","OPTION");
- tableMaterial.setValue(material,"MATNR_LOW");
- }
- tableMaterial.appendRow();
- tableMaterial.setValue("I","SIGN");
- tableMaterial.setValue("EQ","OPTION");
- tableMaterial.setValue(material,"MATNR_LOW");
- }
- tableMaterial.appendRow();
- tableMaterial.setValue("I","SIGN");
- tableMaterial.setValue("CP","OPTION");
- tableMaterial.setValue(material),"MATNR_LOW");
- }
- GeSHi ©
Bin für jede Hilfe dankbar!!