alle Jahre wieder KW1 ... [erledigt]
Verfasst: Mi, 02. Jan 2013 5:23
hi,
ich habe hier irgendwo einen Wurm drin ...und bekomme das
ich habe hier irgendwo einen Wurm drin ...
Code: Alles auswählen
nStartKW := WocheJahr(STOD( STRZERO(nJAHR-1,4)+STRZERO(nMonat,2)+STRZERO(nDate,2)))
nEndeKW := WocheJahr(STOD( STRZERO(nJAHR ,4)+STRZERO(nMonat,2)+STRZERO(nDate,2)))
//
// Problem KW1 only !?
//
nLst3112 := WocheJahr(STOD( STRZERO(nJAHR-1,4)+STRZERO( 12,2)+"31"))
nNeu0101 := WocheJahr(STOD( STRZERO(nJAHR ,4)+STRZERO( 1,2)+"01"))
#IFDEF _TEST_
Ondummy("nStartKW",nStartKW,"nEndeKW",nEndeKW,"nLst3112",nLst3112,"nNeu0101",nNeu0101)
#ENDIF
IF nLst3112 = nNeu0101
//
// wenn 1 = 1 -> 52 ?
//
nLst3112 := WocheJahr(STOD( STRZERO(nJAHR-1,4)+STRZERO(12,2)+"31")-7)
ENDIF
#IFDEF _TEST_
Ondummy("nLst3112",nLst3112,"nNeu0101",nNeu0101)
#ENDIF
...
//
// letztes Jahr
//
nDiff := nLst3112 - (nStartKW-1)
#IFDEF _TEST_
Ondummy("nDiff",nDiff,"nLst3112",nLst3112,"nStartKW",nStartKW)
#ENDIF
IF nDiff > 0
nAltKW := nLst3112 - nDiff +1
#IFDEF _TEST_
Ondummy("nAltKW",nAltKW,"nLst3112",nLst3112 )
#ENDIF
i := 1
FOR i := nAltKW TO nLst3112
AADD(::KauftItem,{0,0,0,0} )
nPosi++
dDate := KWTOD( STRZERO(nJAHR-1,4)+STRZERO(i,2) )
#IFDEF _TEST_
Ondummy("dDate",dDate,"nPosi",nPosi)
#ENDIF
::SuchImArray(dDate,nPosi)
nZuMax := MAX(nZuMax,::KauftItem[ nPosi,EleZugang ])
nAbMax := MAX(nAbMax,::KauftItem[ nPosi,EleAbgang ])
#IFDEF _TEST_
Ondummy("nZuMax",nZuMax,"nAbMax",nAbMax)
#ENDIF
NEXT
ENDIF
... hm ... wo ist der Wurm drin denn wenn ich das Datum auf KW2 stelle funktioniert es ...nAltMonat 1
gefunden 5033 201201
gefunden 5033 201202
gefunden 5033 201203
gefunden 5033 201204
gefunden 5033 201205
gefunden 5033 201206
gefunden 5033 201207
gefunden 5033 201208
gefunden 5033 201209
gefunden 5033 201210
gefunden 5033 201211
gefunden 5033 201212
nStartKW 52 nEndeKW 1 nLst3112 1 nNeu0101 1
nLst3112 52 nNeu0101 1
nDiff 1 nLst3112 52 nStartKW 52
nAltKW 52 nLst3112 52
dDate 20121224 nPosi 1
nZuMax 0 nAbMax 1.00