10 ' ============ ::::::::   ANPARG :::::::: ==============================
   '
   ' :::::::  ESTADISTICA DE VENTAS
   '
   ' SISTEMAS SIERRA SA DE CV                    ACTUALIZA NOMBRES DE PLUS
   ' 03-Sep-2003 1300  creaci˘n inicial del programa
   ' ======================================================================
   
   ' $INCLUDE: 'EDITAL.BAS'
     DIM SHARED V1%(2000),V2%(2000),V3%(2000)
     ON ERROR GOTO ErrorHandler
     WIDTH LPRINT 150                                      ' asigna impresor

     GOSUB 9802                                            ' carga parametros
      CVEACC=57:GOSUB 6897:IF VCVE=1 THEN CLOSE:END
    ' $INCLUDE: 'AUTARG.BAS'

     IF LEN(ANO$)=2 THEN XANO$=ANO$:IF ANO$<"80" THEN ANO$="20"+ANO$ ELSE ANO$="19"+ANO$

    ' $INCLUDE: 'OPNTEM.BAS'
    ' $INCLUDE: 'OPNPLU.BAS'
     GET#5,1
     UP=CVS(UP5$)                                          ' ultimo plu

     GOSUB 350                                             ' VENTAS POR DIA
     CLOSE                                                 ' cierra archivos
     END

350                                                        ' ACUMULA DIAS ANTERIORES
     GOSUB 10016                                           ' cuadro pantalla
     SISTEMA$="ANALISIS DE VENTAS":LG=79                   ' titulo
     MENU$="Nombres de PLUs"                             
     GOSUB 8300                                            ' encabezado
     COLOR 7,0                                             ' intensidad media

     IE=0                                                  ' valida pos-b
     OPEN "I",30,"POS-B"
     IF IE=1 THEN
        GOSUB 2220                                         ' no existe pos-b
        CLOSE#30
        RETURN
     ENDIF
     CLOSE#30

     PR=07:PC=20:NR=04:NC=34:GOSUB 9981

     COLOR 15,7
        LOCATE 08,21:PRINT "El sistema actualizar  el nombre  "
        LOCATE 09,21:PRINT "largo de todos los PLUs vendidos. "
        LOCATE 10,21:PRINT "Si el PLU no tiene nombre largo,  "
        LOCATE 11,21:PRINT "grabar  el nombre corto.          "

1100 GOSUB 7500                                            ' GRABAR
     IF KEYPRESSED=ESCAPE OR KEYPRESSED=UPARROW THEN RETURN
     IF KEYPRESSED=FF1 OR S$="1" THEN 1200
     IF KEYPRESSED=FF2 OR S$="C" OR S$="c" THEN RETURN
        GOSUB 7600:GOTO 1100

1200  COLOR 15,7:LOCATE 24,1:PRINT SPACE$(80);:LOCATE 23,2:PRINT ""
                 LOCATE 24,57:PRINT "Actualizando";
                 LOCATE 23,2:PRINT ""

      FOR I=1 TO UP
          GET#3,I
          COLOR 15,7:LOCATE 24,70:PRINT USING "###.#%";I/UP*100;
                     LOCATE 23,2:PRINT ""
          IF ASC(F3$)=0 THEN
             XPLU$=PL3$
             IE=0:GOSUB 3600                               ' busca nombre
             IF IE=1 THEN RETURN                           ' no existe asc-b
             IF ST=1 THEN 
                LSET NL3$=NOL$
                LSET NC3$=NOC$
                PUT#3,I                                    ' GRABA
             ENDIF
          ENDIF
      NEXT I
      BEEP
      RETURN

2220 SHELL "\SIEARG2\MPBARG"
     RETURN

3600 ST=0
     OPEN "I",33,"ASC-B"
     NOL$=SPACE$(24)
     NOC$=SPACE$(08)
     IF IE=1    THEN CLOSE#33:RETURN
5615 IF EOF(33) THEN CLOSE#33:RETURN
     INPUT#33,X01$,X02$,X03$,X04$,X05$,X06$,X07$,X08$,X09$,X10$,X11$,X12$,X13$,X14$,X15$,X16$,X17$,X18$,X19$,X20$,X21$,X22$,X23$,X24$,X25$,X26$,X27$,X28$
     YPLU$=MID$(X02$,2,5)                                 ' plu
     IF XPLU$=YPLU$ THEN
        NOL$=MID$(X03$,2,24)                              ' nombre
        NOC$=MID$(X04$,2,08)                              ' corto
        CLOSE#33
        ST=1
        RETURN
     ENDIF
     GOTO 5615

6999 ' $INCLUDE: 'R50GRL.BAS'
     ' $INCLUDE: 'LEFARG.BAS'
     ' $INCLUDE: 'KEYARG.BAS'
     ' $INCLUDE: 'VERSFT.BAS'

ErrorHandler:
      IF ERR=70 THEN LOCATE 24,01:COLOR 16,15:PRINT "pd...";:LOCATE 23,2:PRINT "":RESUME
      IF ERR=24 OR ERR=25 OR ERR=27 THEN GOSUB 7510:RESUME
      IF ERR=53 THEN IE=1:RESUME NEXT
      COLOR 16,15:LOCATE 24,01:PRINT "Error en los datos ";ERR;" Linea ";ERL;". Llame a SIERRA.";:LOCATE 23,2:PRINT "":W$=INPUT$(1):CLOSE:END
