Merge pull request #234 feature-NEWDWH2021-1130_add_tsv_tab_check into develop

This commit is contained in:
朝倉 明日香 2023-07-20 11:58:38 +09:00
commit 35d8a96330
37 changed files with 1083 additions and 83 deletions

View File

@ -6,6 +6,8 @@ name = "pypi"
[scripts]
"test:ultmarc" = "pytest tests/batch/ultmarc/"
"test:ultmarc:cov" = "pytest --cov=src/batch/ultmarc/ --cov-branch --cov-report=term-missing tests/batch/ultmarc/"
"test:vjsk" = "pytest tests/batch/vjsk/"
"test:vjsk:cov" = "pytest --cov=src/batch/vjsk/ --cov-branch --cov-report=term-missing tests/batch/vjsk/"
[packages]
boto3 = "*"

View File

@ -44,7 +44,7 @@
- 「entrypoint.py」が、バッチ処理のエントリーポイント。
- 実際の処理は、「src/jobctrl_daily.py」で行っている。
## 単体テスト
## 単体テスト(アルトマーク取込処理)
アルトマーク取込処理は、単体テストコードを使用してテスト自動化を行う
@ -68,7 +68,7 @@
| コマンド | 概要 |
| ---------------- | -------------------------------------------------------------------------------------------- |
| test:ultmarc | tests/batch/ultmarc フォルダ配下のユニットテストを実行する |
| test:ultmarc:cov | tests/batch/ultmarc フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C1, C2) |
| test:ultmarc:cov | tests/batch/ultmarc フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C0, C1) |
### テスト共通関数の仕様
@ -156,6 +156,43 @@
- テスト結果データと期待値データを突き合わせ、期待値どおりとなっているかを確認する
- ignore_col_nameに指定したカラムは、呼び出し元のテストコード内で個別に突き合わせする
## 単体テスト(実消化データ取込処理)
実消化データは、単体テストコードを使用してテスト自動化を行う
### テスト準備
※単体テスト(アルトマーク取込処理)と同じ
### テスト用のサブコマンド一覧
- `pipenv run`のあとに、サブコマンドとしてユーザー定義スクリプトを実行できる
- `Pipfile`内の「scripts」セクションに宣言されている
| コマンド | 概要 |
| ---------------- | -------------------------------------------------------------------------------------------- |
| test:vjsk | tests/batch/vjsk フォルダ配下のユニットテストを実行する |
| test:vjsk:cov | tests/batch/vjsk フォルダ配下のユニットテストを実行し、テストカバレッジを取得する(C0, C1) |
### テスト共通関数の仕様
- tests/testing_vjsk_utility.py内の共通関数の仕様について記載する
#### create_vjsk_assertion_list
- 概要
- DB登録期待値リストを作成する
- Args:
- file_path (str): DB登録期待値ファイル(tsvファイル)のパス
- memo: ※DB登録期待値ファイルの前提
- memo: 受領データファイルと同じ
- memo: BOM付きtsv形式
- memo: 一行目はカラム名になっているヘッダ行
- Returns:
- List(dict) DB登録期待値辞書リスト
## フォルダ構成
```text
@ -203,16 +240,53 @@
└── tests -- ユニットテストのルートディレクト
├── batch
│ └── ultmarc -- アルトマーク関連のユニットテストを格納する
│ └── utmp_tables
│ └── table_mapper -- 以下、マッパークラス単位でフォルダを切る
│ └── com_alma
│ ├── test_com_alma_mapper.py -- テストコード本体
│ ├── com_alma_insert.csv -- S3に配置される想定のテストCSVデータ。ケースごとに用意する。
│ ...
│ ├── db_com_alma_before_update.csv -- テスト時に事前にDBに登録しておくデータ。CSVで用意する。
│ ...
│ ├── expect_com_alma_insert.csv -- テストの期待値データ。CSVで用意する。
│ ...
│ │ └── utmp_tables
│ │ └── table_mapper -- 以下、マッパークラス単位でフォルダを切る
│ │ └── com_alma
│ │ ├── test_com_alma_mapper.py -- テストコード本体
│ │ ├── com_alma_insert.csv -- S3に配置される想定のテストCSVデータ。ケースごとに用意する。
│ │ ...
│ │ ├── db_com_alma_before_update.csv -- テスト時に事前にDBに登録しておくデータ。CSVで用意する。
│ │ ...
│ │ ├── expect_com_alma_insert.csv -- テストの期待値データ。CSVで用意する。
│ │ ...
│ └─vjsk -- 実消化データ取込処理関連のユニットテストを格納する
│ │
│ ├─vjsk_file_check -- 受領ファイルチェック処理関連のユニットテストを格納する
│ │ ├─conftest.py -- テスト内で共通利用できるフィクスチャの宣言
│ │ └─test_vjsk_file_check.py -- テストクラス本体
│ │
│ └─vjsk_load -- 受領データ登録処理関連のユニットテストを格納する
│ │ conftest.py -- テスト内で共通利用できるフィクスチャの宣言
│ │ test_vjsk_load.py -- テストクラス本体
│ │
│ └─testdata -- テストモジュールが使用するテストデータを格納する
│ │ bio_slip_data_202304280000.tsv -- 正常ケースの単体確認用
│ │ ... -- *20230428* は新規4件の登録確認用
│ │ whs_mst_202304290000.tsv -- *20230429* は更新2件+追加新規2件の登録確認用
│ │
│ ├─NoData -- 正常ケースの単体確認用
│ │ bio_slip_data_nodatarecord.tsv -- ヘッダ行のみでデータが0件の動作確認用
│ │ ...
│ │ whs_mst_nodatarecord.tsv
│ │
│ ├─TestFormatErrorFile -- 異常ケースの単体確認用
│ │ bio_slip_data_formaterror.tsv -- 末尾行のタブ数が想定と異なる(ファイル欠落がある)ときの動作確認用
│ │ ...
│ │ whs_mst_formaterror.tsv
│ │
│ ├─TestImportFileToDb -- 正常ケースの単体確認用
│ │ bio_slip_data_202304270000.gz -- 対向元システムから送られてきた状態(gz圧縮)の受領データファイルの動作確認用
│ │ ...
│ │ whs_mst_202304270000.gz
│ │
│ └─UnzipError -- 異常ケースの単体確認用
│ bio_slip_data_202304270000.gz -- gz圧縮ファイルが解凍できないときの動作確認用
│ ...
│ whs_mst_202304270000.gz
├── conftest.py -- テスト内で共通利用できるフィクスチャを宣言する(執筆時点ではDBのみ)
└── testing_utility.py -- テストの共通関数
├── testing_utility.py -- テストの共通関数
└── testing_vjsk_utility.py -- テストの共通関数(実消化データ取込処理関連)
```

View File

@ -1,4 +1,6 @@
# from src.batch.vjsk.vjsk_recv_file_manager import VjskDatFile
import os
from src.batch.vjsk.vjsk_recv_file_mapper import VjskReceiveFileMapper
from src.db.database import Database
from src.error.exceptions import BatchOperationException
@ -9,10 +11,21 @@ mapper = VjskReceiveFileMapper()
class VjskDataLoadManager:
"""
V実消化データ取込機能クラス
"""
def __init__(self):
pass
def _import_to_db(src_file_name: str, condkey: str):
"""
概要
指定されたtsvファイル src_file_name を策席スキーマに登録する
引数
src_file_name: ローカルストレージにある取込対象tsvファイルパス
condkey: 受領データの種類を一意に示す値(VjskReceiveFileMapperクラスで管理されているCONDKEY値)
"""
logger.debug(f"_import_to_db start (src_file_name : {src_file_name}, condkey : {condkey})")
db = Database.get_instance()
@ -22,6 +35,7 @@ class VjskDataLoadManager:
upsert_sql = mapper.get_upsert_sql(condkey)
try:
# データベース接続
db.connect()
db.execute("SET SESSION sql_mode = 'TRADITIONAL';")
@ -50,51 +64,96 @@ class VjskDataLoadManager:
# MEMO: https://docs.sqlalchemy.org/en/14/core/connections.html#sqlalchemy.engine.BaseCursorResult.rowcount
logger.info(f'{table_name_org}{table_name_src}にUPSERT')
# データベースコミット
db.commit()
except Exception as e:
db.rollback()
raise BatchOperationException(e)
finally:
# データベース切断
db.disconnect()
logger.debug("_import_to_db done")
return
def _get_tsv_last_row_tab_count(src_file_name: str) -> int:
"""
概要
指定されたtsvファイル src_file_name の末尾行に含まれるタブ文字数を取得する
引数
src_file_name: ローカルストレージにある取込対象tsvファイルパス
"""
# memo: tsvファイルが数百MBに及ぶことを想定して、末尾から1行分を参照する
# memo: 前提1 行区切りは LF('\n')
# memo: 前提2 正常時のファイル終端にある文字は、末尾行の LF('\n')
# memo: 前提3 ファイルエンコードはBOM付UTF-8(先頭3byteが b'\xEF' + b'\xBB' + b'\xBF' )
buf_count = 0
# ファイルサイズ取得
file_size = os.path.getsize(src_file_name)
# ファイルサイズが0byteなら処理終了
if file_size == 0:
return buf_count
# バイナリモードでファイルオープン
with open(src_file_name, 'rb') as file:
# ファイルの末尾から2バイト手前に移動
file.seek(-2, 2)
# 改行文字を見つけるまで逆方向に読み進める
while file.read(1) != b'\n':
# 1バイト戻って再度読み込み
file.seek(-2, 1)
# 末尾行を抽出
last_line = file.readline().decode().rstrip('\n')
# 末尾行に含まれるタブ文字の数を抽出
# ファイルポインタを末尾に移動
file.seek(0, os.SEEK_END)
# ファイルポインタが先頭+1になるまで逆方向にシークする
while file.tell() > 1:
# 2byte戻って
file.seek(-2, os.SEEK_CUR)
# 1byte読む(同時に+1シークする)
char = file.read(1)
# 行区切りを検出したらループ終了
# memo: UTF-8 バイトシーケンスとして、b'\n' が全角文字の一部にはならない
if char == b'\n':
break
# ファイル先頭のBOM3byte目の BF を検出したらループ終了
# memo: UTF-8 バイトシーケンスとして、b'\xbf' が全角文字の一部の可能性がある(例:全角片仮名の「タ」)
# memo: charに代入したときのfile.read(1)によって、ファイルポインタは2→3になっている前提のロジック
if char == b'\xbf' and file.tell() == 3:
break
last_line = file.readline().decode('utf-8-sig').rstrip('\n')
buf_count = last_line.count('\t')
return buf_count
@classmethod
def load(self, target: dict):
"""
概要
取込対象受領ファイル target をデータベースに登録する
引数
target: {
condkey: 受領データの種類を一意に示す値(VjskReceiveFileMapperクラスで管理されているCONDKEY値)
src_file_path: ローカルストレージにある取込対象tsvファイルパス
}
"""
logger.debug(f'load start target:{target}')
# S3からローカルストレージにdownloadした登録対象のtsvファイルパスを取得
local_file_name = target["src_file_path"]
# tsvファイル末尾行のTABの数が総定数と一致しない場合は例外をスロー
# TODO: ↓↓↓developへのマージを優先させたいので、未テストのロジックはコメントアウトする
# tsv_tabs = self._get_tsv_last_row_tab_count(local_file_name)
# expect_tabs = mapper.get_file_column_separators(target["condkey"])
# if tsv_tabs != expect_tabs:
# msg = f"受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした local_file_name: {local_file_name}"
# raise BatchOperationException(msg)
# TODO: ↑↑↑developへのマージを優先させたいので、未テストのロジックはコメントアウトする
# memo:
# 対向元システムで生成されるファイルは稀に途中欠落が発生することがある。
# これを、ファイルMySQL8.0のLOADステートメントで発生するWARNING/ERRORでは検知不可能なので、
# LOADステートメント実行前に、物理的に途中欠落があるかを検知してエラーとすることが目的。
tsv_tabs = self._get_tsv_last_row_tab_count(local_file_name)
expect_tabs = mapper.get_file_column_separators(target["condkey"])
if tsv_tabs != expect_tabs:
msg = [
"受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした",
f"local_file_name: {local_file_name}",
f"末尾行のtab数: {tsv_tabs}",
f"tab想定数: {expect_tabs}"
]
raise BatchOperationException(' '.join(msg))
# データベース登録
self._import_to_db(local_file_name, target["condkey"])

View File

@ -2,6 +2,9 @@ import textwrap
class VjskReceiveFileMapper:
"""
実消化データファイルI/Fマッピング定義クラス
"""
CONDKEY_SLIP_DATA = "SLIP_DATA" # 販売実績データ
CONDKEY_HLD_MST = "HLD_MST" # V卸ホールディングスマスタ
CONDKEY_WHS_MST = "WHS_MST" # V卸マスタ
@ -1489,27 +1492,75 @@ class VjskReceiveFileMapper:
return ret
def get_data_name(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定するファイル論理名を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_DATA_NAME)
def get_file_prefix(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定するファイル名接頭辞を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_FILE_PREFIX)
def get_file_suffix(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定するファイル拡張子を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_FILE_SUFFIX)
def get_file_column_separators(self, condkey: str) -> int:
"""
概要
受領ファイルI/Fが想定する1行あたりのタブ文字数を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return int(self._get_interface_property(condkey, self._KEY_FILE_COLUMN_SEPARATORS))
def get_org_table(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定するLOAD先ロードスキーマテーブル名を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_ORG_TABLE)
def get_src_table(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定する登録先蓄積スキーマテーブル名を取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_SRC_TABLE)
def get_upsert_sql(self, condkey: str) -> str:
"""
概要
受領ファイルI/Fが想定するupsert (ロードスキーマ蓄積スキーマ) CMLステートメントを取得する
引数
condkey: 受領データの種類を一意に示す値(このクラスのメンバ CONDKEY_* の値)
"""
return self._get_interface_property(condkey, self._KEY_UPSERT_SQL)
def get_condkey_by_s3_file_path(self, s3_file_path: str) -> str:
"""
概要
S3受領バケットに受領したファイル名からI/F想定に該当する condkey 値を取得する
引数
s3_file_path: S3受領バケットにある受領したファイルパス
"""
ret = None
filename = s3_file_path[s3_file_path.rfind("/") + 1:]
for condkey in self._VJSK_INTERFACE_MAPPING:

View File

@ -23,7 +23,6 @@ def receive_folder():
return os.environ["VJSK_DATA_RECEIVE_FOLDER"]
# TODO 共通fixtureにして15個固定でput/delete、各個別fixtureで15個から引き算でdeleteする
@pytest.fixture
def init_check_received_files_ok1(s3_client, bucket_name, receive_folder):
# setup

View File

@ -17,6 +17,9 @@ from tests.testing_vjsk_utility import (assert_table_results,
class TestImportFileToDb:
"""
V実消化データ取込データベース登録処理 テストクラス
"""
db: Database
batch_context: BatchContext
test_file_path_import_all: str
@ -1163,56 +1166,6 @@ class TestImportFileToDb:
key = f"{receive_folder}/{test_file}"
s3_client.delete_object(Bucket=bucket_name, Key=key)
def test_load_data_error(self, mapper):
"""
観点
異常系 : 日付型矛盾のデータ 製品価格マスタファイルで確認
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual, "phm_price_mst_dataerror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("SQL Error:") > 0
# teardown
def test_load_format_error(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual, "phm_price_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("LOAD文実行時にWARNINGが発生しました。") > 0
# teardown
def test_s3backup_ok(self, s3_client, bucket_name, receive_folder, mapper):
"""
観点
@ -1293,3 +1246,783 @@ class TestImportFileToDb:
assert str(e.value) == "An error occurred (404) when calling the HeadObject operation: Not Found"
# teardown
def test_load_format_error_01(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_STOCK_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "stock_slip_data_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_02(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "slip_data_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_03(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_ORG_CNV_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "org_cnv_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_04(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_VOP_HCO_MERGE,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "vop_hco_merge_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_05(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_WHS_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "whs_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_06(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_HLD_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "hld_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_07(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_FCL_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "fcl_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_08(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_MKR_ORG_HORIZON,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "mkr_org_horizon_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_09(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_TRAN_KBN_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "tran_kbn_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_10(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRD_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "phm_prd_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_11(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "phm_price_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_12(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_WHS_CUSTOMER_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "whs_customer_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_13(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_MDB_CONV_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "mdb_conv_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_14(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_BIO_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "bio_slip_data_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_format_error_15(self, mapper):
"""
観点
異常系 : tsvファイルが途中で欠落している
期待値
例外が発生する
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_LOT_NUM_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"TestFormatErrorFile", "lot_num_mst_formaterror.tsv")
}
with pytest.raises(BatchOperationException) as e:
VjskDataLoadManager.load(target_dict)
# 検証
assert str(e.value).startswith("受領tsvファイルの末尾行のTABの数が総定数と一致しませんでした") > 0
# teardown
print(e)
def test_load_no_data_ok_01(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_STOCK_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "stock_slip_data_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_02(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "slip_data_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_03(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_ORG_CNV_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "org_cnv_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_04(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_VOP_HCO_MERGE,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "vop_hco_merge_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_05(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_WHS_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "whs_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_06(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_HLD_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "hld_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_07(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_FCL_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "fcl_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_08(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_MKR_ORG_HORIZON,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "mkr_org_horizon_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_09(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_TRAN_KBN_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "tran_kbn_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_10(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRD_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "phm_prd_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_11(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_PHM_PRICE_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "phm_price_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_12(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_WHS_CUSTOMER_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "whs_customer_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_13(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_MDB_CONV_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "mdb_conv_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_14(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_BIO_SLIP_DATA,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "bio_slip_data_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown
def test_load_no_data_ok_15(self, mapper):
"""
観点
正常系 : tsvファイルレコード0件の取込
期待値
例外が発生しないこと
"""
# setup
self.batch_context.is_vjsk_stock_import_day = True
# 処理実行
target_dict = {
"condkey": mapper.CONDKEY_LOT_NUM_MST,
"src_file_path": path.join(self.test_file_path_load_individual,
"NoData", "lot_num_mst_nodatarecord.tsv")
}
VjskDataLoadManager.load(target_dict)
# 検証
assert True
# teardown

View File

@ -0,0 +1 @@
"rec_data" "rec_whs_cd" "rec_whs_sub_cd" "rec_whs_org_cd" "rec_cust_cd" "rec_comm_cd" "rec_tran_kbn" "rec_hsdnYmd_wrk" "rec_hsdnYmd_srk" "rec_urag_no" "rec_comm_nm" "rec_nnskFcl_nm" "rec_nnsk_fcl_addr" "rec_lot_num1" "rec_amt1" "rec_lot_num2" "rec_amt2" "rec_lot_num3" "rec_amt3" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "hsdn_ymd" "exec_dt" "v_tran_cd" "tran_kbn_nm" "whs_org_cd" "v_whsOrg_cd" "whs_org_nm" "whs_org_kn" "v_whs_cd" "whs_nm" "nnsk_cd" "fcl_cd" "fcl_nm" "fcl_kn" "fcl_addr_v" "comm_cd" "comm_nm" "htdnYmd_err_kbn" "prd_exis_kbn" "fcl_exis_kbn" "amt1" "amt2" "amt3" "slip_org_kbn" "bef_slip_mgt_no" "whs_rep_comm_nm" "whs_rep_nnskFcl_nm" "whs_rep_nnsk_fcl_addr" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "err_flg11" "err_flg12" "err_flg13" "err_flg14" "err_flg15" "err_flg16" "err_flg17" "err_flg18" "err_flg19" "err_flg20" "kjyo_ym" "tksNbk_kbn" "fcl_exec_kbn" "rec_sts_kbn" "ins_dt" "ins_usr"
1 rec_data rec_whs_cd rec_whs_sub_cd rec_whs_org_cd rec_cust_cd rec_comm_cd rec_tran_kbn rec_hsdnYmd_wrk rec_hsdnYmd_srk rec_urag_no rec_comm_nm rec_nnskFcl_nm rec_nnsk_fcl_addr rec_lot_num1 rec_amt1 rec_lot_num2 rec_amt2 rec_lot_num3 rec_amt3 rec_ymd sale_data_cat slip_file_nm slip_mgt_no row_num hsdn_ymd exec_dt v_tran_cd tran_kbn_nm whs_org_cd v_whsOrg_cd whs_org_nm whs_org_kn v_whs_cd whs_nm nnsk_cd fcl_cd fcl_nm fcl_kn fcl_addr_v comm_cd comm_nm htdnYmd_err_kbn prd_exis_kbn fcl_exis_kbn amt1 amt2 amt3 slip_org_kbn bef_slip_mgt_no whs_rep_comm_nm whs_rep_nnskFcl_nm whs_rep_nnsk_fcl_addr err_flg1 err_flg2 err_flg3 err_flg4 err_flg5 err_flg6 err_flg7 err_flg8 err_flg9 err_flg10 err_flg11 err_flg12 err_flg13 err_flg14 err_flg15 err_flg16 err_flg17 err_flg18 err_flg19 err_flg20 kjyo_ym tksNbk_kbn fcl_exec_kbn rec_sts_kbn ins_dt ins_usr

View File

@ -0,0 +1 @@
"fcl_cd" "sub_no" "start_dt" "end_dt" "closed_dt" "nm" "kn_nm" "sht_nm" "sht_kn_nm" "mkr_cd" "jsk_proc_kbn" "fmt_addr" "fmt_kn_addr" "post_cd" "prft_cd" "prft_nm" "city_nm" "addr_line_1" "tel_no" "admin_kbn" "fcl_type" "rec_sts_kbn" "ins_dt" "upd_dt"
1 fcl_cd sub_no start_dt end_dt closed_dt nm kn_nm sht_nm sht_kn_nm mkr_cd jsk_proc_kbn fmt_addr fmt_kn_addr post_cd prft_cd prft_nm city_nm addr_line_1 tel_no admin_kbn fcl_type rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"v_hld_cd" "sub_no" "nm" "kn_nm" "sht_nm" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 v_hld_cd sub_no nm kn_nm sht_nm start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"ser_no" "lot_num" "expr_dt" "frst_mov_dt" "ins_dt" "ins_usr"
1 ser_no lot_num expr_dt frst_mov_dt ins_dt ins_usr

View File

@ -0,0 +1 @@
"hco_vid__v" "sub_no" "mdb_cd" "reliability" "start_dt" "rec_sts_kbn" "ins_dt" "upd_dt"
1 hco_vid__v sub_no mdb_cd reliability start_dt rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"vid_kind_1" "v_cd_1" "nm_1" "dsp_odr_1" "vid_kind_2" "v_cd_2" "nm_2" "dsp_odr_2" "vid_kind_3" "v_cd_3" "nm_3" "dsp_odr_3" "vid_kind_4" "v_cd_4" "nm_4" "dsp_odr_4" "vid_kind_5" "v_cd_5" "nm_5" "dsp_odr_5" "vid_kind_6" "v_cd_6" "nm_6" "dsp_odr_6" "vid_kind_7" "v_cd_7" "nm_7" "dsp_odr_7" "vid_kind_8" "v_cd_8" "nm_8" "dsp_odr_8" "vid_kind_9" "v_cd_9" "nm_9" "dsp_odr_9" "vid_kind_10" "v_cd_10" "nm_10" "dsp_odr_10" "v_whs_cd" "start_dt" "end_dt" "rec_sts_kbn" "ins_dt" "upd_dt"
1 vid_kind_1 v_cd_1 nm_1 dsp_odr_1 vid_kind_2 v_cd_2 nm_2 dsp_odr_2 vid_kind_3 v_cd_3 nm_3 dsp_odr_3 vid_kind_4 v_cd_4 nm_4 dsp_odr_4 vid_kind_5 v_cd_5 nm_5 dsp_odr_5 vid_kind_6 v_cd_6 nm_6 dsp_odr_6 vid_kind_7 v_cd_7 nm_7 dsp_odr_7 vid_kind_8 v_cd_8 nm_8 dsp_odr_8 vid_kind_9 v_cd_9 nm_9 dsp_odr_9 vid_kind_10 v_cd_10 nm_10 dsp_odr_10 v_whs_cd start_dt end_dt rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"whs_cd" "whs_sub_cd" "org_cd" "sub_no" "v_org_cd" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 whs_cd whs_sub_cd org_cd sub_no v_org_cd start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"prd_cd" "sub_no" "prd_nm" "prd_e_nm" "mkr_cd" "mkr_inf_1" "mkr_inf_2" "phm_itm_cd" "itm_nm" "itm_sht_nm" "form_cd" "form_nm" "vol_cd" "vol_nm" "cont_cd" "cont_nm" "pkg_cd" "pkg_nm" "cnv_num" "jsk_start_dt" "prd_sale_kbn" "jsk_proc_kbn" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 prd_cd sub_no prd_nm prd_e_nm mkr_cd mkr_inf_1 mkr_inf_2 phm_itm_cd itm_nm itm_sht_nm form_cd form_nm vol_cd vol_nm cont_cd cont_nm pkg_cd pkg_nm cnv_num jsk_start_dt prd_sale_kbn jsk_proc_kbn start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"phm_prd_cd" "phm_price_kind" "sub_no" "price" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 phm_prd_cd phm_price_kind sub_no price start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"recvdata" "rec_whs_cd" "rec_whs_sub_cd" "rec_whs_org_cd" "rec_cust_cd" "rec_comm_cd" "rec_tran_kbn" "rev_hsdnYmd_wrk" "rev_hsdnYmd_srk" "rec_urag_no" "rec_amt" "rec_unit_price" "rec_price" "rec_comm_nm" "rec_nnskFcl_nm" "free_item" "rec_nnsk_fcl_addr" "rec_nnsk_fcl_post" "rec_nnsk_fcl_tel" "rec_bef_hsdn_ymd" "rec_bef_slip_no" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "hsdn_ymd" "exec_dt" "v_tran_cd" "tran_kbn_nm" "whs_org_cd" "v_whsOrg_cd" "whs_org_nm" "whs_org_kn" "v_whs_cd" "whs_nm" "nnsk_cd" "fcl_cd" "fcl_kn" "fcl_nm" "fcl_addr_v" "comm_cd" "comm_nm" "nn_amt" "nn_unitPrice" "nn_price" "unit_price" "unit_amt" "drag_price" "drag_amt" "whsPos_err_kbn" "htdnYmd_err_kbn" "prd_exis_kbn" "fcl_exis_kbn" "bef_hsdn_ymd" "bef_slip_no" "slip_org_kbn" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "err_flg11" "err_flg12" "err_flg13" "err_flg14" "err_flg15" "err_flg16" "err_flg17" "err_flg18" "err_flg19" "err_flg20" "kjyo_ym" "tksNbk_kbn" "fcl_exec_kbn" "rec_sts_kbn" "ins_dt" "ins_usr"
1 recvdata rec_whs_cd rec_whs_sub_cd rec_whs_org_cd rec_cust_cd rec_comm_cd rec_tran_kbn rev_hsdnYmd_wrk rev_hsdnYmd_srk rec_urag_no rec_amt rec_unit_price rec_price rec_comm_nm rec_nnskFcl_nm free_item rec_nnsk_fcl_addr rec_nnsk_fcl_post rec_nnsk_fcl_tel rec_bef_hsdn_ymd rec_bef_slip_no rec_ymd sale_data_cat slip_file_nm slip_mgt_no row_num hsdn_ymd exec_dt v_tran_cd tran_kbn_nm whs_org_cd v_whsOrg_cd whs_org_nm whs_org_kn v_whs_cd whs_nm nnsk_cd fcl_cd fcl_kn fcl_nm fcl_addr_v comm_cd comm_nm nn_amt nn_unitPrice nn_price unit_price unit_amt drag_price drag_amt whsPos_err_kbn htdnYmd_err_kbn prd_exis_kbn fcl_exis_kbn bef_hsdn_ymd bef_slip_no slip_org_kbn err_flg1 err_flg2 err_flg3 err_flg4 err_flg5 err_flg6 err_flg7 err_flg8 err_flg9 err_flg10 err_flg11 err_flg12 err_flg13 err_flg14 err_flg15 err_flg16 err_flg17 err_flg18 err_flg19 err_flg20 kjyo_ym tksNbk_kbn fcl_exec_kbn rec_sts_kbn ins_dt ins_usr

View File

@ -0,0 +1 @@
"rec_data" "rec_whs_cd" "rec_whs_sub_cd" "rec_sto_place" "rec_stock_ymd" "rec_comm_cd" "rec_amt" "rev_stok_no_sign" "rev_jan_cd" "rec_free_item" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "exec_dt" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "rec_sts_kbn" "ins_dt" "ins_usr"
1 rec_data rec_whs_cd rec_whs_sub_cd rec_sto_place rec_stock_ymd rec_comm_cd rec_amt rev_stok_no_sign rev_jan_cd rec_free_item rec_ymd sale_data_cat slip_file_nm slip_mgt_no row_num exec_dt err_flg1 err_flg2 err_flg3 err_flg4 err_flg5 err_flg6 err_flg7 err_flg8 err_flg9 err_flg10 rec_sts_kbn ins_dt ins_usr

View File

@ -0,0 +1 @@
"v_tran_cd" "sub_no" "nm" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 v_tran_cd sub_no nm start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"hco_vid__v" "hco_vid__v_merge" "apply_dt" "merge_reason"
1 hco_vid__v hco_vid__v_merge apply_dt merge_reason

View File

@ -0,0 +1 @@
"whs_cd" "whs_sub_cd" "customer_cd" "sub_no" "start_dt" "end_dt" "org_cd" "src_org_cd" "nm" "kn_nm" "addr" "kn_addr" "zip_cd" "tel_no" "rec_sts_kbn" "ins_dt" "upd_dt"
1 whs_cd whs_sub_cd customer_cd sub_no start_dt end_dt org_cd src_org_cd nm kn_nm addr kn_addr zip_cd tel_no rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1 @@
"v_whs_cd" "sub_no" "nm" "kn_nm" "sht_nm" "zip_cd" "addr" "kn_addr" "tel_no" "v_hld_cd" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
1 v_whs_cd sub_no nm kn_nm sht_nm zip_cd addr kn_addr tel_no v_hld_cd start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt

View File

@ -0,0 +1,5 @@
"rec_data" "rec_whs_cd" "rec_whs_sub_cd" "rec_whs_org_cd" "rec_cust_cd" "rec_comm_cd" "rec_tran_kbn" "rec_hsdnYmd_wrk" "rec_hsdnYmd_srk" "rec_urag_no" "rec_comm_nm" "rec_nnskFcl_nm" "rec_nnsk_fcl_addr" "rec_lot_num1" "rec_amt1" "rec_lot_num2" "rec_amt2" "rec_lot_num3" "rec_amt3" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "hsdn_ymd" "exec_dt" "v_tran_cd" "tran_kbn_nm" "whs_org_cd" "v_whsOrg_cd" "whs_org_nm" "whs_org_kn" "v_whs_cd" "whs_nm" "nnsk_cd" "fcl_cd" "fcl_nm" "fcl_kn" "fcl_addr_v" "comm_cd" "comm_nm" "htdnYmd_err_kbn" "prd_exis_kbn" "fcl_exis_kbn" "amt1" "amt2" "amt3" "slip_org_kbn" "bef_slip_mgt_no" "whs_rep_comm_nm" "whs_rep_nnskFcl_nm" "whs_rep_nnsk_fcl_addr" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "err_flg11" "err_flg12" "err_flg13" "err_flg14" "err_flg15" "err_flg16" "err_flg17" "err_flg18" "err_flg19" "err_flg20" "kjyo_ym" "tksNbk_kbn" "fcl_exec_kbn" "rec_sts_kbn" "ins_dt" "ins_usr"
"D452960211JD1111311102503851400002304016427519111 496350122バベンチオテンテキ200MG 1V ソウゴウメデイカルニホンコウカンビツクバシ タカサキ 753 BAVB007 000003 000000 000000 " "296" "02" "11JD11113111025" "0385140000" "496350122" "111" "230401" "20230401" "6427519" "バベンチオテンテキ200MG 1V " "ソウゴウメデイカルニホンコウカンビ" "ツクバシ タカサキ 753 " "BAVB007 " "000003" " " "000000" " " "000000" "20230403" "J" "VJSK-BIO_J_MERCK_2023040300.txt" "J2023040300000126" "129" "20230401" "202305082041" "110" "売上" "11JD" "300001370" "川崎南支店" "" "200000007" "アルフレッサ株式会社" "0385140000" "670235967013012526" "医療法人社団こうかん会 日本鋼管病院" "イリョウホウジンシャダンコウカンカイ ニホンコウカンビョウイン" "210-0852 神奈川県川崎市川崎区鋼管通1−2−1" "496350122" "バベンチオ 注射剤 200mg 1VIAL" "" "1" "" "3" "0" "0" "J" "" "" "" "" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202304" "" "" "0" "23-04-03 20:42:11" "system"
"D452960211G11111377452402930640002304016433215111 496300127ゴナ-ルエフヒカチユウペン450 1トウ セコム)オギクボビヨウイン トウキヨウト シブヤク ジングウマエ 1-5-1 GF4C001 000002 000000 000000 " "296" "02" "11G111113774524" "0293064000" "496300127" "111" "230401" "20230401" "6433215" "ゴナ-ルエフヒカチユウペン450 1トウ " "セコム)オギクボビヨウイン " "トウキヨウト シブヤク ジングウマエ 1-5-1 " "GF4C001 " "000002" " " "000000" " " "000000" "20230403" "J" "VJSK-BIO_J_MERCK_2023040300.txt" "J2023040300000127" "130" "20230401" "202305082041" "110" "売上" "11G1" "300001351" "杉並・中野支店" "" "200000007" "アルフレッサ株式会社" "0293064000" "670234652241314835" "医療法人財団荻窪病院 荻窪病院" "イリョウホウジンザイダンオギクボビョウイン オギクボビョウイン" "167-0035 東京都杉並区今川3−1−24" "496300127" "ゴナールエフ 皮下注ペン 450IU 1PEN" "" "1" "" "2" "0" "0" "J" "" "" "" "" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202304" "" "" "0" "23-04-03 20:42:11" "system"
"D452960211V11121120604204799500002304016461276111 496300134ゴナ-ルエフヒカチユウペン900 1トウ ニチイサ-ビスキユウシユウフクオカサンフクオカシ サワラク モモチハマ 1-7-5 7F GF9C002 000010 000000 000000 " "296" "02" "11V111211206042" "0479950000" "496300134" "111" "230401" "20230401" "6461276" "ゴナ-ルエフヒカチユウペン900 1トウ " "ニチイサ-ビスキユウシユウフクオカサン" "フクオカシ サワラク モモチハマ 1-7-5 7F " "GF9C002 " "000010" " " "000000" " " "000000" "20230403" "J" "VJSK-BIO_J_MERCK_2023040300.txt" "J2023040300000128" "131" "20230401" "202305082041" "110" "売上" "11V1" "300001491" "福岡第一支店" "" "200000007" "アルフレッサ株式会社" "0479950000" "670235883412145206" "医療法人社団高邦会 福岡山王病院" "イリョウホウジンシャダンコウホウカイ フクオカサンノウビョウイン" "814-0001 福岡県福岡市早良区百道浜3−6−45" "496300134" "ゴナールエフ 皮下注ペン 900IU 1PEN" "" "1" "" "10" "0" "0" "J" "" "" "" "" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202304" "" "" "0" "23-04-03 20:42:11" "system"
"D452960211JB1121309300202875030002304016523689111 496300127ゴナ-ルエフヒカチユウペン450 1トウ イツカンドウヤツキヨク0561 カワサキシ アサオク フルサワ 172-1 GF4C001 000001 000000 000000 " "296" "02" "11JB11213093002" "02875
Can't render this file because it contains an unexpected character in line 5 and column 371.

View File

@ -0,0 +1,5 @@
"fcl_cd" "sub_no" "start_dt" "end_dt" "closed_dt" "nm" "kn_nm" "sht_nm" "sht_kn_nm" "mkr_cd" "jsk_proc_kbn" "fmt_addr" "fmt_kn_addr" "post_cd" "prft_cd" "prft_nm" "city_nm" "addr_line_1" "tel_no" "admin_kbn" "fcl_type" "rec_sts_kbn" "ins_dt" "upd_dt"
"670229430760653825" "0" "20000101" "99991231" "" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "駅前町歯科診療所" "エキマエチョウシカシンリョウジョ" "" "0" "700-0023 岡山県岡山市北区駅前町1−6−20" "オカヤマケン オカヤマシキタク エキマエチョウ1-6-20" "700-0023" "33" "岡山県" "岡山市北区" "駅前町1−6−20" "0862236468" "33101" "30" "1" "" ""
"670229435466662922" "0" "20000101" "99991231" "" "医療法人社団仁卓会 ほりかわ歯科クリニック" "イリョウホウジンシャダンジンタクカイ ホリカワシカクリニック" "ほりかわ歯科クリニック (医社)" "ホリカワシカクリニック (イシャ)" "" "0" "675-0101 兵庫県加古川市平岡町新在家1573−1−4F" "ヒョウゴケン カコガワシ ヒラオカチョウシンザイケ1573-1-4F" "675-0101" "28" "兵庫県" "加古川市" "平岡町新在家1573−1−4F" "0794244617" "28210" "30" "1" "" ""
"670229435785430019" "0" "20000101" "99991231" "" "株式会社コミュニティメディカル なつめ薬局 千歳船橋店" "カブシキガイシャコミュニティメディカル ナツメヤッキョク チトセフナバシテン" "なつめ薬局 千歳船橋店 (株)" "ナツメヤッキョク チトセフナバシテン (カ)" "" "0" "156-0054 東京都世田谷区桜丘2−24−2" "トウキョウト セタガヤク サクラガオカ2-24-2" "156-0054" "13" "東京都" "世田谷区" "桜丘2−24−2" "0364136189" "13112" "20" "1" "" ""
"670229447437206529" "0" "20000101" "20230407" "2023-04-07" "ヒカリ薬局" "ヒカリヤッキョク" "ヒカリ薬局" "ヒカリヤッキョク" "" "0" "670-0955 兵庫県
Can't render this file because it contains an unexpected character in line 5 and column 177.

View File

@ -0,0 +1,5 @@
"v_hld_cd" "sub_no" "nm" "kn_nm" "sht_nm" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"10001" "1" "卸ホールディングス名01-1" "オロシホールディングスメイ01-1" "卸名01-1" "20230101" "99991231" "1" "0" "23-05-09 12:00:01" "23-05-09 13:00:01"
"10001" "2" "卸ホールディングス名01-2" "オロシホールディングスメイ01-2" "卸名01-2" "20230102" "99991231" "1" "0" "23-05-09 12:00:02" "23-05-09 13:00:02"
"10001" "3" "卸ホールディングス名01-3" "オロシホールディングスメイ01-3" "卸名01-3" "20230103" "99991231" "1" "0" "23-05-09 12:00:03" "23-05-09 13:00:03"
"10001" "4" "卸ホールディングス名01-4" "オロシホールディングスメイ01-4" "卸
Can't render this file because it contains an unexpected character in line 5 and column 100.

View File

@ -0,0 +1,5 @@
"ser_no" "lot_num" "expr_dt" "frst_mov_dt" "ins_dt" "ins_usr"
"F0110601" "BAVA001" "20230331" "20210510" "23-05-08 20:40:41" "batch"
"F0110601" "BAVA002" "20230331" "20210615" "23-05-08 20:40:41" "batch"
"F0110601" "BAVA003" "20231031" "20210719" "23-05-08 20:40:41" "batch"
"F0110601" "BAVA004" "2
Can't render this file because it contains an unexpected character in line 5 and column 24.

View File

@ -0,0 +1,5 @@
"hco_vid__v" "sub_no" "mdb_cd" "reliability" "start_dt" "rec_sts_kbn" "ins_dt" "upd_dt"
"670229780011959315" "1" "003410424" "0" "20020601" "0" "22-03-09 13:56:19" "22-03-09 13:56:19"
"670230081112654862" "0" "004101420" "0" "20000101" "9" "17-10-17 17:06:52" "22-03-09 14:17:34"
"670230081112654862" "1" "004104997" "2" "20000101" "0" "22-03-09 14:17:33" "22-03-09 14:17:33"
"670230100414841865" "0" "003622111" "3"
Can't render this file because it has a wrong number of fields in line 5.

View File

@ -0,0 +1,5 @@
"vid_kind_1" "v_cd_1" "nm_1" "dsp_odr_1" "vid_kind_2" "v_cd_2" "nm_2" "dsp_odr_2" "vid_kind_3" "v_cd_3" "nm_3" "dsp_odr_3" "vid_kind_4" "v_cd_4" "nm_4" "dsp_odr_4" "vid_kind_5" "v_cd_5" "nm_5" "dsp_odr_5" "vid_kind_6" "v_cd_6" "nm_6" "dsp_odr_6" "vid_kind_7" "v_cd_7" "nm_7" "dsp_odr_7" "vid_kind_8" "v_cd_8" "nm_8" "dsp_odr_8" "vid_kind_9" "v_cd_9" "nm_9" "dsp_odr_9" "vid_kind_10" "v_cd_10" "nm_10" "dsp_odr_10" "v_whs_cd" "start_dt" "end_dt" "rec_sts_kbn" "ins_dt" "upd_dt"
"3" "300003202" "その他営業本部卸" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "3" "300003217" "試薬岐阜(回収)" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38"
"3" "300003138" "北関東甲信越営業本部" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "3" "300003195" "首都圏移管組織" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38"
"3" "300003202" "その他営業本部卸" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "3" "300003226" "大垣(回収)" "0" "200000007" "20190401" "99991231" "0" "19-04-11 11:30:59" "23-04-12 17:52:38"
"a" "300003144" "メディカル営業本部1" "1" "b" "300003202" "東海スタッフ医療2" "2" "c" "300003203" "東海スタ
Can't render this file because it contains an unexpected character in line 5 and column 129.

View File

@ -0,0 +1,5 @@
"whs_cd" "whs_sub_cd" "org_cd" "sub_no" "v_org_cd" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"042" "01" "361007" "0" "300006657" "20230401" "99991231" "0" "0" "23-04-12 11:24:06" "23-04-12 11:24:06"
"042" "01" "381207" "0" "300006658" "20230401" "99991231" "0" "0" "23-04-12 11:24:27" "23-04-12 11:24:27"
"080" "00" "02780" "0" "300006526" "20220401" "99991231" "0" "9" "22-04-11 15:57:35" "23-04-12 10:46:48"
"080" "00" "02780" "1" "300006526" "20220401"
Can't render this file because it has a wrong number of fields in line 5.

View File

@ -0,0 +1,5 @@
"prd_cd" "sub_no" "prd_nm" "prd_e_nm" "mkr_cd" "mkr_inf_1" "mkr_inf_2" "phm_itm_cd" "itm_nm" "itm_sht_nm" "form_cd" "form_nm" "vol_cd" "vol_nm" "cont_cd" "cont_nm" "pkg_cd" "pkg_nm" "cnv_num" "jsk_start_dt" "prd_sale_kbn" "jsk_proc_kbn" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"496201110" "0" "セロフェン 錠剤 50mg 30TAB" "" "F21206A0" "セロフェン 錠 50MG" "SEROPHENE TAB. 50 MG. (30)" "001" "セロフェン" "SP" "F003" "錠剤" "0000" "" "V009" "50mg" "P007" "30TAB" "30" "" "0" "0" "20080101" "20190930" "140" "0" "17-11-08 16:52:41" "19-09-19 11:42:45"
"496201127" "0" "セロフェン 錠剤 50mg 30TAB" "" "F21206A0" "セロフェン 錠 50MG" "SEROPHENE TAB. 50 MG. (30)" "001" "セロフェン" "SP" "F003" "錠剤" "0000" "" "V009" "50mg" "P007" "30TAB" "30" "" "0" "0" "20070401" "20190930" "150" "0" "17-11-08 16:52:41" "19-09-19 11:42:45"
"496300110" "2" "ゴナールエフ 皮下注ペン 300IU 1PEN" "" "F1990608" "ゴナールエフ皮下注ペン 300" "GONAL-F PEN 300IU (1) - JPN" "005" "セロスティム" "ST" "F005" "皮下注ペン" "0000" "" "V017" "300IU" "P011" "1PEN" "1" "" "0" "0" "20190501" "20190930" "100" "9" "19-04-23 16:35:36" "19-04-23 16:40:38"
"496300127" "2" "ゴナールエフ 皮下注ペン 450IU 1PEN" "" "F19D0608" "ゴナールエフ皮下注ペン450" "Gonalef Pen 450 (1)" "008" "BDマイクロファインプラス" "MF" "F005" "皮下注ペン" "0000" "" "V018" "450IU" "P011" "1PEN" "1" "" "0" "0" "20190501" "20190930" "120" "9" "19-04-23 1
Can't render this file because it contains an unexpected character in line 5 and column 318.

View File

@ -0,0 +1,5 @@
"recvdata" "rec_whs_cd" "rec_whs_sub_cd" "rec_whs_org_cd" "rec_cust_cd" "rec_comm_cd" "rec_tran_kbn" "rev_hsdnYmd_wrk" "rev_hsdnYmd_srk" "rec_urag_no" "rec_amt" "rec_unit_price" "rec_price" "rec_comm_nm" "rec_nnskFcl_nm" "free_item" "rec_nnsk_fcl_addr" "rec_nnsk_fcl_post" "rec_nnsk_fcl_tel" "rec_bef_hsdn_ymd" "rec_bef_slip_no" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "hsdn_ymd" "exec_dt" "v_tran_cd" "tran_kbn_nm" "whs_org_cd" "v_whsOrg_cd" "whs_org_nm" "whs_org_kn" "v_whs_cd" "whs_nm" "nnsk_cd" "fcl_cd" "fcl_kn" "fcl_nm" "fcl_addr_v" "comm_cd" "comm_nm" "nn_amt" "nn_unitPrice" "nn_price" "unit_price" "unit_amt" "drag_price" "drag_amt" "whsPos_err_kbn" "htdnYmd_err_kbn" "prd_exis_kbn" "fcl_exis_kbn" "bef_hsdn_ymd" "bef_slip_no" "slip_org_kbn" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "err_flg11" "err_flg12" "err_flg13" "err_flg14" "err_flg15" "err_flg16" "err_flg17" "err_flg18" "err_flg19" "err_flg20" "kjyo_ym" "tksNbk_kbn" "fcl_exec_kbn" "rec_sts_kbn" "ins_dt" "ins_usr"
"D4420202011611A4 0183733 23030133625911102303 4963500230000020003110000000622000000000000000000000000 ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1Vハコダテチユウオウビヨウイン 00000408585ハコダテシホンチヨウ33バン2ゴウ " "202" "02" "011611A4 " "0183733 " "496350023" "110" "230301" "20230301" "3362591" "000002" "00031100" "0000062200" "ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1V" "ハコダテチユウオウビヨウイン " "0408585ハコダテシホンチヨウ33バン2ゴウ " "ハコダテシホンチヨウ33バン2ゴウ " "0408585" "" "000000" " " "20230222" "J" "VJSK_J_MERCK_2023022" "J2023022200000022" "29" "20230301" "202303142041" "110" "売上" "01161" "300000383" "函館支店" "" "200000016" "株式会社スズケン" "0183733 " "670234934576694289" "シャカイフクシホウジンハコダテコウセイイン ハコダテチュウオウビョウイン" "社会福祉法人函館厚生院 函館中央病院" "040-0011 北海道函館市本町33−2" "496350023" "アービタックス 注射剤 100mg 1VIAL" "2" "31100" "62200" "31438" "62876" "35309" "70618" "" "" "1" "" "" "" "J" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202303" "" "" "0" "23-03-14 20:41:26" "SYSTEM"
"D4420202011611A4 0183733 23030133625921102303 4963500230000080003110000002488000000000000000000000000 ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1Vハコダテチユウオウビヨウイン 00000408585ハコダテシホンチヨウ33バン2ゴウ " "202" "02" "011611A4 " "0183733 " "496350023" "110" "230301" "20230301" "3362592" "000008" "00031100" "0000248800" "ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1V" "ハコダテチユウオウビヨウイン " "0408585ハコダテシホンチヨウ33バン2ゴウ " "ハコダテシホンチヨウ33バン2ゴウ " "0408585" "" "000000" " " "20230222" "J" "VJSK_J_MERCK_2023022" "J2023022200000023" "30" "20230301" "202303142041" "110" "売上" "01161" "300000383" "函館支店" "" "200000016" "株式会社スズケン" "0183733 " "670234934576694289" "シャカイフクシホウジンハコダテコウセイイン ハコダテチュウオウビョウイン" "社会福祉法人函館厚生院 函館中央病院" "040-0011 北海道函館市本町33−2" "496350023" "アービタックス 注射剤 100mg 1VIAL" "8" "31100" "248800" "31438" "251504" "35309" "282472" "" "" "1" "" "" "" "J" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202303" "" "" "0" "23-03-14 20:41:26" "SYSTEM"
"D4416101311101A8 5140013 23030173719811122303 4963500230000120002738100003285720000000000000000000000 ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1Vトツトリニツセキビヨウイン 00006808517トツトリケントツトリシシヨウトクチヨウ117 " "161" "01" "311101A8 " "5140013 " "496350023" "112" "230301" "20230301" "7371981" "000012" "00027381" "0000328572" "ア-ビタツクスチユウシヤエキ100MG 100MG 20MLX1V" "トツトリニツセキビヨウイン " "6808517トツトリケントツトリシシヨウトクチヨウ117 " "トツトリケントツトリシシヨウトクチヨウ117 " "6808517" "" "000000" " " "20230224" "J" "VJSK_J_MERCK_2023022" "J2023022400000011" "16" "20230301" "202303142041" "110" "売上" "31110" "300000391" "鳥取支店" "" "200000015" "株式会社サンキ" "5140013 " "670237031040828444" "ニホンセキジュウジシャ トットリセキジュウジビョウイン" "日本赤十字社 鳥取赤十字病院" "680-0017 鳥取県鳥取市尚徳町117" "496350023" "アービタックス 注射剤 100mg 1VIAL" "12" "27381" "328572" "31438" "377256" "35309" "423708" "" "" "1" "" "" "" "J" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "202303" "" "" "0" "23-03-14 20:41:26" "SYSTEM"
"D4416101311
Can't render this file because it contains an unexpected character in line 5 and column 13.

View File

@ -0,0 +1,5 @@
"rec_data" "rec_whs_cd" "rec_whs_sub_cd" "rec_sto_place" "rec_stock_ymd" "rec_comm_cd" "rec_amt" "rev_stok_no_sign" "rev_jan_cd" "rec_free_item" "rec_ymd" "sale_data_cat" "slip_file_nm" "slip_mgt_no" "row_num" "exec_dt" "err_flg1" "err_flg2" "err_flg3" "err_flg4" "err_flg5" "err_flg6" "err_flg7" "err_flg8" "err_flg9" "err_flg10" "rec_sts_kbn" "ins_dt" "ins_usr"
"D463630101 23022849630021900003500000 セトロタイドチユウシヤヨウ0.25MG 1V" "363" "01" "01 " "230228" "496300219" "000035" "0" "0000" " セトロタイドチユウシヤヨウ0.25MG 1V" "20230314" "J" "VJSK-STOCK_J_MERCK_2023031400.txt" "J2023031400000059" "59" "202303142041" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "23-03-14 20:41:57" "SYSTEM"
"D4625301026 2302284963001270000040000001ゴナールエフヒカチユウペン450 1トウ40 " "253" "01" "026 " "230228" "496300127" "000004" "0" "0000" "01ゴナールエフヒカチユウペン450 1トウ40 " "20230314" "J" "VJSK-STOCK_J_MERCK_2023031400.txt" "J2023031400000060" "60" "202303142041" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "23-03-14 20:41:57" "SYSTEM"
"D4625301026 2302284963001340000220000001ゴナールエフヒカチユウペン900 1トウ40 " "253" "01" "026 " "230228" "496300134" "000022" "0" "0000" "01ゴナールエフヒカチユウペン900 1トウ40 " "20230314" "J" "VJSK-STOCK_J_MERCK_2023031400.txt" "J2023031400000061" "61" "202303142041" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "0" "23-03-14 20:41:57" "SYSTEM"
"D4625301026 2302284963004170000500000001オビドレルヒカチユウシリンジ250MCG 140 " "2
Can't render this file because it contains an unexpected character in line 5 and column 123.

View File

@ -0,0 +1,5 @@
"v_tran_cd" "sub_no" "nm" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"10001" "1" "Veeva取引区分名01-1" "20230101" "99991231" "1" "0" "2023-05-09 12:00:01" "2023-05-09 13:00:01"
"10001" "2" "Veeva取引区分名01-2" "20230102" "99991231" "1" "0" "2023-05-09 12:00:02" "2023-05-09 13:00:02"
"10001" "3" "Veeva取引区分名01-3" "20230103" "99991231" "1" "0" "2023-05-09 12:00:03" "2023-05-09 13:00:03"
"10001" "4" "Veeva取引区分名01-4" "20230104" "9
Can't render this file because it contains an unexpected character in line 5 and column 53.

View File

@ -0,0 +1,5 @@
"hco_vid__v" "hco_vid__v_merge" "apply_dt" "merge_reason"
"100000001" "900000001" "20230509" "事由01"
"100000002" "900000002" "20230509" "事由02"
"100000003" "900000003" "20230509" "事由03"
"100000004" "900000004"
Can't render this file because it has a wrong number of fields in line 5.

View File

@ -0,0 +1,5 @@
"whs_cd" "whs_sub_cd" "customer_cd" "sub_no" "start_dt" "end_dt" "org_cd" "src_org_cd" "nm" "kn_nm" "addr" "kn_addr" "zip_cd" "tel_no" "rec_sts_kbn" "ins_dt" "upd_dt"
"006" "01" "1002900000" "0" "20000101" "99991231" "11" "1131A2283316" "辻内科小児科医院               " "ツジナイカシヨウニカ イイン" "長崎県 佐世保市皆瀬町29                   " "ナガサキケン サセボシカイゼチヨウ 29" "8570144" "0956492319" "0" "23-04-14 11:53:14" "23-04-14 11:53:14"
"006" "01" "1005400000" "0" "20000101" "99991231" "12" "1211C3415515" "医療法人 愛恵会 佐世保愛恵病院       " "イリヨウホウジンアイケイカイサセボアイケイビ" "長崎県 佐世保市瀬戸越4丁目 2−15             " "ナガサキケン サセボシセトゴシ 4チヨウメ 2-15" "8570134" "0956493335" "0" "23-04-14 11:53:14" "23-04-14 11:53:14"
"006" "01" "1007200000" "0" "20000101" "99991231" "11" "1131A2407312" "医療法人 山祇診療所             " "イリヨウホウジンヤマズミシンリヨウジヨ" "長崎県 佐世保市山祇町 19−36               " "ナガサキケン サセボシヤマズミチョウ" "8570822" "0956313633" "0" "23-04-14 11:53:14" "23-04-14 11:53:14"
"006" "01" "1007800000" "0" "20000101" "999912
Can't render this file because it contains an unexpected character in line 5 and column 47.

View File

@ -0,0 +1,5 @@
"v_whs_cd" "sub_no" "nm" "kn_nm" "sht_nm" "zip_cd" "addr" "kn_addr" "tel_no" "v_hld_cd" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"200000002" "0" "株式会社モロオ" "カナ01" "モロオ" "1110001" "住所01" "ジュウショ01" "00-0000-0001" "0" "20000101" "99991231" "20" "0" "16-04-15 16:25:33" "16-04-15 16:25:33"
"200000005" "0" "岩渕薬品株式会社" "カナ02" "岩渕薬品" "1110002" "住所02" "ジュウショ02" "00-0000-0002" "0" "20000101" "99991231" "50" "0" "16-04-15 16:25:33" "16-04-15 16:25:33"
"200000009" "0" "株式会社マルタケ" "カナ03" "マルタケ" "1110003" "住所03" "ジュウショ03" "00-0000-0003" "0" "20000101" "99991231" "90" "0" "16-04-15 16:25:33" "16-04-15 16:25:33"
"200000010" "0" "株式会社ファイネス" "カナ04" "ファイネス" "1110004" "住所04" "ジュ
Can't render this file because it contains an unexpected character in line 5 and column 104.

View File

@ -1,3 +0,0 @@
"phm_prd_cd" "phm_price_kind" "sub_no" "price" "start_dt" "end_dt" "dsp_odr" "rec_sts_kbn" "ins_dt" "upd_dt"
"123456701" "01" "1" "12345.6" "yyyy0401" "20190930" "10" "0" "18-03-07 09:48:00" "19-09-19 11:23:47"
"123456701" "02" "1" "12587.8" "20191001" "99991231" "10" "0" "19-09-19 11:24:05" "19-09-19 11:24:05"
1 phm_prd_cd phm_price_kind sub_no price start_dt end_dt dsp_odr rec_sts_kbn ins_dt upd_dt
2 123456701 01 1 12345.6 yyyy0401 20190930 10 0 18-03-07 09:48:00 19-09-19 11:23:47
3 123456701 02 1 12587.8 20191001 99991231 10 0 19-09-19 11:24:05 19-09-19 11:24:05