INSERT INTO TBPARAMETRO (
    ID, 
    TABELA, 
    CONTROLE, 
    CODIGO, 
    DESCRICAO, 
    VALOR, 
    OBSERVACAO, 
    GRUPO
) VALUES (
    GEN_ID(GTBPARAMETRO,1), 
    'SISTEMA', 
    NULL,
    'ESTABELECIMENTO_PEDIDO_ITEM', 
    'INDICA SE O NUMERO DO ESTABELECIMENTO DEVE SER UTILIZADO NA GERACAO DE CONTROLE DOS ITENS DE PEDIDO', 
    1, 
    '0 - NAO
	 1 - SIM', 
    'WEB12201'
);

CREATE OR ALTER TRIGGER TTBPEDIDO_ITEM_B01I FOR TBPEDIDO_ITEM
ACTIVE BEFORE INSERT POSITION 0
AS
DECLARE VARIABLE ESTABELECIMENTO_PEDIDO_ITEM INTEGER;
BEGIN
  IF(NEW.ID IS NULL) THEN
  BEGIN
    NEW.ID = GEN_ID(GTBPEDIDO_ITEM,1);

    :ESTABELECIMENTO_PEDIDO_ITEM = CAST(COALESCE(FN_PARAMETRO('SISTEMA.ESTABELECIMENTO_PEDIDO_ITEM'),1) AS INTEGER);
    IF(:ESTABELECIMENTO_PEDIDO_ITEM = '1' OR :ESTABELECIMENTO_PEDIDO_ITEM = 1)THEN
    BEGIN
       NEW.CONTROLE = CAST('1'||FN_LPAD(NEW.PEDIDO, 6, '0')||FN_LPAD(NEW.SEQUENCIA, 3, '0') AS INTEGER);
    END
    ELSE
    BEGIN
       NEW.CONTROLE = CAST(FN_LPAD(NEW.PEDIDO, 6, '0')||FN_LPAD(NEW.SEQUENCIA, 3, '0') AS INTEGER);
    END

  END

END;