Commit inicial: fuentes MBS ERP (Genero 6) + .gitignore + docs/SETUP_PC_MBS.md
This commit is contained in:
@@ -0,0 +1,110 @@
|
||||
{
|
||||
===============================================================================
|
||||
PROGRAMA : BUSCA_SERIE
|
||||
OBJETIVO : ACTUALIZA LA TABLA VETB00042 (SERIE DE LOS PRODUCTOS )
|
||||
PROGRAMADOR: JUAN F. SOTO
|
||||
FECHA : AGOSTO 23, 1997
|
||||
===============================================================================
|
||||
}
|
||||
DATABASE exterior
|
||||
|
||||
FUNCTION busca_s(numero_doc,cod_mov,cod_n,cod_grupo,cod_tipo,cod_sec,
|
||||
cantidad)
|
||||
DEFINE serie ARRAY[100] OF CHAR(30)
|
||||
|
||||
DEFINE p_seriea ARRAY[100] OF RECORD
|
||||
factura LIKE vetb00042.factura,
|
||||
cod_mov SMALLINT,
|
||||
cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
serie LIKE vetb00042.serie
|
||||
END RECORD ,
|
||||
numero_msg,numero_doc INTEGER,
|
||||
idx,cod_n SMALLINT,
|
||||
cod_grupo SMALLINT,
|
||||
cod_tipo SMALLINT,
|
||||
cod_sec SMALLINT,
|
||||
cantidad INTEGER,
|
||||
cod_mov SMALLINT,
|
||||
cuenta SMALLINT,
|
||||
volver CHAR(1)
|
||||
|
||||
OPEN WINDOW w_serie AT 7,12 WITH FORM "busca_s"
|
||||
ATTRIBUTE (BORDER,FORM LINE FIRST + 2,COMMENT LINE LAST,MESSAGE LINE LAST)
|
||||
FOR idx = 1 TO 5
|
||||
LET p_seriea[idx].factura = NULL
|
||||
LET p_seriea[idx].cod_mov = NULL
|
||||
LET p_seriea[idx].cod_n = NULL
|
||||
LET p_seriea[idx].cod_grupo = NULL
|
||||
LET p_seriea[idx].cod_tipo = NULL
|
||||
LET p_seriea[idx].cod_sec = NULL
|
||||
LET p_seriea[idx].serie = NULL
|
||||
END FOR
|
||||
DECLARE busca CURSOR FOR
|
||||
SELECT a.* FROM vetb00042 a
|
||||
WHERE a.factura = numero_doc AND
|
||||
a.cod_mov = cod_mov
|
||||
LET idx = 1
|
||||
FOREACH busca INTO p_seriea[idx].*
|
||||
LET serie[idx] = p_seriea[idx].serie
|
||||
LET idx = idx + 1
|
||||
END FOREACH
|
||||
CALL set_count(idx-1)
|
||||
LABEL vuelve:
|
||||
INPUT ARRAY serie WITHOUT DEFAULTS FROM p_serie.*
|
||||
IF int_flag THEN
|
||||
LET numero_msg = 376
|
||||
CALL msg(numero_msg)
|
||||
GOTO sale
|
||||
END IF
|
||||
FOR idx = 1 TO arr_count()
|
||||
LET p_seriea[idx].factura = numero_doc
|
||||
LET p_seriea[idx].cod_mov = cod_mov
|
||||
LET p_seriea[idx].cod_n = cod_n
|
||||
LET p_seriea[idx].cod_grupo = cod_grupo
|
||||
LET p_seriea[idx].cod_tipo = cod_tipo
|
||||
LET p_seriea[idx].cod_sec = cod_sec
|
||||
LET p_seriea[idx].cod_sec = cod_sec
|
||||
LET p_seriea[idx].serie = serie[idx]
|
||||
END FOR
|
||||
|
||||
LET cuenta = 0
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF p_seriea[idx].serie IS NOT NULL THEN
|
||||
LET cuenta = cuenta + 1
|
||||
END IF
|
||||
END FOR
|
||||
IF cuenta != cantidad THEN
|
||||
LET numero_msg =376
|
||||
CALL msg(numero_msg)
|
||||
GOTO vuelve
|
||||
END IF
|
||||
DELETE FROM vetb00042 WHERE factura = numero_doc AND
|
||||
@cod_mov = cod_mov
|
||||
WHENEVER ERROR CONTINUE
|
||||
LET volver = "N"
|
||||
FOR idx = 1 TO arr_count()
|
||||
IF p_seriea[idx].serie IS NOT NULL THEN
|
||||
INSERT INTO vetb00042 VALUES
|
||||
(p_seriea[idx].*,null,user,current,null,null)
|
||||
IF STATUS < 0 THEN
|
||||
LET numero_msg = 378
|
||||
CALL msg(numero_msg)
|
||||
LET volver ="S"
|
||||
EXIT FOR
|
||||
END IF
|
||||
END IF
|
||||
END FOR
|
||||
|
||||
IF volver = "S" THEN
|
||||
LET STATUS = 0
|
||||
DELETE FROM vetb00042 WHERE factura = numero_doc
|
||||
GOTO vuelve
|
||||
END IF
|
||||
|
||||
LABEL sale:
|
||||
CLOSE WINDOW w_serie
|
||||
CLOSE FORM busca_s
|
||||
END FUNCTION
|
||||
Reference in New Issue
Block a user