Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:TOTVS WMS - Linha Protheus - WMS Protheus (SIGAWMS)
Função:-
País:Todos Países
Ticket:

13983776

Requisito/Story/Issue (informe o requisito relacionado) :DLOGWMSMSP-13863


02. DESCRIÇÃO

Este Ponto de Entrada permite manipular os "registros da D12" gerados no momento da execução do serviço.

03. LOCALIZAÇÃO

Localizado na função LawExecute(), responsável por avaliar as regras para convocação do serviço e disponibilizar os "movimento da tabelas D12" a ser manipulada.

04. PARÂMETROS

NomeTipoDescriçãoObrigatório
aLibD12 ArrayContêm as opções de menu padrão.Sim

05. RETORNO

NomeTipoDescriçãoObrigatório
aLibD12ArrayContêm dados da tabela D12 após a modificação.Sim

  

06. VERSÕES

Protheus 12.1.27 ou superiores.

07. OBSERVAÇÃO

Todos os parâmetros são recebidos na User Function via PARAMIXB, conforme consta em Execblock / Customização.

08. EXEMPLO

------

#INCLUDE 'TOTVS.CH'


/*/{Protheus.doc} WMSALIBX
Ponto de entrada para manipular a tabela D12, no momento da geração do serviço, antes de liberar para convocação
@type function
@version V.12
/*/
User Function WMSALIBX() //{Self:aLibD12}
Local aAreaAtu := GetArea()
Local aLibD12  := PARAMIXB[1]
Local nI := 0
Local nQtdOper := 0
Local nQtdAtivi := 0
Local nPorOper := 0
Local nConta := 0
Local nOper := 0

If Len(aLibD12) > 0
    nQtdOper  := 2
    nQtdAtivi := 0
    For nI := 1 To Len(aLibD12)
        If aLibD12[nI,4] == "301" //Serviço de Separação
            nQtdAtivi++
        Endif
    Next
    If nQtdAtivi > 0 .And. nQtdOper > 0
        nPorOper := Round(nQtdAtivi/nQtdOper,0)
        nConta   := 0
        nOper    := 1
        For nI := 1 To Len(aLibD12)
            If aLibD12[nI,4] == "301" //Serviço de Separação
                D12->(dbGoTo(aLibD12[nI,2]))
                If D12->(!Eof())
                    RecLock('D12',.F.)
                    D12->D12_RECEMB := StrZero(nOper,6)
                    D12->(MsUnlock())
                    nConta++
                EndIf
                If nConta >= nPorOper
                    nConta := 0
                    nOper  ++
                Endif
            Endif
        Next
    Endif
Endif
RestArea(aAreaAtu)

Return(aLibD12)

------