// Transaktion MIGO Warenbewegungen erfassen/anzeigen// 
// Aufgabenstellung:
//
// Bei der Erfassung soll bereits der aktuelle Lagerortbestand (MARD-LABST)
// in der Tabelle angezeigt werden.
//IF Q[DATABASE=I56]
Image (0,140) (3,147) "pardon.gif"  -nostretch 
// Ermitteln des aktuellen Bestandes
set V[i] 1
set V[MIGO*] ""
// Loop über die Tabelle
LABEL MIGO_BESTAND_LESEN
// Prüfen ob MATNR gefüllt ist
set V[MIGO_CHECK_MATNR] "&cell[SAPLMIGO_TV_GOITEM,GOITEM-MATNR,&[i]]"
set V[MIGO_CHECK_EBELN] "&cell[SAPLMIGO_TV_GOITEM,GOITEM-EBELN,&[i]]"
set V[MIGO_CHECK_EBELP] "&cell[SAPLMIGO_TV_GOITEM,GOITEM-EBELP,&[i]]"
set V[MIGO_POS] "&[i]"
if V[MIGO_CHECK_MATNR] or V[MIGO_CHECK_EBELN] 
    // Führende Nullen ergänzen
    Set V[MIGO_MATNR] "000000000000000000&V[MIGO_CHECK_MATNR]"
    Set V[L2] "&V[MIGO_MATNR]" -stringlength
    Set V[L1] "&V[L2]" - 17
    Set V[MIGO_CHECK_MATNR] "&V[MIGO_MATNR](&V[L1]-&V[L2])"
    Set V[MIGO_MATNR] "&V[MIGO_CHECK_MATNR]"
  // RFC-Baustein aufrufen
  call Z_MM_BESTAND_LESEN In.MATNR="&V[MIGO_MATNR]" In.WERKS="&cell[SAPLMIGO_TV_GOITEM,GOITEM-WERKS,&[i]]" In.LGORT="&cell[SAPLMIGO_TV_GOITEM,GOITEM-LGORT,&[i]]" Out.LABST="MIGO_LABST.&V[MIGO_POS]"
  // Nachkommastellen eliminuieren
  set V[MIGO_LABST.&V[MIGO_POS]] "&V[MIGO_LABST.&V[MIGO_POS]]" / 1000
    // Führende Nullen ergänzen
    Set V[MIGO_EBELN] "0000000000&V[MIGO_CHECK_EBELN]"
    Set V[L2] "&V[MIGO_EBELN]" -stringlength
    Set V[L1] "&V[L2]" - 9
    Set V[MIGO_CHECK_EBELN] "&V[MIGO_EBELN](&V[L1]-&V[L2])"
    Set V[MIGO_EBELN] "&V[MIGO_CHECK_EBELN]"
    Set V[MIGO_EBELP] "00000&V[MIGO_CHECK_EBELP]"
    Set V[L2] "&V[MIGO_EBELP]" -stringlength
    Set V[L1] "&V[L2]" - 4
    Set V[MIGO_CHECK_EBELP] "&V[MIGO_EBELP](&V[L1]-&V[L2])"
    Set V[MIGO_EBELP] "&V[MIGO_CHECK_EBELP]"
//  StatusMessage Title="Aufarbeitungsauftrag anlegen"
//  StatusMessage AddString="&V[MIGO_CHECK_EBELN]" Size=(11,80)
//  StatusMessage AddString="&V[MIGO_CHECK_EBELP]" Size=(11,80)
  // RFC-Baustein aufrufen
  //IF Q[DATABASE=I56]
  call Z_MM_LFDAT_LESEN In.EBELN="&V[MIGO_EBELN]" In.EBELP="&V[MIGO_EBELP]" Out.LFDAT="MIGO_LFDAT.&V[MIGO_POS]"
  //ENDIF
  set V[MIGO_LFDAT.&V[MIGO_POS]] "&V[MIGO_LFDAT.&V[MIGO_POS]]"
  set V[L1] "&V[MIGO_LFDAT.&V[MIGO_POS]]"
  set V[MIGO_LFDAT.&V[MIGO_POS]](1-2) "&V[L1](7-8)"
  set V[MIGO_LFDAT.&V[MIGO_POS]](3-3) "."
  set V[MIGO_LFDAT.&V[MIGO_POS]](4-5) "&V[L1](5-6)"
  set V[MIGO_LFDAT.&V[MIGO_POS]](6-6) "."
  set V[MIGO_LFDAT.&V[MIGO_POS]](7-10) "&V[L1](1-4)"
  set V[i] &[i] + 1
  goto MIGO_BESTAND_LESEN
endif
// neue Spalte für die Tabelle  
Column "akt. Bestand" size=10 name=MIGO_LABST position=5 table=T[SAPLMIGO_TV_GOITEM] -readonly //keycolumn=[MIGO_POS]  //Table
// neue Spalte "Liefertermin"
Column "LiefDat Best" size=12 name=MIGO_LFDAT position=6 table=T[SAPLMIGO_TV_GOITEM] -readonly //keycolumn=[MIGO_POS]  //Table
//ENDIF