Árvore de páginas


01. DADOS GERAIS

Produto:

TOTVS Logística WMS

Linha de Produto:

Linha Protheus

Segmento:

Logística

Módulo:SIGAWMS - Gestão de Armazenagem
Função:WMSV030 - Separação Via Coletor
País:Todos Países
Ticket:-
Requisito/Story/Issue (informe o requisito relacionado) :-


02. DESCRIÇÃO

Este Ponto de Entrada permite a execução de ações complementares antes do encerramento da separação via coletor.

Exemplo
Nas separações de origem SD4 (Ordem de Produção) é necessário montar kits para o produto separado.

03. LOCALIZAÇÃO

Localizado na rotina WMSV030 (Separação Via Coletor), antes de gravar a quantidade movimentada na tabela D12, ou seja, neste ponto o armazém, o endereço, o produto, o lote e a quantidade já foram informados.

04. PARÂMETROS

NomeTipoDescrição
nQtdeNuméricoQuantidade da movimentação
cOrigemCaractereOrigem da movimentação
cProdutoCaractereProduto da movimentação
cLoteCtlCaractereLote da movimentação
cNumLoteCaractere

Sublote da movimentação

cUnitizCaractereUnitizador da movimentação
cRecHumCaractereRecurso Humano logado no coletor
cIdDCFCaractereId da ordem de serviço
lUltiAtiLógicoIndica se é a última atividade da tarefa

05. RETORNO

Não se aplica.

06. VERSÕES

Protheus 12.1.23 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 'APVT100.CH'

User Function WMSV030E()
Local nQtde := PARAMIXB[1] //Quantidade da movimentação
Local cOrigem := PARAMIXB[2] //Origem da movimentação
Local cProduto := PARAMIXB[3] //Produto
Local cLoteCtl := PARAMIXB[4] //Lote
Local cNumLote := PARAMIXB[5] //Sub-lote
Local cUnitiz := PARAMIXB[6] //Unitizador
Local cRecHum := PARAMIXB[7] //Recurso Humano
Local cIdDCF := PARAMIXB[8] //Id da Ordem de Serviço
Local lUltiAti := PARAMIXB[9] //Indica se é a última atividade da tarefa
Local cKit := " "

If cOrigem == "SD4"
       WMSVTCabec("Informe o codigo do kit",.F.,.F.,.T.)
       @ 01, 00 VTSay PadR("KIT", VTMaxCol())
       @ 02, 00 VTGet cKit Pict '@!'
       VTRead

       If (VTLastKey()==27)
              return
      EndIf

      If lUltiAti
             //Grava tabela específica
             Reclock("XAA",.T.)
             XAA->XAA_QUANTI := nQtde
             XAA->XAA_PRODUT := cProduto
             XAA->XAA_LOTECT := cLoteCtl
             XAA->XAA_NUMLOT := cNumLote
             XAA->XAA_UNITIZ := cUnitiz
             XAA->XAA_RECHUM := cRecHum
             XAA->XAA_IDDCF := cIdDCF
             XAA->XAA_KIT := cKit
             XAA->(MsUnlock())
      EndIf 
EndIf

Return

------


Exemplo
#INCLUDE 'APVT100.CH'

User Function WMSV030E()
Local nQtde := PARAMIXB[1] //Quantidade da movimentação
Local cOrigem := PARAMIXB[2] //Origem da movimentação
Local cProduto := PARAMIXB[3] //Produto
Local cLoteCtl := PARAMIXB[4] //Lote
Local cNumLote := PARAMIXB[5] //Sub-lote
Local cUnitiz := PARAMIXB[6] //Unitizador
Local cRecHum := PARAMIXB[7] //Recurso Humano
Local cIdDCF := PARAMIXB[8] //Id da Ordem de Serviço
Local lUltiAti := PARAMIXB[9] //Indica se é a última atividade da tarefa
Local cKit := " "

If cOrigem == "SD4"
    WMSVTCabec("Informe o codigo do kit",.F.,.F.,.T.) 
    @ 01, 00 VTSay PadR("KIT", VTMaxCol())
    @ 02, 00 VTGet cKit Pict '@!'
    VTRead
    If (VTLastKey()==27)
        return
    EndIf
    If lUltiAti
        //Grava tabela específica
        Reclock("XAA",.T.)
        XAA->XAA_QUANTI := nQtde
        XAA->XAA_PRODUT := cProduto
        XAA->XAA_LOTECT := cLoteCtl
        XAA->XAA_NUMLOT := cNumLote
        XAA->XAA_UNITIZ := cUnitiz
        XAA->XAA_RECHUM := cRecHum
        XAA->XAA_IDDCF := cIdDCF
        XAA->XAA_KIT := cKit
        XAA->(MsUnlock())
    EndIf
EndIf

Return