Ir para o conteúdo principal

Caso de Uso: Oportunidade de Venda

1. Objetivo do Cenário

O cenário abaixo consiste em um Kanban de Oportunidades (OOPR) no SAP CRM One.
O objetivo foi:

  • Organizar as Oportunidades de Venda por etapas (pipeline).

  • Mostrar os vendedores responsáveis pela abertura e última movimentação da oportunidade.

  • Destacar prioridades de acordo com a classificação da oportunidade (Alto, Médio, Baixo).

  • Exibir datas-chave da negociação: abertura, previsão de fechamento e próximo contato.

  • Controlar o potencial de venda (Valor1) e o valor ponderado (Valor2) conforme a probabilidade.

  • Fornecer uma visão visual e rápida para acompanhamento de status, progresso e prioridade.

2. Estrutura básica

Query inicial

SELECT 
    T4."Descript" AS "Agrupador", -- Agrupador obrigatório (primeira coluna)
    '#DAE8F8' AS "CorAgrupador", -- Cor de fundo da coluna (segunda coluna obrigatória)
    T0."OpprId" AS "IdDoc", -- ID da oportunidade
    97 AS "TipoObjeto", -- Tipo do objeto SAP para oportunidade (ObjectType = 97)
    T0."OpprId" ||' - '|| T0."CardCode" || ' - ' || T1."CardName" AS "Titulo", -- Título do card
    T0."OpenDate" AS "Data1", -- Data inicial da oportunidade
    T0."PredDate" AS "Data2", -- Data prevista de fechamento
    "U_DtProxContato" AS "Data3", -- Data real de fechamento (pode ser NULL)
    T0."Memo" AS "Observacao", -- Observação do card
    T2."SlpName" AS "Responsavel", -- Responsável pela oportunidade (vendedor)
    IFNULL(T7."Descript", 'Alto') AS "Prioridade", -- Prioridade (campo nativo da oportunidade)
    CASE 
    WHEN IFNULL(T7."Descript", 'Alto') = 'Alto' THEN '#00FF00'     -- Verde
    WHEN IFNULL(T7."Descript", 'Alto') = 'Médio' THEN '#FFFF00'    -- Amarelo
    WHEN IFNULL(T7."Descript", 'Alto') = 'Baixo' THEN '#FF0000'    -- Vermelho
    ELSE '#FFF'                                                -- Cor padrão, branco
END AS "CorPrioridade", -- Cor da prioridade (pode ser customizada se quiser)
    T6."descript"  AS "Classificacao", -- Classificação
    '#000' AS "CorClassificacao", -- Cor da classificação
    T0."MaxSumLoc" AS "Valor1", -- Valor potencial da oportunidade (valor local)
    T0."MaxSumLoc" * (T0."CloPrcnt"/100) AS "Valor2", -- Valor 2 (pode ser outro campo, se quiser)
    0 AS "Valor3", -- Valor 3 (idem)
    TO_INT(T0."CloPrcnt") AS "Progresso", -- Progresso (exemplo: 0-5 status → 0%-100%)
    '' AS "CampoUsuario1", -- Campo usuário 1 (ex: tipo)
    '' AS "CampoUsuario2", -- Campo usuário 2 (ex: origem)
    '#DAE8F8' AS "CorDoCard" -- Cor da borda do card (última coluna obrigatória)
 
FROM OOPR T0
 
LEFT JOIN OCRD T1 ON T1."CardCode" = T0."CardCode"
LEFT JOIN OSLP T2 ON T2."SlpCode" = T0."LastSlp"
LEFT JOIN OOST T4 ON T0."StepLast" = T4."StepId"
LEFT JOIN "@DWU_ATENDIMENTO" T5 ON T5."U_CodTipoAtendimento"='1' AND T5."U_BaseEntry" =TO_NVARCHAR(T0."OpprId")
LEFT JOIN OTER T6 ON T6."territryID" = T1."Territory"
left join OOIR T7 ON T0."IntRate"= T7."Num"
WHERE T0."OpenDate" BETWEEN '{[Data1CRMOne][Data Inicial]}' AND '{[Data2CRMOne][Data Final]}'
AND T2."SlpCode" in (SELECT "SlpCode" FROM RetornaVendedoresSubordinados('#UserIDCRM#'))
ORDER BY T0."OpprId"

  3. Estrutura do Kanban

  1. Agrupador (colunas)

    • Baseado em OOST.StepId → etapas da oportunidade.

    • Exemplo: Prospecção, Negociação, Fechamento.

  2. Cards (oportunidades) exibem:

    • Título: ID da OV + Cliente.

    • Responsável: Último vendedor (LastSlp).

    • Observação: Memo da oportunidade.

    • Datas:

      • Data1 = Abertura.

      • Data2 = Previsão de fechamento.

      • Data3 = Próximo contato.

    • Valores:

      • Valor1 = Potencial da OV.

      • Valor2 = Potencial × Probabilidade (%).

      • Valor3 = Não utilizado nesse cenário (padrão = 0).

    • Progresso: Probabilidade de fechamento (CloPrcnt).

    • Campos extras: Reservados para personalização futura.

  3. Cores:

    • Coluna (Agrupador): azul suave #DAE8F8.

    • Card (borda/fundo): também #DAE8F8 neste exemplo.

    • Prioridade:

      • Alto → Verde.

      • Médio → Amarelo.

      • Baixo → Vermelho.


  4. Destaques do Caso

  • Integração com a hierarquia de vendedores:
    Apenas mostra oportunidades ligadas ao usuário ou subordinados (RetornaVendedoresSubordinados).

  • Possibilidade de destacar território (via OTER).

  • Flexibilidade para usar campos de usuário (UDFs), como U_DtProxContato.

  • Estrutura modular: pode ser facilmente expandida para incluir cores dinâmicas no card (fundo e borda) ou regras adicionais de progresso.

 5. Resultado final

image.png