Einfaches Ändern eines Materialstammes in SAP R/3
Das Beispiel basiert auf einem IDES SAP R/3 Release Enterprise.
Gibt es gewisse Felder eines Materialstammes, die Sie regelmässig anpassen müssen? Dann wäre es doch wünschenswert, diese alle auf einem Bildschirm zu haben.
Ich stelle Ihnen hier ein Beispiel zur Verfügung.
Gibt man eine Materialnummer ein und drückt ENTER
, so werden die Felder gelesen und deren Inhalte angezeigt. Jetzt können Sie Ihre Felder entsprechend ändern. Wenn Sie die Änderungen verbuchen wollen, dann drücken Sie die Taste Material Aendern Easy
.
Falls Sie Fehleingaben machen, so werden die entsprechenden Fehlermeldungen angezeigt.
Wenn Sie in die SAP Standard Transaktion MM02 einsteigen wollen, so drücken Sie die Taste Material Ändern Standard
.
Wenn Sie sich den ganzen Prozess anschauen möchten, dann sehen Sie sich untenstehendes Video an:
Download: mm02_easy_video.zip
(1 avi-Datei, zip-komprimiert, 403.48 KB)
Für den ganzen Prozess sind die drei untenstehenden Scripts notwendig:
saplmgmm.d0060.txt
// MM02 Material ändern // Demo Beispiel für IDES SAP R/3 Enterprise // 12.05.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch default [Material] "&[MM02_Material]" del [Änderungsnummer] del [Sichtenauswahl] del [OrgEbenen] // Bild Material anzeigen image (10,6) (20,30) "img&[Material].jpg" "-nostretch" "-nobuffer" // Organisationsdaten box (0,39) (3,85) "Organisationsdaten" inputfield (2,40) "Vertriebsweg" (2,58) "name=XVertriebsweg" "size=2" "default=10" TechName="MVKE-VTWEG" // inputfield (2,64) "Lagerort" (2,74) "name=XLagerort" "size=4" "default=0001" inputfield (1,64) "Werk" (1,74) "name=XWerk" "size=4" "default=1200" TechName="MARC-WERKS" inputfield (1,40) "Verkaufsorganisation" (1,58) "name=XVerkaufsorganisation" "size=4" "default=1000" Techname="MVKE-VKORG" // Daten des Materialstammes box (4,39) (38,140) "Materialstamm" box (5,40) (9,138) "Materialkurzbezeichnungen" inputfield (6,42) "&V[MM02_Material]" (6,55) "name=MM02_Sprache_1" "size=2" TechName="KNA1-SPRAS" inputfield (6,59) "name=MM02_Materialtext_1" "size=60" "-nolabel" inputfield (7,55) "name=MM02_Sprache_2" "size=2" "-nolabel" TechName="KNA1-SPRAS" inputfield (7,59) "name=MM02_Materialtext_2" "size=60" "-nolabel" inputfield (8,55) "name=MM02_Sprache_3" "size=2" "-nolabel" TechName="KNA1-SPRAS" inputfield (8,59) "name=MM02_Materialtext_3" "size=60" "-nolabel" // Grunddaten Material box (10,40) (13,138) "Grunddaten" inputfield (11,41) "Basismengeneinheit" (11,60) "name=MM02_BME" "size=3" TechName="MARA-MEINS" comment (11,64) "&[MM02_BME_Text]" inputfield (11,72) "Warengruppe" (11,85) "name=MM02_Warengruppe" "size=6" SearchHelp="H_T023" comment (11,93) "&[MM02_Warengruppe_Text]" inputfield (11,115) "Sparte" (11,123) "name=MM02_Sparte" "size=2" TechNAme="MARA-SPART" comment (11,127) "&[MM02_Sparte_Text]" inputfield (12,41) "Bruttogewicht" (12,56) "name=MM02_Bruttogewicht" "size=7" "-Numerical" inputfield (12,65) "Nettogewicht" (12,80) "name=MM02_Nettogewicht" "size=7" "-Numerical" inputfield (12,90) "Gewichtseinheit" (12,108) "name=MM02_Gewichtseinheit" "size=3" TechName="MARA-MEINS" // Daten von Vertrieb box (14,40) (19,138) "Vertrieb" inputfield (15,41) "Vertriebsstatus übergreifend" (15,70) "name=MM02_VStatusU" "size=2" TechName="MARA-MSTAV" inputfield (15,75) "gültig ab" (15,85) "name=MM02_GültigU" "size=10" SearchHelp="GuiXT.Date" inputfield (15,98) "Auslieferungswerk" (15,117) "name=MM02_Auslieferwerk" "size=4" TechName="MARC-WERKS" comment (15,123) "&[MM02_Auslieferwerk_Text]" inputfield (16,41) "Vertriebsstatus Spezial" (16,70) "name=MM02_VStatusS" "size=2" TechName="MVKE-VMSTA" inputfield (16,75) "gültig ab" (16,85) "name=MM02_GültigS" "size=10" SearchHelp="GuiXT.Date" inputfield (17,41) "Mindestauftr.Mge" (17,59) "name=MM02_MindAM" "size=13" TechName="MVKE-AUMNG" "-Numerical" inputfield (17,75) "Mindestliefermenge" (17,96) "name=MM02_MindLF" "size=13" TechName="MVKE-LFMNG" "-Numerical" comment (17,110) "&[MM02_BME_Text]" inputfield (18,41) "Mat.gruppe" (18,51) "name=MM02_Materialgruppe" "size=2" TechName="MVKE-KONDM" comment (18,54) "&[MM02_Materialgruppe_Text]" "size=69" inputfield (18,70) "Kont.gruppe" (18,82) "name=MM02_Kontierungsgruppe" "size=2" TechNAme="MVKE-KTGRM" comment (18,85) "&[MM02_Kontierungsgruppe_Text]" inputfield (18,102) "Pos.Typ.Grp" (18,117) "name=MM02_Pos.Typ.Grp" "size=4" TechName="MVKE-MTPOS" comment (18,123) "&[MM02_Pos.Typ.Grp_Text]" comment (20.5,40) "Vertriebstext" textbox (20.5,39.5) (28.5,137) "Name=MM02_Vertriebstext" // Daten von Disposition box (30,40) (34,138) "Disposition" inputfield (31,41) "Verfügbarkeitsprüfung" (31,63) "name=MM02_Verfp" "size=2" TechName="MARC-MTVFP" comment (31,67) "&[MM02_VPF_Text]" inputfield (32,41) "Dispomerkmal" (32,63) "name=MM02_Dispomerkmal" "size=2" TechName="MARC-DISMM" comment (32,67) "&[MM02_Dispomerkmal_Text]" inputfield (33,80) "Dispolosgröße" (33,95) "name=MM02_Dispolosgrösse" "size=2" TechName="MARC-DISLS" "-Numerical" comment (33,100) "&[MM02_Dispolosgrösse_Text]" inputfield (33,41) "Sicherheitsbestand" (33,63) "name=MM02_Sicherheitsbestand" "size=15" TechName="MARC-EISBE" "-Numerical" // Daten von Preisfindung box (35,40) (37,138) "Preis" inputfield (36,41) "PR00" (36,48) "name=MM02_Betrag" "size=17" "-Numerical" comment (36,70) "&[MM02_Einh.]" text (36,75) "pro" text (36,80) "&[MM02_pro]" "-border" "-Numerical" comment (36,90) "&[MM02_ME]" text (36,100) "Löschkennzeichen = " comment (36,120) "&[MM02_Lösch]" // Bei jedem ENTER kein direkter Aufruf der Aenderungstransaktion, // sondern Aufruf des Prozesses Materiallesen.txt on "Enter" "process=Materiallesen.txt" using XMaterial = [Material] // Mit dieser Drucktaste wird der Prozess Materialändern.txt aufgerufen, // welcher die geänderten Felder mittels Inputscript auf der Datenbank verbucht pushbutton (1,90) "@0Z@Material Ändern Easy " "process=Materialändern.txt" "size=3" // Mit dieser Drucktaste wird die normale Transaktion MM02 aufgerufen pushbutton (21,5) "@0Z@Material Ändern Standard " "/00" "size=3"
Download: mm01_easy.zip
(2 txt-Dateien, zip-komprimiert, 4.59 KB)
materiallesen.txt
// InputScript zum Lesen des Materialstammes, so dass die Felder in der MM02 // entsprechend angezeigt werden können // 12.05.2003 / Gérald Koehn / Koehn Consulting / www.guixt.ch Enter "/7" // Aufruf der Sichten Screen SAPLMGMM.0070 // Überprüfung der Organisationsdaten if not ( V[XVertriebsweg] and V[XVerkaufsorganisation] ) Return "Bitte pflegen Sie die Vertriebsorganisationsdaten !!!" endif // Setzen aller Sichten Enter "/20" // Alle Sichten markieren Screen SAPLMGMM.0070 Enter "/6" // Aufruf der Organsationsdaten Screen SAPLMGMM.0080 // Organisationsdaten setzen set F[Verkaufsorg.] "&V[XVerkaufsorganisation]" set F[Vertriebsweg] "&V[XVertriebsweg]" set F[Werk] "&V[XWerk]" // set F[Lagerort] "&V[XLagerort]" Enter Screen SAPLMGMM.4004 Enter "/30" Screen SAPLMGMM.4300 // Zurücksetzen der allgemeinen Variablen, bevor Sie wieder gesetzt werden set V[MM02_*] " " // Setzen der Variablen mit den ermittelten Werten Set V[XMaterial] "&F[Material]" // zwischenspeichern der Materialnummer für Übergabe an V-44 Transaktion Set V[MM02_Sprache_1] "&cell[Table,Sprache,1]" Set V[MM02_Materialtext_1] "&cell[Table,Materialkurztext,1]" Set V[MM02_Sprache_2] "&cell[Table,Sprache,2]" Set V[MM02_Materialtext_2] "&cell[Table,Materialkurztext,2]" Set V[MM02_Sprache_3] "&cell[Table,Sprache,3]" Set V[MM02_Materialtext_3] "&cell[Table,Materialkurztext,3]" Enter "/3" Screen SAPLMGMM.4004 // Grunddaten 1 set V[MM02_BME] "&[Basismengeneinheit]" set V[MM02_BME_Text] "&#[6,30]" set V[MM02_Material] "&F[Material]" set V[MM02_Materialtext] "&#[2,33]" set V[MM02_Warengruppe] "&[Warengruppe]" set V[MM02_Sparte] "&[Sparte]" set V[MM02_Bruttogewicht] "&[Bruttogewicht]" set V[MM02_Nettogewicht] "&[Nettogewicht]" set V[MM02_Gewichtseinheit] "&[Gewichtseinheit]" Enter "SP04" // Aufruf von Registerkarte Vertrieb: VerkOrg 1 Screen SAPLMGMM.4000 // Vertrieb: VerkOrg 1 set V[MM02_VStatusU] "&[VTL-überg.Status]" set V[MM02_VStatusS] "&[VTL-spez.Status]" set V[MM02_GültigU] "&[gültig ab]" set V[MM02_GültigS] "&[gültig ab.2]" set V[MM02_MindAM] "&[MindAuftrMenge]" set V[MM02_MindLF] "&[Min.liefermenge]" set V[MM02_Auslieferwerk] "&[Auslieferungswerk]" set V[MM02_Auslieferwerk_Text] "&#[12,37]" set V[MM02_Sparte_Text] "&#[7,73]" set V[MM02_Warengruppe_Text] "&#[13,37]" Enter "SP05" // Aufruf von Registerkarte Vertrieb: VerkOrg 2 Screen SAPLMGMM.4000 // Vertrieb: VerkOrg 2 set V[MM02_Kontierungsgruppe] "&[Kontierungsgr.Mat.]" set V[MM02_Kontierungsgruppe_Text] "&#[8,71]" set V[MM02_Materialgruppe] "&[Materialgruppe]" set V[MM02_Materialgruppe_Text] "&#[7,71]" set V[MM02_Pos.Typ.Grp] "&[Positionstypengruppe]" set V[MM02_Pos.Typ.Grp_Text] "&#[9,71]" Enter "=SP08" // Aufruf Vertriebstext Screen SAPLMGMM.4040 // Vertriebstext CopyText fromScreen="X[LONGTEXT_VERTRIEBS]" toText="MM02_Vertriebstext" Enter "SP06" // Aufruf von Registerkarte Vertrieb: allg./Werk Screen SAPLMGMM.4000 // Vertrieb: allg./Werk set V[MM02_Verfp] "&[Verfügbarkeitsprüf.]" set V[MM02_VPF_Text] "&#[10,32]" Enter "SP12" // Aufruf Registerkarte Dispo1 Screen SAPLMGMM.4000 // Disposition 1 set V[MM02_Dispomerkmal] "&[Dispomerkmal]" set V[MM02_Dispomerkmal_Text] "&#[12,30]" set V[MM02_Dispolosgrösse] "&[Dispolosgröße]" set V[MM02_Dispolosgrösse_Text] "&#[17,30]" Enter "SP13" // Aufruf von Registerkarte Dispo 2 Screen SAPLMGMM.4000 // Disposition 2 set V[MM02_Sicherheitsbestand] "&[Sicherheitsbestand]" Enter "/NV-44" // Aufruf Anzeige von PR00 Screen RV13A304.1000 set [Verkaufsorganisation] "&V[XVerkaufsorganisation]" set [Vertriebsweg] "&V[XVertriebsweg]" set [Material] "&V[XMaterial]" Enter "/8" Screen SAPMV13A.1304 set V[MM02_Betrag] "&cell[Material mit Freigabestatus,Betrag,1]" set V[MM02_Einh.] "&cell[Material mit Freigabestatus,Einh.,1]" set V[MM02_pro] "&cell[Material mit Freigabestatus,pro,1]" set V[MM02_ME] "&cell[Material mit Freigabestatus,ME,1]" set V[MM02_Lösch] "&cell[Material mit Freigabestatus,Löschk.,1]" Enter "/NMM02"
materialändern.txt
// Inputscript zum verbuchen der Aenderungen, welche auf der Transaktion MM02 vorgenommen // wurden. Am Schluss des Scriptes wird ebenfalls der Preis (PR00) mutiert. // Autor : G.Koehn / Koehn Consulting / www.guixt.ch // 12.05.2003 Enter "/7" // Aufruf der Sichten Screen SAPLMGMM.0070 // Überprüfung der Organisationsdaten if not ( V[XVerkaufsorganisation] and V[XVertriebsweg] ) return "Bitte pflegen Sie die Organisationsdaten für den Vertrieb" endif // Setzen der richtigen Sichten Enter "/20" // Alle Sichten markieren Screen SAPLMGMM.0070 Enter "/6" Screen SAPLMGMM.0080 set F[Verkaufsorg.] "&V[XVerkaufsorganisation]" set F[Vertriebsweg] "&V[XVertriebsweg]" set F[Werk] "&V[XWerk]" // set F[Lagerort] "&V[XLagerort]" Enter Screen SAPLMGMM.4004 Enter "/30" Screen SAPLMGMM.4300 Set cell[Table,Sprache,1] "&[MM02_Sprache_1]" Set cell[Table,Materialkurztext,1] "&[MM02_Materialtext_1]" Set cell[Table,Sprache,2] "&[MM02_Sprache_2]" Set cell[Table,Materialkurztext,2] "&[MM02_Materialtext_2]" Set cell[Table,Sprache,3] "&[MM02_Sprache_3]" Set cell[Table,Materialkurztext,3] "&[MM02_Materialtext_3]" Enter "/3" Screen SAPLMGMM.4004 // Grunddaten 1 set [Basismengeneinheit] "&V[MM02_BME]" set [Warengruppe] "&V[MM02_Warengruppe]" set [Sparte] "&V[MM02_Sparte]" set [Bruttogewicht] "&V[MM02_Bruttogewicht]" set [Nettogewicht] "&V[MM02_Nettogewicht]" set [Gewichtseinheit] "&V[MM02_Gewichtseinheit]" Enter "SP04" Screen SAPLMGMM.4000 // Vertrieb: VerkOrg 1 set [VTL-überg. Status] "&V[MM02_VStatusU]" set [gültig ab] "&V[MM02_GültigU]" set [Auslieferungswerk] "&V[MM02_Auslieferwerk]" set [VTL-spez. Status] "&V[MM02_VStatusS]" set [gültig ab.2] "&V[MM02_GültigS]" set [MindAuftrMenge] "&V[MM02_MindAM]" set [Min.liefermenge] "&V[MM02_MindLF]" Enter "SP05" Screen SAPLMGMM.4000 // Vertrieb: VerkOrg 2 set [Materialgruppe] "&V[MM02_Kontierungsgruppe]" set [Positionstypengruppe] "&V[MM02_Pos.Typ.Grp]" Enter "=SP08" // Aufrufen Vertriebstext Screen SAPLMGMM.4040 // Vertriebstext CopyText fromText="MM02_Vertriebstext" toScreen="X[LONGTEXT_VERTRIEBS]" Enter Screen SAPLMGMM.4040 // Vertriebstext // Screen zwei mal aufrufen, da er sonst den leeren Text nicht abfüllt CopyText fromText="MM02_Vertriebstext" toScreen="X[LONGTEXT_VERTRIEBS]" Enter "SP06" // Nachvollgender Screen kommt nur, wenn ein leerer Text abgefüllt wird // Leere Texte vorhanden Screen SAPLMG19.0120 Enter Screen SAPLMGMM.4000 // Vertrieb: allg./Werk set [Verfügbarkeitsprüf.] "&V[MM02_Verfp]" Enter "SP12" Screen SAPLMGMM.4000 // Disposition 1 set [Dispomerkmal] "&V[MM02_Dispomerkmal]" set [Dispolosgröße] "&V[MM02_Dispolosgrösse]" Enter "SP13" Screen SAPLMGMM.4000 // Disposition 2 set [Sicherheitsbestand] "&V[MM02_Sicherheitsbestand]" Enter "/11" // Falls ein Fehler, so kommt nochmals Screen, z.B. wenn man BasisMengeneinheit wechseln will Screen SAPLMGMM.4000 Return "&[_message]" Screen SAPLMGMM.4004 Return "&[_message]" // Pflege des Konditionssatzes PR00 Screen SAPLMGMM.0060 Enter "/NV-43" Screen RV13A304.1000 set [Verkaufsorganisation] "&V[XVerkaufsorganisation]" set [Vertriebsweg] "&V[XVertriebsweg]" set [Material] "&V[XMaterial]" Enter "/8" Screen SAPMV13A.1304 set cell[Material mit Freigabestatus,Betrag,1] "&V[MM02_Betrag]" Enter "/11" Screen SAPMV13A.1304 // Falls kein Preis geändert wird, so kommt dieser Screen nochmals Enter "/NMM02" Screen RV13A304.1000 Enter "/NMM02"
Download: mm02_easy.zip
(3 txt-Dateien, zip-komprimiert, 4.73 KB)