まず、エラーの区分ですが、フォーマットエラーを二つに分けて考える必要があります。
1)フォーマットエラー
①フォーマットエラー(ファイル構成レベルでのフォーマットエラー)
②明細フォーマットエラー(レコードレベルでのフォーマットエラー)
2)オーソリエラー
3)ステータスエラー
1)-①の場合、結果ファイルは返戻されず、エンドフラグのみ返戻されます。
(レコード内容のチェックまで行えないため、Kxx等を返せない)
1)-②の場合、結果ファイル、エンドフラグとも返戻されます。結果ファイルにはエラーレコードのみ出力。
2)、3)の場合、結果ファイル、エンドフラグとも返戻されます。結果ファイルにはOKを含むすべてのレコードが出力されます。
次にファイルの判定項目についてですが、売上データファイルは非オーソリ系なのでformaterrは発生しません。
エラー区分との関連は以下の通りです。
a)nofile -上記1)-① 空ファイルチェックでエラー
b)notype -上記1)-① ファイル名称チェックでエラー
c)formaterr - 該当なし(eと同様のファイルを返戻)
d)over -上記1)-① フラグファイル紐付けチェックでエラー
e)レイアウト不備によるエラー-上記1)-②、2)、3)
1)-①のチェック内容には下記のようなものがございます。
・データファイルが存在すること
・ファイル内のデータにダブルコーテーション(")を含まないこと
・空ファイルでないこと
・ヘッダレコードの項目数が3つ以上存在し、ファイル名称が正しいこと
・過去に同一ファイル名がアップロードされていないこと
・ファイルの行数が、画面の場合は3行以上、SFTPの場合は2行以上であること
・明細レコード件数が上限値以下であること
等