Esta versão do sistema foi descontinuada e não recebe atualizações e novas implementações. Acesse a documentação da versão 5.10.3 aqui

GerarSubprodutosOPModel

Gerar registros de subprodutos de OPs antigas, antes de existir a tabela E900SPR.

Sintaxe: GerarSubprodutosOPModelo (Numero aCodEmp, Alfa aCodOri, Numero aNumOrp, Alfa End aRetorno);

Parâmetros:

Nome Tipo Descrição
aCodEmp Numero Código da Origem.
aCodOri Alfa Número da OP.
aNumOrp Numero  
aRetorno Alfa Mensagem de Retorno.

Tipo de retorno: Retorna um texto em relação a execução do processo. “OK” significa que a rotina foi executada com sucesso e também retornará as mensagens de consistência incluídas na rotina.

Exemplo:

@-- Define uma vari?vel do tipo Alfa--@

Definir Alfa xCursor;

@-- Cria o cursor --@

SQL_Criar(xCursor);

@-- Define um comando para poder carregar as informa??es no Cursor --@

SQL_DefinirComando(xCursor, "SELECT E900COP.CODEMP, E900COP.CODORI, E900COP.NUMORP \

               FROM E900COP, E083ORI \

               WHERE E083ORI.CODEMP = E900COP.CODEMP AND \

                       E083ORI.CODORI = E900COP.CODORI AND E900COP.SITORP <> 'C' AND \

                       E083ORI.INDCEE = 'S' AND \

                       NOT EXISTS (SELECT 1 FROM E900SPR \

                            WHERE E900SPR.CODEMP = E900COP.CODEMP AND E900SPR.CODORI = E900COP.CODORI AND \

                                 E900SPR.NUMORP = E900COP.NUMORP \

                              ) AND \

                 EXISTS (SELECT 1 FROM E700CMM, E900QDO \

                    WHERE E900QDO.CODEMP = E900COP.CODEMP AND E900QDO.CODORI = E900COP.CODORI AND \

                        E900QDO.NUMORP = E900COP.NUMORP AND E700CMM.CODEMP = E900QDO.CODEMP AND \

                        E700CMM.CODMOD = E900QDO.CODMOD AND E700CMM.INDEOS = 'E' AND E900QDO.PROORI = 'S' \

                      )");

Definir numero xCodEmp;

Definir alfa xCodOri;

Definir numero xNumOrp;

Definir alfa xRetorno;

 

@-- Abrir o cursor para Ultiliza??o --@

SQL_AbrirCursor(xCursor);

Enquanto (SQL_EOF(xCursor) = 0)

{

SQL_RetornarInteiro(xCursor, "CodEmp", xCodEmp);

Sql_RetornarAlfa(xCursor, "CodOri", xCodOri);

Sql_RetornarInteiro(xCursor, "NumOrp", xNumOrp);

GerarSubprodutosOPModelo(xCodEmp, xCodOri, xNumOrp, xRetorno);

 

SQL_Proximo(xCursor);

}

SQL_FecharCursor(xCursor);

@-- Destroi o cursor da mem?ria --@

SQL_Destruir(xCursor);

Observações: Observar que a quantidade realizada do subproduto ficará zerada, independentemente de haver entrada de estoque do subproduto (tela F901ACP, guia Subprodutos). Esta função de programador deve ser usada somente em OP na qual deseja-se fazer a entrada de subprodutos. Caso seja feita para OP já finalizada e que tiver sua entrada de subproduto realizada, ao consultá-la os dados de quantidade realizada aparecerão errados.

Este artigo ajudou você?