BaixarComponentes

Baixar componentes de OPs.

Sintaxe: Funcao BaixarComponentes(Alfa pParametros,Alfa End pRetorno);

Parâmetros:O parâmetro pParametros é um valor alfanumérico onde devem ser concatenados os valores listados na tabela abaixo:

Nome Tipo Descrição
CodOri Alfa Código da origem da OP.
NumOrp Alfa Número da OP.
CodEtg Alfa Estágio da OP.
CodCmp Alfa Código do componente.
CodDer Alfa Derivação do componente.
QtdUti Alfa Quantidade utilizada/quantidade a baixar (separador decimal deve ser ponto e não vírgula).
CodLot Alfa Lote do componente.
LotDes Alfa Lote do produto da OP para o qual o componente foi utilizado.
QtdMnc Alfa Quantidade de material não-conforme.
QtdCdr Alfa Quantidade somada a quantidade já informada no componente.
QtdUn2 Alfa Quantidade de acordo com a segunda unidade de medida.
DatMov Alfa Data do movimento.
NumSep Alfa Separadores numéricos.
SepDes Alfa Número de série do produto.
CodTns Alfa Código da transação. Se a transação de baixa não for informada na função, a transação será obtida do componente da OP (tabela F900CMO). Caso não exista transação informada na tabela, será buscada a transação no cadastro da origem e, por último, no cadastro da filial. Observação: se o identificador de regras CHA-900SDPBC01 estiver ativo, será considerado prioritariamente a transação informada nele, desde que a transação não seja informada na função.
CodCcu Alfa Centro de Custos (este valor será utilizado para fazer o movimento de estoque, mesmo quando o componente já estiver na O.P.)

Por esta razão, todos os itens acima estão listados como "Alfa". Estes valores devem estar entre aspas duplas e ser separados por vírgula. O uso destes parâmetros pode ser visto nos exemplos abaixo.

Tipo de retorno: pTipo de retorno: variável alfanumérica que retorna OK caso a baixa tenha sido realizada com sucesso.

Exemplo 1:

Definir Alfa vParametros;
Definir Alfa vRetorno; 
Definir Alfa vNumOrp;
Definir Alfa VACodEtg;
Definir Alfa vQtdUti;
Definir Numero VXCodEmp;


VXCodEmp = CodEmp;
Definir Cursor Cur_E900Cmo;


Cur_E900Cmo.SQL "SELECT * FROM E900CMO, E900COP WHERE E900CMO.CODEMP = :VXCodEmp AND \E900CMO.CODEMP = E900COP.CODEMP AND E900CMO.CODORI = E900COP.CODORI AND \E900CMO.NUMORP = E900COP.NUMORP AND (E900COP.SITORP = 'A'OR E900COP.SITORP = 'L') AND \E900CMO.CODCMP = '2101' AND E900COP.CODORI = '80' ";

Cur_E900Cmo.AbrirCursor();

 

Se (Cur_E900Cmo.Achou)

inicio

IntParaAlfa(Cur_e900Cmo.NumOrp,vNumOrp);
IntParaAlfa(Cur_e900Cmo.CodEtg,vaCodEtg);
IntParaStr(Cur_e900Cmo.QtdPrv,vQtdUti);

SubstAlfa(",", ".", vQtdUti); @ se tiver vírgula, trocar por ponto @ vParametros = "CodOri=" + Cur_E900Cmo.CodOri + ",NumOrp="+vNumOrp + ",CodCmp="+Cur_ E900Cmo.CodCmp;@ vParametros = vParametros + ",CodDer="+Cur_E900Cmo.CodDer+",CodEtg="+vaCodEtg+",QtdUti="+vQtdUti +",LotDes=12345-111,CodLot=123";@ vParametros = vParametros +   ",CodDer="+Cur_E900Cmo.CodDer+",CodEtg="+vaCodEtg+",QtdUti=1,LotDes=12345-111,CodLot=123";

BaixarComponentes(vParametros,vRetorno);

fim;

Nota:

Caso contenha algum espaço no cadastro do produto, seja de código de componente, derivação, origem e outros, as variáveis devem ser passadas conforme exemplo abaixo ( no exemplo abaixo somente o componente tinha espaço em seu cadastro):

Exemplo 2:

Definir Alfa Param;
Definir Alfa aRet;
Param = "CodOri=XX,NumOrp=111,CodEtg=YYY,SeqCmp=0,CodCmp=1111,CodDer=1,QtdUti=0,QtdUn2=1";
BaixarComponentes(Param,aRet); 

Observações:

Utilização da Função (dependentes): Nenhuma.

Identificadores utilizados:

CHA-900SDPBC01

PRD-000ARFDP01

Este artigo ajudou você?