EXECAUTO MATA103 - Documento de Entrada

Producto:

Protheus

Versiones:

Todas

Ocurrencia:

Rutina automática - MATA103 (Execauto)

Entorno:

SIGACOM - Compras

Descripción:

Rutina automática que permite actualizar, eliminar la cotización / inclusión de un nuevo participante en una cotización que ya existe.

Parámetros:

.

Nombre

Tipo

Descripción

Contenido estándar

ExpA1

Array

Array que contiene los datos del encabezado de la cotización


ExpA2

Array

Array que contiene los ítems de la cotización


ExpN1

Numérico

2 : Incluye nuevo participante
3 : Actualiza los datos de una cotización que ya existe
4 : Incluye una nueva propuesta en una cotización que ya existe
5 : Elimina toda la cotización

3

ExpL1

Lógico

Filtra el origen de las cotizaciones para TRM

.F.

ExpL2

Lógico

Indica si es una simulación


ExpN2

Numérico

Ítem recibido para que sea eliminado por la Exec.Auto


Paso a paso:

#INCLUDE "RWMAKE.CH"
#INCLUDE "TBICONN.CH"

//INCLUSIÓN DE UN NUEVO PARTICIPANTE

User Function IncMata150()
Local aCabec := {}
Local aItens := {}
PRIVATE lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM"
//| Ubica la cotización en que el nuevo participante se incluirá. |//
dbSelectArea("SC8")
dbSetOrder(1)
dbSeek(xFilial("SC8")+"000035")

aadd(aCabec,{"C8_FORNECE" ,"000010"})
aadd(aCabec,{"C8_LOJA" ,"01"})
aadd(aCabec,{"C8_COND" ,"001"})
aadd(aCabec,{"C8_CONTATO" ,"AUTO"})
aadd(aCabec,{"C8_FILENT" ,"01"})
aadd(aCabec,{"C8_MOEDA" ,1})
aadd(aCabec,{"C8_EMISSAO" ,dDataBase})
aadd(aCabec,{"C8_TOTFRE" ,0})
aadd(aCabec,{"C8_VALDESC" ,0})
aadd(aCabec,{"C8_DESPESA" ,0})
aadd(aCabec,{"C8_SEGURO" ,0})
aadd(aCabec,{"C8_DESC1" ,0})
aadd(aCabec,{"C8_DESC2" ,0})
aadd(aCabec,{"C8_DESC3" ,0})

aadd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
                    {"C8_PRODUTO" ," COM00000000000000000000000011" ,Nil},;
                    {"C8_ITEM" ,"0001",Nil},;
                    {"C8_UM" ,"UN",Nil},;
                    {"C8_QUANT" ,10 ,Nil},;
                    {"C8_PRECO" ,0 ,NIL},;
                    {"C8_TOTAL" ,0 ,NIL}})

MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,2)

If !lMsErroAuto
        ConOut(" Nuevo participante incluido " )
Else
        MostraErro()
        ConOut("¡Error al incluir!")
EndIf

ConOut("Fim: " + Time())

RESET ENVIRONMENT

Return


// Actualiza cotización

User Function AltMata150()
Local aCabec := {}
Local aItens := {}
PRIVATE lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM"

aCabec:={}
aItens:={}

dbSelectArea("SC8")
dbSetOrder(1)
dbSeek(xFilial("SC8")+"000035")

aadd(aCabec,{"C8_FORNECE" ,"000010"})
aadd(aCabec,{"C8_LOJA" ,"01"})
aadd(aCabec,{"C8_COND" ,"001"})
aadd(aCabec,{"C8_CONTATO" ,"AUTO"})
aadd(aCabec,{"C8_FILENT" ,"01"})
aadd(aCabec,{"C8_MOEDA" ,1})
aadd(aCabec,{"C8_EMISSAO" ,dDataBase})
aadd(aCabec,{"C8_TOTFRE" ,0})
aadd(aCabec,{"C8_VALDESC" ,0})
aadd(aCabec,{"C8_DESPESA" ,0})
aadd(aCabec,{"C8_SEGURO" ,0})
aadd(aCabec,{"C8_DESC1" ,0})
aadd(aCabec,{"C8_DESC2" ,0})
aadd(aCabec,{"C8_DESC3" ,0})

aadd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
                    {"C8_PRODUTO" ," COM00000000000000000000000011" ,Nil},;
                    {"C8_ITEM" ,"0001",Nil},;
                    {"C8_UM" ,"UN",Nil},;
                    {"C8_QUANT" ,10 ,Nil},;
                    {"C8_PRECO" ,20 ,NIL},;
                    {"C8_TOTAL" ,200 ,NIL}})


MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,3)

If !lMsErroAuto
         ConOut("Cotización actualizada")
Else
         MostraErro()
         ConOut("¡Error al actualizar")
EndIf

ConOut("Fin: " + Time())

RESET ENVIRONMENT


Return

// INCLUIR PROPUESTA

User Function incPMata150()
Local aCabec := {}
Local aItens := {}
PRIVATE lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM"

aCabec := {}
aItens := {}

aadd(aCabec,{"C8_NUM" ,"000035"})
aadd(aCabec,{"C8_FORNECE" ,"000010"})
aadd(aCabec,{"C8_LOJA" ,"01"})
aadd(aCabec,{"C8_COND" ,"001"})
aadd(aCabec,{"C8_CONTATO" ,"AUTO"})
aadd(aCabec,{"C8_FILENT" ,"01"})
aadd(aCabec,{"C8_MOEDA" ,1})
aadd(aCabec,{"C8_EMISSAO" ,dDataBase})
aadd(aCabec,{"C8_TOTFRE" ,0})
aadd(aCabec,{"C8_VALDESC" ,0})
aadd(aCabec,{"C8_DESPESA" ,0})
aadd(aCabec,{"C8_SEGURO" ,0})
aadd(aCabec,{"C8_DESC1" ,0})
aadd(aCabec,{"C8_DESC2" ,0})
aadd(aCabec,{"C8_DESC3" ,0})

aadd(aItens,{{"C8_NUMPRO" ,"02" ,Nil},;
                    {"C8_PRODUTO" ," COM00000000000000000000000011" ,Nil},;
                    {"C8_ITEM" ,"0001",Nil},;
                    {"C8_UM" ,"UN",Nil},;
                    {"C8_QUANT" ,10 ,Nil},;
                    {"C8_PRECO" ,30 ,NIL},;
                    {"C8_TOTAL" ,300 ,NIL}})


MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,4)

If !lMsErroAuto
       ConOut("PROPUESTA INCLUIDA")
Else
       MostraErro()
       ConOut("¡Error al incluir")
EndIf

ConOut("Fin: " + Time())

RESET ENVIRONMENT

Return

//ELIMINAR COTIZACIÓN

User Function ExcMata150()
Local aCabec := {}
Local aItens := {}
PRIVATE lMsErroAuto := .F.

PREPARE ENVIRONMENT EMPRESA "99" FILIAL "01" MODULO "COM"

aCabec :={}
aItens :={}
dbSelectArea("SC8")


aAdd(aCabec,{"C8_NUM" ,"000035"})
aAdd(aCabec,{"C8_FORNECE","000001"})
aAdd(aCabec,{"C8_LOJA" ,"00"})

aAdd(aItens,{{"C8_NUMPRO" ,"01" ,Nil},;
                     {"C8_PRODUTO","COM00000000000000000000000011" ,Nil},;
                     {"C8_ITEM" ,"0001" ,Nil}})


MSExecAuto({|v,x,y| MATA150(v,x,y)},aCabec,aItens,5)

If !lMsErroAuto
       ConOut("Propuesta eliminada")
Else
       MostraErro()
       ConOut("¡Error al eliminar")
EndIf

ConOut("Fim: " + Time())

RESET ENVIRONMENT

Return

Observaciones: