Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,490 @@
|
||||
{
|
||||
-------------------------------------------------------------------------------
|
||||
PROGRAMA : CTPRRP008
|
||||
OBJETIVO : Historial de precios reales
|
||||
PROGRAMADOR : Tadeo A. Ferreras
|
||||
FECHA : Julio 12, 1993.
|
||||
-------------------------------------------------------------------------------
|
||||
}
|
||||
GLOBALS
|
||||
"ctprgb000.4gl"
|
||||
|
||||
###### Definicion de variables a usar en la generacion del reporte ######
|
||||
|
||||
DEFINE p_porciento,porciento DECIMAL(8,3),
|
||||
opt1 CHAR(4)
|
||||
DEFINE selec5,selec2,selec1 CHAR(1000)
|
||||
DEFINE anos CHAR(4)
|
||||
DEFINE labor,t_cantidad DECIMAL(12,3)
|
||||
DEFINE ano1,mes1,mes3,idx_1,idx_2 INTEGER
|
||||
DEFINE salir,salir1,salir2,busqueda CHAR(1),
|
||||
descrip_invent CHAR(30)
|
||||
DEFINE fecha1,fecha2 DATE
|
||||
|
||||
DEFINE codgp,tipo_invent SMALLINT
|
||||
DEFINE tmes INTEGER
|
||||
MAIN
|
||||
DEFER INTERRUPT
|
||||
CALL ARG_VAL(1) RETURNING usuarios
|
||||
CALL ARG_VAL(2) RETURNING clave
|
||||
CALL ARG_VAL(3) RETURNING impresor
|
||||
|
||||
CONNECT to "smarmotech" USER usuarios USING clave
|
||||
SELECT a.* INTO p_compania.* FROM companias a
|
||||
|
||||
CALL ctprrp008()
|
||||
END MAIN
|
||||
|
||||
FUNCTION ctprrp008()
|
||||
|
||||
DEFINE histo RECORD
|
||||
mes2 SMALLINT,
|
||||
cod_n LIKE cttb00013.cod_n,
|
||||
cod_grupo LIKE cttb00013.cod_grupo,
|
||||
cod_tipo LIKE cttb00013.cod_tipo,
|
||||
cod_sec LIKE cttb00013.cod_sec,
|
||||
descrip_esp LIKE intb00001.descrip_esp,
|
||||
unidad_med LIKE intb00001.unidad_med,
|
||||
costo_lq DECIMAL(12,4),
|
||||
codigo VARCHAR(50)
|
||||
END RECORD
|
||||
|
||||
OPTIONS
|
||||
ERROR LINE 24,
|
||||
FORM LINE 8
|
||||
|
||||
######## Abriendo el formulario para digitar criterio de busqueda ####
|
||||
|
||||
OPEN FORM ctfmrp008 FROM "ctfmrp008"
|
||||
DISPLAY FORM ctfmrp008
|
||||
|
||||
|
||||
##### Captura de informacion para criterio de busqueda #######
|
||||
|
||||
INPUT BY NAME ano1,mes1,p_porciento,salida,tipo_invent,busqueda
|
||||
AFTER FIELD salida
|
||||
IF salida IS NULL THEN
|
||||
CALL msg(16)
|
||||
NEXT FIELD salida
|
||||
END IF
|
||||
after field TIPO_INVENT
|
||||
CASE
|
||||
WHEN tipo_invent = 1
|
||||
LET descrip_invent = "MATERIA PRIMA"
|
||||
EXIT CASE
|
||||
WHEN tipo_invent = 2
|
||||
LET descrip_invent = "PRODUCTOS TERMINADOS"
|
||||
EXIT CASE
|
||||
WHEN tipo_invent = 3
|
||||
LET descrip_invent = "REPUESTOS"
|
||||
EXIT CASE
|
||||
END CASE
|
||||
AFTER FIELD ano1
|
||||
IF ano1 IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD ano1
|
||||
END IF
|
||||
|
||||
AFTER FIELD mes1
|
||||
IF mes1 IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes1
|
||||
END IF
|
||||
|
||||
IF mes1 > 12 THEN
|
||||
LET numero_msg = 51
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD mes1
|
||||
END IF
|
||||
|
||||
SELECT fecha_inicio INTO fecha1 FROM prdtable WHERE ano = ano1 AND mes = 1
|
||||
SELECT fecha_corte INTO fecha2 FROM prdtable WHERE ano = ano1 AND mes = mes1
|
||||
|
||||
AFTER FIELD p_porciento
|
||||
IF p_porciento IS NULL THEN
|
||||
LET numero_msg = 16
|
||||
CALL msg(numero_msg)
|
||||
NEXT FIELD p_porciento
|
||||
END IF
|
||||
AFTER INPUT
|
||||
IF salida IS NULL THEN
|
||||
LET salida='MA'
|
||||
DISPLAY BY NAME salida
|
||||
NEXT FIELD salida
|
||||
END IF
|
||||
END INPUT
|
||||
|
||||
###### Facicilidad para cancelar el reporte (OPcional) ############
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
CONSTRUCT BY NAME criterio ON a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_Sec
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
###### Selecionando informacion a imprimir ############
|
||||
IF salida ='MA' THEN
|
||||
|
||||
CALL defecto(usuarios,clave,impresor) RETURNING imprime,negrilla_on,negrillas_of,
|
||||
doble_on,doble_off,comp_on,comp_off,
|
||||
doce,normal,archivo,copia
|
||||
|
||||
LET opt1 = fgl_winquestion("Atencion","Desea Reporte por Pantalla?",
|
||||
"no","yes|no","question",0)
|
||||
IF opt1 = "yes" THEN
|
||||
START REPORT histori TO screen
|
||||
ELSE
|
||||
START REPORT histori TO archivo
|
||||
END IF
|
||||
ELSE
|
||||
|
||||
CALL configureoutput(salida) RETURNING HANDLER
|
||||
IF salida ='XLS' THEN
|
||||
CALL fgl_report_configurexlsxdevice(null,null,null,false,false,null,1)
|
||||
END IF
|
||||
START REPORT histori TO XML HANDLER handler
|
||||
END IF
|
||||
|
||||
|
||||
DISPLAY "<< >>" AT 19,14
|
||||
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
|
||||
AT 19,14 ATTRIBUTE(REVERSE)
|
||||
IF busqueda = "A" THEN
|
||||
IF tipo_invent = 1 THEN
|
||||
LET selec5 =
|
||||
"SELECT DISTINCT c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM cttb00013 a,intb00001 b,prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? AND a.tipo_orden = 1 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
END IF
|
||||
IF tipo_invent = 2 THEN #### PRODUCTOS TERMINADOS
|
||||
LET selec5 =
|
||||
"SELECT UNIQUE c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM cttb00013 a,iptb00002 b,prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? and a.tipo_orden = 2 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
END IF
|
||||
IF tipo_invent = 3 THEN ### REPUESTOS
|
||||
LET selec5 =
|
||||
"SELECT UNIQUE c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM cttb00013 a,irtb00002 b,prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? and a.tipo_orden = 3 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
END IF
|
||||
ELSE
|
||||
IF tipo_invent = 1 THEN
|
||||
LET selec5 =
|
||||
"SELECT DISTINCT c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM cttb00013 a,intb00001 b,prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? AND a.tipo_orden = 1 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
END IF
|
||||
|
||||
IF tipo_invent = 2 THEN #### PRODUCTOS TERMINADOS
|
||||
LET selec5 =
|
||||
"SELECT UNIQUE c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM historicoMTECH.dbo.cttb00013 a,historicoMTECH.dbo.iptb00002 b,historicoMTECH.dbo.prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? and a.tipo_orden = 2 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
|
||||
END IF
|
||||
IF tipo_invent = 3 THEN ### REPUESTOS
|
||||
LET selec5 =
|
||||
"SELECT UNIQUE c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec, ",
|
||||
" b.descrip_esp,b.unidad_med,AVG(a.costo_lq) ",
|
||||
"FROM cttb00013 a,irtb00002 b,prdtable c ",
|
||||
"WHERE a.cod_n=b.cod_n AND a.cod_grupo=b.cod_grupo AND ",
|
||||
" a.cod_tipo = b.cod_tipo AND a.cod_sec = b.cod_sec AND ",
|
||||
" a.status_t IS NULL AND a.fecha_lq BETWEEN c.fecha_inicio AND ",
|
||||
" c.fecha_corte AND c.ano = ? AND c.mes <= ? and a.tipo_orden = 3 AND ",
|
||||
criterio CLIPPED,
|
||||
" GROUP BY c.mes,a.cod_n,a.cod_grupo,a.cod_tipo,a.cod_sec,b.descrip_esp,b.unidad_med "
|
||||
END IF
|
||||
|
||||
END IF
|
||||
|
||||
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>"
|
||||
AT 19,14 ATTRIBUTE (REVERSE,BOLD)
|
||||
|
||||
PREPARE comando4 FROM selec5
|
||||
DECLARE busca4 CURSOR FOR comando4
|
||||
OPEN busca4 USING ano1,mes1
|
||||
IF STATUS = NOTFOUND THEN
|
||||
CALL fgl_winmessage("WARNING","NO EXISTEN REGISTROS CON ESA CONDICION","INFO")
|
||||
EXIT PROGRAM
|
||||
END IF
|
||||
##### Creando el loop de busqueda ###########
|
||||
|
||||
|
||||
|
||||
FOREACH busca4 INTO histo.*
|
||||
|
||||
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 2
|
||||
CALL msg(numero_msg)
|
||||
LET int_flag = false
|
||||
RETURN
|
||||
END IF
|
||||
LET histo.codigo = histo.cod_n USING "&&&&&","-",histo.cod_grupo USING "&&&&&","-",
|
||||
histo.cod_tipo USING "&&&&&","-",histo.cod_sec USING "&&&&&&&","-"
|
||||
OUTPUT TO REPORT histori(histo.*)
|
||||
|
||||
END FOREACH
|
||||
|
||||
FINISH REPORT histori
|
||||
IF salida ='MA' THEN
|
||||
IF opt1 <> "yes" THEN
|
||||
RUN imprime
|
||||
END IF
|
||||
END IF
|
||||
END FUNCTION
|
||||
|
||||
####### Creando el formato para la salida de informacion #########
|
||||
|
||||
REPORT histori(x)
|
||||
DEFINE x RECORD
|
||||
mes2 SMALLINT,
|
||||
cod_n LIKE cttb00013.cod_n,
|
||||
cod_grupo LIKE cttb00013.cod_grupo,
|
||||
cod_tipo LIKE cttb00013.cod_tipo,
|
||||
cod_sec LIKE cttb00013.cod_sec,
|
||||
descrip_esp LIKE intb00001.descrip_esp,
|
||||
unidad_med LIKE intb00001.unidad_med,
|
||||
costo_lq DECIMAL(12,4),
|
||||
codigo VARCHAR(50)
|
||||
END RECORD,
|
||||
converti CHAR(1)
|
||||
|
||||
DEFINE promedio DECIMAL(12,3)
|
||||
DEFINE costo_st DECIMAL(12,4)
|
||||
#DEFINE mes ARRAY[7] OF SMALLINT
|
||||
DEFINE fecha3,fecha4,fecha5 DATE
|
||||
DEFINE i INTEGER
|
||||
DEFINE labor,gasto,labor1,gasto1,pprecio DECIMAL(12,2)
|
||||
DEFINE cantidad1 ARRAY[200] OF DECIMAL(12,3)
|
||||
DEFINE cantidad2 ARRAY[200] OF DECIMAL(12,3)
|
||||
DEFINE unidad,descrp1,nomb,nombre CHAR(15)
|
||||
DEFINE descr CHAR(20)
|
||||
DEFINE total,total2,total3,total4,total5,total6,total7,total8,total9
|
||||
DECIMAL(13,8)
|
||||
DEFINE fact_hombre,cod_grupo,hora_hombre,valor_real,factor_conv
|
||||
DECIMAL(13,8)
|
||||
DEFINE total1 INTEGER
|
||||
|
||||
|
||||
OUTPUT
|
||||
LEFT MARGIN 00
|
||||
ORDER BY x.cod_n,x.cod_grupo,x.cod_tipo,x.cod_sec,x.mes2
|
||||
|
||||
FORMAT
|
||||
PAGE HEADER
|
||||
LET l = (100 - LENGTH(p_compania.nombre CLIPPED)) /2
|
||||
PRINT normal
|
||||
PRINT COLUMN 1,"ctprrp008",
|
||||
COLUMN l, p_compania.nombre CLIPPED,
|
||||
COLUMN 96, "Pag. ",pageno using "###"
|
||||
LET l = (100 - LENGTH("Sistema de Costos")) /2
|
||||
PRINT COLUMN l, "Sistema de Costos",
|
||||
COLUMN 96, today using "dd/mm/yy"
|
||||
LET l = (100 - LENGTH("Historial de Precios Reales")) /2
|
||||
PRINT COLUMN l, "Historial de Precios Reales",
|
||||
COLUMN 96, time
|
||||
|
||||
|
||||
PRINT negrillas_of
|
||||
PRINT doce,comp_on
|
||||
|
||||
PRINT COLUMN 1, "DEl ",fecha1 USING "dd/mm/yy", " Al ",
|
||||
fecha2 USING "dd/mm/yy"
|
||||
PRINT COLUMN 1, "Porcentaje Mayor a ",p_porciento using "###.##"
|
||||
PRINT COLUMN 1, descrip_invent
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"----------------------------------------------------------------------------",
|
||||
"----------------------------------------------------------------------------",
|
||||
"----------------------------------------------------------------------------",
|
||||
"-----------------"
|
||||
PRINT COLUMN 1,"Material ",
|
||||
COLUMN 45,"Unidad",
|
||||
COLUMN 52,"|",
|
||||
COLUMN 60, "Costo"
|
||||
PRINT COLUMN 60, "Stand";
|
||||
LET i = 70
|
||||
LET fecha5 = fecha1
|
||||
|
||||
###### Loop para impresion en forma tabular ########
|
||||
|
||||
FOR idx = 1 to 12
|
||||
|
||||
LET mes3 = month(fecha5)
|
||||
PRINT COLUMN i," ",fecha5 USING "mmm/yy","|";
|
||||
|
||||
LET fecha5 = fecha5 + 31
|
||||
LET i = i + 12
|
||||
END FOR
|
||||
LET i = i + 5 + 6
|
||||
PRINT COLUMN i-7, "Promedio",
|
||||
COLUMN i+3, "Variacion %"
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"----------------------------------------------------------------------------",
|
||||
"----------------------------------------------------------------------------",
|
||||
"----------------------------------------------------------------------------",
|
||||
"-----------------"
|
||||
|
||||
LET idx = 1
|
||||
BEFORE GROUP OF x.codigo
|
||||
LET costo_st = 0
|
||||
LET promedio = 0
|
||||
|
||||
FOR idx = 1 TO 12
|
||||
LET cantidad1[idx] = 0
|
||||
LET cantidad2[idx] = 0
|
||||
END FOR
|
||||
LET costo_st = 0
|
||||
IF tipo_invent = 1 THEN
|
||||
SELECT MAX(a.costo_st) INTO costo_st FROM intb00013 a
|
||||
WHERE a.cod_n = x.cod_n and a.cod_grupo = x.cod_grupo and
|
||||
a.cod_tipo = x.cod_tipo and a.cod_sec = x.cod_sec and
|
||||
a.ano = ano1 and a.status_t is null
|
||||
|
||||
END IF
|
||||
|
||||
IF tipo_invent = 2 THEN
|
||||
SELECT MAX(a.material + a.labor + a.gastos) INTO costo_st FROM iptb00004 a
|
||||
WHERE a.cod_n = x.cod_n and a.cod_grupo = x.cod_grupo and
|
||||
a.cod_tipo = x.cod_tipo and a.cod_sec = x.cod_sec and
|
||||
a.ano = ano1 and a.status_t is NULL
|
||||
LET pprecio = 0
|
||||
SELECT AVG(a.precio) INTO pprecio FROM vetb00025 a
|
||||
WHERE a.cod_n = x.cod_n AND
|
||||
a.cod_grupo = x.cod_grupo AND
|
||||
a.cod_tipo = x.cod_tipo AND
|
||||
a.cod_Sec = x.cod_sec AND
|
||||
a.ventas = 1
|
||||
|
||||
|
||||
END IF
|
||||
|
||||
IF tipo_invent = 3 THEN
|
||||
SELECT MAX(a.costo_st) INTO costo_st FROM irtb00013 a
|
||||
WHERE a.cod_n = x.cod_n and a.cod_grupo = x.cod_grupo and
|
||||
a.cod_tipo = x.cod_tipo and a.cod_sec = x.cod_sec and
|
||||
a.ano = ano1 and a.status_t is null
|
||||
|
||||
END IF
|
||||
|
||||
{BUSCA EL COSTO DE LIQUIDACION DEL PRODUCTO}
|
||||
|
||||
SELECT AVG(a.costo_lq) INTO promedio FROM cttb00013 a
|
||||
WHERE a.cod_n = x.cod_n and a.cod_grupo = x.cod_grupo and
|
||||
a.cod_tipo = x.cod_tipo and a.cod_sec = x.cod_sec and a.tipo_orden = tipo_invent and
|
||||
a.fecha between fecha1 and fecha2 and a.status_t is null
|
||||
|
||||
IF costo_st IS NULL THEN
|
||||
LET costo_st = 0
|
||||
END IF
|
||||
IF promedio IS NULL THEN
|
||||
LET promedio = 0
|
||||
END IF
|
||||
|
||||
IF promedio > 0 THEN
|
||||
LET porciento = ((promedio - costo_st)/promedio)*100
|
||||
ELSE
|
||||
LET porciento = 0
|
||||
END IF
|
||||
|
||||
LET converti = "N"
|
||||
IF porciento < 0 THEN
|
||||
LET porciento = porciento * -1
|
||||
LET converti = "S"
|
||||
END IF
|
||||
IF porciento >= p_porciento THEN
|
||||
PRINT COLUMN 1, x.cod_n USING "&&&","-",x.cod_grupo USING "&&&&","-",
|
||||
x.cod_tipo USING "&&&&","-",x.cod_sec USING "&&&&"," ",
|
||||
x.descrip_esp clipped,
|
||||
COLUMN 46,x.unidad_med clipped,
|
||||
COLUMN 52,"|",
|
||||
COLUMN 54,costo_st using "###,###.#####","|";
|
||||
END IF
|
||||
ON EVERY ROW
|
||||
IF porciento >= p_porciento THEN
|
||||
LET idx = x.mes2
|
||||
LET cantidad1[idx] = 0
|
||||
LET cantidad2[idx] = 0
|
||||
|
||||
LET cantidad1[idx] = x.costo_lq
|
||||
LET cantidad2[idx] = cantidad1[idx]
|
||||
END IF
|
||||
|
||||
AFTER GROUP OF x.codigo
|
||||
IF porciento >= p_porciento THEN
|
||||
LET i = 66
|
||||
FOR idx = 1 TO 12
|
||||
IF cantidad1[idx] IS NULL THEN
|
||||
LET cantidad1[idx] = 0
|
||||
END IF
|
||||
IF cantidad2[idx] IS NULL THEN
|
||||
LET cantidad2[idx] = 0
|
||||
END IF
|
||||
|
||||
PRINT COLUMN i,cantidad2[idx] USING "###,##&.&&&", "|";
|
||||
LET i = i + 9
|
||||
LET cantidad2[idx] = 0
|
||||
END FOR
|
||||
IF converti = "S" THEN
|
||||
LET porciento = porciento * -1
|
||||
END IF
|
||||
# LET promedio = AVG(x.costo_lq)
|
||||
PRINT COLUMN i,promedio using "###,###.#####",
|
||||
COLUMN i+14,promedio - costo_st using "(((,(((.####)",
|
||||
COLUMN i+26+2, porciento using "###.##",
|
||||
2 spaces, pprecio USING "##,###.##"
|
||||
END IF
|
||||
|
||||
ON LAST ROW
|
||||
|
||||
PRINT COLUMN 1,
|
||||
"============================================================================",
|
||||
"============================================================================",
|
||||
"=================================================================="
|
||||
|
||||
PRINT COLUMN 1,negrillas_of,normal
|
||||
END REPORT
|
||||
|
||||
Reference in New Issue
Block a user