Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,238 @@
|
||||
{
|
||||
------------------------------------------------------------------
|
||||
PROGRAMA : CCPRRP010
|
||||
OBJETIVO : Analisis Descuento Por Pronto Pago
|
||||
PROGRAMADOR : Tadeo A. Ferreras F.
|
||||
FECHA REALIZACION : Mayo 12,1993.
|
||||
MODIFICADO :
|
||||
------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS
|
||||
"ccprgb000.4gl"
|
||||
DEFINE datos_imp RECORD
|
||||
fecha_inic DATE,
|
||||
fecha_fin DATE
|
||||
END RECORD
|
||||
DEFINE prt_desc RECORD
|
||||
num_doc LIKE cctb00001.num_doc,
|
||||
valor LIKE cctb00001.valor,
|
||||
monto_desc LIKE cctb00001.monto_desc,
|
||||
fecha_orig LIKE cctb00001.fecha_orig,
|
||||
aplica_a LIKE cctb00001.aplica_a,
|
||||
fecha_factura LIKE vetb00002.fecha_factura,
|
||||
tipo_cliente LIKE vetb00002.tipo_cliente,
|
||||
sec_cliente LIKE vetb00002.sec_cliente,
|
||||
factura LIKE vetb00002.factura,
|
||||
neto LIKE vetb00002.neto,
|
||||
nombre LIKE vetb00004.nombre
|
||||
END RECORD
|
||||
|
||||
FUNCTION ccprrp010()
|
||||
OPTIONS
|
||||
FORM LINE 10
|
||||
#WHENEVER ERROR CONTINUE
|
||||
CLEAR SCREEN
|
||||
OPEN FORM ccfmrp010 FROM "ccfmrp010"
|
||||
CALL pantalla()
|
||||
DISPLAY "ccprrp010" at 4,4 attribute(blue)
|
||||
DISPLAY "Analisis Descuentos por Pronto Pago" at 6,23
|
||||
DISPLAY form ccfmrp010
|
||||
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME datos_imp.*
|
||||
AFTER FIELD fecha_inic
|
||||
IF datos_imp.fecha_inic is null THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_inic
|
||||
END IF
|
||||
|
||||
AFTER FIELD fecha_fin
|
||||
IF datos_imp.fecha_fin is null THEN
|
||||
LET datos_imp.fecha_fin = today
|
||||
DISPLAY BY NAME datos_imp.fecha_fin
|
||||
END IF
|
||||
|
||||
IF datos_imp.fecha_fin < datos_imp.fecha_inic THEN
|
||||
LET numero_msg = 86
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD fecha_fin
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
LET selec =
|
||||
"SELECT b.num_doc,b.valor,b.monto_desc,b.fecha_orig,b.aplica_a, ",
|
||||
"a.fecha_factura,a.tipo_cliente,a.sec_cliente,a.factura,a.neto,",
|
||||
"c.nombre ",
|
||||
"FROM cctb00001 b, vetb00004 c, outer vetb00002 a ",
|
||||
"WHERE b.aplica_a = a.factura and a.tipo_cliente = c.tipo_cliente and ",
|
||||
"b.sec_cliente = c.sec_cliente and ",
|
||||
"b.tipo_doc = 'PG' and ",
|
||||
"b.monto_desc != 0 and ",
|
||||
"b.fecha_orig between ? and ? "
|
||||
|
||||
PREPARE comando FROM selec
|
||||
DECLARE buscar CURSOR FOR comando
|
||||
OPEN buscar USING datos_imp.fecha_inic,datos_imp.fecha_fin
|
||||
|
||||
DISPLAY "Buscando Informacion ... Espere por favor" at 19,14
|
||||
attribute(reverse,bold)
|
||||
|
||||
IF status < 0 THEN
|
||||
CALL integridad()
|
||||
IF bandera = 1 THEN
|
||||
LET bandera = 0
|
||||
END IF
|
||||
END IF
|
||||
|
||||
START REPORT prt_desc1 TO "C:\\archivo"
|
||||
DISPLAY " " AT 19,14
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>" AT 19,14
|
||||
ATTRIBUTE(REVERSE)
|
||||
|
||||
WHILE STATUS != NOTFOUND
|
||||
FETCH buscar INTO prt_desc.*
|
||||
IF STATUS = NOTFOUND THEN
|
||||
EXIT WHILE
|
||||
END IF
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
|
||||
OUTPUT TO REPORT prt_desc1(prt_desc.*,datos_imp.fecha_inic,datos_imp.fecha_fin)
|
||||
END WHILE
|
||||
FINISH REPORT prt_desc1
|
||||
RUN "type C:\\archivo > %USPRINT%" END FUNCTION
|
||||
|
||||
REPORT prt_desc1(x,fecha1,fecha2)
|
||||
DEFINE x RECORD
|
||||
num_doc LIKE cctb00001.num_doc,
|
||||
valor LIKE cctb00001.valor,
|
||||
monto_desc LIKE cctb00001.monto_desc,
|
||||
fecha_orig LIKE cctb00001.fecha_orig,
|
||||
aplica_a LIKE cctb00001.aplica_a,
|
||||
fecha_factura LIKE vetb00002.fecha_factura,
|
||||
tipo_cliente LIKE vetb00002.tipo_cliente,
|
||||
sec_cliente LIKE vetb00002.sec_cliente,
|
||||
factura LIKE vetb00002.factura,
|
||||
neto LIKE vetb00002.neto,
|
||||
nombre LIKE vetb00004.nombre
|
||||
END RECORD,
|
||||
difer INTEGER,
|
||||
fecha,fecha1,fecha2 DATE,
|
||||
i,c INTEGER,
|
||||
total1,total2,total3 DECIMAL(11,2)
|
||||
|
||||
DEFINE doble_on CHAR(2)
|
||||
DEFINE doble_off CHAR(2)
|
||||
DEFINE negrillas_on CHAR(2)
|
||||
DEFINE negrillas_off CHAR(2)
|
||||
DEFINE comp_on CHAR(2)
|
||||
DEFINE comp_off CHAR(2)
|
||||
DEFINE doce,normal CHAR(2)
|
||||
DEFINE hora CHAR(5)
|
||||
DEFINE l SMALLINT
|
||||
DEFINE varia CHAR(10)
|
||||
DEFINE p_cliente,m_cliente SMALLINT
|
||||
DEFINE g_cliente,n_cliente SMALLINT
|
||||
DEFINE p_neto DECIMAL(10,2)
|
||||
DEFINE p_factura SMALLINT
|
||||
DEFINE p_fecha_factura DATE
|
||||
DEFINE p_nombre CHAR(30)
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 0
|
||||
ORDER BY x.num_doc
|
||||
FORMAT
|
||||
|
||||
PAGE HEADER
|
||||
LET doble_on = ASCII 001
|
||||
LET doble_off = ASCII 002
|
||||
LET negrillas_on = ASCII 27, ASCII 69
|
||||
LET negrillas_off = ASCII 27, ASCII 69
|
||||
LET normal = ASCII 029
|
||||
LET comp_on = ASCII 15
|
||||
LET comp_off = ASCII 18
|
||||
LET doce = ASCII 30
|
||||
LET hora = time
|
||||
LET fecha = today
|
||||
|
||||
LET lj = (78 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1,comp_off,
|
||||
COLUMN 2,"ccprrp010",
|
||||
COLUMN lj, p_companias.nombre CLIPPED,
|
||||
COLUMN 71,"Pag. ",pageno using "##"
|
||||
PRINT COLUMN 22, "Sistema de Cuentas por Cobrar",
|
||||
COLUMN 71,today using "dd/mm/yy"
|
||||
PRINT COLUMN 18,"Analisis de Descuentos por Pronto Pago",
|
||||
COLUMN 74,hora
|
||||
PRINT COLUMN 22,"Fecha del ",fecha1 using "dd/mm/yy",
|
||||
" Al ",fecha2 using "dd/mm/yy"
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1,comp_on,negrillas_on
|
||||
PRINT COLUMN 2,
|
||||
"______________________________________________________________________________________________________________________________________"
|
||||
PRINT COLUMN 2,"Factura",
|
||||
COLUMN 18,"Fecha",
|
||||
Column 34,"Monto Neto",
|
||||
Column 56,"Recibo",
|
||||
Column 73,"Fecha",
|
||||
COLUMN 93,"Valor",
|
||||
COLUMN 109,"Desc.",
|
||||
COLUMN 120,"Dias"
|
||||
PRINT COLUMN 2,
|
||||
"______________________________________________________________________________________________________________________________________",
|
||||
negrillas_off
|
||||
SKIP 1 LINE
|
||||
ON EVERY ROW
|
||||
|
||||
LET difer = x.fecha_orig - x.fecha_factura
|
||||
IF total1 is null THEN LET total1 = 0 END IF
|
||||
IF total2 is null THEN LET total2 = 0 END IF
|
||||
IF total3 is null THEN LET total3 = 0 END IF
|
||||
|
||||
PRINT COLUMN 1,x.factura using "&&&&&&",
|
||||
COLUMN 18,x.fecha_factura using "dd/mm/yy",
|
||||
COLUMN 30,x.neto using "###,###,###.##",
|
||||
COLUMN 49,x.num_doc using "######",
|
||||
COLUMN 69,x.fecha_orig using "dd/mm/yy",
|
||||
COLUMN 82,x.valor using "###,###,###.##",
|
||||
COLUMN 99,x.monto_desc using "###,###,###.##",
|
||||
COLUMN 118,difer using "###"
|
||||
PRINT COLUMN 1, negrillas_on,
|
||||
COLUMN 2, x.tipo_cliente using "&&","-",x.sec_cliente using "&&&&",
|
||||
" ",x.nombre,negrillas_off
|
||||
|
||||
IF c is null THEN LET c = 0 END IF
|
||||
|
||||
LET c = c + 1
|
||||
LET total1 = total1 + p_neto
|
||||
LET total2 = total2 + x.valor
|
||||
LET total3 = total3 + x.monto_desc
|
||||
ON LAST ROW
|
||||
PRINT COLUMN 1,negrillas_on,
|
||||
COLUMN 30, "-------------",
|
||||
COLUMN 83, "-------------",
|
||||
COLUMN 100, "-------------"
|
||||
PRINT COLUMN 1,"Totales..",
|
||||
COLUMN 27,total1 using "###,###,###.##",
|
||||
COLUMN 80,total2 using "###,###,###.##",
|
||||
COLUMN 97,total3 using "###,###,###.##"
|
||||
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1,negrillas_on,
|
||||
"Total registro ",
|
||||
COLUMN 27, c using "######",negrillas_off,comp_off
|
||||
END REPORT
|
||||
Reference in New Issue
Block a user