Codeblock Onlinehilfe

Event "bei Standort-Synchronisation (von EK-Bestellung zum KD-Auftrag)"


Event "bei Standort-Synchronisation (von EK-Bestellung zum KD-Auftrag)"


Ereignis dient zu Anpassung der Individual-Felder während des Intercompany-Synchronization.

Diese Ereignis tritt auf, wenn die Bestell-Rückstand des Lieferantes "Produktion" (im Abteilung "Vertrieb") geändert wird.


Beispiel


| nEvtNo:P1, nMode:P2, oDab035:P3, oDab050:P4, oDab055:P5
// nMode   : 1 - vor Standort-Synchronisation
//           2 - nach Standort-Synchronisation
//           3 - vor Speichern aller Daten während Standort-Synchronisation
//               (die Tabelle Dab055 mit bereits aktualisierten Werten befindet sich noch im Editmodus)
  , oOwner, oDab510 |

function ArticleRangeFound()
   Result := not EOF(oDab510)
             and (Trim(AsString('ARTNR',oDab035)) = Trim(AsString('ARTNR',oDab510)))
             and (AsNumber('LIEFNR',oDab035) = AsNumber('LINR', oDab510)),
end,

if nMode = 3 then // vor Speichern aller Daten während Standort-Synchronisation

  oOwner  := GetOwner(oDab035),
  oDab510 := DBGetTable(oOwner,waDab510),

  if not ArticleRangeFound() then
     oDab510.IndexName := 'DAB512',
     oDab510.CbFindKey({AsNumber('LIEFNR',oDab035), AsString('ARTNR',oDab035)}),
     while ArticleRangeFound()
        and ((not Empty(oDab510:GUELTIGVON) and (Today() <= oDab510:GUELTIGVON))
           or (not Empty(oDab510:GUELTIGBIS) and (Today() >= oDab510:GUELTIGBIS))) do
        oDab510.CbNext(),
     end,
  endif,

  if ArticleRangeFound() then
     oDab055:TERMIN := DToC(WToD(oDab035:TERMIN) - oDab510:X_ICLOGIST), // hier den IC Zeitaufschlag Logistik in Tagen abziehen
  endif,

endif,