How to name the transaction

-2

How do I name a transaction in ERP PRIMAVERA, for example BSO. StartTransaction ("ControlMOV").

Below the code:

    Function TransferenciaSTK(artigo As String, Tank_A As String, tank_B As String, Loc_A As String, Loc_B As String, Quantidade As Double) As Boolean
    On Error GoTo TratarErro
    'Declaração de variaveis
    Dim DocumentoStockEntrada As GcpBEDocumentoStock
    Dim DocumentoStockSaida As GcpBEDocumentoStock
    Dim LinhaDocumentoStockEntradaTALA As GcpBELinhaDocumentoStock
    Dim LinhaDocumentoStockEntradaTBLB As GcpBELinhaDocumentoStock
    Dim LinhaDocumentoStockSaidaTBLA As GcpBELinhaDocumentoStock
    Dim LinhaDocumentoStockSaidaTALB As GcpBELinhaDocumentoStock

    'Inicialização das variaveis
    Set DocumentoStockEntrada = New GcpBEDocumentoStock
    Set DocumentoStockSaida = New GcpBEDocumentoStock
    Set LinhaDocumentoStockEntradaTALA = New GcpBELinhaDocumentoStock
    Set LinhaDocumentoStockEntradaTBLB = New GcpBELinhaDocumentoStock
    Set LinhaDocumentoStockSaidaTBLA = New GcpBELinhaDocumentoStock
    Set LinhaDocumentoStockSaidaTALB = New GcpBELinhaDocumentoStock


    BSO.IniciaTransaccao

    With LinhaDocumentoStockEntradaTALA
        .artigo = artigo
        .armazem = Tank_A
        .Localizacao = Tank_A + Loc_A
        .Unidade = "LT20"
        .Quantidade = Quantidade
        .EntradaSaida = "E"
        .TipoLinha = "10"
        .DataStock = Format(Now, "YYYY-MM-DD HH:MM:SS")
    End With

    With LinhaDocumentoStockEntradaTBLB
        .artigo = artigo
        .armazem = tank_B
        .Localizacao = tank_B + Loc_B
        .Unidade = "LT20"
        .Quantidade = Quantidade
        .EntradaSaida = "E"
        .TipoLinha = "10"
        .DataStock = Format(Now, "YYYY-MM-DD HH:MM:SS")
    End With

    With DocumentoStockEntrada
        .TipoDoc = "MSTKE"
        .Serie = "A"
        .DataDoc = Format(Now, "YYYY-MM-DD HH:MM:SS")
        .observacoes = Observacao
        .CamposUtil("CDU_Estornado") = 0
    End With

    DocumentoStockEntrada.Linhas.Insere LinhaDocumentoStockEntradaTALA
    DocumentoStockEntrada.Linhas.Insere LinhaDocumentoStockEntradaTBLB
    BSO.Comercial.Stocks.PreencheDadosRelacionados DocumentoStockEntrada
    BSO.Comercial.Stocks.Actualiza DocumentoStockEntrada

    With LinhaDocumentoStockSaidaTBLA
        .artigo = artigo
        .armazem = tank_B
        .Localizacao = tank_B + Loc_A
        .Unidade = "LT20"
        .Quantidade = Quantidade
        .EntradaSaida = "S"
        .TipoLinha = "10"
        .DataStock = Format(Now, "YYYY-MM-DD HH:MM:SS")
    End With

    With LinhaDocumentoStockSaidaTALB
        .artigo = artigo
        .armazem = Tank_A
        .Localizacao = Tank_A + Loc_B
        .Unidade = "LT20"
        .Quantidade = Quantidade
        .EntradaSaida = "S"
        .TipoLinha = "10"
        .DataStock = Format(Now, "YYYY-MM-DD HH:MM:SS")
    End With

    With DocumentoStockSaida
        .TipoDoc = "MSTKS"
        .Serie = "A"
        .DataDoc = Format(Now, "YYYY-MM-DD HH:MM:SS")
        .observacoes = Observacao
        .CamposUtil("CDU_Estornado") = 0
    End With

    DocumentoStockSaida.Linhas.Insere LinhaDocumentoStockSaidaTBLA
    DocumentoStockSaida.Linhas.Insere LinhaDocumentoStockSaidaTALB
    BSO.Comercial.Stocks.PreencheDadosRelacionados DocumentoStockSaida
    BSO.Comercial.Stocks.Actualiza DocumentoStockSaida


    BSO.TerminaTransaccao

    TransferenciaSTK = False

Exit_point:
    Set DocumentoStockEntrada = Nothing
    Set DocumentoStockSaida = Nothing
    Set LinhaDocumentoStockEntradaTALA = Nothing
    Set LinhaDocumentoStockEntradaTBLB = Nothing
    Set LinhaDocumentoStockSaidaTBLA = Nothing
    Set LinhaDocumentoStockSaidaTALB = Nothing
    Exit Function

TratarErro:
    BSO.DesfazTransaccao
    TransferenciaSTK = True
    PSO.Dialogos.MostraAviso "Ocorreu um erro ao fazer Movimentos stock entre tanques...", PRI_Exclama, Err.Description
    Resume Exit_point
End Function
    
asked by anonymous 29.11.2018 / 08:06

1 answer

2

Looking at your code I do not see the need to use transactions, because you are not using any resources outside the context of stocks and this transaction management only makes sense when you need to ensure the recording of this movement in the ERP and another registration only makes sense if both are guaranteed. In this case the engines already guarantee this transaction.

    
29.11.2018 / 13:14