Files
MBS/PROYECTO/ipdir/ipprrp008.4gl
T
jpegueroandClaude Sonnet 5 b6085d4140 Mueve ipdir (Productos Terminados) de PROYECTOS a PROYECTO
Instruccion de Johnny: todos los directorios de fuentes de inventario
deben migrarse de la carpeta temporal PROYECTOS a la carpeta real
PROYECTO, ya que PROYECTOS sera eliminada.

Se elimino tambien un archivo suelto sin relacion llamado "ipdir"
que existia en PROYECTO (del commit inicial) y bloqueaba el nombre
de la carpeta.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-09-04 09:29:01 -04:00

205 lines
6.3 KiB
Plaintext

{
-------------------------------------------------------------------------------
PROGRAMA : IPPRRP008
OBJETIVO : TIPOS DE MOVIMIENTOS Producto Terminados
PROGRAMADOR : Juan Fco. Soto
FECHA REALIZACION : Febrero 1997
DIRECTOR PROYECTO : JOSE ALFREDO PAULINO ALEJO
-------------------------------------------------------------------------------
}
GLOBALS "ipprgb000.4gl"
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 * INTO p_companias.* FROM companias
CALL ipprrp008()
END MAIN
FUNCTION ipprrp008()
DEFINE tipo RECORD
cod_mov LIKE iptb00005.cod_mov,
descrip_mov LIKE iptb00005.descrip_mov,
status_mov VARCHAR(30),
cuenta_1 LIKE iptb00005.cuenta_1,
cuenta_2 LIKE iptb00005.cuenta_2,
cuenta_3 LIKE iptb00005.cuenta_3
END RECORD
WHENEVER ERROR CONTINUE
OPTIONS
FORM LINE 8,
ERROR LINE 23,
COMMENT LINE 21
CLEAR SCREEN
OPEN FORM ipfmrp008 FROM "ipfmrp008"
DISPLAY FORM ipfmrp008
# CALL pantalla()
DISPLAY "ipprrp008" AT 4,3
DISPLAY "Tipos de Movimientos" AT 6,30
DIALOG ATTRIBUTE(UNBUFFERED)
INPUT BY NAME decide
AFTER FIELD decide
IF decide IS NULL THEN
NEXT FIELD decide
END IF
AFTER INPUT
IF decide IS NULL THEN
CALL msg(16)
NEXT FIELD decide
END IF
END INPUT
CONSTRUCT criterio ON iptb00005.cod_mov
FROM cod_mov
BEFORE CONSTRUCT
CALL cmovimientos()
ON ACTION imprime ATTRIBUTE(TEXT='Imprime', IMAGE="print")
IF decide = "A" THEN
LET SELEC = "SELECT cod_mov,descrip_mov,CASE WHEN status_mov = '1' THEN 'ENTRADA' ELSE 'SALIDA' END,cuenta_1, ",
" cuenta_2,cuenta_3 FROM iptb00005 ",
"WHERE ",criterio clipped," AND status_t is null ",
"ORDER BY 3,2"
ELSE
LET SELEC = "SELECT cod_mov,descrip_mov,CASE WHEN status_mov = '1' THEN 'ENTRADA' ELSE 'SALIDA' END,cuenta_1, ",
" cuenta_2,cuenta_3 FROM iptb00005 ",
"WHERE ",criterio clipped," AND status_t is null ",
"ORDER BY 1,3"
END IF
DISPLAY "<< Buscando Informacion ... Espere Por Favor. >>" AT 19,14
ATTRIBUTE(REVERSE,BOLD)
PREPARE busca FROM selec
DECLARE accion CURSOR FOR busca
DISPLAY "<< >>"
AT 19,14
DISPLAY "<< Reporte Generandose ... Por Favor Espere. >>"
AT 19,14 ATTRIBUTE (REVERSE)
CALL seleccionarsalida() RETURNING r_output
CALL configureoutput(r_output) RETURNING HANDLER
START REPORT movimiento TO XML HANDLER handler
FOREACH accion INTO tipo.*
IF status = NOTFOUND THEN
EXIT FOREACH
ELSE
OUTPUT TO REPORT movimiento(tipo.*)
END IF
END FOREACH
FINISH REPORT movimiento
EXIT DIALOG
END CONSTRUCT
ON ACTION CANCEL
EXIT PROGRAM
END DIALOG
END FUNCTION
REPORT movimiento(x)
DEFINE x RECORD
cod_mov LIKE iptb00005.cod_mov,
descrip_mov LIKE iptb00005.descrip_mov,
status_mov VARCHAR(30),
cuenta_1 LIKE iptb00005.cuenta_1,
cuenta_2 LIKE iptb00005.cuenta_2,
cuenta_3 LIKE iptb00005.cuenta_3
END RECORD
DEFINE l INTEGER
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 CHAR(3)
DEFINE hora CHAR(5)
OUTPUT
TOP MARGIN 0
LEFT MARGIN 1
ORDER BY x.status_mov,x.cod_mov
FORMAT
PAGE HEADER
{ LET doble_on = ASCII 14
LET doble_off = ASCII 20
LET negrillas_on = ASCII 27, ASCII 69
LET negrillas_off = ASCII 27, ASCII 70
LET comp_on = ASCII 15
LET comp_off = ASCII 18
LET doce = ASCII 030
}
LET hora = time
LET l = (80 - LENGTH(p_companias.nombre CLIPPED))/2
PRINT COLUMN 1, comp_off,negrillas_on
PRINT COLUMN 1, "ipprrp008",
COLUMN l, p_companias.nombre CLIPPED,
COLUMN 76, "Pag. ",pageno using "###"
PRINT COLUMN 1,
COLUMN 21, " Sistema de Inventario Producto Terminado",
COLUMN 76, today using "dd/mm/yy"
PRINT COLUMN 1,
COLUMN 21, " Tipos de Movimientos",
COLUMN 79, hora
SKIP 1 LINE
PRINT COLUMN 1, "--------------------------------------------------",
"----------------------------------"
PRINT COLUMN 1, "Movimiento",
COLUMN 45, "Status",
COLUMN 68, "Cuenta_1",
COLUMN 75, "Cuenta_2",
COLUMN 85, "Cuenta_3"
PRINT COLUMN 1, "--------------------------------------------------",
"----------------------------------"
PRINT COLUMN 1,negrillas_off
BEFORE GROUP OF x.status_mov
IF x.status_mov = "1" THEN
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "ENTRADAS",negrillas_off
END IF
IF x.status_mov = "2" THEN
PRINT COLUMN 1, negrillas_on
PRINT COLUMN 1, "SALIDAS",negrillas_off
END IF
ON EVERY ROW
PRINT COLUMN 1, x.cod_mov using "###"," ",x.descrip_mov CLIPPED,
COLUMN 48, x.status_mov,
COLUMN 68, x.cuenta_1,
COLUMN 75, x.cuenta_2,
COLUMN 85, x.cuenta_3
ON LAST ROW
SKIP 1 LINE
PRINT COLUMN 3, "Total de Registros Impresos = ", count(*) USING "####"
PRINT COLUMN 3, ASCII 27, ASCII 80
END REPORT