Extrações de Consumo Configuráveis
Extrações de Consumo Configuráveis são extrações de dados de medição para um conjunto de assinaturas de uso opcionalmente relacionadas a um participante de mercado específico.
As opções de configuração para essas extrações incluem:
-
Tipo de Participante do Mercado, com base nas tabelas do Participante do Mercado do Ponto de Serviço ou do Participante do Mercado do Contrato de Uso e relacionamento de mercado
-
Tipos de Assinaturas de Uso associados ao participante do mercado (normalmente um sistema de informações do cliente recebendo determinantes da fatura)
-
Combinações exclusivas de unidade de medida (UM), horário de uso (TOU) e identificador de quantidade de serviço (SQI) associados às assinaturas de uso
-
Identificadores específicos usados para identificar assinaturas de uso, pontos de serviço e dispositivos associados aos dados de medição extraídos
-
Parâmetros de data e hora e frequência da extração
-
Extrair opções de compactação e nomeação de arquivos
As extrações de consumo são exportadas para um arquivo em um local de arquivo especificado, seja em um servidor de aplicativos (em uma implementação local) ou em um local do Oracle Cloud Infrastructure Object Storage.
As extrações de consumo são criadas por meio de Solicitações de Extração de Consumo. Consulte Solicitações de Extração de Consumo no Guia do Usuário de Negócios.
Esta seção descreve a configuração necessária para esses tipos de extrações de consumo.
Tipos de Extração de Consumo
A configuração para extrações de consumo é definida por meio de um Tipo de Extração de Consumo. Consulte Tipo de Extração de Consumo no Guia do Usuário Administrativo para obter mais informações sobre a criação desses registros.
Os tipos de extração de consumo configuráveis devem ser criados usando o objeto de negócios Extração de Consumo de US para Arquivo (D1-ExtractUSConsumptionToFile). Consulte a ajuda incorporada neste objeto de negócios para obter mais detalhes sobre os parâmetros definidos para os tipos de extração de consumo.
Os tipos de extração de consumo Extrair Consumo dos EUA para Arquivo definem os seguintes parâmetros:
- Os participantes do mercado para os quais os dados de medição serão extraídos. Você define os participantes do mercado com base no tipo (Participante do Mercado do Ponto de Serviço ou Participante do Mercado do Contrato de Uso) e no tipo de relacionamento de mercado (varejista, distribuidor, fornecedor etc.) e um participante do mercado específico. Observação: se Específico do Participante do Mercado for definido como "Não", o participante do mercado usado será baseado no Destinatário de Uso no Contrato de Uso ou no Tipo de Contrato de Uso.
- O tipo de consumo (intervalo ou escalar)
- Um ou mais Tipos de Contrato de Uso e uma combinação exclusiva de UM/TOU/SQI relacionada
- Os tipos de ID específicos a serem incluídos no arquivo de extração para o Contrato de Uso, Ponto de Serviço, Ponto de Serviço filho (se aplicável) e Dispositivo
- Parâmetros de execução, incluindo:
- A data e a hora em que os dados foram extraídos para este tipo de extração de consumo
- Um Tipo de Solicitação. Os tipos de solicitação usados com solicitações de consumo devem ser criados usando o objeto de negócios Tipo de Solicitação de Extração de Consumo (D2-IntervalDataExtRepoType) e devem fazer referência ao objeto de negócios Extração de Consumo (D2-IntervalDataExtRepository) no campo Solicitar Objeto de Negócios. (consulte Visão Geral das Solicitações no Guia do Usuário Administrativo do Application Framework)
- A frequência de extrações para este tipo (ad hoc ou diária)
- Controles de lote usados para o processo de extração (consulte Controles de Batch abaixo)
- Parâmetros do arquivo, incluindo:
- O local do arquivo em que os arquivos de extração serão salvos (consulte Armazenamento de Arquivo Externo no Guia do Usuário Administrativo do Application Framework)
- Uma pasta filho opcional no local do arquivo
- Opções de nomeação de arquivo (incluindo um prefixo opcional e um carimbo de data/hora)
- Se o arquivo de extração deve ou não ser compactado (a compactação do arquivo é executada usando gzip)
Controles de Batch
O processo de extração de dados e a criação de arquivos de exportação são executados pelos seguintes controles de lote:
- Extrair Intervalos de AU Atuais para Arquivo (D1-ECUSI): Usado para extrações diárias de consumo de intervalo. Esse processo requer que os dados de Mapeamento de Captura de Intervalo sejam gerados para qualquer um dos tamanhos de intervalo que estão sendo extraídos. Isso ajuda na eficiência da transposição dos dados do intervalo em colunas de intervalo diárias. (consulte Mapeamento de Captura do Intervalo para obter mais informações).
- Extração de Intervalos de US de Substituição para Arquivo (D1-ERUSI): usado para extrações de consumo do intervalo histórico de substituição. Esse processo é executado nos registros de Captura de Dados de Alteração na tabela Processo Geral (consulte Captura de Dados de Alteração de Correção Subsequente de Medição Inicial abaixo).
- Extrair Leituras Escalares de US Atuais para Arquivo (D1-ECUSS): usado para extrações diárias de consumo escalar.
- Extrair Leituras Escalares Contrato Uso Substituto p/Arquivo (D1-ERUSI): usado para extrações de consumo de intervalo escalar de substituição. Esse processo é executado nos registros de Captura de Dados de Alteração na tabela Processo Geral (consulte Captura de Dados de Alteração de Correção Subsequente de Medição Inicial abaixo).
Esses controles de lote são executados para um Tipo de Extração de Consumo e intervalo de datas específicos. O processamento em lote é encadeado pelo ID do Contrato de Uso.
Consulte Solicitações de Extração de Consumo - Controles Batch na seção Definindo Opções DataConnect do capítulo Integrações para obter informações gerais sobre o processo em batch de extração de consumo.
Captura de Dados de Alteração da Correção Subsequente da Medição Inicial
Os algoritmos a seguir mantêm a data/horas do componente de medição com base na data/hora de medição mais recente para o componente de medição. Esses algoritmos também verificam um Tipo de Extração de Consumo que se aplica ao componente de medição da medição inicial atual e identificam se a medição inicial é para uma data/hora que já foi extraída.
Algoritmo |
Descrição |
Tipo de Consumo |
---|---|---|
D1-UPD-DTMC |
Atualizar Data/Hora da Última Medição no MC com Sincronização de Consumo |
Intervalo |
D1-UDTSCMCRE |
Atualizar Data/Hora da Última Medição no MC Escalar com Sincronização de Consumo |
Escalar |
D1-UPD-DTMCF |
Atualizar Data/Hora Mais Recente no MC a partir de uma Medição Futura |
Intervalo |
D1-UPDDTSCMC |
Atualizar Data/Horário Mais Recente no Componente de Medição Escalar |
Escalar |
Se uma medição inicial for para uma data/hora já extraída, esses algoritmos criarão registros de Captura de Dados de Alteração na tabela Processo Geral que capturam o código de lote, o número de execução em lote e o ID da medição inicial. Os processos em lote "Substituição" são executados nesses registros.
- Capturar Alterações de Medição Históricas de CET: verdadeiro
Formato do Arquivo de Extração de Dados - Intervalo
O processo de extração de intervalo produz arquivos JSON (Object Notation) JavaScript com os dados de extração descritos na tabela a seguir.
Observe que os arquivos de extração de intervalo podem armazenar no máximo 300 intervalos. Isso significa que os arquivos de exportação podem armazenar aproximadamente:
- Valor de dados por hora de 12,5 dias
- Valor de 3 dias de dados de 15 minutos
- Valor de 1 dia de dados de 5 minutos
Campo |
Valor de Amostra |
Comentários |
---|---|---|
usId |
995647003500 |
ID do Contrato de Uso definido pelo Tipo de Extração de Consumo |
usType |
E-RES |
Tipo de Contrato de Uso |
pSpId |
458081 |
ID do Ponto de Serviço Original, Nulo quando não há ponto de serviço pai. |
spId |
458081_ 001 |
ID do Ponto de Serviço Filho Este é o ID do Ponto de Serviço definido pelo Tipo de Extração de Consumo |
dvcId |
SN823287793219 |
ID do Dispositivo definido pelo Tipo de Extração de Consumo |
uomTouSqi |
KWH// |
Unidade de Medida/Horário de Uso/Identificador de Quantidade do Serviço, separados por barras ("/") |
tz |
EUA/Leste |
Fuso horário do ponto de serviço. Este é o nome de fuso horário da tabela CI_TIME_ZONE e não o código de fuso horário. |
intPerDay |
288 |
Número de Intervalos para o dia, será de 1 hora a menos ou 1 hora a mais de intervalos para transições DST |
intSize |
300 |
Tamanho de cada intervalo em segundos |
mktPart |
DIRECT_ENERGY |
ID de Participante de Mercado do participante de mercado (se aplicável) |
stDttm |
2020-01-01T00:00:00-05:00 |
Início do dia, semelhante à medição inicial, que representa o início do primeiro intervalo. |
q1 |
1,325 |
Valor de Medição para o primeiro intervalo, a data/hora de medição para esse intervalo seria stDttm mais o intSize |
c1 |
301000 |
Condição de Medição para o primeiro intervalo. Nulo quando "Regular" (501000) |
q2 |
1,230 |
|
c2 |
301000 |
|
... |
q/c 3 a 299 aqui |
|
q300 |
0,9134 |
|
c300 |
30100 |
Exemplo:
{"usId":"995647003500", "usType":"E-RES", "pSpId":"458081", "spId":"458081_001", "dvcId":"SN823287793219", "uomTouSqi":"KWH//",
"tz":"US/Eastern", "intPerDay":"288", "intSize":"300", "mktPart":"DIRECT_ENERGY",
"stDttm":"2020-01-01T00:00:00-05:00", "q1":"1.325", "c1":"301000", "q2":"1.325",
"c2":"301000" "q3":"1.325", "c3":"301000",
<intervening intervals>, "q300":"1.325", "c300":"301000"}
Formato de Arquivo de Extração de Dados - Escalar
O processo de extração escalar produz arquivos JSON (Object Notation) JavaScript com os dados de extração descritos na tabela a seguir.
Nome |
Valor de Amostra |
Comentários |
---|---|---|
c |
301000 |
Condição de medição para leitura escalar Nulo quando "Regular" (501000) |
dvcId |
SN823287793219 |
ID do Dispositivo definido pelo Tipo de Extração de Consumo |
enDttm |
2020-01-02T00:00:00-05:00 |
Data/hora final da leitura |
mktPart |
DIRECT_ENERGY |
ID de Participante de Mercado do participante de mercado (se aplicável) |
pSpId |
458081 |
|
q |
1,325 |
Valor de medição para leitura escalar |
r |
678645 |
Leitura de discagem do medidor |
spId |
458081_ 001 |
ID do Ponto de Serviço definido pelo Tipo de Extração de Consumo |
stDttm |
2020-01-01T00:00:00-05:00 |
Data/hora inicial da leitura (data/hora final da leitura anterior) |
tz |
EUA/Leste |
Fuso horário do ponto de serviço. Este é o nome de fuso horário da tabela CI_TIME_ZONE e não o código de fuso horário. |
uomTouSqi |
KWH// |
Unidade de Medida/Horário de Uso/Identificador de Quantidade do Serviço, separados por barras ("/") |
usId |
995647003500 |
ID do Contrato de Uso definido pelo Tipo de Extração de Consumo |
usType |
E-RES |
Tipo de contrato de uso |
Exemplo (3 registros):
{"usId":"995647003500", "usType":"E-RES", "pSpId":"458081", "spId":"458081_001", "dvcId":"SN823287793219", "uomTouSqi":"KWH//",
"tz":"US/Eastern", "mktPart":"DIRECT_ENERGY", "stDttm":"2020-01-01T00:00:00-05:00",
"enDttm":"2020-01-02T00:00:00-05:00", "q":"1.325", "c":"301000", "r":"678645"}
{"usId":"995647003500", "usType":"E-RES", "pSpId":"458081", "spId":"458081_001", "dvcId":"SN823287793219", "uomTouSqi":"KWH//",
"tz":"US/Eastern", "mktPart":"DIRECT_ENERGY", "stDttm":"2020-01-01T00:00:00-05:00",
"enDttm":"2020-01-02T00:00:00-05:00", "q":"1.325", "c":"301000", "r":"678645"}
{"usId":"995647003500", "usType":"E-RES", "pSpId":"458081", "spId":"458081_001", "dvcId":"SN823287793219", "uomTouSqi":"KWH//",
"tz":"US/Eastern", "mktPart":"DIRECT_ENERGY", "stDttm":"2020-01-01T00:00:00-05:00",
"enDttm":"2020-01-02T00:00:00-05:00", "q":"1.325", "c":"301000", "r":"678645"}
{"usId":"995647003500", "usType":"E-RES", "pSpId":"458081", "spId":"458081_001", "dvcId":"SN823287793219", "uomTouSqi":"KWH//",
"tz":"US/Eastern", "mktPart":"DIRECT_ENERGY", "stDttm":"2020-01-01T00:00:00-05:00",
"enDttm":"2020-01-02T00:00:00-05:00", "q":"1.325", "c":"301000", "r":"678645"}
Estendendo o Processamento de Extração
Algumas implementações podem desejar estender e/ou personalizar o processo de extração com base em requisitos específicos.
Estendendo a Lista de IDs a Ser Usada
Os Tipos de Extração de Consumo definem tipos específicos de IDs a serem usados para Assinaturas de Uso, Pontos de Serviço, Pontos de Serviço filho (se aplicável) e Dispositivos. Se uma implementação quiser estender os tipos de IDs disponíveis, será necessário adicionar valores apropriados aos indicadores de pesquisa usados por cada tipo de ID. A tabela abaixo lista os códigos de consulta usados pelos campos "IDs a Serem Usados".
Tipo de ID |
Indicador de Pesquisa |
---|---|
ID do Contrato de Uso |
Tipo de Identificador do Contrato de Uso (US_ID_TYPE_FLG) |
ID do Ponto de Serviço (usado para pontos de serviço pai e filho) |
Tipo de Identificador do Ponto de Serviço (SP_ID_TYPE_FLG) |
ID do Dispositivo |
Tipo de Identificador de Dispositivo (DVC_ID_TYPE_FLG) |
Processando Registros e Criando Arquivos de Saída
O processo de extração aproveita a funcionalidade genérica Processos em Segundo Plano Orientados a Plug-in, mas funciona de uma maneira um pouco diferente. Em vez de usar o algoritmo Selecionar Registros para recuperar os IDs dos registros individuais a serem processados, esse algoritmo retorna uma faixa de IDs do Contrato de Uso a serem extraídos e o algoritmo Processar Registros executa a consulta detalhada para extrair a faixa de IDs do Contrato de Uso.
Isso oferece dois benefícios:
-
Não há limitação no tamanho da consulta no algoritmo Processar Registros.
-
A recuperação de dados para muitas Assinaturas de Uso em um único momento é significativamente mais eficiente.
Isso significa que qualquer personalização necessária pode ser obtida por meio da criação de um novo controle em lote personalizado (CM) e da duplicação do script Groovy Process Records. É possível fazer alterações no script Groovy personalizado no SQL de extração para recuperar informações adicionais ou fornecer critérios de seleção adicionais. Se alguma alteração for necessária no formato de arquivo que possa ser feita na lógica de processamento de registro que preenche o arquivo.