Distribuição de Títulos para Recuperação de Crédito
Esta documentação contém conceitos, informações e parametrizações comuns aos processos automáticos 122, 123, 124 e 125, além da tela Recuperação de Crédito (F320RCR), apresentando informações pertinentes aos processos automáticos e à tela.
A rotina contempla distribuição de títulos para operadores ou assessorias de cobrança e devolução dos títulos destas entidades para a empresa. É executada principalmente através de processo agendado, por oferecer melhor performance, devido a possibilidade de paralelização do processamento em várias instâncias. A tela implementada serve para interações rápidas como mudanças de operador ou assessoria de uma fase, devolução de determinados registros e processos mais rápidos do dia a dia.
Para isso, existem 04 rotinas que podem ser parametrizadas por processos agendados:
- 122: prepara a distribuição de títulos. Faz a leitura de parâmetros, e monta a base de títulos que devem ser distribuídos considerando também as alterações via regra, preparando uma fila para ser utilizada pela rotina 123.
- 123: faz a leitura da fila preparada pela rotina 122. Dispara um serviço que faz a distribuição (é possível paralelizar a quantidade de requisições simultâneas para otimizar a performance).
- 124: prepara os dados para a devolução dos títulos e organiza a fila para ser utilizada pela rotina 125.
- 125: faz a leitura da fila preparada pela rotina 124. Dispara um serviço que faz a devolução (é possível paralelizar a quantidade de requisições simultâneas para otimizar a performance).
A tela Recuperação de crédito (F320RCR) realiza os mesmos processos, podendo-se selecionar "Visualizar/Devolver" ou "Distribuir" e ao mostrar são preparados os registros (respectivamente os processos 122 e 124), e ao processar são efetivamente distribuídos os registros para cobrança (respectivamente os processos 123 e 125).
Tanto nos processos de devolução/distribuição (123 e 125) quanto na tela, o processamento dos dados é realizado por cliente. Ou seja, o processo não distribuirá títulos do mesmo cliente para operadores/assessorias diferentes dentro da mesma empresa.
Funcionamento das Rotinas
Primeira Parte
Tecnicamente, existe uma rotina que prepara quais títulos devem ser distribuídos. Esta rotina recebe alguns parâmetros de entrada e dentre eles, obrigatoriamente, a filial base dos parâmetros, a data base para seleção dos parâmetros e o tipo de data que será considerada para seleção (no caso do processo automático).
São carregados todos os títulos de uma empresa, baseando-se nos parâmetros de uma filial, e podendo ser filtrado por cliente.
Há 3 variáveis extremamente importantes que são alimentadas dentro das tabelas que controlam a rotina:
- Índice: (INDICE) – é gerado com base em um ranking realizado na seleção, que agrupa os títulos vencidos, e este índice é o código do cliente.
- Sessão: (NUMSEC) – é inicializada com base na sessão de conexão capturada do banco de dados. A sessão serve para ser transportada de uma parte da rotina (quem dispara), para quem executa a mesma. Ela também é utilizada na tela, para guardar a sessão do usuário que está executando o processo, de forma que se vários usuários estiverem fazendo alguma distribuição manual em tela, a sessão será diferente para cada um dos usuários e um não vai interferir no trabalho do outro.
- Origem: (ORIGEM) – serve para controlar se o processo está sendo executado de forma automática ou via tela. Possui quase o mesmo papel da sessão, porém tem uma segunda utilidade para que, caso haja sobreposição de sessão no momento da execução e ela já tenha sido distribuída, mesmo assim seja possível excluir os índices processados das tabelas temporárias utilizadas nos processos.
Estes processos criam e alimentam uma série de tabelas por conta própria. Com essas tabelas alimentadas, é possível seguir adiante com o processo, seja via processo agendado ou via tela.
A rotina (processo automático 122 ou "mostrar" da tela com a opção "distribuição") baseada em parâmetros de entrada, dispara a preparação da distribuição conforme essa documentação.
Exemplos de cadastramento do processo 122
Parâmetros utilizados:
TIPODATA = identifica se deve usar uma data fixa ou se deve usar a data de hoje.
- Quando informado data fixa (DATAFIXA), a data base deve ser informada em DATABASEEXECUCAO, sempre no formato DD/MM/YYYY;
Exemplo:
TIPODATA=DATAFIXA
DATABASEEXECUCAO=10/10/2018 - Quando for DATAHOJE, é possível adicionar uma variável DIASCONSIDERAR, onde pode-se somar ou diminuir datas para tomar como data base para o vencimento dos títulos. Exemplo:
TIPODATA=DATAHOJE
DIASCONSIDERAR=-30. Vai levar em consideração a data de hoje - 30 dias. Por padrão não precisa ser utilizado visto que existe a quantidade de dias na fase.
FILPAR= filial de onde serão lidos os parâmetros.
Processo cadastrado para a Empresa 1, filial 1.
Parâmetros: (cadastrar os parâmetros sempre sem espaços, cada um em uma linha)
FILPAR=1
TIPODATA=DATAHOJE
Ao informar a Filial 1, se somente um operador está cadastrado e vinculado às fases dessa filial, todos os títulos serão distribuídos para esse operador. A rotina não levará em consideração os parâmetros das demais filiais.
Caso exista mais de um operador relacionado às fases nesta Filial (dividindo o percentual/quantidade dos títulos), os títulos seriam divididos entre esses operadores, independente da filial do cliente/título.
Segunda Parte
Há uma rotina (processo automático 123 ou "processar" da tela com a opção "distribuição") que está preparada para consumir os registros selecionados (na rotina 122 ou no mostrar da tela) e distribuí-los conforme a parametrização cadastrada para a filial referência.
Na tela, o processamento é feito de forma linear índice por índice, ou seja, cliente após cliente selecionado.
Para o processo automático a rotina recebe como parâmetros de entrada minimamente a quantidade de instâncias que se deseja utilizar para o processamento em paralelo e a quantidade de registros que deve ser processado por instância.
Estes parâmetros devem ser avaliados conforme a disponibilidade de instâncias existentes para o ERP no ambiente a ser executado e também conforme a capacidade de processamento das instâncias e do banco de dados neles instalados.
Exemplos de cadastramento do processo 123
Parâmetros utilizados:
INSTANCIAS - Numero de envios simultâneos, quantidade de instâncias que serão utilizadas para processar (quantos pacotes devem ser enviados).
TAMANHOLOTE - Qual o tamanho do pacote, quantos índices por pacote serão processados.
TEMPOLIMITE - Tempo limite para que o registro seja reprocessado (em segundos).
Processo cadastrado para a Empresa 1, filial 1.
Parâmetros: (cadastrar os parâmetros sempre sem espaços, cada um em uma linha)
INSTANCIAS=20
TAMANHOLOTE=800
TEMPOLIMITE=300
Quando a distribuição é iniciada, ocorre o processamento de um índice por vez, ou seja, um cliente identificado com pelo menos um título em atraso.
Com a leitura das tabelas preparadas no primeiro passo, é realizada a distribuição índice a índice. Para cada índice processado é realizada a atualização no banco de dados, e em seguida a rotina apaga os registros referentes ao índice processado das tabelas relacionadas a distribuição.
O processo de devolução segue a mesma lógica: rotina 124, que prepara a massa de dados e rotina 125, que consome a massa de dados.
Identificador de Regras
Existe também a possibilidade de associar o uso de uma regra, através do identificador CRE-320DTGER01, que permite que seja manipulada a instrução SQL para adicionar filtros aos títulos que serão selecionados para envio ou para devolução, e esta regra é acessível tanto nos processos automáticos que preparam os dados (122 e 124) quanto no mostrar da tela com base na opção selecionada.