Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,255 @@
|
||||
{ ------------------------------------------------------------------------------
|
||||
PROGRAMA : COPRRP029
|
||||
OBJETIVO : REPORTE DE COMPRAS POR SUPLIDOR
|
||||
PROGRAMADOR : JUAN SOTO
|
||||
FECHA REALIZACION : AGOSTO 1997
|
||||
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
|
||||
GLOBALS
|
||||
"coprgb000.4gl"
|
||||
|
||||
DEFINE rango_prt RECORD
|
||||
fecha_ini like cotb00014.fech_oc,
|
||||
fecha_fin like cotb00014.fech_oc
|
||||
END RECORD
|
||||
|
||||
#----------------------------------------------------------------------------
|
||||
#################
|
||||
# co_suplidor()#
|
||||
#################
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
|
||||
CONNECT TO "smarmotech" AS "MSSQL" USER usuarios USING clave
|
||||
|
||||
CALL coprrp029()
|
||||
END MAIN
|
||||
|
||||
FUNCTION coprrp029()
|
||||
DEFINE co_sp RECORD
|
||||
cod_sp LIKE cotb00001.cod_sp,
|
||||
cod_sp_sec like cotb00001.cod_sp_sec,
|
||||
nom_sp like cotb00001.nom_sp,
|
||||
tipo like cotb00014.tipo,
|
||||
num_oc like cotb00014.num_oc,
|
||||
fech_oc like cotb00014.fech_oc,
|
||||
cantidad like cotb00015.cantidad,
|
||||
precio like cotb00015.precio,
|
||||
cod_n like cotb00015.cod_n,
|
||||
cod_grupo like cotb00015.cod_grupo,
|
||||
cod_tipo like cotb00015.cod_tipo,
|
||||
cod_sec like cotb00015.cod_sec,
|
||||
tasa_cambio like cotb00031.tasa_cambio
|
||||
END RECORD,
|
||||
p_cod_sp,p_cod_sp_sec INTEGER
|
||||
|
||||
DEFINE P_DESCRIP CHAR(30)
|
||||
DEFINE total1 DECIMAL(14,2)
|
||||
DEFINE criterio CHAR(50)
|
||||
DEFINE selec1,selec2 CHAR(600)
|
||||
|
||||
DEFINE tipo_papel, numero_msg SMALLINT
|
||||
OPTIONS
|
||||
FORM LINE 9,
|
||||
ERROR LINE 23,
|
||||
COMMENT LINE 21
|
||||
OPEN FORM cofmrp029 from "cofmrp029"
|
||||
DISPLAY FORM cofmrp029
|
||||
|
||||
# INDICA EL TIPO DE PAPEL PARA LA IMPRESION
|
||||
LET tipo_papel = 1
|
||||
CALL msgrp000(tipo_papel)
|
||||
|
||||
INPUT BY NAME rango_prt.fecha_ini,rango_prt.fecha_fin,
|
||||
p_cod_sp,p_cod_sp_sec
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = FALSE
|
||||
RETURN
|
||||
END IF
|
||||
LET handler = configureOutput("SVG")
|
||||
START REPORT compras_s TO XML HANDLER handler
|
||||
|
||||
|
||||
DECLARE curs_1 CURSOR FOR
|
||||
SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,b.tipo,b.num_oc,b.fech_oc,c.cantidad,
|
||||
c.precio,c.cod_n, c.cod_grupo, c.cod_tipo, c.cod_sec, d.tasa_cambio
|
||||
FROM cotb00001 a, cotb00014 b, cotb00015 c, OUTER cotb00031 d
|
||||
WHERE a.cod_sp_sec = b.cod_sp_sec and a.cod_sp = b.cod_sp and
|
||||
a.cod_sp = p_cod_sp and a.cod_sp_sec = p_cod_sp_sec and
|
||||
b.num_oc = c.num_oc and b.tipo IS NOT NULL AND
|
||||
c.cod_mon = d.cod_mon and c.status_t is null and
|
||||
b.fech_oc between rango_prt.fecha_ini and rango_prt.fecha_fin
|
||||
ORDER BY b.num_oc,b.tipo,c.precio,c.cod_n,c.cod_grupo,c.cod_tipo
|
||||
|
||||
DISPLAY " " AT 2,1
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE)
|
||||
|
||||
FOREACH curs_1 INTO co_sp.*
|
||||
OUTPUT TO REPORT compras_s(co_sp.*)
|
||||
END FOREACH
|
||||
|
||||
DECLARE curs_2 CURSOR FOR
|
||||
SELECT a.cod_sp,a.cod_sp_sec,a.nom_sp,b.tipo,b.num_oc,b.fech_oc,c.cantidad,
|
||||
c.precio,c.cod_n, c.cod_grupo, c.cod_tipo, c.cod_sec, d.tasa_cambio
|
||||
FROM cotb00001 a, cotb00033 b, cotb00034 c, OUTER cotb00031 d
|
||||
WHERE a.cod_sp_sec = b.cod_sp_sec and a.cod_sp = b.cod_sp and
|
||||
a.cod_sp = p_cod_sp and a.cod_sp_sec = p_cod_sp_sec and
|
||||
b.num_oc = c.num_oc and b.tipo IS NULL AND
|
||||
c.cod_mon = d.cod_mon and c.status_t is null and
|
||||
b.fech_oc between rango_prt.fecha_ini and rango_prt.fecha_fin
|
||||
ORDER BY b.num_oc,b.tipo,c.precio,c.cod_n,c.cod_grupo,c.cod_tipo
|
||||
|
||||
DISPLAY " " AT 2,1
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
||||
AT 2,1 ATTRIBUTE (REVERSE)
|
||||
|
||||
FOREACH curs_2 INTO co_sp.*
|
||||
OUTPUT TO REPORT compras_s(co_sp.*)
|
||||
END FOREACH
|
||||
|
||||
FINISH REPORT compras_s
|
||||
CLEAR FORM
|
||||
|
||||
# CLEAR SCREEN
|
||||
END FUNCTION
|
||||
#-------------------------------------------------------------------------------
|
||||
|
||||
## DEFINICION DEL REGISTRO DE SALIDA
|
||||
REPORT compras_s(x)
|
||||
|
||||
DEFINE x RECORD
|
||||
cod_sp LIKE cotb00001.cod_sp,
|
||||
cod_sp_sec like cotb00001.cod_sp_sec,
|
||||
nom_sp like cotb00001.nom_sp,
|
||||
tipo like cotb00014.tipo,
|
||||
num_oc like cotb00014.num_oc,
|
||||
fech_oc like cotb00014.fech_oc,
|
||||
cantidad like cotb00015.cantidad,
|
||||
precio like cotb00015.precio,
|
||||
cod_n like cotb00015.cod_n,
|
||||
cod_grupo like cotb00015.cod_grupo,
|
||||
cod_tipo like cotb00015.cod_tipo,
|
||||
cod_sec like cotb00015.cod_sec,
|
||||
tasa_cambio like cotb00031.tasa_cambio
|
||||
END RECORD
|
||||
|
||||
## DEFINICION DE LAS VARIABLES DE IMPRESION
|
||||
DEFINE doble_on,doble_off,negrillas_on,negrillas_off,comp_on,comp_off,
|
||||
doce,normal CHAR(2)
|
||||
DEFINE p_descrip1,p_descrip CHAR(30) ,
|
||||
nombre_m CHAR(20)
|
||||
DEFINE base2 INTEGER
|
||||
DEFINE valor,valor2 DECIMAL(14,2)
|
||||
DEFINE hora CHAR(5)
|
||||
|
||||
OUTPUT
|
||||
TOP MARGIN 0
|
||||
LEFT MARGIN 0
|
||||
BOTTOM MARGIN 2
|
||||
PAGE LENGTH 150
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET hora = time
|
||||
|
||||
LET l = (123 - LENGTH(p_companias.nombre CLIPPED))/2
|
||||
PRINT COLUMN 1,comp_on
|
||||
PRINT COLUMN 1, "coprrp029",
|
||||
COLUMN l, p_companias.nombre CLIPPED,
|
||||
COLUMN 116, "Pag. ",pageno using "###"
|
||||
PRINT COLUMN 43, " SISTEMA DE COMPRAS ",
|
||||
COLUMN 116, today using "dd/mm/yyyy"
|
||||
PRINT COLUMN 42, " REPORTE DE COMPRA POR SUPLIDOR ",
|
||||
COLUMN 116, hora
|
||||
PRINT COLUMN 45, "DEL ", rango_prt.fecha_ini USING "dd/mm/yyyy",
|
||||
" AL ", rango_prt.fecha_fin USING "dd/mm/yyyy"
|
||||
|
||||
## IMPRESION DE ENCABEZADOS
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, "FECHA: ",today using "dd/mm/yyyy"
|
||||
|
||||
PRINT COLUMN 1, "SUPLIDOR: ", x.cod_sp using "##","-",
|
||||
x.cod_sp_sec using "####"," ",x.nom_sp
|
||||
SKIP 1 LINE
|
||||
PRINT COLUMN 1, negrillas_on
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"-----------------------------------"
|
||||
SKIP 1 LINE
|
||||
|
||||
PRINT COLUMN 1, "NUMERO/ORDEN",
|
||||
COLUMN 17, "FECHA",
|
||||
COLUMN 24, "CODIGO/PROD.",
|
||||
COLUMN 48, " DESCRIPCION",
|
||||
COLUMN 84, "CANTIDAD",
|
||||
COLUMN 100, "PRECIO/UN.",
|
||||
COLUMN 114, "TASA",
|
||||
COLUMN 125, "TOTAL "
|
||||
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"-----------------------------------"
|
||||
PRINT COLUMN 1, negrillas_off
|
||||
## IMPRESION DEL DETALLE
|
||||
|
||||
ON EVERY ROW
|
||||
|
||||
IF x.tipo = "01" THEN
|
||||
SELECT z.descrip_esp INTO p_descrip from intb00001 z
|
||||
where z.cod_n = x.cod_n and z.cod_grupo = x.cod_grupo and
|
||||
z.cod_tipo = x.cod_tipo and z.cod_sec = x.cod_sec
|
||||
END IF
|
||||
IF x.tipo = "02" THEN
|
||||
SELECT z.descrip_esp INTO p_descrip from iptb00002 z
|
||||
where z.cod_n = x.cod_n and z.cod_grupo = x.cod_grupo and
|
||||
z.cod_tipo = x.cod_tipo and z.cod_sec = x.cod_sec
|
||||
END IF
|
||||
IF x.tipo = "03" THEN
|
||||
SELECT z.descrip_esp INTO p_descrip from irtb00001 z
|
||||
where z.cod_n = x.cod_n and z.cod_grupo = x.cod_grupo and
|
||||
z.cod_tipo = x.cod_tipo and z.cod_sec = x.cod_sec
|
||||
END IF
|
||||
|
||||
LET base2 = 1
|
||||
|
||||
IF base2 IS NULL OR base2 = 0 THEN
|
||||
LET base2 = 1
|
||||
END IF
|
||||
|
||||
LET valor = (x.cantidad / base2) * x.precio
|
||||
LET valor2 = valor * x.tasa_cambio
|
||||
|
||||
PRINT COLUMN 1, x.num_oc USING "&&&&&&",
|
||||
COLUMN 14, x.fech_oc USING "DD/MM/YYYY",
|
||||
COLUMN 26, x.cod_n USING "&&&&","-",x.cod_grupo USING "&&&&", "-",
|
||||
x.cod_tipo USING "&&&&","-", x.cod_sec USING "&&&&",
|
||||
COLUMN 37, p_descrip CLIPPED, " ",nombre_m CLIPPED," ",
|
||||
p_descrip1 CLIPPED,
|
||||
COLUMN 78, x.cantidad USING "###,###,###.##",
|
||||
COLUMN 95, x.precio USING "###,###,###.##",
|
||||
COLUMN 113, x.tasa_cambio USING "##.##",
|
||||
COLUMN 118, valor2 USING "###,###,###.##"
|
||||
|
||||
AFTER GROUP OF x.num_oc
|
||||
SKIP 1 LINE
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1, negrillas_on
|
||||
PRINT COLUMN 1, "--------------------------------------------------",
|
||||
"--------------------------------------------------",
|
||||
"-----------------------------------"
|
||||
|
||||
PRINT COLUMN 7, " TOTAL GENERAL : ",
|
||||
COLUMN 118, SUM(valor2) USING "###,###,###.##"
|
||||
PRINT COLUMN 1, negrillas_off
|
||||
# PRINT COLUMN 1,comp_off
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user