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 |