Home

Linha Microsiga Protheus

Páginas filhas
  • PmsAltSC - Valida exclusão ou alteração de SC

Descrição

Ponto de entrada que valida a alteração de uma Solicitação de Compras gerada via rotina de planejamento no Gestão de Projetos (SIGAPMS).

Observações

Exemplos

user function PmsAltSC()
Local aHeader := PARAMIXB[1]
Local aCols := PARAMIXB[2]
Local cNumSC := PARAMIXB[3]
Local lExclui := PARAMIXB[4]
Local aArea := GetArea()
Local aAreaSC1 := SC1->(GetArea())
Local aAreaAFG := AFG->(GetArea())
Local lOk := .T.
Local lMt110 := Alltrim(FUNNAME()) == "MATA110"
Local nX := 0
Local nTamArray := Len(aCols[1])
Local lPmsScBlq := SuperGetMv("MV_PMSCBLQ",,.F.)
Local lPmsAltSC := ExistBlock("PmsAltSC")
Local nPItem := aScan(aHeader,{|x| AllTrim(x[2]) == "C1_ITEM" })
Local nPQuant := aScan(aHeader,{|x| AllTrim(x[2]) == "C1_QUANT" })
Local nPosPrd := aScan(aHeader,{|x| AllTrim(x[2]) == "C1_PRODUTO" })
Local nPosDt := aScan(aHeader,{|x| AllTrim(x[2]) == "C1_DATPRF" })
If lExclui
dbSelectArea("AFG")
dbSetOrder(2)
For nX:=1 to Len(aCols)
If dbSeek(xFilial("AFG")+cNumSC+aCols[nX][nPItem])
If !Empty(AFG->AFG_PLANEJ)
lOk := .F.
EXIT
Endif
Endif
Next nX
Else
DbSelectArea("SC1")
dbSetOrder(1)//C1_FILIAL+C1_NUM+C1_ITEM
For nX:=1 to Len(aCols)
If Dbseek(xFilial("SC1") + cNumSC + aCols[nX][nPItem] )
If aCols[nX][nTamArray]
lOk := .F.
ElseIf (SC1->C1_QUANT <> aCols[nX][nPQuant]) .or. (SC1->C1_PRODUTO <> aCols[nX][nPosPrd]) .or. (SC1->C1_DATPRF <> aCols[nX][nPosDt])
lOk := .F.
Exit
EndIf
Endif
Next nX
Endif
If !lOk
If lExclui
MsgAlert("Esta Solicitação foi gerada via Planejamento do módulo SIGAPMS. Não sera possível excluí-la. Verificar parâmetrp MV_PMSCBLQ.")
Else
MsgAlert("Esta Solicitação foi gerada via Planejamento do módulo SIGAPMS. Não será possível alterar informações principais. Verificar parâmetro MV_PMSCBLQ.")
Endif
Endif
RestArea(aAreaAFG)
RestArea(aAreaSC1)
RestArea(aArea)
Return lOk

Preview

Veja também

Idioma

Português(Brasil)

Versões

Versões_Anteriores

Sistemas Operacionais Suportados

Todos

Compatível com as Bases de Dados

Todas

Updates

Parâmetros

aHeader := PARAMIXB[1] // Header da solicitação de compras
aCols := PARAMIXB[2] // informações da solicitação de compras
cNumSC := PARAMIXB[3] // numero da solicitação de compras
lExclui := PARAMIXB[4] // Indica se é exclusão da Solicitação de compras

Retorno

lOk - Se .T. indica se poderá prosseguir com a exclusão ou alteração.

Eventos de chamada do Ponto de Entrada

Variáveis

Programa Fonte

pmsxfunb.prw

  • Sem rótulos