**********
* PCPRCH *
**********

* Wijzigen produktienummer in de records van alle werkbestanden
* Dit nummer bestaat uit de productline en het bestelbonnummer
* Voor dat dit programma gestart kan worden moet de variabele
* cur:prod een andere waarde hebben dan '*'

STORE 0 TO m:prod
STORE 0 TO m:best

@ 7,7 SAY "U KUNT NU HET HUIDIGE PRODUKTIENUMMER WIJZIGEN. DIT NUMMER BESTAAT"
@ 8,7 SAY "UIT HET PRODUCTLINE-NUMMER EN HET BESTELBONNUMMER."
STORE F TO finished  
DO WHILE .NOT. finished
   STORE "." TO akk
   DO WHILE .NOT. (akk $ "JN")
      @ 10,14 SAY "NIEUW PRODUCTLINE-NUMMER " GET m:prod PICTURE "##"
      @ 11,14 SAY "NIEUW BESTELBONNUMMER    " GET m:best PICTURE "#####"
      @ 20,68 SAY "AKKOORD " GET akk PICTURE "!"
      READ
      CLEAR GETS
      DO WHILE .NOT. (akk $ "JN") 
         STORE "." TO akk
         @ 20,68 SAY "AKKOORD " GET akk PICTURE "!"
         READ
         CLEAR GETS
      ENDDO
   
      IF akk = "N"
         STORE "." TO again
         DO WHILE .NOT. (again $ "JN")
            @ 20,59 SAY "OPNIEUW INTIKKEN " GET again PICTURE "!"
            READ
            CLEAR GETS
         ENDDO
         IF again = "J" 
            STORE "." TO akk 
            @ 20,59 SAY "                    "
         ELSE 
            STORE T TO finished
         ENDIF
      ENDIF
   ENDDO 

   IF akk = "J"

      STORE $(STR(m:prod+100,3),2,2) + $(STR(m:best+100000,6),2,5) TO m:prod:nr

      SET EXACT ON

      USE &opdracht INDEX &opdracht
      FIND &m:prod:nr
      IF (#>0)
         STORE "." TO akk
         @ 22,0 SAY "PRODUKTIENUMMER IS REEDS AANWEZIG, DRUK RETURN " GET akk
         READ
         @ 22,0 SAY "                                                  "
      ELSE 
         @ 22,0 SAY "PRODUKTIENUMMER WORDT GEWIJZIGD."
         STORE T TO finished
         FIND &cur:prod
         REPLACE prod:nr WITH m:prod:nr,prod:line WITH m:prod, ;
                 best:bonnr WITH m:best, hist:file WITH F

         USE &oplage INDEX &oplage
         FIND &cur:prod
         DO WHILE (#>0) .AND. (.NOT. EOF)
            REPLACE prod:nr WITH m:prod:nr
            FIND &cur:prod
         ENDDO
         USE

         USE &planning INDEX &planning
         FIND &cur:prod
         REPLACE prod:nr WITH m:prod:nr

         USE &offertes INDEX &offertes
         FIND &cur:prod
         DO WHILE (#>0) .AND. (.NOT. EOF)
            REPLACE prod:nr WITH m:prod:nr
            FIND &cur:prod
         ENDDO
         USE

         USE &calcdat INDEX &calcdat
         FIND &cur:prod
         REPLACE prod:nr WITH m:prod:nr

         STORE m:prod:nr TO cur:prod

      ENDIF
      USE
   ENDIF
ENDDO finished

RELEASE m:prod,m:best,m:prod:nr,finished,again,akk
SAVE TO &memory
RETURN
*
* EINDE PROGRAMMA
*