diff --git a/base_wamas_ubl/lib/wamas/const.py b/base_wamas_ubl/lib/wamas/const.py
index a8175f1e71..c870010edc 100644
--- a/base_wamas_ubl/lib/wamas/const.py
+++ b/base_wamas_ubl/lib/wamas/const.py
@@ -5,6 +5,7 @@
ausk,
auskq,
ausp,
+ auspq,
bkorr,
kretk,
kretkq,
@@ -49,6 +50,7 @@
"ART": "Product",
"AUSK": "Picking",
"AUSKQ": "PickingResponse",
+ "AUSPQ": "PickingResponse",
"KRETK": "Return",
"KRETKQ": "ReturnResponse",
"KST": "Customer",
@@ -77,6 +79,7 @@
"WEAK": weak.grammar,
"WEAP": weap.grammar,
"AUSKQ": auskq.grammar,
+ "AUSPQ": auspq.grammar,
"KRETKQ": kretkq.grammar,
"KRETPQ": kretpq.grammar,
"KST": kst.grammar,
@@ -96,7 +99,7 @@
# WAMAS TO UBL
##
-LST_TELEGRAM_TYPE_IGNORE_W2D = ["AUSPQ", "TOURQ", "TAUSPQ"]
+LST_TELEGRAM_TYPE_IGNORE_W2D = ["TOURQ", "TAUSPQ"]
DICT_UBL_TEMPLATE = {
"ReceptionResponse": "ubl_template/reception.xml",
@@ -166,7 +169,7 @@
DICT_CONVERT_WAMAS_TYPE = {
"AUSK": ["AUSKQ", "WATEKQ"],
- "AUSP": ["WATEPQ"],
+ "AUSP": ["AUSPQ", "WATEPQ"],
"KRETK": ["KRETKQ"],
"KRETP": ["KRETPQ"],
"WEAK": ["WEAKQ"],
diff --git a/base_wamas_ubl/lib/wamas/ubl_template/picking.xml b/base_wamas_ubl/lib/wamas/ubl_template/picking.xml
index 51ec84d280..2b6a7a2387 100644
--- a/base_wamas_ubl/lib/wamas/ubl_template/picking.xml
+++ b/base_wamas_ubl/lib/wamas/ubl_template/picking.xml
@@ -124,7 +124,7 @@
-
+
@@ -139,9 +139,19 @@
+ >
+
+
+
+
+
@@ -150,7 +160,12 @@
-
+
+
+
+
+
+
diff --git a/base_wamas_ubl/lib/wamas/wamas2ubl.py b/base_wamas_ubl/lib/wamas/wamas2ubl.py
index 3107e3b08a..5f6834c9d3 100644
--- a/base_wamas_ubl/lib/wamas/wamas2ubl.py
+++ b/base_wamas_ubl/lib/wamas/wamas2ubl.py
@@ -121,8 +121,11 @@ def dict2ubl(msg_type, data, extra_data=False):
extractor.get_line("KRETPQ", "IvKretp_KretId_KretNr")
elif msg_type == "PickingResponse":
extractor.get_head("AUSKQ", "IvAusk_AusId_AusNr")
- extractor.get_head("WATEKQ", "IvTek_TeId", extractor.packages)
- extractor.get_line("WATEPQ", "IvAusp_UrAusId_AusNr", "IvTep_TeId")
+ if "WATEKQ" not in extractor.data and "WATEPQ" not in extractor.data:
+ extractor.get_line("AUSPQ", "IvAusp_UrAusId_AusNr")
+ else:
+ extractor.get_head("WATEKQ", "IvTek_TeId", extractor.packages)
+ extractor.get_line("WATEPQ", "IvAusp_UrAusId_AusNr", "IvTep_TeId")
else:
raise Exception("Invalid message type: %s" % msg_type)
diff --git a/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py b/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py
index 229e3b17b6..c04a7300c4 100644
--- a/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py
+++ b/base_wamas_ubl/lib/wamas/wamas_grammar/__init__.py
@@ -7,6 +7,8 @@
weap,
ausk,
ausp,
+ auskq,
+ auspq,
kretkq,
kretpq,
kretk,
diff --git a/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py b/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py
new file mode 100644
index 0000000000..89eb21aecc
--- /dev/null
+++ b/base_wamas_ubl/lib/wamas/wamas_grammar/auspq.py
@@ -0,0 +1,190 @@
+from collections import OrderedDict
+
+grammar = OrderedDict(
+ {
+ "Telheader_Quelle": {
+ "type": "str",
+ "length": 10,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": "get_source_q",
+ },
+ "Telheader_Ziel": {
+ "type": "str",
+ "length": 10,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": "get_destination_q",
+ },
+ "Telheader_TelSeq": {
+ "type": "int",
+ "length": 6,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": "get_sequence_number",
+ },
+ "Telheader_AnlZeit": {
+ "type": "datetime",
+ "length": 14,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": "get_current_datetime",
+ },
+ "Satzart": {
+ "type": "str",
+ "length": 9,
+ "dp": False,
+ "dict_key": False,
+ "df_val": "AUSPQ0051",
+ "df_func": False,
+ },
+ "IvAusp_UrAusId_Mand": {
+ "type": "str",
+ "length": 3,
+ "dp": False,
+ "dict_key": "RxAusp_AusId_Mand",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_UrAusId_AusNr": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": "RxAusp_AusId_AusNr",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_UrAusId_HostAusKz": {
+ "type": "str",
+ "length": 5,
+ "dp": False,
+ "dict_key": "RxAusp_AusId_HostAusKz",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_ExtRef": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": "RxAusp_ExtRef",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_HostPosNr": {
+ "type": "int",
+ "length": 6,
+ "dp": False,
+ "dict_key": "RxAusp_HostPosNr",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_MId_AId_Mand": {
+ "type": "str",
+ "length": 3,
+ "dp": False,
+ "dict_key": "RxAusp_MId_AId_Mand",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_MId_AId_ArtNr": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": "RxAusp_MId_AId_ArtNr",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_MId_AId_Var": {
+ "type": "str",
+ "length": 5,
+ "dp": False,
+ "dict_key": "RxAusp_MId_AId_Var",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvMatqk_HMATQ_HMatQ": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_LiefMngsWamas_Mng": {
+ "type": "int",
+ "length": 12,
+ "dp": False,
+ "dict_key": "BestMng",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_LiefMngsWamas_Gew": {
+ "type": "int",
+ "length": 12,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvArt_HOSTUNITS_HostEinh": {
+ "type": "str",
+ "length": 5,
+ "dp": False,
+ "dict_key": "HostEinheit",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvArt_Bestand_Einheit": {
+ "type": "str",
+ "length": 5,
+ "dp": False,
+ "dict_key": "HostEinheit",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_MId_Charge": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": "RxAusp_MId_Charge",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_Info": {
+ "type": "str",
+ "length": 40,
+ "dp": False,
+ "dict_key": "RxAusp_Info",
+ "df_val": False,
+ "df_func": False,
+ },
+ "IvAusp_MId_MHD": {
+ "type": "date",
+ "length": 8,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": False,
+ },
+ "LiefSNr": {
+ "type": "str",
+ "length": 20,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": False,
+ },
+ "AUSPQ0051": {
+ "type": "bool",
+ "length": 1,
+ "dp": False,
+ "dict_key": False,
+ "df_val": False,
+ "df_func": False,
+ },
+ }
+)
diff --git a/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml b/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml
index 0df12316d3..a2531894f6 100644
--- a/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml
+++ b/base_wamas_ubl/tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml
@@ -81,7 +81,10 @@
101
- 7.0
+
+ 7.0
+
+
@@ -90,7 +93,10 @@
- 15455
+
+ 15455
+
+
@@ -106,7 +112,10 @@
102
- 8.0
+
+ 8.0
+
+
@@ -115,7 +124,10 @@
- 15455
+
+ 15455
+
+