Histórico da Página
Ponto de Entrada
Descrição: | Este ponto de entrada está localizado no processo JDPRISM da John Deere no momento em que a reserva das peças é realizada automaticamente para que a transferência de peças entre filiais seja realizada. A finalidade deste ponto de entrada é permitir a manipulação / inserção de novos campos no momento de realizar a movimentação de transferência de armazéns na chamada da rotina MATA261 (tabela SD3). | ||||||
Localização: | N/A | ||||||
Eventos: | Method TransfereLote(cB1_COD, cArmFrom, cArmTo, nQtd, cLote, cSubLote) Class DMS_Estoque Local aItensNew := {} Local oPeca := DMS_Peca():New() Local nTamAEstq := 0 Local l261IntWMS := a261IntWMS() /////////////////////////////////////////////////// // Posicoes no Vetor de Integracao com o MATA261 // /////////////////////////////////////////////////// nTamAEstq := 21 If l261IntWMS nTamAEstq += 1 EndIf nTamAEstq += 1 If SD3->(FieldPos("D3_IDDCF"))>0 .And. l261IntWMS nTamAEstq += 1 EndIf If SD3->(FieldPos("D3_OBSERVA")) <> 0 nTamAEstq += 1 EndIf /////////////////////////////////////////////////// SB1->(DbSetOrder(1)) SB1->(DbSeek( xFilial('SB1') + cB1_COD )) // // Adiciona cabecalho com numero do documento e data da transferencia modelo II // cDocumento := Criavar("D3_DOC") cDocumento := IIf(Empty(cDocumento),NextNumero("SD3",2,"D3_DOC",.T.),cDocumento) cDocumento := A261RetINV(cDocumento) // aadd(aItensNew, { cDocumento, ddatabase }) // // sequencia // produto, descricao, unidade de medida, local/localizacao origem // produto, descricao, unidade de medida, local/localizacao destino // numero de serie, lote, sublote, data de validade, qunatidade // quantidade na 2 unidade, estorno, numero de sequencia // // AADD( aItensNew , Array( nTamAEstq ) ) nPosAEstq := Len(aItensNew) // Produto Origem aItensNew[nPosAEstq,01] := SB1->B1_COD aItensNew[nPosAEstq,02] := SB1->B1_DESC aItensNew[nPosAEstq,03] := SB1->B1_UM aItensNew[nPosAEstq,04] := cArmFrom aItensNew[nPosAEstq,05] := "" // Produto Destino aItensNew[nPosAEstq,06] := SB1->B1_COD aItensNew[nPosAEstq,07] := SB1->B1_DESC aItensNew[nPosAEstq,08] := SB1->B1_UM aItensNew[nPosAEstq,09] := cArmTo aItensNew[nPosAEstq,10] := "" // aItensNew[nPosAEstq,11] := criavar('D3_NUMSERI') aItensNew[nPosAEstq,12] := IIF(EMPTY(cLote), criavar('D3_LOTECTL'), cLote) aItensNew[nPosAEstq,13] := IIF(EMPTY(cSubLote), criavar('D3_NUMLOTE'), cSubLote) aItensNew[nPosAEstq,14] := criavar('D3_DTVALID') aItensNew[nPosAEstq,15] := criavar('D3_POTENCI') aItensNew[nPosAEstq,16] := nQtd aItensNew[nPosAEstq,17] := criavar('D3_QTSEGUM') aItensNew[nPosAEstq,18] := criavar('D3_ESTORNO') aItensNew[nPosAEstq,19] := criavar('D3_NUMSEQ') aItensNew[nPosAEstq,20] := criavar('D3_LOTECTL') aItensNew[nPosAEstq,21] := criavar('D3_DTVALID') aItensNew[nPosAEstq,21] := criavar('D3_DTVALID') nUltPos := 21 If l261IntWMS aItensNew[nPosAEstq,++nUltPos] := criavar("D3_SERVIC") EndIf aItensNew[nPosAEstq,++nUltPos] := criavar("D3_ITEMGRD") If SD3->(FieldPos("D3_IDDCF"))>0 .And. l261IntWMS aItensNew[nPosAEstq,++nUltPos] := criavar("D3_IDDCF") EndIf If SD3->(FieldPos("D3_OBSERVA")) <> 0 aItensNew[nPosAEstq,++nUltPos] := criavar("D3_OBSERVA") EndIf If (ExistBlock("VCLSAE2")) aItensNew := ExecBlock("VCLSAE2", .f., .f., {aItensNew}) EndIf | ||||||
Programa Fonte: | VEICLSAE.PRW | ||||||
Função: | TransfereLote() | ||||||
Parâmetros: |
| ||||||
Retorno: |
|
Exemplo:
Include totvs.ch
User Function VCLSAE2()
Local aItensAlt := ParamIxb[1]
MsgInfo("Ponto de Entrada VCLSAE2 executado com sucesso!")
Return aItensAlt