SD3 — Movimentos de Estoque

Cada movimento de estoque (entrada, saida, transferencia, ajuste, requisicao, producao) gera 1 SD3. Base de todo controle de estoque do SIGAEST.

SD3 e o "diario" do estoque — toda alteracao em SB2/SBF passa por aqui. Tipo de movimento determinado por D3_TM. SD3 e tabela imensa em base operacional.

Campos principais

CampoTipoDescricao
D3_FILIALCFilial
D3_TMCTipo Movimento: 010=Entrada NF, 510=Saida NF, 999=Transferencia, etc
D3_CODCProduto
D3_LOCALCArmazem origem/destino
D3_LOCALIZCEndereco WMS
D3_QUANTNQuantidade
D3_CUSTO1NCusto unitario
D3_EMISSAODData movimento
D3_DOCCDocumento origem
D3_NUMSERICSerie
D3_CFCCFOP
D3_LOTECTLCLote
D3_OPCOP (se vinculado)
D3_ESTORNOCS=Estornado

Indices

OrdemChave
1D3_FILIAL+D3_DOC+D3_NUMSERI+D3_CLIFOR+D3_LOJA+D3_TM+D3_EMISSAO
2D3_FILIAL+D3_COD+D3_LOCAL+D3_EMISSAO
3D3_FILIAL+D3_OP+D3_TM

Codigo tipico

// Movimentos do dia
SD3->(DBSetOrder(2))
SD3->(DBSeek(xFilial("SD3") + cProd + cArmazem + DToS(dDataBase)))
While !SD3->(Eof()) .And. SD3->D3_EMISSAO == dDataBase
    If SD3->D3_TM < "500"  // entrada
        nEnt += SD3->D3_QUANT
    Else // saida
        nSai += SD3->D3_QUANT
    EndIf
    SD3->(DBSkip())
EndDo

Tabelas relacionadas

TabelaRelacao
SB2Saldo agregado (atualizado por SD3)
SBFSaldo por endereco WMS
SD1/SD2NF que originou
SC2OP que originou

Pegadinhas

Veja também