Beispiel zeigt anhand der Transaktion VA01, wie man Auftraggeber und Warenempfänger aus Wertehilfe auswählt

In einigen Fällen, wäre es wünschenswert, wenn die zur Auswahl stehenden Werte nicht mittels F4 ausgewählt werden müssen, sondern als Auswahl aus einer Exceltabelle zur Verfügung stehen.
Dadurch können nebst den zu übernehmenden Werten noch zusätzliche Informationen angezeigt werden, welche den Prozess der Entscheidung, zur Wertübernahmen vereinfachen.

Die Lösung basiert auf folgenden Schritten:

  1. Speichern der ExcelTabelle als *.html
  2. Ergänzen des HTML mit Coding für Click und zugehöriges JavaScript
  3. Pushbutton zum auslösen der Anzeige des HTML
  4. InputScript zum Schliessen des HTML-Fensters nach erfolgter Wertübernahme

Video des Beispiels :

Download: excel.avi
(Video der Lösung, 3484.50 KB)

Download: f4_excel.zip
(Scripte und HTML-File zu Beispiel, 0.04 KB)

Die anzuzeigende Exceltabelle muss als *.html gespeichert werden.
Anschliessend müssen folgende Ergänzungen an dem *.html Dokument mittels HTML-Editor oder Notepad.exe gemacht werden:

1.) Bei der Tabellendefinition folgende Passage einfügen:

wobei cursor:pointer; und onclick=“handle_click(); eingefügt wurden

2.) Am Schluss der HTML-Datei folgendes Javascript einfügen:

function handle_click()
{
   var f = event.srcElement;
   // cell?
   if (f.tagName != 'TD') return;
   var p = f.parentElement;
   // row?
   if (p.tagName != 'TR') return;
   var kunde = p.firstChild;
   if (kunde.tagName != 'TD') return;
   var warenempfaenger = kunde.nextSibling;
   if (warenempfaenger.tagName != 'TD') return;
   var val_kunde = kunde.innerText;
   var val_warenempfaenger = warenempfaenger.innerText;
    // number?
    if (val_kunde == '' ||  isNaN(val_kunde)) return; 
   window.location.href = "SAP://Auftraggeber:" + val_kunde + ";Warenempfänger:" + val_warenempfaenger + ";OK:/00,process=Close.txt"
};

wobei Auftraggeber und Warenempfänger die Namen der jeweiligen Felder sind, in welche die Werte zurückgestellt werden. Je nachdem, was für Felder sie füllen wollen, so müssen Sie im JavaScript die Namen der Felder entsprechend ändern.

Empfehlen