我的公司有一個問題:我們懷疑我們從我們的應用服務提供商那裏收到的NACHA files我們用來從我們的客戶那裏提取款項是錯誤的。如何使用awk解析固定寬度(NACHA)文件格式?
我們擁有所有的ACH協議和合法的mumbo-jumbo,所以這不是我們使用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]
我贊成建立一個工具,可以做到這一點在連續的基礎向前發展,因爲它會成爲數據監測,我們做每日/每週的基礎上的零件。
那麼,如何使用awk或類似的工具來反規範化NACHA文件?如果工作有更好的工具,我很樂意聽到它。不幸的是,我在網上搜索中找不到任何東西。
有趣的是,您提供的NACHA格式鏈接顯然是可以用於您需要執行的任務的工具。你試過了嗎? – PhiLho 2010-03-10 17:35:19
我知道。我引用: Parse-O-Matic for Business作爲一次性固定許可費出售,並且每年都有一個服務更新組件。 一次性單位牌照售價爲1,995美元。00,包括一年的升級和維護版本。 需要幾個小時才能達到$ 1995.00。 – atroon 2010-03-10 17:51:03
啊,我明白了,我看到他們有一個免費版,但並不是說它只用於非商業,非盈利的用途...... :-) – PhiLho 2010-03-11 16:55:30