In einem TableControl wollen Sie Zusatzinformationen in einer Spalte anzeigen. (Z.B. Werkstoff von Material)

Das Beispiel zeigt folgende Funktionalität :

Zu dem eingegebenen Material wird mittels eines RFC Bausteins der zugehörige Werkstoff aus dem Materialstamm nachgelesen (MARA-WRKST).
Die Anzeige erfolgt mittels einer eigenen Spalte im TableControl.
Dazu wurde der seit der GuiXT Version 2007 Q1 1 zur Verfügung stehende Befehl „Column“ verwendet.

Alle notwendigen Elemente stehen zur Verfügung:

  1. GuiXT Script (z.B. SAPMV45A.D4001)
  2. RFC Funktionsbaustein ZZGUIXT_WERKSTOFF

sapmv45a.d4100.txt

// Anzeige von Werkstoff des Materials in eigener Spalte 
// Info wird über Funktionsbaustein mittels Call nachgelesen
// 24.06.207 / Gérald Koehn / Koehn Consulting / www.guixt.ch

set V[i] 1
Label Next_Werkstoff_lesen
set V[Pos] 		"&cell[Alle Positionen,Pos,&[i]]"
set V[Material] 	"&cell[Alle Positionen,Material,&[i]]"
if V[Material]
  call "ZZGUIXT_WERKSTOFF" In.MATNR="&V[Material]" Out.WRKST="Werkstoff.&V[Pos]"
  set V[i] &[i] + 1
  goto Next_Werkstoff_lesen
endif

column "Werkstoff" Size="48" Name="Werkstoff" Position="6" Keycolumn="[Pos]" -readonly

RFC Funktionsbaustein ZZGUIXT_WERKSTOFF

FUNCTION zzguixt_werkstoff.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(MATNR) TYPE  MATNR
*"  EXPORTING
*"     VALUE(WRKST) TYPE  WRKST
*"----------------------------------------------------------------------

* Konvertierung in internes Frmat
  CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
    EXPORTING
      input  = matnr
    IMPORTING
      output = matnr.

* nachlesen Werkstoff aus Materialstamm MARA

  SELECT SINGLE * FROM mara WHERE matnr = matnr.

  IF sy-subrc = 0.
    wrkst = mara-wrkst.
  ENDIF.

ENDFUNCTION.

 

Empfehlen