Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

...

Bloco de código
languagevb
themeEclipse
firstline1
titleExemplo de Exclusão/Alteração
#INCLUDE 'Protheus.ch'
#INCLUDE 'TBICONN.CH'
#Include 'FWMVCDef.ch'
#DEFINE CRLF Chr(13)+Chr(10)
 
User Function GPEA110_Exec()
 
    Local aCab  		:= {}
    Local aItem 		:= {}  
    Local aItens		:= {}
    Local aLog  		:= {}
    Local lOk      		:= .T.
    Local cMat    		:= "000001"
    Local cPd     		:= "001"
    Local cCcusto 		:= "000000001"
    Local cProces 		:= "00001"

    Private lMsErroAuto := .F.

    PREPARE ENVIRONMENT EMPRESA "T1" FILIAL "D MG 01 " MODULO "GPE" TABLES "SRK"

    SRK->(DBSETORDER( 1 )) //RK_FILIAL+RK_MAT+RK_PD+RK_CC+RK_PROCES

    If !SRK->(DBSEEK( xFilial("SRK") + cMat + cPd + cCcusto + cProces )) // Verifica se a verba existe
        lOk := .F.
        Alert("Não foi encontrado registro")
    ENDIF

    If lOk
        Aadd(aCab, {"RA_FILIAL" , "D MG 01 ",NIL})
        Aadd(aCab, {"RA_MAT"    , "000001"  ,NIL})

        // É necessário utilizar LINPOS e AUTDELETA somente na exclusão; na alteração somente LINPOS
        Aadd(aItem,{"LINPOS"    , "RK_PD"   , "001" }) // É possível utilizar qualquer campo que identifique o registro que se deseja alterar/excluir
        Aadd(aItem,{"AUTDELETA" , "S"       , Nil   })
        aAdd(aItens,aItem)
    
        MSExecAuto({|a, b, c| GPEA110(a, b, c) }, 5, aCab, aItens) //Utilize a opção 4 para Alterar e 5 para Excluir
    
        If !lMsErroAuto
            ConOut("**** Incluído com sucesso! ****")
        Else
            aLog := getAutoGrLog()
            MostraErro()
            ConOut("Erro na Alteracao!")
        EndIf
     ENDIF
 
Return aLog

...