Identificador de Regra
IMP-075FCISQ01
Módulo: IMP - Impostos.
Finalidade: Permitir ao usuário alterar os comandos SQL padrões do ERP no cálculo da FCI, quando é feito a busca pelos produtos produzidos e seus componentes na gestão de manufatura.
Tela: F075FCI
Transação: Não se aplica.
Regra: Definir Numero IMPNCODEMP;
Definir Alfa IMPASQLOUT;
Definir Alfa IMPASQLPRI;
Definir Alfa IMPATIPOBUSCA;
Se (IMPNCODEMP > 0)
Inicio
Se (IMPATIPOBUSCA = "ManufaturaModeloFichaTecnica")
Inicio
IMPASQLPRI = SELECT PROCMP.FILPRD, E075PRO.CODPRO, E700CTM.CODCMP, E700CTM.DERCMP AS CODDER, +
(E700CTM.QTDUTI + E700CTM.QTDFRQ) AS QTDUTI, '' AS CODLOT, AS NUMSEP, +
AS CODDEP, PROCMP.TIPPRO, E700CTM.UNIME2 AS UNIMED, PROCMP.INDMIS, PROCMP.ORIMER, +
E700MOD.QTDBAS, E700CTM.QTDFRQ, E700CMM.TIPQTD, E710ROT.LOTTEC +
FROM E700CMM, E700CTM, E700LMP, E700MOD +
LEFT JOIN E710ROT ON E710ROT.CODEMP = E700MOD.CODEMP AND +
E710ROT.CODROT = E700MOD.CODROT, E075PRO, E075PRO PROCMP +
WHERE E075PRO.CODEMP = {CODEMP} AND +
E075PRO.CODPRO = {CODPRO} AND +
E700CTM.CODDER = {CODDER} AND +
E700MOD.SITMOD = A AND +
PROCMP.CODEMP = E700CMM.CODEMP AND +
PROCMP.CODPRO = E700CMM.CODCMP AND +
PROCMP.SITPRO = A AND +
E700MOD.CODEMP = E075PRO.CODEMP AND +
E700MOD.CODMOD = E075PRO.CODMOD AND +
E700CMM.CODEMP = E075PRO.CODEMP AND +
E700CMM.CODMOD = E075PRO.CODMOD AND +
E700CTM.CODEMP = E075PRO.CODEMP AND +
E700CTM.CODMOD = E075PRO.CODMOD AND +
E700LMP.CODEMP = E075PRO.CODEMP AND +
E700LMP.CODMOD = E075PRO.CODMOD AND +
E700LMP.CODPRO = E075PRO.CODPRO AND +
E700MOD.CODEMP = E700CMM.CODEMP AND +
E700MOD.CODMOD = E700CMM.CODMOD AND +
E700MOD.CODEMP = E700CTM.CODEMP AND +
E700MOD.CODMOD = E700CTM.CODMOD AND +
E700MOD.CODEMP = E700LMP.CODEMP AND +
E700MOD.CODMOD = E700LMP.CODMOD AND +
E700CMM.CODEMP = E700CTM.CODEMP AND +
E700CMM.CODMOD = E700CTM.CODMOD AND +
E700CMM.CODETG = E700CTM.CODETG AND +
E700CMM.SEQMOD = E700CTM.SEQMOD AND +
E700CMM.CODEMP = E700LMP.CODEMP AND +
700CMM.CODMOD = E700LMP.CODMOD AND +
E700CMM.CODETG = E700LMP.CODETG AND +
E700CMM.SEQMOD = E700LMP.SEQMOD AND +
E700LMP.CODEMP = E700CTM.CODEMP AND +
E700LMP.CODMOD = E700CTM.CODMOD AND +
E700LMP.CODETG = E700CTM.CODETG AND +
E700LMP.SEQMOD = E700CTM.SEQMOD;
MPASQLOUT = SELECT PROCMP.FILPRD, E075PRO.CODPRO, E700CTM.CODCMP, E700CTM.DERCMP AS CODDER, +
(E700CTM.QTDUTI + E700CTM.QTDFRQ) AS QTDUTI, '' AS CODLOT, '' AS NUMSEP, +
AS CODDEP, PROCMP.TIPPRO, E700CTM.UNIME2 AS UNIMED, PROCMP.INDMIS, PROCMP.ORIMER, +
E700MOD.QTDBAS, E700CTM.QTDFRQ, E700CMM.TIPQTD, E710ROT.LOTTEC +
FROM E700CMM, E700CTM, E700LMP, E700MOD +
LEFT JOIN E710ROT ON E710ROT.CODEMP = E700MOD.CODEMP AND +
E710ROT.CODROT = E700MOD.CODROT, E075PRO, E075PRO PROCMP +
WHERE E075PRO.CODEMP = {CODEMP} AND +
E075PRO.CODPRO = {CODPRO} AND +
E700CTM.CODDER = {CODDER} AND +
E700MOD.SITMOD = A AND +
PROCMP.CODEMP = E700CMM.CODEMP AND +PROCMP.CODPRO = E700CMM.CODCMP AND +
PROCMP.SITPRO = 'A' AND "+E700MOD.CODEMP = E075PRO.CODEMP AND +
E700MOD.CODMOD = E075PRO.CODMOD AND +
E700CMM.CODEMP = E075PRO.CODEMP AND +
E700CMM.CODMOD = E075PRO.CODMOD AND +
E700CTM.CODEMP = E075PRO.CODEMP AND +
E700CTM.CODMOD = E075PRO.CODMOD AND +
E700LMP.CODEMP = E075PRO.CODEMP AND +
E700LMP.CODMOD = E075PRO.CODMOD AND +
E700LMP.CODPRO = E075PRO.CODPRO AND +
"E700MOD.CODEMP = E700CMM.CODEMP AND +
E700MOD.CODMOD = E700CMM.CODMOD AND +
E700MOD.CODEMP = E700CTM.CODEMP AND +
E700MOD.CODMOD = E700CTM.CODMOD AND +
E700MOD.CODEMP = E700LMP.CODEMP AND +
E700MOD.CODMOD = E700LMP.CODMOD AND +
E700CMM.CODEMP = E700CTM.CODEMP AND +
E700CMM.CODMOD = E700CTM.CODMOD AND +
E700CMM.CODETG = E700CTM.CODETG AND +
E700CMM.SEQMOD = E700CTM.SEQMOD AND +
E700CMM.CODEMP = E700LMP.CODEMP AND +
E700CMM.CODMOD = E700LMP.CODMOD AND +
E700CMM.CODETG = E700LMP.CODETG AND +
E700CMM.SEQMOD = E700LMP.SEQMOD AND +
E700LMP.CODEMP = E700CTM.CODEMP AND +
E700LMP.CODMOD = E700CTM.CODMOD AND +
E700LMP.CODETG = E700CTM.CODETG AND +
E700LMP.SEQMOD = E700CTM.SEQMOD;
Fim;
Variáveis Disponibilizadas:
Nome | Tipo | Observações | Retorna Valor |
---|---|---|---|
IMPNCODEMP | NÚMERO | Código da Empresa | N |
IMPASQLPRI | ALFA | Comando SQL de busca dos produtos principais | S |
IMPASQLOUT | ALFA | Comando SQL de busca dos sub-produtos do produto principal | S |
IMPATIPOBUSCA | ALFA | Tipo de busca (ManufaturaModeloFichaTecnica ou ManufaturaApontamentoReal) | N |
Atenção
Caso o parâmetro global LisVarReg esteja habilitado, a variável ListaVariaveis estará disponível em todos os identificadores de regras do sistema. O conteúdo desta variável lista os campos disponibilizados no identificador de regras em questão.
Não é aconselhada a ativação desse parâmetro global para o uso cotidiano. Esse recurso de listagem dos campos de identificadores auxilia a construção de regras e o Suporte para, por exemplo, depuração ou quando não houver acesso à documentação dos identificadores de regras.
No exemplo de regra constam os campos que o sistema espera que sejam retornados pelo SQL montado na regra. Todos os campos devem ser retornados. Quando a variável IMPATIPOBUSCA for igual a ManufaturaApontamentoReal, os campos do select QTDBAS, QTDFRQ, TIPQTD, LOTTEC devem ser buscados da seguinte forma: 1 AS QTDBAS, 0 AS QTDFRQ, P AS TIPQTD, 0 AS LOTTEC.
Quando a variável IMPATIPOBUSCA for igual a ManufaturaModeloFichaTecnica, os campos do select devem ser buscados da seguinte forma: E700MOD.QTDBAS, E700CTM.QTDFRQ, E700CMM.TIPQTD, E710ROT.LOTTEC.