casos_de_uso:postgres:arrecadacao:uc1678:menu
Diferenças
Aqui você vê as diferenças entre duas revisões dessa página.
Ambos lados da revisão anteriorRevisão anteriorPróxima revisão | Revisão anterior | ||
casos_de_uso:postgres:arrecadacao:uc1678:menu [06/06/2016 18:28] – [[SB0004] - Distribuir Dados do Registro de Movimento de Cartão.] tadeu.sarmento | casos_de_uso:postgres:arrecadacao:uc1678:menu [01/08/2018 12:58] (atual) – tadeu.sarmento | ||
---|---|---|---|
Linha 21: | Linha 21: | ||
Usuário - ([UC1678] - Registrar Movimento Cartão de Débito EEVD) | Usuário - ([UC1678] - Registrar Movimento Cartão de Débito EEVD) | ||
</ | </ | ||
+ | \\ | ||
===== Fluxo Principal: ===== | ===== Fluxo Principal: ===== | ||
- | + | < | |
- | + | | |
- | | + | |
- | * 1.1. Arrecadador | + | |
- | * 1.2. Arquivo de movimento de arrecadador | + | |
- | | + | |
- | | + | |
- | | + | |
- | * 4.1. Atribui o valor “OK” ao campo Descrição da Ocorrência do Movimento; | + | |
- | * 4.2. Atribui o valor 1 (SIM) ao Indicador de Aceitação do Registro do Movimento; | + | |
- | * 4.3.**Caso** o tipo de registro = 05 (D01 = 05), o sistema distribui os dados do conteúdo do registro de movimento do arrecadador, | + | |
- | * 5. Insere a sequência do cartão \\ **[SB0007 - Inserir sequencia do cartão]**; | + | |
- | * 6. Confirma as operações efetuadas no banco de dados \\ **[FS0002 - Verificar sucesso da transação]**. | + | </ |
+ | \\ | ||
===== Subfluxo: ===== | ===== Subfluxo: ===== | ||
==== [SB0001] - Distribuir e Validar o Header e Trailer do arquivo ==== | ==== [SB0001] - Distribuir e Validar o Header e Trailer do arquivo ==== | ||
- | + | O sistema distribui os dados do conteúdo do registro código | |
- | * 1. O sistema distribui os dados do conteúdo do registro código | + | |
| **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | | **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | ||
Linha 49: | Linha 49: | ||
| A03 | 8 | Num. | Data de emissão | | | A03 | 8 | Num. | Data de emissão | | ||
| A04 | 8 | Num. | Data de movimento | | | A04 | 8 | Num. | Data de movimento | | ||
- | | A05 | 39 | Alfa | “Movimentação Diária | + | | A05 | 39 | Alfa | Movimentação Diária - Cartões de Débito | |
- | | A06 | 8 | Alfa | “Rede” | | + | | A06 | 8 | Alfa | Rede | |
| A07 | 26 | Alfa | Nome comercial do estabelecimento | | | A07 | 26 | Alfa | Nome comercial do estabelecimento | | ||
| A08 | 6 | Num. | Sequência de movimento | | | A08 | 6 | Num. | Sequência de movimento | | ||
Linha 56: | Linha 56: | ||
| A10 | 20 | Alfa | Versão do arquivo (V1.04 -- 07/10 -- EEVD) | | | A10 | 20 | Alfa | Versão do arquivo (V1.04 -- 07/10 -- EEVD) | | ||
- | | + | < |
- | * 3. O sistema seleciona o estabelecimento matriz que corresponda ao da empresa que está recebendo o arquivo (ARCT_NNCONTRATO da tabela ARRECADACAO.ARRECADADOR_CONTRATO com ARRC_ID = ARRC_ID do arrecadador selecionado e com ARFM_ID = id correspondente a ‘Cartão de Débito’) | + | |
- | * 3.1. **Caso** não exista ARCT_NNCONTRATO, | + | * 3. O sistema seleciona o estabelecimento matriz que corresponda ao da empresa que está recebendo o arquivo (ARCT_NNCONTRATO da tabela ARRECADACAO.ARRECADADOR_CONTRATO com ARRC_ID = ARRC_ID do arrecadador selecionado e com ARFM_ID = id correspondente a //Cartão de Débito//) |
- | * 3.2. **Caso** (campo A02) diferente do ARCT_NNCONTRATO, | + | * 3.1. **Caso** não exista ARCT_NNCONTRATO, |
- | * 4. O sistema verifica se o arquivo já foi processado, verificando se a sequência do arquivo já está na tabela de registros (SEQUENCIA (A08) existe na tabela ARRECADACAO.SEQUENCIA_CARTAO com SEQU_NNNSA = SEQUENCIA (A08) e com ARFM_ID = id correspondente a ‘Cartão de Débito’). | + | * 3.2. **Caso** (campo A02) diferente do ARCT_NNCONTRATO, |
- | * 4.1. **Caso** exista o sistema exibe a mensagem, ‘Arquivo já processado’ e encerrar o caso de uso. | + | * 4. O sistema verifica se o arquivo já foi processado, verificando se a sequência do arquivo já está na tabela de registros (SEQUENCIA (A08) existe na tabela ARRECADACAO.SEQUENCIA_CARTAO com SEQU_NNNSA = SEQUENCIA (A08) e com ARFM_ID = id correspondente a //Cartão de Débito//). |
- | * 5. O sistema lê o arquivo de movimento de arrecadador sequencialmente até encontrar o registro código | + | * 4.1. **Caso** exista o sistema exibe a mensagem: //Arquivo já processado// e encerrar o caso de uso. |
- | * 6. O sistema distribui os dados do conteúdo do registro | + | * 5. O sistema lê o arquivo de movimento de arrecadador sequencialmente até encontrar o registro código |
+ | * 6. O sistema distribui os dados do conteúdo do registro 04 do movimento do arrecadador: | ||
+ | </ | ||
| **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | | **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | ||
Linha 78: | Linha 80: | ||
| Z11 | 6 | Num. | Total de registros no arquivo | | | Z11 | 6 | Num. | Total de registros no arquivo | | ||
- | | + | < |
+ | | ||
+ | </ | ||
+ | \\ | ||
==== [SB0002] - Inserir Movimento do Arrecadador ==== | ==== [SB0002] - Inserir Movimento do Arrecadador ==== | ||
- | + | O sistema insere os dados dos registros códigos | |
- | + | ||
- | * 1. O sistema insere os dados dos registros códigos | + | |
| ARMV_ID | Id do movimento gerado pelo sistema | | | ARMV_ID | Id do movimento gerado pelo sistema | | ||
Linha 96: | Linha 98: | ||
| ARMV_DSIDENTIFICACAOSERVICO | Campo A05 | | | ARMV_DSIDENTIFICACAOSERVICO | Campo A05 | | ||
|@yellow: ARMV_NNREGISTROSMOVIMENTO |@yellow: Campo Z11 < | |@yellow: ARMV_NNREGISTROSMOVIMENTO |@yellow: Campo Z11 < | ||
- | |@yellow: ARMV_VLTOTALMOVIMENTO |@yellow: Somatório dos valores contidos nos campos D05 - Valor bruto dos registros tipo “05” | | + | |@yellow: ARMV_VLTOTALMOVIMENTO |@yellow: Somatório dos valores contidos nos campos D05 - Valor bruto dos registros tipo 05 | |
| ARMV_TMULTIMAALTERACAO | Data e hora correntes | | | ARMV_TMULTIMAALTERACAO | Data e hora correntes | | ||
+ | \\ | ||
==== [SB0003] - Inserir o item de movimento do arrecadador ==== | ==== [SB0003] - Inserir o item de movimento do arrecadador ==== | ||
- | | + | |
| AMIT_ID | Id do item de movimento do arrecadador, | | AMIT_ID | Id do item de movimento do arrecadador, | ||
Linha 112: | Linha 115: | ||
| IMOV_ID | Nulo | | | IMOV_ID | Nulo | | ||
- | | + | < |
+ | | ||
+ | </ | ||
+ | \\ | ||
==== [SB0004] - Distribuir Dados do Registro de Movimento de Cartão. ==== | ==== [SB0004] - Distribuir Dados do Registro de Movimento de Cartão. ==== | ||
- | + | - O sistema distribui os dados do conteúdo do registro 05 do movimento do arrecadador: | |
- | * 1. O sistema distribui os dados do conteúdo do registro | + | |
| **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | | **Coluna** | **Tam.** | **Tipo** | **Descrição do campo** | | ||
Linha 124: | Linha 128: | ||
| D03 | 9 | Num. | N.º do Resumo de Vendas | | | D03 | 9 | Num. | N.º do Resumo de Vendas | | ||
| D04 | 8 | Num. | Data do CV (DDMMAAAA) | | | D04 | 8 | Num. | Data do CV (DDMMAAAA) | | ||
- | | D05 | 15 | 9(13)V99 | Valor bruto (para o Compre e Saque, este campo será composto pelo “Valor da Compra” + “Valor do Saque”) | | + | | D05 | 15 | 9(13)V99 | Valor bruto (para o Compre e Saque, este campo será composto pelo //Valor da Compra// + //Valor do Saque//) | |
| D06 | 15 | 9(13)V99 | Valor desconto | | | D06 | 15 | 9(13)V99 | Valor desconto | | ||
| D07 | 15 | 9(13)V99 | Valor líquido | | | D07 | 15 | 9(13)V99 | Valor líquido | | ||
Linha 141: | Linha 145: | ||
| D20 | 7 | Num. | Código da autorização | | | D20 | 7 | Num. | Código da autorização | | ||
+ | < | ||
* 2. O sistema verifica se o registro informado é válido para o movimento corrente. | * 2. O sistema verifica se o registro informado é válido para o movimento corrente. | ||
- | * 2.1. **Caso** o número do cartão não esteja informado (Campo D(08) com valor igual a zeros ou espaços), o sistema deverá desprezar o registro atribuindo à descrição da ocorrência a informação: | + | * 2.1. **Caso** o número do cartão não esteja informado (Campo D(08) com valor igual a zeros ou espaços), o sistema deverá desprezar o registro atribuindo à descrição da ocorrência a informação: |
- | * //2.2.// **Caso** a data da transação de cartão de crédito não seja válida para o sistema de arrecadação atual (Campo D(04) menor que constante de data de implantação do sistema GSAN (PARM_DTIMPLANTACAOSISTEM da tabela CADASTRO.SISTEMA_PARAMETROS)), | + | * //2.2.// **Caso** a data da transação de cartão de crédito não seja válida para o sistema de arrecadação atual (Campo D(04) menor que constante de data de implantação do sistema GSAN (PARM_DTIMPLANTACAOSISTEM da tabela CADASTRO.SISTEMA_PARAMETROS)), |
* //2.3.// **Caso** o status da transação seja diferente de acatada (Campo D(12) com valor diferente 01), o sistema deverá desprezar o registro e atribuir à descrição da ocorrência o valor do conteúdo do campo. | * //2.3.// **Caso** o status da transação seja diferente de acatada (Campo D(12) com valor diferente 01), o sistema deverá desprezar o registro e atribuir à descrição da ocorrência o valor do conteúdo do campo. | ||
* 2.4. **Caso Contrário, | * 2.4. **Caso Contrário, | ||
* 2.4.1. O sistema deverá comparar o campo com a numeração do cartão de débito (Campo D(08)), após a criptografia do mesmo, com o valor do cartão informado na confirmação do pagamento por cartão de débito (a partir da tabela ARRECADACAO.PAGAMENTO_CARTAO_DEBITO onde PACC_NNNUMEROCARTAOCREDITO = numeração do cartão de débito, PACD_ICCONFIRMADOOPERADORA = 2 , PACD_VLPAGAMENTOS >= (Valor informado pela operadora (Campo D(05)) -- 0,03)) e PACD_VLPAGAMENTOS <= (Valor informado pela operadora (Campo D(05)) + 0,03)). | * 2.4.1. O sistema deverá comparar o campo com a numeração do cartão de débito (Campo D(08)), após a criptografia do mesmo, com o valor do cartão informado na confirmação do pagamento por cartão de débito (a partir da tabela ARRECADACAO.PAGAMENTO_CARTAO_DEBITO onde PACC_NNNUMEROCARTAOCREDITO = numeração do cartão de débito, PACD_ICCONFIRMADOOPERADORA = 2 , PACD_VLPAGAMENTOS >= (Valor informado pela operadora (Campo D(05)) -- 0,03)) e PACD_VLPAGAMENTOS <= (Valor informado pela operadora (Campo D(05)) + 0,03)). | ||
* 2.4.2. **Caso** o número tenha sido encontrado, o sistema deverá atualizar a confirmação do recebimento da operadora de cartão de débito (ARRECADACAO.PAGAMENTO_CARTAO_DEBITO): | * 2.4.2. **Caso** o número tenha sido encontrado, o sistema deverá atualizar a confirmação do recebimento da operadora de cartão de débito (ARRECADACAO.PAGAMENTO_CARTAO_DEBITO): | ||
+ | </ | ||
| PACD_ID | Id do cartão confirmado | | | PACD_ID | Id do cartão confirmado | | ||
Linha 155: | Linha 161: | ||
| PACD_TMULTIMAALTERACAO | Data e Hora correntes | | | PACD_TMULTIMAALTERACAO | Data e Hora correntes | | ||
- | | + | < |
- | * 2.5. Atribuir a Descrição da Ocorrência do Movimento à Descrição da Ocorrência do Movimento deste caso de uso; | + | * |
- | * 2.6. Atribuir o Indicador de Aceitação do Registro do Movimento ao Indicador de Aceitação do Registro do Movimento deste caso de uso; | + | * |
- | * 2.7. O sistema insere o item de movimento do arrecadador \\ **[SB0003 - Inserir o item de movimento do arrecadador]**. | + | |
- | * 2.8. O sistema deverá atualizar as informações de recebimento no aviso bancário correspondente \\ **[SB0005 - Processar Pagamento Cartão de Débito]**; | + | * 2.5. Atribuir a Descrição da Ocorrência do Movimento à Descrição da Ocorrência do Movimento deste caso de uso; |
+ | * 2.6. Atribuir o Indicador de Aceitação do Registro do Movimento ao Indicador de Aceitação do Registro do Movimento deste caso de uso; | ||
+ | * 2.7. O sistema insere o item de movimento do arrecadador \\ **[SB0003 - Inserir o item de movimento do arrecadador]**. | ||
+ | * 2.8. O sistema deverá atualizar as informações de recebimento no aviso bancário correspondente \\ **[SB0005 - Processar Pagamento Cartão de Débito]**. | ||
+ | </ | ||
+ | \\ | ||
==== [SB0005] - Processar Pagamento Cartão de Débito ==== | ==== [SB0005] - Processar Pagamento Cartão de Débito ==== | ||
+ | < | ||
+ | - Atribuir //Cartão de Débito// à Descrição da Ocorrência do Movimento deste caso de uso; | ||
+ | - Atribuir //Sim// ao Indicador de Aceitação do Registro do Movimento; | ||
+ | - **Caso** o Indicador de Aceitação do Registro do Movimento corresponda a 1 (SIM), o sistema: | ||
+ | - Seleciona o aviso bancário e atualiza o valor da arrecadação e valor realizado conforme descrito abaixo: (a partir da tabela ARRECADACAO.AVISO_BANCARIO onde AVBC_DTLANCAMENTO = Campo D11 (Data do crédito), ARFM_ID que tenha o ARFM_CDARRECADACAOFORMA= //Cartão de Débito//, (AVBC_DTPREVISTA = Campo D11 (Data do crédito) ou AVBC_DTREALIZADA = Campo D11 (Data do crédito)) , (AVBC_VLARRECADACAOCALCULADO com o valor zero ou com ARMV_ID com o id do movimento que está sendo processado) e ARRC_ID = ARRC_ID da tabela ARRECADACAO.ARRECADADOR onde ARRC_CDAGENTE = código agente do arrecadador inserido. | ||
+ | </ | ||
- | + | | AVBC_VLARRECADACAOINFORMADO | Adiciona o valor bruto do pagamento | | |
- | * 1. Atribuir “Cartão de Débito” à Descrição da Ocorrência do Movimento deste caso de uso; | + | | AVBC_VLREALIZADO | Adiciona o valor bruto do pagamento | |
- | * 2. Atribuir “Sim” ao Indicador de Aceitação do Registro do Movimento; | + | \\ |
- | * 3. **Caso** o Indicador de Aceitação do Registro do Movimento corresponda a 1 (SIM), o sistema: | + | |
- | * 4. Seleciona o aviso bancário e atualiza o valor da arrecadação e valor realizado conforme descrito abaixo: (a partir da tabela ARRECADACAO.AVISO_BANCARIO onde AVBC_DTLANCAMENTO = Campo D11 (Data do crédito), ARFM_ID que tenha o ARFM_CDARRECADACAOFORMA= “Cartão de Débito”, (AVBC_DTPREVISTA = Campo D11 (Data do crédito) ou AVBC_DTREALIZADA = Campo D11 (Data do crédito)) , (AVBC_VLARRECADACAOCALCULADO com o valor zero ou com ARMV_ID com o id do movimento que está sendo processado) e ARRC_ID = ARRC_ID da tabela ARRECADACAO.ARRECADADOR onde ARRC_CDAGENTE = código agente do arrecadador inserido. | + | |
- | + | ||
- | | AVBC_VLARRECADACAOINFORMADO | Adiciona o valor “bruto” do pagamento | | + | |
- | | AVBC_VLREALIZADO | Adiciona o valor “bruto” do pagamento | | + | |
==== [SB0006] - Inserir o movimento do cartão rejeitado ==== | ==== [SB0006] - Inserir o movimento do cartão rejeitado ==== | ||
- | + | O sistema insere o movimento do cartão rejeitado na tabela ARRECADACAO.MOVIMENTO_CARTAO_REJEITA com os seguintes valores: | |
- | * 1. O sistema insere o movimento do cartão rejeitado na tabela ARRECADACAO.MOVIMENTO_CARTAO_REJEITA com os seguintes valores: | + | |
| MCRE_ID | Id gerado pelo sistema | | | MCRE_ID | Id gerado pelo sistema | | ||
Linha 184: | Linha 194: | ||
| AMIT_ID | Id do item do movimento do arrecadador | | | AMIT_ID | Id do item do movimento do arrecadador | | ||
| MCRE_TMULTIMAALTERACAO | Data e hora correntes | | | MCRE_TMULTIMAALTERACAO | Data e hora correntes | | ||
+ | \\ | ||
==== [SB0007] - Inserir sequencia do cartão ==== | ==== [SB0007] - Inserir sequencia do cartão ==== | ||
- | + | O sistema insere a sequência do cartão na tabela ARRECADACAO.SEQUENCIA_CARTAO com os seguintes valores: | |
- | * 1. O sistema insere a sequência do cartão na tabela ARRECADACAO.SEQUENCIA_CARTAO com os seguintes valores: | + | |
| SEQU_ID | Id gerado pelo sistema | | | SEQU_ID | Id gerado pelo sistema | | ||
Linha 194: | Linha 204: | ||
| SEQU_TMULTIMAALRERACAO | Data e hora correntes | | | SEQU_TMULTIMAALRERACAO | Data e hora correntes | | ||
|@yellow: SEQU_CDOPCAOEXTRATO |@yellow: 1 | | |@yellow: SEQU_CDOPCAOEXTRATO |@yellow: 1 | | ||
- | | ARFM_ID | Id correspondente a ‘Cartão de Débito’ | | + | | ARFM_ID | Id correspondente a //Cartão de Débito// | |
+ | \\ | ||
===== Fluxo Secundário: | ===== Fluxo Secundário: | ||
- | ==== [FS0001] - Verificar a existência do registro | + | ==== [FS0001] - Verificar a existência do registro 04 ==== |
+ | < | ||
+ | **Caso** até o final do arquivo não seja encontrado o registro código **04** ou, antes do fim do arquivo seja encontrado outro registro código **00** exibir a mensagem: //Arquivo de Movimento Não Possui o registro código **04** (Total do Arquivo)// e encerrar o caso de uso. | ||
+ | </ | ||
+ | \\ | ||
+ | ==== [FS0002] - Verificar sucesso da transação ==== | ||
+ | < | ||
+ | * **Caso** o código de retorno da operação efetuada no banco de dados seja diferente de zero, exibir a mensagem conforme o código de retorno e encerrar o caso de uso. | ||
+ | </ | ||
- | * **Caso** até o final do arquivo não seja encontrado o registro código “04” ou, antes do fim do arquivo seja encontrado outro registro código “00” exibir a mensagem “Arquivo de Movimento Não Possui o registro código “04” (Total do Arquivo)” e encerrar o caso de uso. | + | \\ |
+ | ===== Referências ===== | ||
- | ==== [FS0002] - Verificar sucesso da transação | + | **Registrar Movimento Cartão de Débito EEVD** |
+ | |||
+ | |||
+ | ==== Termos Principais | ||
+ | |||
+ | **[[=ajuda: | ||
+ | |||
+ | **[[postgres: | ||
+ | \\ | ||
- | * **Caso** o código de retorno da operação efetuada no banco de dados seja diferente de zero, exibir a mensagem conforme o código de retorno e encerrar o caso de uso. |
casos_de_uso/postgres/arrecadacao/uc1678/menu.1465237691.txt.gz · Última modificação: 31/08/2017 01:11 (edição externa)