У моей компании проблема: мы подозреваем, что Файлы NACHA, которые мы получаем от одного из наших поставщиков услуг приложений, которые мы используем для получения денег от наших клиентов, неверны.
У нас есть все соглашения ACH и юридическая чепуха, так что это не проблема с нашим использованием сети ACH, и мы не получаем известий от банков о том, что что-то идет не так, поэтому мы подозреваем, что, когда файл построен на основе информации о продажах, в нем отсутствуют некоторые транзакции, за которые мы все еще взимаем плату с нашего поставщика услуг.
Моя задача: Взять файлы NACHA за несколько месяцев и расшифровать их, чтобы выяснить, что было получено от каждого клиента и что было депонировано на наши счета, а затем сравнить их с данными о продажах, банковскими выписками и другими данными. информацию через Access/Excel. Используйте MySQL для данных.
На данный момент у меня есть инструмент awk (или аналогичный инструмент командной строки Linux); Я не владею «настоящими» инструментами программирования или практикой, я больше администратор системы и базы данных. Я не боюсь испачкать руки, просто у меня нет большого опыта программирования, чтобы читать подобные вещи, скажем, на C#.
Моя главная трудность заключается в работе с фактическим форматом файла NACHA: он имеет ширину 94 символа, поля определяются только своей позицией, без разделителей. Использование awk (по моему предыдущему опыту) зависит от переменной разделителя полей, которая является либо пробелом, либо чем-то еще... но мне не удалось использовать его для выделения полей через позицию. Мне нужно использовать что-то вроде awk из-за разных типов записей в каждом файле, в файле есть 5 разных типов строк: 1, 5, 6, 8 и 9. Типы 1 и 9 — это внешняя группа с информацией о заголовке. , а 5 и 8 — строки заголовка пакета. Строки типа 6 являются деталями. Мой первоначальный план состоял в том, чтобы прочитать информацию заголовка в переменные, а затем продублировать ее в каждой строке, в основном денормализовав ее в большую таблицу (или CSV, между тем) с одной записью для каждой отдельной транзакции, связанной со всей информацией заголовка из партия и день, поэтому:
[transaction data1, data2],[batch data1, data2],[file info1, info2, etc]
[transaction data1, data2],[batch data1, data2],[file info1, info2, etc]
[transaction data1, data2],[batch data1, data2],[file info1, info2, etc]
Я выступаю за создание инструмента, который может делать это на постоянной основе в будущем, потому что он станет частью мониторинга данных, который мы делаем ежедневно/еженедельно.
Итак, как я могу денормализировать файл NACHA с помощью awk или другого подобного инструмента? Если есть лучший инструмент для этой работы, я буду более чем рад услышать о нем. Я ничего не нашел в моем поиске в Интернете, к сожалению.