Skip to content

Instantly share code, notes, and snippets.

View AndyDaSilva52's full-sized avatar
🎯
Focusing

Anderson da Silva AndyDaSilva52

🎯
Focusing
View GitHub Profile
@AndyDaSilva52
AndyDaSilva52 / MGTRF_VS_MGVEN.sql
Last active July 23, 2019 23:05
MGTRF (Nota Fiscal Autorizada) vs MGVEN (Nota Fiscal Cancelada/Inutilizada)
SELECT
a.fil_in_codigo,
a.not_in_numero,
a.ser_st_codigo,
a.not_dt_emissao,
a.not_ch_situacaonfe,
b.mds_bo_cancelado,
b.mds_ch_situacaonota,
a.acaom_in_sequencia
FROM
@AndyDaSilva52
AndyDaSilva52 / MGCLI.F_VALIDA_CHAVE.sql
Last active July 8, 2019 14:32
#Mega - Função para Validar Chave em Lançamentos de Entrada do Mega (NFe ou CTe)
create or replace FUNCTION F_VALIDA_CHAVE
(
pRCB_ST_CHAVEACESSO IN MGADM.EST_RECEBIMENTO.RCB_ST_CHAVEACESSOCTE%TYPE,
pUF_ST_SIGLA IN MGGLO.GLO_AGENTES.UF_ST_SIGLA%TYPE,
pRCB_DT_DOCUMENTO IN MGADM.EST_RECEBIMENTO.RCB_DT_DOCUMENTO%TYPE,
pAGN_ST_CGC IN MGGLO.GLO_AGENTES.AGN_ST_CGC%TYPE,
pTDF_IN_CODIGO IN MGADM.EST_RECEBIMENTO.TDF_IN_CODIGO%TYPE,
pSER_ST_CODIGO IN MGADM.EST_RECEBIMENTO.SER_ST_CODIGO%TYPE,
pRCB_ST_NOTA IN MGADM.EST_RECEBIMENTO.RCB_ST_NOTA%TYPE
) RETURN VARCHAR2 AS -- Retorna 'S' caso seja válido
@AndyDaSilva52
AndyDaSilva52 / MGCLI.T_CLI_EST_INVENTARIO_ITENS_RSV.sql
Created July 17, 2019 22:23
#Mega - Trigger para não permitir Inventário de Item que tem Código de Reserva para Quantidade que seja diferente de 0 (Zero) #MegaERP
create or replace TRIGGER T_CLI_EST_INVENTARIO_ITENS_RSV
BEFORE UPDATE OF ITI_RE_QTCONTADA ON MGADM.EST_ITENSINVENTARIO
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NVL(NEW.MVS_IN_RESERVA,0) <> 0)
DECLARE
vITI_RE_QTCONTADA MGADM.EST_ITENSINVENTARIO.ITI_RE_QTCONTADA%TYPE;
BEGIN
CASE
@AndyDaSilva52
AndyDaSilva52 / MGCLI.T_CLI_PRO_ORIGEM_AGN_TAU.sql
Created July 23, 2019 13:11
#Mega - Trigger para não permitir gravar registro com Tipo de Agente (AGN_TAU_ST_CODIGO) não compatível com o Tipo de Operação de Terceiro (TPO_CH_TPPERFILMATTERC) do Tipo de Ordem (TPO_ST_CODIGO_TIPO) - #MegaERP
create or replace TRIGGER MGCLI.T_CLI_PRO_ORIGEM_AGN_TAU
BEFORE INSERT ON MGMAN.PRO_ORIGEM
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NEW.ORI_CH_TIPOORIGEM IN ('T')) -- T = Agente de Terceiro
DECLARE
vTPO_CH_TPPERFILMATTERC MGMAN.PRO_TIPOORDENS.TPO_CH_TPPERFILMATTERC%TYPE;
/**
Perfil de Operação
Perfil de Operação Material de Terceiro
@AndyDaSilva52
AndyDaSilva52 / MGTRF.TRF_SERIEDOCFIS_Incluir_em_Lote.sql
Last active July 26, 2019 20:57
#Mega #Tributos - Série/Subsérie - Gera INSERT pra incluir todas as numerações entre 1 e 999 para o cadastro de série do Tributos #MegaERP
SELECT
SEQ.RESULT SER_ST_CODIGO, 'INSERT INTO MGTRF.TRF_SERIEDOCFIS(ser_st_codigo, ser_st_descricao,ser_st_seriesintegra) '
|| 'SELECT '''||
SEQ.RESULT
||''' SER_ST_CODIGO, ''Série '|| LPAD(SEQ.RESULT,3,'0') || ''' SER_ST_DESCRICAO, '''|| SEQ.RESULT ||''' SER_ST_SERIESINTEGRA '
|| 'FROM DUAL WHERE '''|| SEQ.RESULT ||''' NOT IN (SELECT T.SER_ST_CODIGO FROM MGTRF.TRF_SERIEDOCFIS T); COMMIT;'
"INS"
FROM MGTRF.TRF_SERIEDOCFIS A
RIGHT JOIN (
select result from
@AndyDaSilva52
AndyDaSilva52 / MGCLI.T_CLI_GLO_AGENDAINTMULTI.sql
Created July 30, 2019 20:37
#Mega Agendas de Integração - TRIGGER definir sempre um usuário fixo que é utilizado na integração dos movimentos - Modelo que permite múltiplas agendas rodando ao mesmo tempo em diferentes servidores#MegaERP
create or replace TRIGGER MGCLI.T_CLI_GLO_AGENDAINTMULTI
BEFORE INSERT OR UPDATE ON MGGLO.GLO_AGENDAINTMULTI
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
:NEW.AIM_IN_USUARIOINTEGRA := 1;
END;
@AndyDaSilva52
AndyDaSilva52 / MGCLI.T_CLI_EST_RECEB_NFE_CANCELADA.sql
Last active November 16, 2020 18:47
#MegaERP - Trigger para não permitir lançar Nota Fiscal que está Cancelada ou que teve Manifesto de Operação Não Realizada no Gerenciamento de NFe #Mega
create or replace TRIGGER T_CLI_EST_RECEB_NFE_CANCELADA
BEFORE INSERT OR UPDATE ON MGADM.EST_RECEBIMENTO
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
WHEN (NEW.RCB_ST_CHAVEACESSO IS NOT NULL AND SUBSTR(NEW.RCB_ST_CHAVEACESSO,21,2) IN ('55', '65'))
DECLARE
vORIGEM VARCHAR2(200) := '[MGCLI.T_CLI_EST_RECEB_NFE_CANCELADA]';
--N;Nenhuma Operação Realizada
cStatManCienciaOp constant char(1) := 'I'; -- I;Ciência da Operação
@AndyDaSilva52
AndyDaSilva52 / MGCLI.CLI_VW_EST_MOVSUM_RESERVA.sql
Last active August 4, 2020 18:07
#MegaERP - View que mostra a Origem da Reserva de Estoque #Mega
CREATE OR REPLACE FORCE VIEW "MGCLI"."CLI_VW_EST_MOVSUM_RESERVA" ("RN", "FIL_IN_CODIGO", "PRO_IN_CODIGO", "MVS_IN_RESERVA", "MVS_RE_QUANTIDADE", "RSV_CH_ORIGEM", "RSV_CH_ORIGEMDESC", "RSV_ST_DOCUMENTO", "RSV_DT_DOCUMENTO", "RSV_DT_MOVIMENTO", "RSV_ST_SITUACAO") AS
SELECT
"RN",
"FIL_IN_CODIGO",
"PRO_IN_CODIGO",
"MVS_IN_RESERVA",
"MVS_RE_QUANTIDADE",
"RSV_CH_ORIGEM",
CASE rsv_ch_origem
@AndyDaSilva52
AndyDaSilva52 / [MGCLI]_[PACKAGE]_[CLI_PCK_API_RECEITAWS].sql
Last active August 4, 2020 18:07
Package que permite realizar consultas pela API ReceitaWS (https://www.receitaws.com.br/api)
CREATE OR REPLACE PACKAGE "MGCLI"."CLI_PCK_API_RECEITAWS" AS
-- https://www.receitaws.com.br/v1/cnpj/[cnpj]
FUNCTION F_CNPJ(pCNPJ MGGLO.GLO_AGENTES.AGN_ST_CGC%TYPE) RETURN CLOB;
-- https://www.receitaws.com.br/v1/cnpj/[cnpj]
PROCEDURE P_CNPJ(pCNPJ MGGLO.GLO_AGENTES.AGN_ST_CGC%TYPE);
END CLI_PCK_API_RECEITAWS;
@AndyDaSilva52
AndyDaSilva52 / [MGCLI]_[TRIGGER]_[T_CLI_GLO_AGENTES_ID].sql
Last active August 4, 2020 18:08
#MegaERP - Trigger para validações no Cadastro de Agentes (AGN_IN_CODIGO) por Tipo (AGN_TAU_ST_CODIGO) #Mega
CREATE OR REPLACE TRIGGER "MGCLI"."T_CLI_GLO_AGENTES_ID"
BEFORE UPDATE ON MGGLO.GLO_AGENTES_ID
REFERENCING OLD AS OLD NEW AS NEW
FOR EACH ROW
BEGIN
FOR cMOV IN (
SELECT MOV_DT_EMISSAO, MOV_ST_TABELA FROM (
SELECT FRE_DT_EMISSAO MOV_DT_EMISSAO, 'Financeiro - Contas a Receber' MOV_ST_TABELA FROM mgfin.fin_faturareceber WHERE agn_in_codigo = :NEW.AGN_IN_CODIGO and agn_tau_st_codigo = :new.agn_tau_st_codigo AND fre_dt_emissao < :NEW.AGN_DT_INICIOMOV AND fre_dt_emissao = (SELECT MIN(fre_dt_emissao) from mgfin.fin_faturareceber where agn_in_codigo = :NEW.agn_in_codigo and agn_tau_st_codigo = :NEW.agn_tau_st_codigo) and rownum <= 1