Will man z.B. eine Einbildtransaktion für die MM02 Transaktion kreieren, so kann es unter Umständen performanter sein, die Daten direkt ab der Datenbank mittels eines RFC-Zugriffs zu lessen, anstatt die Daten mittels eines InputScriptes ab dem Screen zu lesen. Im SAP ERP System existiert der FUBA „MATERIAL_READ_ALL_SINGLE“ mit welchem man mehr oder weniger alle notwendigen Tabellen des Materialstammes lesen kann.
Hier ein kleines Beispiel, wie man dies bewerkstelligen kann:
SAPLSMTR_NAVIGATION.0100.TXT
// kleines Beispiel um Daten von Materialstamm direkt auf SAP Easy Access // anzuzeigen // 07.02.2014 / Gérald Koehn / Koehn Consulting / www.guixt.ch pos X[IMAGE_CONTAINER] (10,0) // X[IMAGE_CONTAINER] Inputfield (0,1) "zu lesendes Material" (0,30) Name="MM02MATNR" Size="18" Inputfield (1,1) "Kurztext" (1,30) Name="MM02_MAKTX" Size="40" -Readonly Inputfield (2,1) "Standardpreis" (2,30) Name="MM02_STPRS" Size="10" -Readonly -Alignright Inputfield (3,1) "Gesamtbestand" (3,30) Name="MM02_LBKUM" Size="10" -Readonly -Alignright Text (3,42) "&V[MM02_MEINS]" Text (2,42) "&V[T_T001](T001-WAERS)" on "Enter" Process="READ_MATNR.TXT"
READ_MATNR.TXT
// Beispiel für Lesen Materialstamm mittels RFC Zugriff // 07.02.2014 / Gérald Koehn / Koehn Consulting / www.guixt.ch // Initialisieren aller Felder Set V[MM02_*] "" ProcessingOption leadingspace="on" set V[schluessel](MTCOM-MATNR) "&V[MM02MATNR]" // Material set V[schluessel](MTCOM-BUKRS) "1000" // Buchungskreis set V[schluessel](MTCOM-WERKS) "1200" // Werk set V[schluessel](MTCOM-BWKEY) "1200" // Bewertungskey set V[schluessel](MTCOM-SPRAS) "&V[_language]" // Sprache set V[schluessel](MTCOM-LGORT) "0001" // Lagerort set V[schluessel](MTCOM-VKORG) "1000" // Verkaufsorganisation set V[schluessel](MTCOM-VTWEG) "10" // Vertriebsweg call "MATERIAL_READ_ALL_SINGLE" -try In.HERKUNFT="Z" In.SCHLUESSEL="&V[schluessel]" if Q[ok] call "MATERIAL_READ_ALL_SINGLE" cache="session" In.HERKUNFT="Z" In.SCHLUESSEL="&V[schluessel]" Out.TMAKT="tmakt" Out.TMARA="tmara" Out.TMARC="tmarc" Out.TMBEW="tmbew" else Return "E: Material &V[MM02MATNR] existiert nicht" -Statusline endif // Setzen der einzelnen Variablen, welche im Screen von MM02 verwendet werden ProcessingOption leadingspace="off" Set V[MM02_MAKTX] "&V[tmakt](MAKT-MAKTX)" Set V[MM02_GROES] "&V[tmara](MARA-GROES)" Set V[MM02_STPRS] "&V[tmbew](MBEW-STPRS)" -unpack Set V[MM02_STPRS] &[MM02_STPRS] / 100 Decimals="2" DecimalSeparator="userdefault" GroupSeparator="userdefault" Set V[MM02_LBKUM] "&V[tmbew](MBEW-LBKUM)" -unpack Set V[MM02_LBKUM] &[MM02_LBKUM] / 1000 Decimals="0" DecimalSeparator="userdefault" GroupSeparator="userdefault" Set V[MM02_MEINS] "&V[tmara](MARA-MEINS)" Set V[MM02_WAERS] "EUR"