Site hosted by Angelfire.com: Build your free website today!

To whom it may concern:
This is a Sample COBOL Program developed by me like example of my
Technical COBOL Coding.
I appreciate your observations and comments to:
Email: josealvareztejeda@yahoo.com.mx

*************************
 Identification Division.
*************************
 Program ID. VNTPZ0.
 Author. Jose Alvarez Tejeda.
 Date Written. 13/Agosto/1990.
 Date-Compiled. 29/08/90.
 Security.
    +------------------------------------------------------------------------+
    | Sistema: Ventas                                                        |
    +------------------------------------------------------------------------+
    | Objetivo : Rescatar desde el Archivo de Facturas y del archivo de Notas|
    |            la Informacion para prparar la Informacion Necesaria para el|
    |            archivo de Ventas Netas por Articulo.                       |
    +------------------------------------------------------------------------+
    | Consideraciones:                                                       |
    | 1.- Debe Procesar el VTAS"MMN" Primero y Posteriormente el NOTAS"MMN", |
    |     Ambos en Forma Secuencial.                                         |
    | 2.- Si el tipo de Documento (Tipo-Doc-Nod) = 8 se deberán multiplicar  |
    |     las cantidades por -1.                                             |
    | 3.- Debe Calcular la Venta Neta por Articulo Descontando el porcentaje |
    |     de Oferta y de Matriz Correspondiente.                             |
    +------------------------------------------------------------------------+
    |Modificaciones                                                          |
    +------------------------------------------------------------------------+
    |Nombre                 Fecha         Descripcion de la Modificacion     |
    +------------------------------------------------------------------------+
    |Jose Alvarez Tejeda    21/08/90      Modificar Rutina de Calculo para   |
    |                                     descontar porcentaje de descuento. |
    |                                     Condicion de Pago. Oferta y Matriz |
    |                                     cuidando de Ir Redondeando las Can |
    |                                     tidades resultantes.               |
    |                                     Ademas debera Calcular las Ventas  |
    |                                     Brutas por Articulo, asi como el   |
    |                                     porcentaje global de descuento por |
    |                                     articulo, debiendose calcular este |
    |                                     sobre los totales de venta bruta y |
    |                                     venta neta para cada articulo.     |
    +------------------------------------------------------------------------+
    |Jose Alvarez Tejeda   27/08/90       Modificar Rutina de Calculo para   |
    |                                     Venta Neta, ya que si el tipo de   |
    |                                     precio es "Informado" (0) es posi_ |
    |                                     ble que el descuento se haya  hecho|
    |                                     a traves del facturar con un precio|
    |                                     menor al precio normal de base.    |
    +------------------------------------------------------------------------+
**********************
 ENVIRONMENT DIVISION.
**********************
 Configuration Section.
 Source-Computer. IBM-S36.
 Object-Computer. IBM-S36.
 Special-Names.
     Local-Data    is Area-Local
     Decimal-Point is Comma 
     Requestor is Console.
 Input-Output Section.
 File-Control.
     Select Archivo-Facturas
            Assign to Disk-Vtas-JL0.
     Select Archivo-Notas
            Assign to Disk-Nota-JL0.
     Select Ventas-Netas
            Assign to Disk-Vtndjl
            Organization is Indexed
            Access Mode is Dynamic
            Record key is Llave-Vtn.
***************
 DATA DIVISION.
***************
 File Section.
*
 FD Ventas-Netas
    Record 84 characters
    Label Record Standard.
 01 Reg-Vtn.
    05 Llave-Vtn.
       10 Apertura-Vtn              Pic x(3).
       10 Articulo-Vtn).
          15 Codart-Vtn             Pic 9(9).
          15 Dvart-Vtn              Pic 9(1).
    05 Vtas-Unidades-Vtn         Pic s9(11).
    05 Vtas-M2n-Vtn              Pic s9(11).
    05 Valor-Factura-Vtn         Pic s9(11).
    05 Valor-NotCred-Vtn         Pic s9(11).
    05 Venta-Bruta-Vtn           Pic s9(11).
    05 Porc-Descto-Global-Vtn    Pic 9(3)v9(02).
    05 Venta-Neta-Vtn            Pic s9(11).   
*
 FD Archivo-Facturas
    Record 90 characters
    Label Record Standard.
 01 Reg-Fac.
    05 Ct-Fac                    Pic 9(1).
    05 Lugar-Emision-Fac         Pic x(3).
    05 Factura-Fac               Pic 9(5).
    05 Fecha-Factura-Fac.
       10 Dia-Factura-Fac        Pic 9(2).
       10 Mes-Factura-Fac        Pic 9(2).
       10 A¤o-Factura-Fac        Pic 9(2).
    05 Pedido-Fac                Pic 9(5).
    05 O-Entrega-Fac             Pic 9(5).
    05 Cliente-Fac.
       10 CodCli-Fac             Pic 9(5).
       10 DvCli-Fac              Pic 9(1).
    05 Orden-Compra-Fac          Pic x(5).
    05 Con-Orden-Fac             Pic x(1).
    05 Fec-Vencto-Fac            Pic 9(6).
    05 Uso-Material-Fac          Pic x(1).
    05 Codigo-Flete-Fac.
       10 Cobro-Flete-Fac        Pic 9(1).
       10 Loca-Flete-Fac         Pic 9(3).
    05 Zona-Venta-Fac            Pic 9(3).
    05 Lugar-Despacho-Fac        Pic x(3).
    05 Cond-Pago-Fac             Pic x(1).
    05 Tipo-Precio-Fac           Pic 9(1).
    05 Tipo-Fact-Fac             Pic x(1).
    05 Ind-Flete-Fac             Pic 9(1).
    05 Ind-Tercero-Fac           Pic 9(1).
    05 Vend-Asig-Fac             Pic x(2).
    05 Ind-Descto-Fac            Pic 9(1).
    05 Porc-Descto-Fac           Pic 9(2)v9(2).
    05 Porc-Cpago-Fac           Pic9(2)v9(2).
    05 Porc-Rec-Fac              Pic9(2)v9(2).
    05 Convenio-Fac              Pic 9(2).
    05 Ind-Emite-Letra-Fac       Pic x(1).
    05 Emite-Ncr-Fac             Pic x(1).
    05 Codigo-Descuento-Fac      Pic x(1).
    05 Codigo-Recargo-Fac        Pic x(1).
    05 Fl                        Pic x(5).
    05 Glosa-Fac                 Pic 9(2).
    05 Tipo-Docto-Fac            Pic 9(1).
*
 01 Reg-Fad.
    05 Ct-Fad                    Pic 9(1).
    05 Lugar-Emision-Fad         Pic x(3).
    05 Factura-Fad               Pic 9(5).
    05 Apertura-Fad              Pic x(3).    
       10 Codart-Fad             Pic 9(9).
       10 DvArt-Fad              Pic 9(1).
    05 Cifras-Fad.
       10 CantFact-Fad           Pic s9(5)v9.
       10 PreUni-Fad             Pic 9(7).
       10 Valor-Fad              Pic s9(11).
       10 Precio-Base-Fad        Pic 9(7).
       10 Factor-Fad-Fad         Pic 9(4)v9(3).
       10 Flete-Calculo-Fad      Pic s9(11).
       10 Porc-Oferta-Fad        Pic 9(2)v9(1).
       10 Porc-Matriz-Fad        Pic 9(2)v9(1).
    05 Fl                        Pic x(10).
    05 Glosa-Fad                 Pic 9(2).
    05 Tipo-Docto-Fad            Pic 9(1).    
*
 01 Reg-Fat.
    05 Ct-Fat                    Pic 9(1).
    05 Lugar-Emision-Fat         Pic x(3).
    05 Factura-Fat               Pic 9(5).
    05 Porc-Impto-Fat            Pic 9(2)v9(2).    
    05 Bruto-Fat                 Pic S9(11).
    05 Descuentos-Fat            Pic S9(11).
    05 Recargos-Fat              Pic S9(11).
    05 Flete-Fat                 Pic S9(11).
    05 IVA-Fat                   Pic S9(11).
    05 Total-Fat                 Pic S9(11). 
    05 Fl                        Pic x(8).
    05 Glosa-Fat                 Pic 9(2).
    05 Tipo-Docto-Fat            Pic 9(1).
*
 FD Archivo-Notas
    Record 90 characters
    Label Record Standard.
 01 Reg-Noc.
    05 Ct-Noc                    Pic 9(1).
    05 Lugar-Emision-Noc         Pic x(3).
    05 Factura-Noc               Pic 9(5).
    05 Fecha-Noctura-Noc.
       10 Dia-Noctura-Noc        Pic 9(2).
       10 Mes-Noctura-Noc        Pic 9(2).
       10 A¤o-Noctura-Noc        Pic 9(2).
    05 Pedido-Noc                Pic 9(5).
    05 O-Entrega-Noc             Pic 9(5).
    05 Cliente-Noc.
       10 CodCli-Noc             Pic 9(5).
       10 DvCli-Noc              Pic 9(1).
    05 Orden-Compra-Noc          Pic x(5).
    05 Con-Orden-Noc             Pic x(1).
    05 Fec-Vencto-Noc            Pic 9(6).
    05 Uso-Material-Noc          Pic x(1).
    05 Codigo-Flete-Noc.
       10 Cobro-Flete-Noc        Pic 9(1).
       10 Loca-Flete-Noc         Pic 9(3).
    05 Zona-Venta-Noc            Pic 9(3).
    05 Lugar-Despacho-Noc        Pic x(3).
    05 Cond-Pago-Noc             Pic x(1).
    05 Tipo-Precio-Noc           Pic 9(1).
    05 Tipo-Noct-Noc             Pic x(1).
    05 Ind-Flete-Noc             Pic 9(1).
    05 Ind-Tercero-Noc           Pic 9(1).
    05 Vend-Asig-Noc             Pic x(2).
    05 Ind-Descto-Noc            Pic 9(1).
    05 Porc-Descto-Noc           Pic 9(2)v9(2).
    05 Porc-Cpago-Noc           Pic9(2)v9(2).
    05 Porc-Rec-Noc              Pic9(2)v9(2).
    05 Convenio-Noc              Pic 9(2).
    05 Ind-Emite-Letra-Noc       Pic x(1).
    05 Emite-Ncr-Noc             Pic x(1).
    05 Codigo-Descuento-Noc      Pic x(1).
    05 Codigo-Recargo-Noc        Pic x(1).
    05 Fl                        Pic x(3).
    05 Tdr-Noc                   Pic 9(2).
    05 Glosa-Noc                 Pic 9(2).
    05 Tipo-Docto-Noc            Pic 9(1).
*
 01 Reg-Nod.
    05 Ct-Nod                    Pic 9(1).
    05 Lugar-Emision-Nod         Pic x(3).
    05 Factura-Nod               Pic 9(5).
    05 Apertura-Nod              Pic x(3).    
       10 Codart-Nod             Pic 9(9).
       10 DvArt-Nod              Pic 9(1).
    05 Cifras-Nod.
       10 CantFact-Nod           Pic s9(5)v9.
       10 PreUni-Nod             Pic 9(7).
       10 Valor-Nod              Pic s9(11).
       10 Precio-Base-Nod        Pic 9(7).
       10 Factor-Nod-Nod         Pic 9(4)v9(3).
       10 Flete-Calculo-Nod      Pic s9(11).
       10 Porc-Oferta-Nod        Pic 9(2)v9(1).
       10 Porc-Matriz-Nod        Pic 9(2)v9(1).
    05 Fl                        Pic x(10).
    05 Glosa-Nod                 Pic 9(2).
    05 Tipo-Docto-Nod            Pic 9(1).    
*
 01 Reg-Not.
    05 Ct-Not                    Pic 9(1).
    05 Lugar-Emision-Not         Pic x(3).
    05 Factura-Not               Pic 9(5).
    05 Porc-Impto-Not            Pic 9(2)v9(2).    
    05 Bruto-Not                 Pic S9(11).
    05 Descuentos-Not            Pic S9(11).
    05 Recargos-Not              Pic S9(11).
    05 Flete-Not                 Pic S9(11).
    05 IVA-Not                   Pic S9(11).
    05 Total-Not                 Pic S9(11). 
    05 Fl                        Pic x(8).
    05 Glosa-Not                 Pic 9(2).
    05 Tipo-Docto-Not            Pic 9(1).
*************************
 Working-Storage Section.
*************************
****************************************************************
**********************C O N T A D O R E S***********************
****************************************************************
*******************N O  U T I L I Z A D O S*********************
****************************************************************
*
****************************************************************
***********************S W I T C Hï S***************************
****************************************************************
 01 WS-Fase-Proceso             Pic 9 Value Zeros.
    88 Proceso-Fact             Value 1.
    88 Proceso-Nota             Value 2.
    88 Fin-Total                Value 3.
 01 WS-Busca-Apert              Pic 9(1) Value Zeros.
    88 Localizada               Value 1.
    88 No-Localizada            Value 2.
 01 WS-Tipo-Registro            Pic 9 Value Zeros.
    88 Cabecera                 Value 1.
    88 Detalle                  Value 2.
    88 Ultimo                   Value 3.
 01 WS-Tipo-Registro            Pic 9 Value Zeros.
    88 Cabecera                 Value 1.
    88 Detalle                  Value 2.
    88 Ultimo                   Value 3.
 01 WS-Tipo-Precio              Pic 9 Value Zeros.
    88 Precio-Informado         Value 1.
    88 Precio-Base              Value 2.
 01 WS-Redondeo                 Pic 9 Value Zeros.
    88 Redondeo-Porc            Value 1.
    88 Redondeo-Porc-Global     Value 2.
*
****************************************************************
************************I N D I C E S***************************
****************************************************************
*******************N O  U T I L I Z A D O S********************
****************************************************************
*
****************L L A V E S  D E  S E C U E N C I A*************
****************************************************************
*******************N O  U T I L I Z A D O S*********************
****************************************************************
 01 WW-Reg-Vtn.
    05 WW-Llave-Vtn.
       10 WW-Apertura-Vtn        Pic x(3) Value Zeros.    
       10 WW-Codart-Vtn          Pic 9(9) Value Zeros.
       10 WW-DvArt-Vtn           Pic 9(1) Value Zeros.    
    05 WW-Cifras-Netas.
       10 WW-Vtas-Unidades-Vtn   Pic s9(11) Value Zeros.
       10 WW-Vtas-M2n-Vtn        Pic s9(11) Value Zeros.
       10 WW-Valor-Factura-Vtn   Pic s9(11) Value Zeros.
       10 WW-Valor-NotCred-Vtn   Pic s9(11) Value Zeros.
       10 WW-Venta-Bruta-Vtn     Pic s9(11) Value Zeros.
       10 WW-Porc-Global-Vtn Pic 9(3)v9(02) Value Zeros.
       10 WW-Venta-Neta-Vtn      Pic s9(11) Value Zeros.
 01 WW-Reg-Cab.
    05 WW-Porc-Descto-Cab        Pic 9(2)v9(2) Value Zeros.
    05 WW-Porc-CPago-Cab         Pic 9(2)v9(2) Value Zeros.
    05 WW-Tipo-Precio-Cab        Pic 9(1)      Value Zeros.
 01 WW-Reg-Det. 
    05 WW-Cifras-Det.
       10 WW-CantFact-Det        Pic s9(5)v9   Value Zeros.
       10 WW-PreUni-Det          Pic 9(7)      Value Zeros..
       10 WW-Valor-Det           Pic s9(11)    Value Zeros..
       10 WW-Precio-Base-Det     Pic 9(7)      Value Zeros..
       10 WW-Factor-Det-Det      Pic 9(4)v9(3) Value Zeros..
       10 WW-Flete-Calculo-Det   Pic s9(11)    Value Zeros.
       10 WW-Porc-Oferta-Det     Pic 9(2)v9(1) Value Zeros.
       10 WW-Porc-Matriz-Det     Pic 9(2)v9(1) Value Zeros.
    05 WW-Tipo-Docto-Det         Pic 9(1)      Value Zeros.
*
***********************************************************
*********V A R I A B L E S  D E  C A L C U L O*************
***********************************************************
 01 WA-Tipos-Ventas.
    05 WA-Venta-Bruta            Pic s9(11)    Value Zeros.
    05 WA-Venta-Neta             Pic s9(11)    Value Zeros.
    05 WA-Venta-Sin-Descto       Pic s9(11)    Value Zeros.
    05 WA-Venta-Informada        Pic s9(11)    Value Zeros.
 01 WA-Vtas-M2n              Pic s9(11)v9(02)  Value Zeros.
 01-WA-Var-Porc.
    05 WA-Porcentaje         Pic s9(2)v9(2)    Value Zeros.
    05 WA-Redondeos.
       10 WA-Redn-a-3           Pic s9(11)v9(3)   Value Zeros.
       10 WA-Redn-a-2           Pic s9(11)v9(2)   Value Zeros.
       10 WA-Redn-a-1           Pic s9(11)v9(1)   Value Zeros.
       10 WA-Porc-Redn          Pic s9(11)        Value Zeros.
 01 WA-Valor-Desp-Porc          Pic s9(11)        Value Zeros.
 01 WA-Porcentajes-Calc.
    05 WA-Porc-Oferta-Calc      Pic s9(2)v9(2)    Value Zeros.
    05 WA-Porc-Matriz-Calc      Pic s9(2)v9(2)    Value Zeros.
    05 WA-Porc-Descto-Calc      Pic s9(2)v9(2)    Value Zeros.
    05 WA-Porc-CPago-Calc       Pic s9(2)v9(2)    Value Zeros.        
 01 WA-Valores-Desctos.
    05 WA-Valor-Descto          Pic s9(11)        Value Zeros.
    05 WA-Valor-CPago           Pic s9(11)        Value Zeros.
    05 WA-Valor-Oferta          Pic s9(11)        Value Zeros.
    05 WA-Valor-Matriz          Pic s9(11)        Value Zeros.
    05 WA-Suma-Descto           Pic s9(11)        Value Zeros.
*
**************************************************************
*************C O N S T A N T E S  D E  C A L C U L O**********
**************************************************************
 01 WF-Signo-Neg                Pic s9(1)         Value Zeros.
 01 WF-Unidad                   Pic  9(1)         Value Zeros.
 01 WF-Cien                     pic  9(2)         Value Zeros.
*
**************************************************************
*******************A R E A  D E  T A B L A S******************
**************************************************************
**************************************************************
*******************N O  U T I L I Z A D A*********************
**************************************************************
*
**************************************************************
**********D E F I N I C I O N  D E  I M P R E S I O N*********
**************************************************************
**************************************************************
*******************N O  U T I L I Z A D A*********************
**************************************************************
*
********************
 PROCEDURE DIVISION.
********************
*
 Raiz.
******
*
     Perform Inicio. 
     Perform Proceso Until Fin-Total.
     Perform Termino.
     Stop Run.
* 
 Proceso.
*********
*
    If Cabecera 
       Perform Guarda-Cab
       If Proceso-Fact 
          Perform Lect-Fact
       Else
    If Proceso-Nota
       Perform Lect-Notas.
    If Detalle
       Perform Guarda-Det
       Perform Calc-M2n
       Perform Checar-TPrecio
       Perform Calc-VBruta
       Perform Calc-VNeta
       Perform Act-VNeta
       Perform Inic-Var
       If Proceso-Fact
          Perform Lect-Fact
       Else
       If Proceso-Nota
          Perform Lect-Notas.
    If Ultimo
       If Proceso-Fact
          Perform Lect-Fact
       Else
       If Proceso-Nota
          Perform Lect-Notas.
*
 Inic-Var.
**********
*
    Move Zeros   to WW-Reg-Cab.
    Move Zeros   to WW-Apertura-Vtn.
    Move Zeros   to WW-CodArt-Vtn.
    Move Zeros   to WW-DvArt-Vtn.
    Move Zeros   to WW-Cifras-Netas.
    Move Zeros   to WW-Reg-Det.
    Move Zeros   to WA-Tipos-Ventas.
    Move Zeros   to WA-Valores-Desctos.
    Move Zeros   to WA-Porcentajes-Calc.
    Move Zeros   to WA-Var-Porc.
    Move Zeros   to WW-Valor-Desp-Porc.
    Move Zeros   to WA-Vtas-M2n.
    Move Zeros   to WF-Signo-Neg.
    Move Zeros   to WF-Unidad.
    Move Zeros   to WF-Cien.
*
 Guarda-Cab.
************
*
    If Proceso-Fact
       Move Porc-Descto-Fac  to WW-Porc-Descto-Cab
       Move Porc-CPago-Fac   to WW-Porc-CPago-Cab
       Move Tipo-Precio-Fac  to WW-Tipo-Precio-Cab.
    If Proceso-Nota
       Move Porc-Descto-Noc  to WW-Porc-Descto-Cab
       Move Porc-CPago-Noc   to WW-Porc-CPago-Cab
       Move Tipo-Precio-Noc  to WW-Tipo-Precio-Cab.
*
 Guarda-Det.
************
*
    If Proceso-Fact
       Move Cifras-Fad      to WW-Cifras-Det
       Move Tipo-Docto-Fad  to WW-Tipo-Docto-Det.
    If Proceso-Nota
       Move Cifras-Nod      to WW-Cifras-Det
       Move Tipo-Docto-Nod  to WW-Tipo-Docto-Det.
*
 Calc-M2n
*********
*
    Compute Wa-Vtas-M2n = WW-CantFact-Det * WW-Factor-Det.
*
 Checar-TPrecio.
****************
*
    If WW-Tipo Precio-Cab = 0 
       Move 1 to WS-Tipo-Precio
    Else
       Move 2 to WS-Tipo-Precio.
*
 Calc-VBruta.
*************
*
    If Precio-Base
       Compute WA-Venta-Bruta =
               WW-CantFact-Det * WW-PreUni-Det.
*
 Calc-VNeta.
************
*
    Perform Calc-Porc.
       Compute WA-Valor-Oferta =
               WW-Valor-Det * WA-Porc-Oferta-Calc.      
       Compute WA-Valor-Matriz =
               WW-Valor-Det * WA-Porc-Matriz-Calc.
       Compute WA-Valor-Descto =
               WW-Valor-Det * WA-Porc-Descto-Calc.      
       Compute WA-Valor-CPago =
               WW-Valor-Det * WA-Porc-CPago-Calc.
       Compute WA-Suma-Descto =
               WA-Valor-Oferta + WA-Valor-Matriz +
               WA-Valor-Oferta + WA-Valor-CPago.
       Compute WA-Venta-Sin-Descto =
               WA-Venta-Bruta - WA-Suma-Descto.
       Compute WA-Venta-Neta =
               WA-Venta-Sin-Descto - WW-Flete-Calculo-Det.
*
 Calc-Porc.
***********
*
*Calculo de Redondeo del Porcentaje de Oferta.
    Move WW-Porc-Oferta-Det to WA-Porcentaje.
    Perform Redondeo.
    Move WA-Porc-Redn to WA-Porc-Oferta-Calc.
    Perform Inic-Var-Porc.
*Calculo de Redondeo del Porcentaje de Matriz.
    Move WW-Porc-Matriz-Det to WA-Porcentaje.
    Perform Redondeo.
    Move WA-Porc-Redn to WA-Porc-Matriz-Calc.
    Perform Inic-Var-Porc.
*Calculo de Redondeo del Porcentaje de Descuento.
    Move WW-Porc-Descto-Cab to WA-Porcentaje.
    Perform Redondeo.
    Move WA-Porc-Redn to WA-Porc-Descto-Calc.
    Perform Inic-Var-Porc.
*Calculo de Redondeo del Porcentaje de Cond-Pago.
    Move WW-Porc-CPago-Cab to WA-Porcentaje.
    Perform Redondeo.
    Move WA-Porc-Redn to WA-Porc-CPago-Calc.
    Perform Inic-Var-Porc.
*
 Redondeo.
**********
*
    Move Zeros to WA-Var-Porc
    Compute WA-Porc-Entre-100 =
            WA-Porcentaje / WF-Cien
    Compute WA-Redn-a-3 Rounded =
            WA-Venta-Bruta * WA-Porc-entre-100
    Compute WA-Redn-a-2 Rounded =
            WA-Redn-a-3 * WF-Unidad
    Compute WA-Redn-a-1 Rounded =
            WA-Redn-a-2 * WF-Unidad.
*
 Inic-Var-Porc.
***************
*
    Move Zeros to WA-Var-Porc.
*
 Act-Vneta.
***********
*
    Perform Extraer-Venta-Neta.
    If Localizada
       Perform Almacenar-Reg-Neto
       Perform Adicionar-Registro
       Perform Actualizar-Reg-Neto
       Perform Grabar-Reg-Neto.
    If No-Localizada
       Perform Adicionar-Registro
       Perform Actualizar-Reg-Neto
       Perform Grabar-Reg-Neto.
*
 Almacenar-Reg-Neto.
********************
*
    Move Zeros             to WW-Cifras-Netas.
    Move Llave-Vtn         to WW-Llave-Vtn.
    Move Vtas-Unidades-Vtn to WW-Vtas-Unidades-Vtn.
    Move Vtas-M2n-Vtn      to WW-Vtas-M2n-Vtn.
    Move Valor-Factura-Vtn to WW-Valor-Factura-Vtn.
    Move Valor-NotCred-Vtn to WW-Valor-NotCred-Vtn.
    Move Venta-Bruta-Vtn   to WW-Venta-Bruta-Vtn.
    Move Zeros             to WW-Porc-Global-Vtn.
    Move Venta-Neta        to WW-Venta-Neta-Vtn.
*
 Extraer-Venta-Neta.
********************
*
    If Proceso-Fact
       Move Apertura-Fad   to Apertura-vtn
       Move CodArt-Fad     to CodArt-Vtn
       Move DvArt-Fad      to DvArt-Vtn.
    If Proceso-Nota
       Move Apertura-Nod   to Apertura-vtn
       Move CodArt-Nod     to CodArt-Vtn
       Move DvArt-Nod      to DvArt-Vtn.
    Perform Lect-Venta-Neta.
*
 Adicionar-Registro.
********************
*
    If Localizada and
       WW-Tipo-Docto-Det Not = 8
       Compute WW-Vtas-M2n-Vtn =
               WW-Vtas-M2n-Vtn + WA-Vtas-M2n
       Compute WW-Venta-Bruta-Vtn =
               WW-Venta-Bruta-Vtn + WA-Venta-Bruta
       Compute WW-Vtas-Unidades-Vtn =
               WW-Vtas-Unidades + WW-CantFact-Det.
    If No-Localizada and 
       WW-Tipo-Docto-Det Not = 8
       Move WA-Vtas-M2n  to WW-Vtas-M2n-Vtn
       Move WA-Venta-Bruta to WW-Venta-Bruta-Vtn
       Move WW-CantFact-Det to WW-Vtas-Unidades-Vtn.
    If Localizada and Proceso-Fact and
       WW-Tipo-Docto-Det Not = 8
       Compute WW-Valor-Factura-Vtn =
               WW-Valor-Factura-Vtn + Wa-Venta-Neta.
    If Localizada and Proceso-Nota and
       WW-Tipo-Docto-Det Not = 8
       Compute WW-Valor-NotCred-Vtn =
               WW-Valor-NotCred-Vtn + Wa-Venta-Neta.
    If No-Localizada and Proceso-Fact and
       WW-Tipo-Docto-Det Not = 8
       Move WA-Venta-Neta to WW-Valor-Factura-Vtn.
    If No-Localizada and Proceso-Nota and
       WW-Tipo-Docto-Det Not = 8
       Move WA-Venta-Neta to WW-Valor-NotCred-Vtn.
    If Proceso-Nota and
       Localizada   and
       WW-Tipo-Docto-Det = 8
          Move -1 to WF-Signo-Neg
*Restar Venta Bruta de Nota de Credito
          Compute WA-Venta-Bruta =
                  WA-Venta-Bruta * WF-Signo Neg
          Compute WW-Venta-Bruta-Vtn =
                  WW-Venta-Bruta-Vtn + WA-Venta-Bruta
*Restar Cantidad Facturada de Nota de Credito
          Compute WW-CantFact-Det * WF-Signo-Neg
                  WW-CantFact-Det * WF-Signo-Neg
*Restar Ventas en M2n de Nota de Credito
          Compute WA-Vtas-M2n =
                  WA-Vtas-M2n * WF-Signo-Neg
          Compute WW-Vtas-M2n-Vtn =
                  WW-Vtas-M2n-Vtn + WA-Vtas-M2n
*Restar Venta Neta de Nota de Credito
          Compute WA-Venta-Neta =
                  WA-Venta-Neta * WF-Signo-Neg
          Compute WW-Valor-NotCred-Vtn =
                  WW-Valor-NotCred-Vtn + WA-Venta-Neta.
          Compute WW-Venta-Neta-Vtn =
                  WW-Valor-Factura-Vtn - WW-Valor-NotCred-Vtn.
*
 Actualizar-Reg-Neto.
*********************
*
    Move Spaces                    to Reg-Vtn.
    If Proceso-Fact
       Move Apertura-Fad           to Apertura-Vtn
       Move CodArt-Fad             to CodArt-Vtn
       Move DvArt-Fad              to DvArt-Vtn.
    If Proceso-Nota
       Move Apertura-Nod           to Apertura-Vtn
       Move CodArt-Nod             to CodArt-Vtn
       Move DvArt-Nod              to DvArt-Vtn.
    Move WW-Vtas-Unidades-Vtn      to Vtas-Unidades-Vtn.
    Move WW-Vtas-M2n-Vtn           to Vtas-M2n-Vtn.
    Move WW-Valor-Factura-Vtn      to Valor-Factura-Vtn.
    Move WW-Valor-NotCred-Vtn      to Valor-NotCred-Vtn.
    Move WW-Venta-Bruta-Vtn        to Venta-Bruta-Vtn.
    Move WW-Porc-Global-Vtn        to Porc-Descto-Global-Vtn.
    Move WW-Venta-Neta-Vtn         to Venta-Neta-Vtn.
*
 Grabar-Reg-Neto.
*****************
*
    If Localizada 
       Rewrite Reg-Vtn
        Invalid Display ïJATPZ2: Rewrite Invalido sobre MJATDZXï
          Upon Console
        Stop ïMJATDZX: Cancele con 3ï.
    If No-Localizada 
       Write Reg-Vtn
        Invalid Display ïJATPZ2: Write Invalido sobre MJATDZXï
          Upon Console
        Stop ïMJATDZX: Cancele con 3ï.
*
 Lect-Venta-Neta.
*****************
*
    Move Zeros                     to WS-Busca-Apert.
    Read Ventas-Netas
         Invalid Move Zeros to Apertura-Vtn
                 Move Zeros to Articulo-Vtn.
    If Articulo-Vtn Not = Zeros and 
       Apertura-Vtn Not = Zeros 
         Move 1      to WS-Busca-Aert.
    If Articulo-Vtn     = Zeros and
       Apertura-Vtn     = Zeros
         Move 2      to WS-Busca-Apert.
*
 Lect-Fact.
***********
*
    Read Archivo-Facturas 
         At End Move 2 to WS-Fase-Proceso.
    Perform Checar-Tipo-Registro.
*
 Lect-Notas.
************
*
    Read Archivo-Notas
         At End Move 3 to WS-Fase-Proceso.
    Perform Checar-Tipo-Registro.
*
 Checar-Tipo-Registro.
**********************
*
    If Proceso-Fact and Ct-Fac = 1
       Move 1 to WS-Tipo-Registro.
    If Proceso-Fact and Ct-Fad = 2
       Move 2 to WS-Tipo-Registro.
    If Proceso-Fact and Ct-Fac = 3
       Move 3 to WS-Tipo-Registro.
    If Proceso-Fact and Ct-Noc = 1
       Move 1 to WS-Tipo-Registro.
    If Proceso-Fact and Ct-Nod = 2
       Move 2 to WS-Tipo-Registro.
    If Proceso-Fact and Ct-Fac = 3
       Move 3 to WS-Tipo-Registro.
*
 Inicio.
********
*
    Perform Abrir-Arch.
    Move 1 to WS-Fase-Proceso.
    Perform Lect-Fact.
*
 Abrir-Arch.
************
*
    Open Input Archivo-Facturas Archivo-Notas
         I-O Ventas-Netas.
*
 Termino.
*********
*
    Close Archivo-Facturas
          Archivo-Notas
          Ventas-Netas.