DEFINE VARIABLE F_vonDatum AS DATETIME-TZ NO-UNDO. DEFINE VARIABLE F_bisDatum AS DATETIME-TZ NO-UNDO. DEFINE VARIABLE cKey AS CHARACTER NO-UNDO. DEFINE VARIABLE cString AS CHARACTER NO-UNDO. DEFINE VARIABLE cIndex AS CHARACTER NO-UNDO. DEFINE VARIABLE cFeld AS CHARACTER NO-UNDO. DEFINE VARIABLE iFeld AS INTEGER NO-UNDO. DEFINE VARIABLE cTyp AS CHARACTER NO-UNDO. DEFINE VARIABLE cAlt AS CHARACTER NO-UNDO. DEFINE VARIABLE cNeu AS CHARACTER NO-UNDO. DEFINE VARIABLE iLang AS INTEGER NO-UNDO. DEFINE VARIABLE i1 AS INTEGER NO-UNDO. DEFINE VARIABLE i2 AS INTEGER NO-UNDO. DEFINE VARIABLE i3 AS INTEGER NO-UNDO. DEFINE VARIABLE ii AS INTEGER NO-UNDO. DEFINE VARIABLE cFirma AS CHARACTER NO-UNDO. DEFINE VARIABLE iPos AS INTEGER NO-UNDO. DEFINE VARIABLE cDateTime AS CHARACTER NO-UNDO. DEFINE VARIABLE dDatum AS DATE NO-UNDO. DEFINE VARIABLE dTime AS INTEGER NO-UNDO. DEFINE VARIABLE iMili AS INTEGER NO-UNDO. DEFINE VARIABLE iHH AS INTEGER NO-UNDO. DEFINE VARIABLE iMM AS INTEGER NO-UNDO. DEFINE VARIABLE iSS AS INTEGER NO-UNDO. DEFINE VARIABLE cExtent AS CHARACTER NO-UNDO. DEFINE VARIABLE lNeu AS LOG NO-UNDO. DEFINE VARIABLE cWert AS CHARACTER NO-UNDO. DEFINE VARIABLE lCreate AS LOG NO-UNDO. DEFINE VARIABLE hArtst AS HANDLE NO-UNDO. DEFINE VARIABLE hFeld AS HANDLE NO-UNDO. DEFINE VARIABLE iExtent AS INTEGER NO-UNDO. DEFINE VARIABLE D1Firma AS CHARACTER NO-UNDO INIT '1010'. DEFINE VARIABLE D2Firma AS CHARACTER NO-UNDO INIT '1010'. DEFINE VARIABLE cWgr AS CHARACTER NO-UNDO INIT '01,02,03,04,05,06,6500'. DEFINE VARIABLE cWg AS CHARACTER NO-UNDO. DEFINE VARIABLE iArtnr AS INTEGER NO-UNDO. DEFINE VARIABLE cArtnr AS CHARACTER NO-UNDO. DEFINE TEMP-TABLE tArtst FIELD Firma AS CHARACTER FIELD Artnr AS INTEGER FIELD LEP_old AS DECIMAL DECIMALS 4 FIELD LEP_new AS DECIMAL DECIMALS 4 FIELD DEP_old AS DECIMAL DECIMALS 4 FIELD DEP_new AS DECIMAL DECIMALS 4 FIELD Listen_EP_old AS DECIMAL DECIMALS 4 FIELD Listen_EP_new AS DECIMAL DECIMALS 4 INDEX tArtst-k1 Firma Artnr . F_vonDatum = DATETIME(03, 05, 2024, 19, 40, 00, 000). F_bisDatum = DATETIME(03, 25, 2024, 20, 15, 00, 000). cKey = 'PUB.Artst' + CHR(06) + '1000' + CHR(07). hArtst = TEMP-TABLE tArtst:DEFAULT-BUFFER-HANDLE. FOR EACH _aud-audit-data NO-LOCK USE-INDEX _Event-context WHERE _aud-audit-data._Event-context = cKey AND _aud-audit-data._Audit-date-time >= F_vonDatum AND _aud-audit-data._Audit-date-time <= F_bisDatum : cString = ENTRY(2, _aud-audit-data._Event-context, CHR(06)). MESSAGE cString SKIP _aud-audit-data._Event-context SKIP _aud-audit-data._Event-id SKIP _aud-audit-data._Event-detail VIEW-AS ALERT-BOX INFORMATION BUTTONS OK. /* DO i1 = 1 TO NUM-ENTRIES(cString, CHR(07)): CASE i1: WHEN 1 THEN cFirma = ENTRY(i1, cString, CHR(07)). WHEN 2 THEN iArtnr = INTEGER(ENTRY(i1, cString, CHR(07))). END CASE. END. IF iArtnr <> Artst.Artnr THEN NEXT. CASE _aud-audit-data._Event-id: WHEN 5100 THEN lNeu = TRUE. WHEN 5101 THEN lNeu = TRUE. WHEN 5102 THEN lNeu = FALSE. END CASE. IF NOT lNeu THEN NEXT. cDateTime = STRING(_aud-audit-data._Audit-date-time). dDatum = DATE (_aud-audit-data._Audit-date-time). IF dDatum = 04/14/2022 THEN NEXT. iHH = INTEGER(SUBSTRING(cDateTime,12,02)). iMM = INTEGER(SUBSTRING(cDateTime,15,02)). iSS = INTEGER(SUBSTRING(cDateTime,18,02)). iMili = INTEGER(SUBSTRING(cDateTime,21,03)). dTime = (iHH * 3600) + (iMM * 60) + iSS. DO i1 = 1 TO NUM-ENTRIES(_aud-audit-data._Event-detail, CHR(07)): cString = ENTRY(i1, _aud-audit-data._Event-detail, CHR(07)). cFeld = ENTRY( 1, cString, CHR(06)) NO-ERROR. cTyp = ENTRY( 2, cString, CHR(06)) NO-ERROR. cAlt = ENTRY( 3, cString, CHR(06)) NO-ERROR. cNeu = ENTRY( 4, cString, CHR(06)) NO-ERROR. CASE cFeld: WHEN 'Firma' THEN NEXT. WHEN 'Artnr' THEN NEXT. END CASE. IF cFeld <> 'EP-L' AND cFeld <> 'EP-D' THEN NEXT. IF cAlt = ? OR cNeu = ? THEN NEXT. FIND FIRST tArtst WHERE tArtst.Firma = D2Firma AND tArtst.Artnr = iArtnr AND tArtst.Datum = dDatum NO-ERROR. IF NOT AVAILABLE tArtst THEN DO: CREATE tArtst. ASSIGN tArtst.Firma = D2Firma tArtst.Artnr = iArtnr tArtst.Datum = dDatum tArtst.Wg = cWg tArtst.Benutzer = _aud-audit-data._User-id i3 = i3 + 1. END. CASE cFeld: WHEN 'EP-L' THEN DO: ASSIGN hArtst:BUFFER-FIELD('LEP_old'):BUFFER-VALUE = DECIMAL(cAlt) hArtst:BUFFER-FIELD('LEP_new'):BUFFER-VALUE = DECIMAL(cNeu). END. WHEN 'EP-D' THEN DO: ASSIGN hArtst:BUFFER-FIELD('DEP_old'):BUFFER-VALUE = DECIMAL(cAlt) hArtst:BUFFER-FIELD('DEP_new'):BUFFER-VALUE = DECIMAL(cNeu). END. END CASE. END. END. */ END. /* OUTPUT TO 'C:\Temp\Recover_Artst_DEP.csv' NO-MAP NO-CONVERT. FOR EACH tArtst BREAK BY tArtst.Firma BY tArtst.Artnr BY tArtst.Datum : EXPORT DELIMITER ';' tArtst. END. OUTPUT CLOSE. */