Skip to main content

PAAF User Seq Not In Range

When an error in #banking-errors occurs

REJECTED PAAF REPLY FILE /netup/ZR04136/incoming/REPLY.0307090455: ***USER SEQ. NOT IN RANGE***"

Occurs when one PAAF file is generated while another is being accepted, the records is updated twice with mismatching sequence numbers.

This can be corrected by delaying the PAAF output processing so that it will not overlap with PAAF input generation.

Resetting the PAAF output queue

  1. Port forward rabbmit mq management interface and access it here: http://127.0.0.1:15672kubectl -n banking port-forward rabbitmq-0 15672
  2. Authenticate using the admin account stored in 1password
  3. Navigate to the banking.delayed.process_credit_output_files queue and under the Get messages section, expand and select Ack message requeue false then click the Get Message(s) button so the queue is cleared to 0 messages
  4. Once you see a paaf file being generate, simply send a single message with the contents execute to start the output processing queue

Unblocking PAAF generation

  1. Open a shell to the making service kubectl -n banking exec -it banking-images-web-0 bash

  2. Read the latest reply file and confirm that the error is sequence related and that no payments were processed cat /netup/ZR04136/archive/2022/3/REPLY.0307090455 you should see -***NO TRANSMISSION CONTENTS WERE ACCEPTED*** at the end of the reply file

  3. Note the unaccepted numbers eg.

    000L2022030600000RENTAL CONNECT PTY LTD  000000004136
    18612
    900L000 TRANSMISSION 04136-0012316 REJECTED

    900L020 ACB USER SET A855-0001488-000000 REJECTED

    901L020 A855/0001488/000033 00031-***USER SEQ. NOT IN RANGE***

    901L020 A855/0001488/000034 00049-***CONTRA SEQ. NOT IN RANGE***

    901L020 A855/0001488/000000 00011-***TRAILER LAST SEQ NO NOT = LAST TRAN***

    901L000

    User Seq: 1488 ld_user_number: 18612 Transmission Seq: 12316

  4. Read the last successful reply file and note the sequence number cat /netup/ZR04136/archive/2022/3/REPLY.0306223933

     000L2022030600000RENTAL CONNECT PTY LTD        001657704136
    18611
    900L000 TRANSMISSION 04136-0012315 ACCEPTED

    900L020 ACB USER SET A855-0001484-000026 ACCEPTED

    903L020L1063200504095090802A85500002525065562797107531100000529200220307880 REOS RENTAL INCOME AFROROOTS SALON 00000000000000000000 21
    903L020L1263200504095090802A85500002663200504095090802100000529200220307100000REOS CONTRAS4454L4DVK2PGZ

    900L020 ACB USER SET A855-0001485-000028 ACCEPTED

    903L020L1063200504095090802A85500002763200504097574713100000064631220307880 REOS TRS9993676619 REOS 00000000000000000000 21
    903L020L1263200504095090802A85500002863200504095090802100000064631220307100000REOS CONTRAG231ZCCF6KFCEG

    900L020 ACB USER SET A855-0001486-000030 ACCEPTED

    903L020L1063200504095090802A85500002925065562398740277100000494633220307880 REOS RENTAL INCOME MOSHIBUDI MPHAHLELE 00000000000000000000 21
    903L020L1263200504095090802A85500003063200504095090802100000494633220307100000REOS CONTRATS8OK537SSE8Q2

    900L020 ACB USER SET A855-0001487-000032 ACCEPTED

    903L020L1063200504095090802A85500003105100100023341890100000090367220307880 REOS LAU0038A WHITFIELDS TRUST ACCOUNT 00000000000000000000 21
    903L020L1263200504095090802A85500003263200504095090802100000090367220307100000REOS CONTRA4DI7MATB7941PF

    999L000000015
  5. Update the services table, find the row with the matching sequences and decrement the ld_user_number and transmissions_number by 1. Note that user seq might have to be changed depending on the error condition, typically this number is reset daily back to 0.

  6. When the sequences are correct so the :accepted payments can be marked as :pending for retry Open rails REPL rails c

    Request.where(status: :submitted).each { |request|
    request.status = :pending
    request.save!
    }