mirror of
https://github.com/bringout/oca-edi.git
synced 2026-04-20 20:32:03 +02:00
Initial commit: OCA Edi packages (42 packages)
This commit is contained in:
commit
df976c03db
2184 changed files with 571602 additions and 0 deletions
45
odoo-bringout-oca-edi-framework-base_wamas_ubl/README.md
Normal file
45
odoo-bringout-oca-edi-framework-base_wamas_ubl/README.md
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
# Base WAMAS UBL
|
||||
|
||||
Odoo addon: base_wamas_ubl
|
||||
|
||||
## Installation
|
||||
|
||||
```bash
|
||||
pip install odoo-bringout-oca-edi-framework-base_wamas_ubl
|
||||
```
|
||||
|
||||
## Dependencies
|
||||
|
||||
This addon depends on:
|
||||
- base_edi
|
||||
- base_ubl
|
||||
|
||||
## Manifest Information
|
||||
|
||||
- **Name**: Base WAMAS UBL
|
||||
- **Version**: 16.0.1.17.1
|
||||
- **Category**: Hidden
|
||||
- **License**: AGPL-3
|
||||
- **Installable**: False
|
||||
|
||||
## Source
|
||||
|
||||
Based on [OCA/edi-framework](https://github.com/OCA/edi-framework) branch 16.0, addon `base_wamas_ubl`.
|
||||
|
||||
## License
|
||||
|
||||
This package maintains the original AGPL-3 license from the upstream Odoo project.
|
||||
|
||||
## Documentation
|
||||
|
||||
- Overview: doc/OVERVIEW.md
|
||||
- Architecture: doc/ARCHITECTURE.md
|
||||
- Models: doc/MODELS.md
|
||||
- Controllers: doc/CONTROLLERS.md
|
||||
- Wizards: doc/WIZARDS.md
|
||||
- Install: doc/INSTALL.md
|
||||
- Usage: doc/USAGE.md
|
||||
- Configuration: doc/CONFIGURATION.md
|
||||
- Dependencies: doc/DEPENDENCIES.md
|
||||
- Troubleshooting: doc/TROUBLESHOOTING.md
|
||||
- FAQ: doc/FAQ.md
|
||||
|
|
@ -0,0 +1,89 @@
|
|||
==============
|
||||
Base WAMAS UBL
|
||||
==============
|
||||
|
||||
..
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! This file is generated by oca-gen-addon-readme !!
|
||||
!! changes will be overwritten. !!
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
!! source digest: sha256:f97ed074cb58c152474c9fa18dfea888a7c80aeb70fdf5a516ed2a84becdb1bc
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
|
||||
.. |badge1| image:: https://img.shields.io/badge/maturity-Alpha-red.png
|
||||
:target: https://odoo-community.org/page/development-status
|
||||
:alt: Alpha
|
||||
.. |badge2| image:: https://img.shields.io/badge/licence-AGPL--3-blue.png
|
||||
:target: http://www.gnu.org/licenses/agpl-3.0-standalone.html
|
||||
:alt: License: AGPL-3
|
||||
.. |badge3| image:: https://img.shields.io/badge/github-OCA%2Fedi-lightgray.png?logo=github
|
||||
:target: https://github.com/OCA/edi/tree/16.0/base_wamas_ubl
|
||||
:alt: OCA/edi
|
||||
.. |badge4| image:: https://img.shields.io/badge/weblate-Translate%20me-F47D42.png
|
||||
:target: https://translation.odoo-community.org/projects/edi-16-0/edi-16-0-base_wamas_ubl
|
||||
:alt: Translate me on Weblate
|
||||
.. |badge5| image:: https://img.shields.io/badge/runboat-Try%20me-875A7B.png
|
||||
:target: https://runboat.odoo-community.org/builds?repo=OCA/edi&target_branch=16.0
|
||||
:alt: Try me on Runboat
|
||||
|
||||
|badge1| |badge2| |badge3| |badge4| |badge5|
|
||||
|
||||
This module contains methods to parse between WAMAS file and UBL file.
|
||||
|
||||
.. IMPORTANT::
|
||||
This is an alpha version, the data model and design can change at any time without warning.
|
||||
Only for development or testing purpose, do not use in production.
|
||||
`More details on development status <https://odoo-community.org/page/development-status>`_
|
||||
|
||||
**Table of contents**
|
||||
|
||||
.. contents::
|
||||
:local:
|
||||
|
||||
Bug Tracker
|
||||
===========
|
||||
|
||||
Bugs are tracked on `GitHub Issues <https://github.com/OCA/edi/issues>`_.
|
||||
In case of trouble, please check there if your issue has already been reported.
|
||||
If you spotted it first, help us to smash it by providing a detailed and welcomed
|
||||
`feedback <https://github.com/OCA/edi/issues/new?body=module:%20base_wamas_ubl%0Aversion:%2016.0%0A%0A**Steps%20to%20reproduce**%0A-%20...%0A%0A**Current%20behavior**%0A%0A**Expected%20behavior**>`_.
|
||||
|
||||
Do not contact contributors directly about support or help with technical issues.
|
||||
|
||||
Credits
|
||||
=======
|
||||
|
||||
Authors
|
||||
~~~~~~~
|
||||
|
||||
* Camptocamp
|
||||
* BCIM
|
||||
|
||||
Contributors
|
||||
~~~~~~~~~~~~
|
||||
|
||||
* Jacques-Etienne Baudoux <je@bcim.be>
|
||||
* Tuan Tran <anhtuan@trobz.com>
|
||||
* Telmo Santos <telmo.santos@camptocamp.com>
|
||||
|
||||
Other credits
|
||||
~~~~~~~~~~~~~
|
||||
|
||||
The creation of this module was financially supported by Camptocamp.
|
||||
|
||||
Maintainers
|
||||
~~~~~~~~~~~
|
||||
|
||||
This module is maintained by the OCA.
|
||||
|
||||
.. image:: https://odoo-community.org/logo.png
|
||||
:alt: Odoo Community Association
|
||||
:target: https://odoo-community.org
|
||||
|
||||
OCA, or the Odoo Community Association, is a nonprofit organization whose
|
||||
mission is to support the collaborative development of Odoo features and
|
||||
promote its widespread use.
|
||||
|
||||
This module is part of the `OCA/edi <https://github.com/OCA/edi/tree/16.0/base_wamas_ubl>`_ project on GitHub.
|
||||
|
||||
You are welcome to contribute. To learn how please visit https://odoo-community.org/page/Contribute.
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
from . import models
|
||||
from . import wizards
|
||||
|
|
@ -0,0 +1,24 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# Copyright 2023 Camptocamp SA
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
{
|
||||
"name": "Base WAMAS UBL",
|
||||
"summary": """Base module to aggregate WAMAS - UBL features.""",
|
||||
"version": "16.0.1.17.1",
|
||||
"development_status": "Alpha",
|
||||
"category": "Hidden",
|
||||
"website": "https://github.com/OCA/edi",
|
||||
"license": "AGPL-3",
|
||||
"author": "Camptocamp,BCIM,Odoo Community Association (OCA)",
|
||||
"depends": ["base_edi", "base_ubl"],
|
||||
"external_dependencies": {
|
||||
"python": ["xmltodict", "dotty-dict", "pytz"],
|
||||
},
|
||||
"data": [
|
||||
"security/ir.model.access.csv",
|
||||
"wizards/wamas_ubl_wiz_check.xml",
|
||||
"wizards/wamas_ubl_wiz_simulate.xml",
|
||||
"views/wamas_menu.xml",
|
||||
],
|
||||
}
|
||||
|
|
@ -0,0 +1,208 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_wamas_ubl
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_simulate.py:0
|
||||
#, python-format
|
||||
msgid "- Error: %s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"- WAMAS Type: %(wamas_type)s\n"
|
||||
"- Data: %(data)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Cancel"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_check_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_check_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check WAMAS File"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_check
|
||||
msgid "Check WAMAS File Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_uid
|
||||
msgid "Created by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_date
|
||||
msgid "Created on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Data"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__display_name
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__display_name
|
||||
msgid "Display Name"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__id
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__id
|
||||
msgid "ID"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check____last_update
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_base_wamas_ubl
|
||||
msgid "Methods to convert WAMAS to UBL XML files and vice versa"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Only supports FROM telegram type TO telegram type(s) bellow:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Only supports telegram type(s) bellow:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__output
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output
|
||||
msgid "Output"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_file
|
||||
msgid "Output WAMAS File"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_filename
|
||||
msgid "Output WAMAS Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "Please define wamas message type (msg_type)."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_simulate_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_simulate_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate WAMAS File"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_simulate
|
||||
msgid "Simulate WAMAS File Wizard"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__supported_telegram
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__supported_telegram
|
||||
msgid "Supported Telegram"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Telegram Type"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "The data is not valid."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "This wizard will help you extract data of a WAMAS file into:"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid ""
|
||||
"This wizard will help you generate (simulating) a new WAMAS file from an "
|
||||
"existing WAMAS file."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.menu_wamas_parent
|
||||
msgid "WAMAS"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_file
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_file
|
||||
msgid "WAMAS File"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_filename
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_filename
|
||||
msgid "WAMAS Filename"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "WAMAS Type"
|
||||
msgstr ""
|
||||
|
|
@ -0,0 +1,208 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_wamas_ubl
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"Last-Translator: \n"
|
||||
"Language-Team: \n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: \n"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_simulate.py:0
|
||||
#, python-format
|
||||
msgid "- Error: %s"
|
||||
msgstr "- Greška: %s"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"- WAMAS Type: %(wamas_type)s\n"
|
||||
"- Data: %(data)s"
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Otkaži"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check"
|
||||
msgstr "Provjeri"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_check_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_check_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check WAMAS File"
|
||||
msgstr "Provjeri WAMAS datoteku"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_check
|
||||
msgid "Check WAMAS File Wizard"
|
||||
msgstr "Čarobnjak za provjeru WAMAS datoteke"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Kreirao"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Kreirano"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Data"
|
||||
msgstr "Podaci"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__display_name
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Prikazani naziv"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__id
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check____last_update
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Zadnje mijenjano"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Zadnji ažurirao"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Zadnje ažurirano"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_base_wamas_ubl
|
||||
msgid "Methods to convert WAMAS to UBL XML files and vice versa"
|
||||
msgstr "Metode za konverziju WAMAS u UBL XML datoteke i obrnuto"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Only supports FROM telegram type TO telegram type(s) bellow:"
|
||||
msgstr "Podržava samo OD tipa telegrama DO tipa(ova) telegrama ispod:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Only supports telegram type(s) bellow:"
|
||||
msgstr "Podržava samo tipove telegrama ispod:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__output
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output
|
||||
msgid "Output"
|
||||
msgstr "Izlaz"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_file
|
||||
msgid "Output WAMAS File"
|
||||
msgstr "Izlazna WAMAS datoteka"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_filename
|
||||
msgid "Output WAMAS Filename"
|
||||
msgstr "Izlazni WAMAS naziv datoteke"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "Please define wamas message type (msg_type)."
|
||||
msgstr "Molimo definirajte wamas tip poruke (msg_type)."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate"
|
||||
msgstr "Simuliraj"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_simulate_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_simulate_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate WAMAS File"
|
||||
msgstr "Simuliraj WAMAS datoteku"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_simulate
|
||||
msgid "Simulate WAMAS File Wizard"
|
||||
msgstr "Čarobnjak za simulaciju WAMAS datoteke"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__supported_telegram
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__supported_telegram
|
||||
msgid "Supported Telegram"
|
||||
msgstr "Podržani telegram"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Telegram Type"
|
||||
msgstr "Tip telegrama"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "The data is not valid."
|
||||
msgstr "Podaci nisu važeći."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "This wizard will help you extract data of a WAMAS file into:"
|
||||
msgstr "Ovaj čarobnjak će vam pomoći da izvučete podatke WAMAS datoteke u:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid ""
|
||||
"This wizard will help you generate (simulating) a new WAMAS file from an "
|
||||
"existing WAMAS file."
|
||||
msgstr ""
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.menu_wamas_parent
|
||||
msgid "WAMAS"
|
||||
msgstr "WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_file
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_file
|
||||
msgid "WAMAS File"
|
||||
msgstr "WAMAS datoteka"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_filename
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_filename
|
||||
msgid "WAMAS Filename"
|
||||
msgstr "WAMAS naziv datoteke"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "WAMAS Type"
|
||||
msgstr "WAMAS tip"
|
||||
|
|
@ -0,0 +1,238 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_wamas_ubl
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-02-15 21:35+0000\n"
|
||||
"Last-Translator: Ivorra78 <informatica@totmaterial.es>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: es\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 4.17\n"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_simulate.py:0
|
||||
#, python-format
|
||||
msgid "- Error: %s"
|
||||
msgstr "- Error: %s"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"- WAMAS Type: %(wamas_type)s\n"
|
||||
"- Data: %(data)s"
|
||||
msgstr ""
|
||||
"- Tipo WAMAS: %(wamas_type)s\n"
|
||||
"- Datos: %(data)s"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Cancelar"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check"
|
||||
msgstr "Comprobar"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_check_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_check_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check WAMAS File"
|
||||
msgstr "Comprobar el archivo WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_check
|
||||
msgid "Check WAMAS File Wizard"
|
||||
msgstr "Comprobar el Asistente de Archivos WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creado por"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creado el"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Data"
|
||||
msgstr "Datos"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__display_name
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Mostrar Nombre"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__id
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check____last_update
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Última Modificación el"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Última Actualización por"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Última Actualización el"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_base_wamas_ubl
|
||||
msgid "Methods to convert WAMAS to UBL XML files and vice versa"
|
||||
msgstr "Métodos para convertir archivos WAMAS a UBL XML y viceversa"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Only supports FROM telegram type TO telegram type(s) bellow:"
|
||||
msgstr ""
|
||||
"Sólo admite el tipo de telegrama DESDE el tipo de telegrama HASTA el tipo o "
|
||||
"tipos de telegrama(s) siguiente(s):"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Only supports telegram type(s) bellow:"
|
||||
msgstr "Sólo admite los siguientes tipos de telegramas:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__output
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output
|
||||
msgid "Output"
|
||||
msgstr "Salida"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_file
|
||||
msgid "Output WAMAS File"
|
||||
msgstr "Archivo WAMAS de Salida"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_filename
|
||||
msgid "Output WAMAS Filename"
|
||||
msgstr "Nombre del Archivo WAMAS de Salida"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "Please define wamas message type (msg_type)."
|
||||
msgstr "Por favor, defina el tipo de mensaje wamas (msg_type)."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate"
|
||||
msgstr "Simular"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_simulate_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_simulate_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate WAMAS File"
|
||||
msgstr "Simular Fichero WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_simulate
|
||||
msgid "Simulate WAMAS File Wizard"
|
||||
msgstr "Asistente de Simulación de Ficheros WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__supported_telegram
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__supported_telegram
|
||||
msgid "Supported Telegram"
|
||||
msgstr "Telegram Compatible"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Telegram Type"
|
||||
msgstr "Tipo de Telegram"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "The data is not valid."
|
||||
msgstr "Los datos no son válidos."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "This wizard will help you extract data of a WAMAS file into:"
|
||||
msgstr "Este asistente le ayudará a extraer los datos de un archivo WAMAS en:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid ""
|
||||
"This wizard will help you generate (simulating) a new WAMAS file from an "
|
||||
"existing WAMAS file."
|
||||
msgstr ""
|
||||
"Este asistente le ayudará a generar (simular) un nuevo archivo WAMAS a "
|
||||
"partir de un archivo WAMAS existente."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.menu_wamas_parent
|
||||
msgid "WAMAS"
|
||||
msgstr "WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_file
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_file
|
||||
msgid "WAMAS File"
|
||||
msgstr "Archivo WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_filename
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_filename
|
||||
msgid "WAMAS Filename"
|
||||
msgstr "Nombre de archivo WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "WAMAS Type"
|
||||
msgstr "Tipo WAMAS"
|
||||
|
||||
#, python-format
|
||||
#~ msgid "- Error: Length of line does not match expected length"
|
||||
#~ msgstr ""
|
||||
#~ "- Error: La longitud de la línea no coincide con la longitud esperada"
|
||||
|
||||
#, python-format
|
||||
#~ msgid ""
|
||||
#~ "- WAMAS Type: %(wamas_type)s\n"
|
||||
#~ "- Telegram Type: %(telegram_type)s\n"
|
||||
#~ "- Data: %(data)s\n"
|
||||
#~ " "
|
||||
#~ msgstr ""
|
||||
#~ "- Tipo WAMAS: %(wamas_type)s\n"
|
||||
#~ "- Tipo de telegrama: %(telegram_type)s\n"
|
||||
#~ "- Datos: %(data)s\n"
|
||||
#~ " "
|
||||
|
||||
#, python-format
|
||||
#~ msgid "Please define telegram_type."
|
||||
#~ msgstr "Por favor, defina telegram_type."
|
||||
|
|
@ -0,0 +1,215 @@
|
|||
# Translation of Odoo Server.
|
||||
# This file contains the translation of the following modules:
|
||||
# * base_wamas_ubl
|
||||
#
|
||||
msgid ""
|
||||
msgstr ""
|
||||
"Project-Id-Version: Odoo Server 16.0\n"
|
||||
"Report-Msgid-Bugs-To: \n"
|
||||
"PO-Revision-Date: 2024-08-23 12:06+0000\n"
|
||||
"Last-Translator: mymage <stefano.consolaro@mymage.it>\n"
|
||||
"Language-Team: none\n"
|
||||
"Language: it\n"
|
||||
"MIME-Version: 1.0\n"
|
||||
"Content-Type: text/plain; charset=UTF-8\n"
|
||||
"Content-Transfer-Encoding: \n"
|
||||
"Plural-Forms: nplurals=2; plural=n != 1;\n"
|
||||
"X-Generator: Weblate 5.6.2\n"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_simulate.py:0
|
||||
#, python-format
|
||||
msgid "- Error: %s"
|
||||
msgstr "- Errore: %s"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/wizards/wamas_ubl_wiz_check.py:0
|
||||
#, python-format
|
||||
msgid ""
|
||||
"- WAMAS Type: %(wamas_type)s\n"
|
||||
"- Data: %(data)s"
|
||||
msgstr ""
|
||||
"- Tipo WAMAS : %(wamas_type)s\n"
|
||||
"- Dati: %(data)s"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Cancel"
|
||||
msgstr "Annulla"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check"
|
||||
msgstr "Controllo"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_check_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_check_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Check WAMAS File"
|
||||
msgstr "Controllo file WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_check
|
||||
msgid "Check WAMAS File Wizard"
|
||||
msgstr "Procedura guidata controllo file WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_uid
|
||||
msgid "Created by"
|
||||
msgstr "Creato da"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__create_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__create_date
|
||||
msgid "Created on"
|
||||
msgstr "Creato il"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Data"
|
||||
msgstr "Dati"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__display_name
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__display_name
|
||||
msgid "Display Name"
|
||||
msgstr "Nome visualizzato"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__id
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__id
|
||||
msgid "ID"
|
||||
msgstr "ID"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check____last_update
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate____last_update
|
||||
msgid "Last Modified on"
|
||||
msgstr "Ultima modifica il"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_uid
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_uid
|
||||
msgid "Last Updated by"
|
||||
msgstr "Ultimo aggiornamento di"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__write_date
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__write_date
|
||||
msgid "Last Updated on"
|
||||
msgstr "Ultimo aggiornamento il"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_base_wamas_ubl
|
||||
msgid "Methods to convert WAMAS to UBL XML files and vice versa"
|
||||
msgstr "Metodi per convertire WAMAS in file XML UBL e vice versa"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Only supports FROM telegram type TO telegram type(s) bellow:"
|
||||
msgstr "Supporta solo DA tipo telegramma A tipo(i) telegramma sottostanti:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Only supports telegram type(s) bellow:"
|
||||
msgstr "Supporta solo tipo(i) telegramma sottostante:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__output
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output
|
||||
msgid "Output"
|
||||
msgstr "Output"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_file
|
||||
msgid "Output WAMAS File"
|
||||
msgstr "File output WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__output_wamas_filename
|
||||
msgid "Output WAMAS Filename"
|
||||
msgstr "Nome file output WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "Please define wamas message type (msg_type)."
|
||||
msgstr "Definire il tipo messaggio WAMAS (msg_type)."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate"
|
||||
msgstr "Simula"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.actions.act_window,name:base_wamas_ubl.wamas_ubl_wiz_simulate_action
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.wamas_ubl_wiz_simulate_menu
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid "Simulate WAMAS File"
|
||||
msgstr "Simula file WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model,name:base_wamas_ubl.model_wamas_ubl_wiz_simulate
|
||||
msgid "Simulate WAMAS File Wizard"
|
||||
msgstr "Procedura guidata simulazione file WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__supported_telegram
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__supported_telegram
|
||||
msgid "Supported Telegram"
|
||||
msgstr "Telegramma supportato"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "Telegram Type"
|
||||
msgstr "Tipo telegramma"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#. odoo-python
|
||||
#: code:addons/base_wamas_ubl/models/base_wamas_ubl.py:0
|
||||
#, python-format
|
||||
msgid "The data is not valid."
|
||||
msgstr "I dati non sono validi."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "This wizard will help you extract data of a WAMAS file into:"
|
||||
msgstr "Questa procedura guidata aiuta nell'estrarre dati di un file WAMAS in:"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_simulate_form
|
||||
msgid ""
|
||||
"This wizard will help you generate (simulating) a new WAMAS file from an "
|
||||
"existing WAMAS file."
|
||||
msgstr ""
|
||||
"Questa procedura guidata aiuta a generare (simulando) un nuovo file WAMAS da "
|
||||
"un file WAMAS esistente."
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.ui.menu,name:base_wamas_ubl.menu_wamas_parent
|
||||
msgid "WAMAS"
|
||||
msgstr "WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_file
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_file
|
||||
msgid "WAMAS File"
|
||||
msgstr "File WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_check__wamas_filename
|
||||
#: model:ir.model.fields,field_description:base_wamas_ubl.field_wamas_ubl_wiz_simulate__wamas_filename
|
||||
msgid "WAMAS Filename"
|
||||
msgstr "Nome file WAMAS"
|
||||
|
||||
#. module: base_wamas_ubl
|
||||
#: model_terms:ir.ui.view,arch_db:base_wamas_ubl.wamas_ubl_wiz_check_form
|
||||
msgid "WAMAS Type"
|
||||
msgstr "Tipo WAMAS"
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.dict2wamas $*
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
#!/usr/bin/sh
|
||||
./ubl2wamas ../tests/samples/UBL2WAMAS-SAMPLE_AUSK_AUSP-DESPATCH_ADVICE.xml -o ../tests/samples/UBL2WAMAS-SAMPLE_AUSK_AUSP.wamas -t Picking
|
||||
./ubl2wamas ../tests/samples/UBL2WAMAS-SAMPLE_WEAK_WEAP-DESPATCH_ADVICE.xml -o ../tests/samples/UBL2WAMAS-SAMPLE_WEAK_WEAP.wamas -t Reception
|
||||
./ubl2wamas ../tests/samples/UBL2WAMAS-SAMPLE_KRETK_KRETP-DESPATCH_ADVICE.xml -o ../tests/samples/UBL2WAMAS-SAMPLE_KRETK_KRETP.wamas -t Return
|
||||
|
||||
./wamas2ubl ../tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ.wamas -o ../tests/samples/WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml
|
||||
./wamas2ubl ../tests/samples/WAMAS2UBL-SAMPLE_WEAKQ_WEAPQ.wamas -o ../tests/samples/WAMAS2UBL-SAMPLE_WEAKQ_WEAPQ-DESPATCH_ADVICE.xml
|
||||
./wamas2ubl ../tests/samples/WAMAS2UBL-SAMPLE_KRETKQ_KRETPQ.wamas -o ../tests/samples/WAMAS2UBL-SAMPLE_KRETKQ_KRETPQ-DESPATCH_ADVICE.xml
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_dict2wamas
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_ubl2wamas
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_utils
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_wamas2dict
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_wamas2ubl
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.tests.test_wamas2wamas
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#!/usr/bin/sh
|
||||
/usr/bin/env python3 -m wamas.ubl2wamas $*
|
||||
|
|
@ -0,0 +1,183 @@
|
|||
from .wamas_grammar import (
|
||||
art,
|
||||
arte,
|
||||
artean,
|
||||
ausk,
|
||||
auskq,
|
||||
ausp,
|
||||
auspq,
|
||||
bkorr,
|
||||
kretk,
|
||||
kretkq,
|
||||
kretp,
|
||||
kretpq,
|
||||
kst,
|
||||
kstaus,
|
||||
lba,
|
||||
lbabq,
|
||||
lbaeq,
|
||||
lbamq,
|
||||
lst,
|
||||
watekq,
|
||||
watepq,
|
||||
weak,
|
||||
weakq,
|
||||
weap,
|
||||
weapq,
|
||||
)
|
||||
|
||||
##
|
||||
# WAMAS CONST
|
||||
##
|
||||
|
||||
DEFAULT_TIMEZONE = "Europe/Zurich"
|
||||
SYSTEM_WAMAS = "WAMAS"
|
||||
SYSTEM_ERP = "ODOO"
|
||||
|
||||
##
|
||||
# WAMAS FORMAT SPECS
|
||||
##
|
||||
|
||||
TELEGRAM_HEADER_GRAMMAR = {
|
||||
"Telheader_Quelle": 10,
|
||||
"Telheader_Ziel": 10,
|
||||
"Telheader_TelSeq": 6,
|
||||
"Telheader_AnlZeit": 14,
|
||||
"Satzart": 9,
|
||||
}
|
||||
|
||||
DICT_DETECT_WAMAS_TYPE = {
|
||||
"ART": "Product",
|
||||
"AUSK": "Picking",
|
||||
"AUSKQ": "PickingResponse",
|
||||
"AUSPQ": "PickingResponse",
|
||||
"KRETK": "Return",
|
||||
"KRETKQ": "ReturnResponse",
|
||||
"KST": "Customer",
|
||||
"LST": "Supplier",
|
||||
"WATEKQ": "PickingResponse",
|
||||
"WEAK": "Reception",
|
||||
"WEAKQ": "ReceptionResponse",
|
||||
"BKORR": "InventoryCorrection",
|
||||
"LBABQ": "InventoryResponse",
|
||||
"LBAMQ": "InventoryResponse",
|
||||
}
|
||||
|
||||
##
|
||||
# WAMAS GRAMMAR
|
||||
##
|
||||
|
||||
DICT_WAMAS_GRAMMAR = {
|
||||
"ART": art.grammar,
|
||||
"ARTE": arte.grammar,
|
||||
"ARTEAN": artean.grammar,
|
||||
"AUSK": ausk.grammar,
|
||||
"AUSP": ausp.grammar,
|
||||
"BKORR": bkorr.grammar,
|
||||
"KRETK": kretk.grammar,
|
||||
"KRETP": kretp.grammar,
|
||||
"WEAK": weak.grammar,
|
||||
"WEAP": weap.grammar,
|
||||
"AUSKQ": auskq.grammar,
|
||||
"AUSPQ": auspq.grammar,
|
||||
"KRETKQ": kretkq.grammar,
|
||||
"KRETPQ": kretpq.grammar,
|
||||
"KST": kst.grammar,
|
||||
"KSTAUS": kstaus.grammar,
|
||||
"LBA": lba.grammar,
|
||||
"LBABQ": lbabq.grammar,
|
||||
"LBAEQ": lbaeq.grammar,
|
||||
"LBAMQ": lbamq.grammar,
|
||||
"LST": lst.grammar,
|
||||
"WATEKQ": watekq.grammar,
|
||||
"WATEPQ": watepq.grammar,
|
||||
"WEAKQ": weakq.grammar,
|
||||
"WEAPQ": weapq.grammar,
|
||||
}
|
||||
|
||||
##
|
||||
# WAMAS TO UBL
|
||||
##
|
||||
|
||||
LST_TELEGRAM_TYPE_IGNORE_W2D = ["TOURQ", "TAUSPQ"]
|
||||
|
||||
DICT_UBL_TEMPLATE = {
|
||||
"ReceptionResponse": "ubl_template/reception.xml",
|
||||
"ReturnResponse": "ubl_template/return.xml",
|
||||
"PickingResponse": "ubl_template/picking.xml",
|
||||
}
|
||||
|
||||
##
|
||||
# DICT TO WAMAS
|
||||
##
|
||||
|
||||
SUPPORTED_DICT_TO_WAMAS = {
|
||||
"Product": ["ART"], # "ARTE", "ARTEAN"],
|
||||
"Packaging": ["ARTE"],
|
||||
"Barcode": ["ARTEAN"],
|
||||
"Customer": ["KST"], # "KSTAUS"],
|
||||
"CustomerDeliveryPreferences": ["KSTAUS"],
|
||||
"Supplier": ["LST"],
|
||||
}
|
||||
|
||||
##
|
||||
# UBL TO WAMAS
|
||||
##
|
||||
|
||||
SUPPORTED_UBL_TO_WAMAS = {
|
||||
"Reception": ["WEAK", "WEAP"],
|
||||
"Picking": ["AUSK", "AUSP"],
|
||||
"Return": ["KRETK", "KRETP"],
|
||||
}
|
||||
|
||||
LST_TELEGRAM_TYPE_SUPPORT_D2W = [
|
||||
"ART",
|
||||
"ARTE",
|
||||
"ARTEAN",
|
||||
"WEAK",
|
||||
"WEAP",
|
||||
"AUSK",
|
||||
"AUSP",
|
||||
"BKORR",
|
||||
"KRETK",
|
||||
"KRETP",
|
||||
"KST",
|
||||
"KSTAUS",
|
||||
"LBA",
|
||||
"LBABQ",
|
||||
"LBAMQ",
|
||||
"LBAEQ",
|
||||
"LST",
|
||||
]
|
||||
|
||||
|
||||
##
|
||||
# WAMAS TO WAMAS
|
||||
##
|
||||
|
||||
LST_VALID_TELEGRAM_IN = [
|
||||
"AUSK",
|
||||
"AUSP",
|
||||
"KRETK",
|
||||
"KRETP",
|
||||
"WATEK",
|
||||
"WATEP",
|
||||
"WEAK",
|
||||
"WEAP",
|
||||
]
|
||||
|
||||
|
||||
DICT_CONVERT_WAMAS_TYPE = {
|
||||
"AUSK": ["AUSKQ", "WATEKQ"],
|
||||
"AUSP": ["AUSPQ", "WATEPQ"],
|
||||
"KRETK": ["KRETKQ"],
|
||||
"KRETP": ["KRETPQ"],
|
||||
"WEAK": ["WEAKQ"],
|
||||
"WEAP": ["WEAPQ"],
|
||||
}
|
||||
|
||||
|
||||
DICT_PARENT_KEY = {"WATEKQ": ["IvTek_TeId"]}
|
||||
|
||||
|
||||
DICT_CHILD_KEY = {"WATEPQ": {"IvTep_TeId": "IvTek_TeId"}}
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from ast import literal_eval
|
||||
from pprint import pformat
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from . import const, utils
|
||||
|
||||
_logger = logging.getLogger("json2wamas")
|
||||
|
||||
SUPPORTED_TYPES = list(const.SUPPORTED_DICT_TO_WAMAS.keys())
|
||||
|
||||
|
||||
def dict2list(dict_input, msg_type):
|
||||
res = []
|
||||
|
||||
if msg_type not in SUPPORTED_TYPES:
|
||||
raise Exception("Invalid document type: %s" % msg_type)
|
||||
|
||||
line_idx = 0
|
||||
for telegram_type in const.SUPPORTED_DICT_TO_WAMAS[msg_type]:
|
||||
grammar = const.DICT_WAMAS_GRAMMAR[telegram_type]
|
||||
# Special case for `KSTAUS`
|
||||
if telegram_type == "KSTAUS":
|
||||
# 1 line for `KstAus_LagIdKom = kMEZ`
|
||||
line_idx += 1
|
||||
dict_input["picking_zone"] = "kMEZ"
|
||||
line = utils.generate_wamas_dict(
|
||||
dict_input,
|
||||
grammar,
|
||||
line_idx=line_idx,
|
||||
)
|
||||
res.append(line)
|
||||
# 1 line for `KstAus_LagIdKom = kPAR`
|
||||
line_idx += 1
|
||||
dict_input["picking_zone"] = "kPAR"
|
||||
line = utils.generate_wamas_dict(
|
||||
dict_input,
|
||||
grammar,
|
||||
line_idx=line_idx,
|
||||
)
|
||||
res.append(line)
|
||||
else:
|
||||
line_idx += 1
|
||||
line = utils.generate_wamas_dict(
|
||||
dict_input,
|
||||
grammar,
|
||||
line_idx=line_idx,
|
||||
)
|
||||
res.append(line)
|
||||
return res
|
||||
|
||||
|
||||
def dict2wamas(dict_input, msg_type):
|
||||
lst_of_wamas_dicts = dict2list(dict_input, msg_type)
|
||||
wamas = "\n".join(utils.wamas_dict2line(d) for d in lst_of_wamas_dicts)
|
||||
_logger.debug(lst_of_wamas_dicts)
|
||||
return wamas
|
||||
|
||||
|
||||
@freeze_time("2024-02-11 22:14:22")
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Converts JSON document into message.",
|
||||
)
|
||||
parser.add_argument("-v", "--verbose", action="store_true", help="enable debug log")
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--format",
|
||||
default="wamas",
|
||||
choices=["dict", "wamas"],
|
||||
help="result format",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t", "--type", required=True, choices=SUPPORTED_TYPES, help="type of document"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o", "--output", dest="outputfile", help="write result in this file"
|
||||
)
|
||||
parser.add_argument("inputfile", help="read message from this file")
|
||||
args = parser.parse_args()
|
||||
if args.verbose:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
infile = utils.file_open(args.inputfile).read()
|
||||
infile = literal_eval(infile)
|
||||
if args.format == "dict":
|
||||
res = pformat(dict2list(infile, args.type))
|
||||
else:
|
||||
res = dict2wamas(infile, args.type)
|
||||
if args.outputfile:
|
||||
fd = utils.file_open(args.outputfile, "w")
|
||||
fd.write(res)
|
||||
else:
|
||||
print(res) # pylint: disable=print-used
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -0,0 +1,231 @@
|
|||
"""
|
||||
Extracted from QWeb Framework v0.7
|
||||
|
||||
https://github.com/antonylesuisse/qweb/blob/master/qweb_python/qweb/qweb.py
|
||||
|
||||
License
|
||||
-------
|
||||
Public domain.
|
||||
"""
|
||||
|
||||
import logging
|
||||
import xml.dom
|
||||
import xml.dom.minidom
|
||||
|
||||
_logger = logging.getLogger("miniqweb")
|
||||
|
||||
|
||||
# ----------------------------------------------------------
|
||||
# Qweb Xml t-raw t-if t-foreach t-set t-trim
|
||||
# ----------------------------------------------------------
|
||||
class QWebEval:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
|
||||
def __getitem__(self, expr):
|
||||
if expr in self.data:
|
||||
return self.data[expr]
|
||||
r = None
|
||||
try:
|
||||
r = eval(expr, self.data) # pylint: disable=W0123
|
||||
except NameError:
|
||||
_logger.debug("qweb: name error")
|
||||
except AttributeError:
|
||||
_logger.debug("qweb: attribute error")
|
||||
except Exception as e:
|
||||
_logger.debug("qweb: expression error '%s' " % expr, e)
|
||||
if "__builtins__" in self.data:
|
||||
del self.data["__builtins__"]
|
||||
return r
|
||||
|
||||
def eval_object(self, expr):
|
||||
return self[expr]
|
||||
|
||||
def eval_str(self, expr):
|
||||
if expr == "0":
|
||||
return self.data[0]
|
||||
return str(self[expr])
|
||||
|
||||
def eval_format(self, expr):
|
||||
try:
|
||||
return str(expr % self)
|
||||
except Exception:
|
||||
return "qweb: format error '%s' " % expr
|
||||
|
||||
def eval_bool(self, expr):
|
||||
if self.eval_object(expr):
|
||||
return 1
|
||||
else:
|
||||
return 0
|
||||
|
||||
|
||||
class QWebXml:
|
||||
"""QWeb Xml templating engine
|
||||
|
||||
The templating engine use a very simple syntax, "magic" xml attributes, to
|
||||
produce any kind of texutal output (even non-xml).
|
||||
|
||||
QWebXml:
|
||||
the template engine core implements the basic magic attributes:
|
||||
|
||||
t-att t-raw t-if t-foreach t-set t-trim
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, x=None):
|
||||
self.node = xml.dom.Node
|
||||
self._t = {}
|
||||
self._render_tag = {}
|
||||
prefix = "render_tag_"
|
||||
for i in [j for j in dir(self) if j.startswith(prefix)]:
|
||||
name = i[len(prefix) :].replace("_", "-")
|
||||
self._render_tag[name] = getattr(self.__class__, i)
|
||||
|
||||
self._render_att = {}
|
||||
prefix = "render_att_"
|
||||
for i in [j for j in dir(self) if j.startswith(prefix)]:
|
||||
name = i[len(prefix) :].replace("_", "-")
|
||||
self._render_att[name] = getattr(self.__class__, i)
|
||||
|
||||
if x is not None:
|
||||
self.add_template(x)
|
||||
|
||||
def register_tag(self, tag, func):
|
||||
self._render_tag[tag] = func
|
||||
|
||||
def add_template(self, x):
|
||||
dom = xml.dom.minidom.parseString(x)
|
||||
self._t = dom
|
||||
|
||||
def eval_object(self, expr, v):
|
||||
return QWebEval(v).eval_object(expr)
|
||||
|
||||
def eval_str(self, expr, v):
|
||||
return QWebEval(v).eval_str(expr)
|
||||
|
||||
def eval_format(self, expr, v):
|
||||
return QWebEval(v).eval_format(expr)
|
||||
|
||||
def eval_bool(self, expr, v):
|
||||
return QWebEval(v).eval_bool(expr)
|
||||
|
||||
def render(self, v, out=None):
|
||||
return self.render_node(self._t.childNodes[0], v)
|
||||
|
||||
def render_node(self, e, v):
|
||||
r = ""
|
||||
if (
|
||||
e.nodeType == self.node.TEXT_NODE
|
||||
or e.nodeType == self.node.CDATA_SECTION_NODE
|
||||
):
|
||||
r = e.data
|
||||
elif e.nodeType == self.node.ELEMENT_NODE:
|
||||
pre = ""
|
||||
g_att = ""
|
||||
t_render = None
|
||||
t_att = {}
|
||||
for an, av in e.attributes.items():
|
||||
if an.startswith("t-"):
|
||||
for i in self._render_att:
|
||||
if an[2:].startswith(i):
|
||||
g_att += self._render_att[i](self, e, an, av, v)
|
||||
break
|
||||
else:
|
||||
if an[2:] in self._render_tag:
|
||||
t_render = an[2:]
|
||||
t_att[an[2:]] = av
|
||||
else:
|
||||
g_att += ' {}="{}"'.format(an, av)
|
||||
if t_render:
|
||||
if t_render in self._render_tag:
|
||||
r = self._render_tag[t_render](self, e, t_att, g_att, v)
|
||||
else:
|
||||
r = self.render_element(e, g_att, v, pre, t_att.get("trim", 0))
|
||||
return r
|
||||
|
||||
def render_element(self, e, g_att, v, pre="", trim=0):
|
||||
g_inner = []
|
||||
for n in e.childNodes:
|
||||
g_inner.append(self.render_node(n, v))
|
||||
name = str(e.nodeName)
|
||||
inner = "".join(g_inner)
|
||||
if trim == 0:
|
||||
pass
|
||||
elif trim == "left":
|
||||
inner = inner.lstrip()
|
||||
elif trim == "right":
|
||||
inner = inner.rstrip()
|
||||
elif trim == "both":
|
||||
inner = inner.strip()
|
||||
if name == "t":
|
||||
return inner
|
||||
elif len(inner):
|
||||
return "<{}{}>{}{}</{}>".format(name, g_att, pre, inner, name)
|
||||
else:
|
||||
return "<{}{}/>".format(name, g_att)
|
||||
|
||||
# Attributes
|
||||
def render_att_att(self, e, an, av, v):
|
||||
if an.startswith("t-attf-"):
|
||||
att, val = an[7:], self.eval_format(av, v)
|
||||
elif an.startswith("t-att-"):
|
||||
att, val = (an[6:], self.eval_str(av, v))
|
||||
else:
|
||||
att, val = self.eval_object(av, v)
|
||||
return ' {}="{}"'.format(att, val)
|
||||
|
||||
# Tags
|
||||
def render_tag_raw(self, e, t_att, g_att, v):
|
||||
return self.eval_str(t_att["raw"], v)
|
||||
|
||||
def render_tag_rawf(self, e, t_att, g_att, v):
|
||||
return self.eval_format(t_att["rawf"], v)
|
||||
|
||||
def render_tag_foreach(self, e, t_att, g_att, v):
|
||||
expr = t_att["foreach"]
|
||||
enum = self.eval_object(expr, v)
|
||||
if enum is not None:
|
||||
var = t_att.get("as", expr).replace(".", "_")
|
||||
d = v.copy()
|
||||
size = -1
|
||||
if isinstance(enum, (list, tuple)):
|
||||
size = len(enum)
|
||||
elif hasattr(enum, "count"):
|
||||
size = enum.count()
|
||||
d["%s_size" % var] = size
|
||||
d["%s_all" % var] = enum
|
||||
index = 0
|
||||
ru = []
|
||||
for i in enum:
|
||||
d["%s_value" % var] = i
|
||||
d["%s_index" % var] = index
|
||||
d["%s_first" % var] = index == 0
|
||||
d["%s_even" % var] = index % 2
|
||||
d["%s_odd" % var] = (index + 1) % 2
|
||||
d["%s_last" % var] = index + 1 == size
|
||||
if index % 2:
|
||||
d["%s_parity" % var] = "odd"
|
||||
else:
|
||||
d["%s_parity" % var] = "even"
|
||||
if isinstance(i, dict):
|
||||
d.update(i)
|
||||
else:
|
||||
d[var] = i
|
||||
ru.append(self.render_element(e, g_att, d))
|
||||
index += 1
|
||||
return "".join(ru)
|
||||
else:
|
||||
return "qweb: t-foreach %s not found." % expr
|
||||
|
||||
def render_tag_if(self, e, t_att, g_att, v):
|
||||
if self.eval_bool(t_att["if"], v):
|
||||
return self.render_element(e, g_att, v)
|
||||
else:
|
||||
return ""
|
||||
|
||||
def render_tag_set(self, e, t_att, g_att, v):
|
||||
if "eval" in t_att:
|
||||
v[t_att["set"]] = self.eval_object(t_att["eval"], v)
|
||||
else:
|
||||
v[t_att["set"]] = self.render_element(e, g_att, v)
|
||||
return ""
|
||||
|
|
@ -0,0 +1,25 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import logging
|
||||
|
||||
_logger = logging.getLogger("wamas")
|
||||
|
||||
|
||||
class obj:
|
||||
def __init__(self, d):
|
||||
for k, v in d.items():
|
||||
if isinstance(v, (list, tuple)):
|
||||
setattr(self, k, [obj(x) if isinstance(x, dict) else x for x in v])
|
||||
else:
|
||||
setattr(self, k, obj(v) if isinstance(v, dict) else v)
|
||||
|
||||
|
||||
class MappingDict(dict):
|
||||
"""
|
||||
A dict that returns the key if there's no corresponding value
|
||||
"""
|
||||
|
||||
def __missing__(self, key):
|
||||
_logger.debug("No mapping found for key: %s", key)
|
||||
return key
|
||||
|
|
@ -0,0 +1,94 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>1673980/1700802</cbc:ID>
|
||||
<cbc:Note/>
|
||||
<cbc:IssueDate>2023-04-30</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>1700802</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName></cbc:StreetName>
|
||||
<cbc:CityName></cbc:CityName>
|
||||
<cbc:PostalZone></cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name></cbc:Name>
|
||||
<cbc:Telephone></cbc:Telephone>
|
||||
<cbc:ElectronicMail></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>YourCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>250 Executive Park Blvd, Suite 3400</cbc:StreetName>
|
||||
<cbc:AdditionalStreetName>AdditionalStreetName_1</cbc:AdditionalStreetName>
|
||||
<cbc:Department>Department_1</cbc:Department>
|
||||
<cbc:CityName>San Francisco</cbc:CityName>
|
||||
<cbc:PostalZone>94134</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name>Chester Reed</cbc:Name>
|
||||
<cbc:Telephone>(979)-904-8902</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>chester.reed79@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID>GE 2/120185</cbc:ID>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-04-13</cbc:EndDate>
|
||||
<cbc:EndTime>11:00:00</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
<cac:Despatch>
|
||||
<cac:DespatchLocation>
|
||||
<cbc:ID>Quai-22</cbc:ID>
|
||||
</cac:DespatchLocation>
|
||||
</cac:Despatch>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>10001</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="XBO">1500</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID>000011</cbc:LineID>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7076</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,108 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>WH/PICK/1700802</cbc:ID>
|
||||
<cbc:Note/>
|
||||
<cbc:IssueDate>2023-04-30</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>SO1700802</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>YourCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>250 Executive Park Blvd, Suite 3400</cbc:StreetName>
|
||||
<cbc:CityName>San Francisco</cbc:CityName>
|
||||
<cbc:PostalZone>94134</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name>Chester Reed</cbc:Name>
|
||||
<cbc:Telephone>(979)-904-8902</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>chester.reed79@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>Name</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>StreetName</cbc:StreetName>
|
||||
<cbc:Department>Department</cbc:Department>
|
||||
<cbc:AdditionalStreetName>AdditionalStreetName</cbc:AdditionalStreetName>
|
||||
<cbc:CityName>San Francisco</cbc:CityName>
|
||||
<cbc:PostalZone>94134</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name></cbc:Name>
|
||||
<cbc:Telephone>(979)-904-8902</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>chester.reed79@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID>GE 2/120185</cbc:ID>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-04-13</cbc:EndDate>
|
||||
<cbc:EndTime>11:00:00</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
<cac:Despatch>
|
||||
<cac:DespatchLocation>
|
||||
<cbc:ID>Quai-22</cbc:ID>
|
||||
</cac:DespatchLocation>
|
||||
</cac:Despatch>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>10001</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">1500</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7076</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>10002</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT">50</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>5225</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,3 @@
|
|||
ODOO WAMAS 00000120230501020000AUSK00056000WH/PICK/1700802 ODOO SO1700802 000 Name Department StreetName AdditionalStreetName 94134 San Francisco (979)-904-8902 Name Department StreetName AdditionalStreetName 94134 San Francisco California US (979)-904-8902 chester.reed79@example.com 20230413130000Quai-22 FRUEH FRUEHGE 2/120185 ODOO 00000000000000000000000000 CAM 001 ST Def_Strat
|
||||
ODOO WAMAS 00000220230501020000AUSP00054000WH/PICK/1700802 ODOO 0100010007076 00000 DISPONIBLE 0000000000000000000000000000 000001500000PET 00000000000000 NN N 0000N
|
||||
ODOO WAMAS 00000320230501020000AUSP00054000WH/PICK/1700802 ODOO 0100020005225 00000 DISPONIBLE 0000000000000000000000000000 000000050000BOUT 00000000000000 NN N 0000N
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>WH/IN-RET/000235</cbc:ID>
|
||||
<cbc:Note/>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>SO001243</cbc:ID>
|
||||
<cbc:IssueDate>2023-04-27</cbc:IssueDate>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>1040</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>MyCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>StreetName</cbc:StreetName>
|
||||
<cbc:Department>Department</cbc:Department>
|
||||
<cbc:AdditionalStreetName>AdditionalStreetName</cbc:AdditionalStreetName>
|
||||
<cbc:CityName>Turlock</cbc:CityName>
|
||||
<cbc:PostalZone>95380</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone>(623)-853-7197</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>wood.corner26@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>YourCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>250 Executive Park Blvd, Suite 3400</cbc:StreetName>
|
||||
<cbc:AdditionalStreetName>AdditionalStreetName_1</cbc:AdditionalStreetName>
|
||||
<cbc:Department>Department_1</cbc:Department>
|
||||
<cbc:CityName>San Francisco</cbc:CityName>
|
||||
<cbc:PostalZone>94134</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name>Chester Reed</cbc:Name>
|
||||
<cbc:Telephone>(979)-904-8902</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>chester.reed79@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID>130377</cbc:ID>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-01</cbc:EndDate>
|
||||
<cbc:EndTime>14:00:00</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0001</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT">1536</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1151</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0002</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">5184</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1156</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0003</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT">3840</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID>0003</cbc:LineID>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1160</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0004</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">3072</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1162</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0005</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">3024</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1176</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ODOO WAMAS 00000120230501020000KRETK0051000WH/IN-RET/000235 ODOO SO001243 RETCLI0001040 MyCompany Department StreetName AdditionalStreetName 95380 Turlock US (623)-853-7197 wood.corner26@example.com SF-EM-RETCLI 20230501160000
|
||||
ODOO WAMAS 00000220230501020000KRETP0046000WH/IN-RET/000235 ODOO SO001243 0000010001151 00000DISPONIBLE 000001536000BOUT N
|
||||
ODOO WAMAS 00000320230501020000KRETP0046000WH/IN-RET/000235 ODOO SO001243 0000020001156 00000DISPONIBLE 000005184000PET N
|
||||
ODOO WAMAS 00000420230501020000KRETP0046000WH/IN-RET/000235 ODOO SO001243 0000030001160 00000DISPONIBLE 000003840000BOUT N
|
||||
ODOO WAMAS 00000520230501020000KRETP0046000WH/IN-RET/000235 ODOO SO001243 0000040001162 00000DISPONIBLE 000003072000PET N
|
||||
ODOO WAMAS 00000620230501020000KRETP0046000WH/IN-RET/000235 ODOO SO001243 0000050001176 00000DISPONIBLE 000003024000PET N
|
||||
|
|
@ -0,0 +1,152 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>WH/IN/000377</cbc:ID>
|
||||
<cbc:Note/>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>PO001040</cbc:ID>
|
||||
<cbc:IssueDate>2023-04-27</cbc:IssueDate>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>1040</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>MyCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>StreetName</cbc:StreetName>
|
||||
<cbc:Department>Department</cbc:Department>
|
||||
<cbc:AdditionalStreetName>AdditionalStreetName</cbc:AdditionalStreetName>
|
||||
<cbc:CityName>Turlock</cbc:CityName>
|
||||
<cbc:PostalZone>95380</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone>(623)-853-7197</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>wood.corner26@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name>YourCompany</cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName>250 Executive Park Blvd, Suite 3400</cbc:StreetName>
|
||||
<cbc:CityName>San Francisco</cbc:CityName>
|
||||
<cbc:PostalZone>94134</cbc:PostalZone>
|
||||
<cbc:CountrySubentity>California</cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode>US</cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID></cbc:ID>
|
||||
<cbc:TaxTypeCode></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name>Chester Reed</cbc:Name>
|
||||
<cbc:Telephone>(979)-904-8902</cbc:Telephone>
|
||||
<cbc:Telefax></cbc:Telefax>
|
||||
<cbc:ElectronicMail>chester.reed79@example.com</cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID>130377</cbc:ID>
|
||||
<cac:Delivery>
|
||||
<cac:PromiseDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-02</cbc:EndDate>
|
||||
<cbc:EndTime>15:00:00</cbc:EndTime>
|
||||
</cac:PromiseDeliveryPeriod>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-01</cbc:EndDate>
|
||||
<cbc:EndTime>14:00:00</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0001</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT">1536</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1151</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7910063</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0002</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">5184</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1156</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7910105</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0003</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT">3840</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1160</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7910004</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0004</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET">3072</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1162</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>12156876</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>0005</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="XBO">3024</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1176</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>7910044</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ODOO WAMAS 00000120230501020000WEAK00050000WH/IN/000377 ODOO PO001040 STDMAN0001040 MyCompany Department StreetName AdditionalStreetName 95380 Turlock US (623)-853-7197 wood.corner26@example.com 20230502170000
|
||||
ODOO WAMAS 00000220230501020000WEAP00045000WH/IN/000377 ODOO PO001040 0000010001151 00000 NDISPONIBLE 000001536000BOUT NORMAL 20230501020000 202305011600007910063 NNLG
|
||||
ODOO WAMAS 00000320230501020000WEAP00045000WH/IN/000377 ODOO PO001040 0000020001156 00000 NDISPONIBLE 000005184000PET NORMAL 20230501020000 202305011600007910105 NNLG
|
||||
ODOO WAMAS 00000420230501020000WEAP00045000WH/IN/000377 ODOO PO001040 0000030001160 00000 NDISPONIBLE 000003840000BOUT NORMAL 20230501020000 202305011600007910004 NNLG
|
||||
ODOO WAMAS 00000520230501020000WEAP00045000WH/IN/000377 ODOO PO001040 0000040001162 00000 NDISPONIBLE 000003072000PET NORMAL 20230501020000 2023050116000012156876 NNLG
|
||||
ODOO WAMAS 00000620230501020000WEAP00045000WH/IN/000377 ODOO PO001040 0000050001176 00000 NDISPONIBLE 000003024000XBO NORMAL 20230501020000 202305011600007910044 NNLG
|
||||
|
|
@ -0,0 +1,162 @@
|
|||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>1673982/1701778</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>1673982/1701778</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID/>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyIdentification>
|
||||
<cbc:ID schemeName="ODOO:ID">4009542</cbc:ID>
|
||||
</cac:PartyIdentification>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID>GE 2/120185</cbc:ID>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cac:Shipment>
|
||||
<cac:TransportHandlingUnit>
|
||||
<cac:ActualPackage>
|
||||
<cbc:ID>376401426411929180</cbc:ID>
|
||||
</cac:ActualPackage>
|
||||
<cbc:TransportHandlingUnitTypeCode>PE</cbc:TransportHandlingUnitTypeCode>
|
||||
</cac:TransportHandlingUnit>
|
||||
<cac:GrossWeightMeasure>
|
||||
<cbc:Measure>314.7</cbc:Measure>
|
||||
</cac:GrossWeightMeasure>
|
||||
</cac:Shipment>
|
||||
<cbc:ID>101</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="TETRA" unitCodeListAgencyName="WAMAS">
|
||||
7.0
|
||||
</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID/>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>
|
||||
15455
|
||||
</cbc:ID>
|
||||
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cac:Shipment>
|
||||
<cac:TransportHandlingUnit>
|
||||
<cac:ActualPackage>
|
||||
<cbc:ID>376401426411929180</cbc:ID>
|
||||
</cac:ActualPackage>
|
||||
<cbc:TransportHandlingUnitTypeCode>PE</cbc:TransportHandlingUnitTypeCode>
|
||||
</cac:TransportHandlingUnit>
|
||||
<cac:GrossWeightMeasure>
|
||||
<cbc:Measure>314.7</cbc:Measure>
|
||||
</cac:GrossWeightMeasure>
|
||||
</cac:Shipment>
|
||||
<cbc:ID>102</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="TETRA" unitCodeListAgencyName="WAMAS">
|
||||
8.0
|
||||
</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID/>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>
|
||||
15455
|
||||
</cbc:ID>
|
||||
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cac:Shipment>
|
||||
<cac:TransportHandlingUnit>
|
||||
<cac:ActualPackage>
|
||||
<cbc:ID>376401426411929180</cbc:ID>
|
||||
</cac:ActualPackage>
|
||||
<cbc:TransportHandlingUnitTypeCode>PE</cbc:TransportHandlingUnitTypeCode>
|
||||
</cac:TransportHandlingUnit>
|
||||
<cac:GrossWeightMeasure>
|
||||
<cbc:Measure>314.7</cbc:Measure>
|
||||
</cac:GrossWeightMeasure>
|
||||
</cac:Shipment>
|
||||
<cbc:ID>103</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="TETRA" unitCodeListAgencyName="WAMAS">
|
||||
0.0
|
||||
</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID/>
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID>
|
||||
15455
|
||||
</cbc:ID>
|
||||
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,5 @@
|
|||
WAMAS ODOO 00005620230413110200AUSKQ00520001673982/1701778 HOST 1673982/1701778 0004009542 202304140000002023041305252320230413110128GE 2/120185 HOST
|
||||
WAMAS ODOO 00000120230413110200WATEKQ054376401426411929180QUAI-22 000000000000000000000000 0000GE 2/120185 HOST PE 000740ST9016000000314700
|
||||
WAMAS ODOO 00000220230413110200WATEPQ050 20240413 12 eCAM 008610 NN20240413000001TETRA 0001673982/1701778 HOST 00010100015455 00000000000007000000000000000DISPONIBLE 376401426411929180
|
||||
WAMAS ODOO 00000320230413110200WATEPQ050 20240413 12 eCAM 008610 NN20240413000001TETRA 0001673982/1701778 HOST 00010200015455 00000000000008000000000000000DISPONIBLE 376401426411929180
|
||||
WAMAS ODOO 00000420230413110200WATEPQ050 20240413 12 eCAM 008610 NN20240413000001TETRA 0001673982/1701778 HOST 00010300015455 00000000000000000000000000000DISPONIBLE 376401426411929180
|
||||
|
|
@ -0,0 +1,169 @@
|
|||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>ABCDE/IN/00424</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>000185</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>1069</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID/>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2025-01-14</cbc:EndDate>
|
||||
<cbc:EndTime>12:13:23</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>1</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">100.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>99098 2</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>ABCDE/IN/00409</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>000176</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>1069</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID/>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2025-01-14</cbc:EndDate>
|
||||
<cbc:EndTime>12:13:23</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>1</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">114.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>12766</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>1</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">115.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>12766</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
WAMAS ODOO 00000720250114132733WEAKQ0051000212712 ODOO 20250114070918 19700101010000202501140710472025011413132320250114070939 0001069
|
||||
WAMAS ODOO 00000820250114132733WEAPQ0050000212712 000ABCDE/IN/00424 ODOO 000185 0000019623 00099098 2 00000DISPONIBLE 000000100000000000000000 BOUT 19700101 12 eCAM 173980 N
|
||||
WAMAS ODOO 00000920250114132733WEAPQ0050000212712 000ABCDE/IN/00409 ODOO 000176 0000019623 00012766 00000DISPONIBLE 000000114000000000000000 BOUT 19700101 12 eCAM 173970 N
|
||||
WAMAS ODOO 00001020250114132733WEAPQ0050000212712 000ABCDE/IN/00409 ODOO 000176 0000019623 00012766 00000DISPONIBLE 000000115000000000000000 BOUT 19700101 12 eCAM 173970 N
|
||||
|
|
@ -0,0 +1,202 @@
|
|||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>1683399</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>1712149</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>4026234</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID/>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-10</cbc:EndDate>
|
||||
<cbc:EndTime>09:54:47</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>10</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">108.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1172</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>20</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">36.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1272</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>30</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">48.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>16076</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>40</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">72.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>22876</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>50</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">60.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>25676</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>1683288</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID>1711980</cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>4007720</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID/>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-10</cbc:EndDate>
|
||||
<cbc:EndTime>09:57:14</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>10</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">144.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>8060</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,8 @@
|
|||
WAMAS ODOO 00000120230510115944KRETKQ0500001683399 HOST 1712149 0004026234 202305101026402023051011102920230510115447
|
||||
WAMAS ODOO 00000220230510115944KRETPQ0500001683399 HOST 1712149 0000100001172 00000DISPONIBLE 000000108000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000320230510115944KRETPQ0500001683399 HOST 1712149 0000200001272 00000DISPONIBLE 000000036000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000420230510115944KRETPQ0500001683399 HOST 1712149 00003000016076 00000DISPONIBLE 000000048000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000520230510115944KRETPQ0500001683399 HOST 1712149 00004000022876 00000DISPONIBLE 000000072000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000620230510115944KRETPQ0500001683399 HOST 1712149 00005000025676 00000DISPONIBLE 000000060000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000720230510115944KRETKQ0500001683288 HOST 1711980 0004007720 202305100810092023051011562820230510115714
|
||||
WAMAS ODOO 00000820230510115944KRETPQ0500001683288 HOST 1711980 0000100008060 00000DISPONIBLE 000000144000000000000000 BOUT 19700101
|
||||
|
|
@ -0,0 +1,123 @@
|
|||
<DespatchAdvice xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2" xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2" xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2">
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID>130377</cbc:ID>
|
||||
<cbc:IssueDate>2023-05-01</cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID/>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID>1040</cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name/>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName/>
|
||||
<cbc:CityName/>
|
||||
<cbc:PostalZone/>
|
||||
<cbc:CountrySubentity/>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode/>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID/>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID/>
|
||||
<cbc:TaxTypeCode/>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name/>
|
||||
<cbc:Telephone/>
|
||||
<cbc:Telefax/>
|
||||
<cbc:ElectronicMail/>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID/>
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate>2023-05-01</cbc:EndDate>
|
||||
<cbc:EndTime>04:43:39</cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine>
|
||||
<cbc:ID>20</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">1536.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1151</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>30</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">5184.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1156</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>40</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="BOUT" unitCodeListAgencyName="WAMAS">3840.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1160</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>50</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">3072.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1162</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine><cac:DespatchLine>
|
||||
<cbc:ID>60</cbc:ID>
|
||||
<cbc:DeliveredQuantity unitCode="PET" unitCodeListAgencyName="WAMAS">3024.0</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID/>
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID>1176</cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120230501065723WEAKQ0051000196241 HOST 20230501060217 19700101010000202305010609112023050106433920230501060221 0001040
|
||||
WAMAS ODOO 00000220230501065723WEAPQ0050000196241 000130377 HOST 00002045415 0001151 00000DISPONIBLE 000001536000000000000000 BOUT 19700101 12 eCAM 018090 N
|
||||
WAMAS ODOO 00000320230501065723WEAPQ0050000196241 000130377 HOST 00003045415 0001156 00000DISPONIBLE 000005184000000000000000 PET 19700101 12 eCAM 018090 N
|
||||
WAMAS ODOO 00000420230501065723WEAPQ0050000196241 000130377 HOST 00004045415 0001160 00000DISPONIBLE 000003840000000000000000 BOUT 19700101 12 eCAM 018090 N
|
||||
WAMAS ODOO 00000520230501065723WEAPQ0050000196241 000130377 HOST 00005045415 0001162 00000DISPONIBLE 000003072000000000000000 PET 19700101 12 eCAM 018090 N
|
||||
WAMAS ODOO 00000620230501065723WEAPQ0050000196241 000130377 HOST 00006045415 0001176 00000DISPONIBLE 000003024000000000000000 PET 19700101 12 eCAM 018090 N
|
||||
|
|
@ -0,0 +1,13 @@
|
|||
{
|
||||
"ref": "0001",
|
||||
"name": "Adam Smith",
|
||||
"street": "3273 Laurel Lane",
|
||||
"street2": "",
|
||||
"zip": "79782",
|
||||
"city": "Sand Springs",
|
||||
"state": "Texas",
|
||||
"country_code": "US",
|
||||
"phone": "432-393-1264",
|
||||
"email": "aaa",
|
||||
"street": "adam@dayrep.com",
|
||||
}
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
{
|
||||
"ref": "223224",
|
||||
"wamas_code": "PE/PP/RO",
|
||||
"priority_sequence": 0,
|
||||
"game_identifier": "N",
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
ODOO WAMAS 00000120240211231422LST0000510000001 Adam Smith adam@dayrep.com 79782 Sand Springs Texas US 432-393-1264 aaa Standard 0N JStandard N
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
ODOO WAMAS 00000120240211231532KSTAUS050000223224 PE/PP/RO kMEZ 0 N
|
||||
ODOO WAMAS 00000220240211231532KSTAUS050000223224 PE/PP/RO kPAR 0 N
|
||||
|
|
@ -0,0 +1,20 @@
|
|||
{'WATEKQ': [OrderedDict([('Telheader_Quelle', 'WAMAS'),
|
||||
('Telheader_Ziel', 'SYSLOG'),
|
||||
('Telheader_TelSeq', 1),
|
||||
('Telheader_AnlZeit', '20230413110200'),
|
||||
('Satzart', 'WATEKQ054'),
|
||||
('IvTek_TeId', '376401426411929180'),
|
||||
('IvTek_Pos_FeldId', 'QUAI-22'),
|
||||
('IvTek_Pos_Offs_L_X', 0),
|
||||
('IvTek_Pos_Offs_L_Y', 0),
|
||||
('IvTek_Pos_Offs_L_Z', 0),
|
||||
('IvTek_Stamm_TeId', ''),
|
||||
('AnzSubTe', 0),
|
||||
('IvTourp_TOUR_TourId_TourNr', 'GE 2/120185'),
|
||||
('IvTourp_TOUR_TourId_HostTourKz', 'HOST'),
|
||||
('IvTts_THM_ThmId', 'PE'),
|
||||
('IvTts_MaxLadeHoehe', 740),
|
||||
('IvTour_VAST_Versandart', 'ST'),
|
||||
('IvTourp_TOUR_TourId_IntLfdNr', 9016),
|
||||
('IvTek_GesGew', 314.7),
|
||||
('IvTourp_LiefSNr', '')])]}
|
||||
|
|
@ -0,0 +1 @@
|
|||
WAMAS SYSLOG 00000120230413110200WATEKQ054376401426411929180QUAI-22 000000000000000000000000 0000GE 2/120185 HOST PE 000740ST9016000000314700
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{'WATEPQ': [OrderedDict([('Telheader_Quelle', 'WAMAS'),
|
||||
('Telheader_Ziel', 'SYSLOG'),
|
||||
('Telheader_TelSeq', 24),
|
||||
('Telheader_AnlZeit', '20230413110200'),
|
||||
('Satzart', 'WATEPQ050'),
|
||||
('IvTep_MId_Charge', '2723041Aé°°²¹370150'),
|
||||
('IvTep_MId_MHD', '20250210'),
|
||||
('IvTep_MId_ResNr', ''),
|
||||
('IvTep_MId_WeNr', '12 eCAM 013370'),
|
||||
('IvTep_MId_ThmKz', 'N'),
|
||||
('IvTep_PrimThmKz', 'N'),
|
||||
('IvTep_FifoDatum', '20250210'),
|
||||
('IvTep_PosNr', 7),
|
||||
('IvArt_Bestand_Einheit', 'PET'),
|
||||
('IvArt_HOSTUNITS_HostEinh', ''),
|
||||
('IvAusp_UrAusId_Mand', '000'),
|
||||
('IvAusp_UrAusId_AusNr', '1673981/1700809'),
|
||||
('IvAusp_UrAusId_HostAusKz', 'HOST'),
|
||||
('IvAusp_HostPosNr', 61),
|
||||
('IvArt_AId_Mand', '000'),
|
||||
('IvArt_AId_ArtNr', '7055'),
|
||||
('IvArt_AId_Var', '00000'),
|
||||
('Mngs_Mng', 90.0),
|
||||
('Mngs_Gew', 0.0),
|
||||
('IvMatqk_HMATQ_HMatQ', 'DISPONIBLE'),
|
||||
('IvTep_TeId', '376401426411929081')])]}
|
||||
|
|
@ -0,0 +1 @@
|
|||
WAMAS SYSLOG 00002420230413110200WATEPQ0502723041Aé°°˛š370150 20250210 12 eCAM 013370 NN20250210000007PET 0001673981/1700809 HOST 0000610007055 00000000000090000000000000000DISPONIBLE 376401426411929081
|
||||
|
|
@ -0,0 +1,26 @@
|
|||
{'WATEPQ': [OrderedDict([('Telheader_Quelle', 'WAMAS'),
|
||||
('Telheader_Ziel', 'SYSLOG'),
|
||||
('Telheader_TelSeq', 11),
|
||||
('Telheader_AnlZeit', '20230413110200'),
|
||||
('Satzart', 'WATEPQ050'),
|
||||
('IvTep_MId_Charge', ''),
|
||||
('IvTep_MId_MHD', '20231231'),
|
||||
('IvTep_MId_ResNr', ''),
|
||||
('IvTep_MId_WeNr', '12 eCAM 014020'),
|
||||
('IvTep_MId_ThmKz', 'N'),
|
||||
('IvTep_PrimThmKz', 'N'),
|
||||
('IvTep_FifoDatum', '20231231'),
|
||||
('IvTep_PosNr', 10),
|
||||
('IvArt_Bestand_Einheit', 'PET'),
|
||||
('IvArt_HOSTUNITS_HostEinh', ''),
|
||||
('IvAusp_UrAusId_Mand', '000'),
|
||||
('IvAusp_UrAusId_AusNr', '1673982/1701778'),
|
||||
('IvAusp_UrAusId_HostAusKz', 'HOST'),
|
||||
('IvAusp_HostPosNr', 21),
|
||||
('IvArt_AId_Mand', '000'),
|
||||
('IvArt_AId_ArtNr', '1176'),
|
||||
('IvArt_AId_Var', '00000'),
|
||||
('Mngs_Mng', 30.0),
|
||||
('Mngs_Gew', 0.0),
|
||||
('IvMatqk_HMATQ_HMatQ', 'DISPONIBLE'),
|
||||
('IvTep_TeId', '376401426411929180')])]}
|
||||
|
|
@ -0,0 +1 @@
|
|||
WAMAS SYSLOG 00001120230413110200WATEPQ050 20231231 12 eCAM 014020 NN20231231000010PET 0001673982/1701778 HOST 0000210001176 00000000000030000000000000000DISPONIBLE 376401426411929180
|
||||
|
|
@ -0,0 +1,21 @@
|
|||
{'WATEPQ': [{'IvArt_AId_ArtNr': '34155',
|
||||
'IvArt_AId_Mand': '000',
|
||||
'IvArt_AId_Var': '00000',
|
||||
'IvArt_Bestand_Einheit': 'PET',
|
||||
'IvArt_HOSTUNITS_HostEinh': '',
|
||||
'IvAusp_HostPosNr': '000131',
|
||||
'IvAusp_UrAusId_AusNr': '1673982/1701778',
|
||||
'IvAusp_UrAusId_HostAusKz': 'HOST',
|
||||
'IvAusp_UrAusId_Mand': '000',
|
||||
'IvMatqk_HMATQ_HMatQ': 'DISPONIBLE',
|
||||
'IvTep_FifoDatum': '20240202',
|
||||
'IvTep_MId_Charge': '6423033A370063',
|
||||
'IvTep_MId_MHD': '20240202',
|
||||
'IvTep_MId_ResNr': '',
|
||||
'IvTep_MId_ThmKz': 'N',
|
||||
'IvTep_MId_WeNr': '12 eCAM 012210',
|
||||
'IvTep_PosNr': '000011',
|
||||
'IvTep_PrimThmKz': 'N',
|
||||
'IvTep_TeId': '376401426411929180',
|
||||
'Mngs_Gew': '000000000000',
|
||||
'Mngs_Mng': '000000048000'}]}
|
||||
|
|
@ -0,0 +1 @@
|
|||
WAMAS SYSLOG 00001220230413110200WATEPQ0506423033A鰰<41><E9B0B0>370063 20240202 12 eCAM 012210 NN20240202000011PET 0001673982/1701778 HOST 00013100034155 00000000000048000000000000000DISPONIBLE 376401426411929180
|
||||
|
|
@ -0,0 +1,4 @@
|
|||
WAMAS SYSLOG 00000120230413110200WATEKQ054376401426411929180QUAI-22 000000000000000000000000 0000GE 2/120185 HOST PE 000740ST9016000000314700
|
||||
WAMAS SYSLOG 00001620230413110200WATEPQ050 20231030 12 eCAM 012630 NN20231030000015PET 0001673982/1701778 HOST 00015100053126 00000000000096000000000000000DISPONIBLE 376401426411929180
|
||||
WAMAS SYSLOG 00005620230413110200AUSKQ00520001673982/1701778 HOST 1701778 0004009542 202304140000002023041305252320230413110128GE 2/120185 HOST
|
||||
WAMAS SYSLOG 00005720230413110200AUSPQ00510001673982/1701778 HOST 1701778 00001100022056 00000DISPONIBLE 000000048000000000000000 PET 19700101 N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ODOO WAMAS 00000120230501000000KRETK0051000130377 HOST STDMAN0001040 MyCompany 1839 Arbor Way California 95380 Turlock US (623)-853-7197 wood.corner26@example.com 20230427000000
|
||||
ODOO WAMAS 00000220230501000000KRETP0046000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000001536000BOUT N
|
||||
ODOO WAMAS 00000320230501000000KRETP0046000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000005184000PET N
|
||||
ODOO WAMAS 00000420230501000000KRETP0046000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000003840000BOUT N
|
||||
ODOO WAMAS 00000520230501000000KRETP0046000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000003072000PET N
|
||||
ODOO WAMAS 00000620230501000000KRETP0046000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000003024000PET N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ODOO WAMAS 00000120230501000000KRETK0051000130377 HOST STDMAN0001040 MyCompany 1839 Arbor Way California 95380 Turlock US (623)-853-7197 wood.corner26@example.com 20230427000000
|
||||
ODOO WAMAS 00000220230501000000KRETP0046000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000001536000BOUT N
|
||||
ODOO WAMAS 00000320230501000000KRETP0046000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000005184000PET N
|
||||
ODOO WAMAS 00000420230501000000KRETP0046000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000003840000BOUT N
|
||||
ODOO WAMAS 00000520230501000000KRETP0046000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000003072000PET N
|
||||
ODOO WAMAS 00000620230501000000KRETP0046000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000003024000PET N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
ODOO WAMAS 00000120230501000000KRETK0051000130377 HOST STDMAN0001040 MyCompany 1839 Arbor Way California 95380 Turlock US (623)-853-7197 wood.corner26@example.com 20230427000000
|
||||
ODOO WAMAS 00000220230501000000KRETP0046000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000001536000BOUT N
|
||||
ODOO WAMAS 00000320230501000000KRETP0046000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000005184000PET N
|
||||
ODOO WAMAS 00000420230501000000KRETP0046000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000003840000BOUT N
|
||||
ODOO WAMAS 00000520230501000000KRETP0046000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000003072000PET N
|
||||
ODOO WAMAS 00000620230501000000KRETP0046000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000003024000PET N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
SYSLOG WAMAS 00000120231220091116WEAK00050000130377 HOST STDMAN0001040 Nestlé Waters Suisse SA Route de la Gare 1 Case postale 1525 Henniez +41 848 677 677 +41 26 668 68 68 customerservice.ch@waters.nestle.com 20230427000000
|
||||
SYSLOG WAMAS 00002020231220091116WEAP00045000130377 HOST 0000200001151 00000 NDISPONIBLE 000001536000BOUT NORMAL 20230501000000 202305010000007910063 NNLG
|
||||
SYSLOG WAMAS 00003020231220091116WEAP00045000130377 HOST 0000300001156 00000 NDISPONIBLE 000005184000PET NORMAL 20230501000000 202305010000007910105 NNLG
|
||||
SYSLOG WAMAS 00004020231220091116WEAP00045000130377 HOST 0000400001160 00000 NDISPONIBLE 000003840000BOUT NORMAL 20230501000000 202305010000007910004 NNLG
|
||||
SYSLOG WAMAS 00005020231220091116WEAP00045000130377 HOST 0000500001162 00000 NDISPONIBLE 000003072000PET NORMAL 20230501000000 2023050100000012156876 NNLG
|
||||
SYSLOG WAMAS 00006020231220091116WEAP00045000130377 HOST 0000600001176 00000 NDISPONIBLE 000003024000PET NORMAL 20230501000000 202305010000007910044 NNLG
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
SYSLOG WAMAS 00000120231220091116WEAK00050000130377 HOST STDMAN0001040 Nestlé Waters Suisse SA Route de la Gare 1 Case postale 1525 Henniez +41 848 677 677 +41 26 668 68 68 customerservice.ch@waters.nestle.com 20230427000000
|
||||
SYSLOG WAMAS 00002020231220091116WEAP00045000130377 HOST 0000200001151 00000 NDISPONIBLE 000001536000BOUT NORMAL 20230501000000 202305010000007910063 NNLG
|
||||
SYSLOG WAMAS 00003020231220091116WEAP00045000130377 HOST 0000300001156 00000 NDISPONIBLE 000005184000PET NORMAL 20230501000000 202305010000007910105 NNLG
|
||||
SYSLOG WAMAS 00004020231220091116WEAP00045000130377 HOST 0000400001160 00000 NDISPONIBLE 000003840000BOUT NORMAL 20230501000000 202305010000007910004 NNLG
|
||||
SYSLOG WAMAS 00005020231220091116WEAP00045000130377 HOST 0000500001162 00000 NDISPONIBLE 000003072000PET NORMAL 20230501000000 2023050100000012156876 NNLG
|
||||
SYSLOG WAMAS 00006020231220091116WEAP00045000130377 HOST 0000600001176 00000 NDISPONIBLE 000003024000PET NORMAL 20230501000000 202305010000007910044 NNLG
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
SYSLOG WAMAS 00000120231220091116WEAK00050000130377 HOST STDMAN0001040 Nestlé Waters Suisse SA Route de la Gare 1 Case postale 1525 Henniez +41 848 677 677 +41 26 668 68 68 customerservice.ch@waters.nestle.com 20230427000000
|
||||
SYSLOG WAMAS 00002020231220091116WEAP00045000130377 HOST 0000200001151 00000 NDISPONIBLE 000001536000BOUT NORMAL 20230501000000 202305010000007910063 NNLG
|
||||
SYSLOG WAMAS 00003020231220091116WEAP00045000130377 HOST 0000300001156 00000 NDISPONIBLE 000005184000PET NORMAL 20230501000000 202305010000007910105 NNLG
|
||||
SYSLOG WAMAS 00004020231220091116WEAP00045000130377 HOST 0000400001160 00000 NDISPONIBLE 000003840000BOUT NORMAL 20230501000000 202305010000007910004 NNLG
|
||||
SYSLOG WAMAS 00005020231220091116WEAP00045000130377 HOST 0000500001162 00000 NDISPONIBLE 000003072000PET NORMAL 20230501000000 2023050100000012156876 NNLG
|
||||
SYSLOG WAMAS 00006020231220091116WEAP00045000130377 HOST 0000600001176 00000 NDISPONIBLE 000003024000PET NORMAL 20230501000000 202305010000007910044 NNLG
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116KRETKQ050000130377 HOST 0001040 202304270000002023042708000020230427180000
|
||||
WAMAS ODOO 00000220231220091116KRETPQ050000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000001536000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000320231220091116KRETPQ050000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000005184000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000420231220091116KRETPQ050000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000003840000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000520231220091116KRETPQ050000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000003072000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000620231220091116KRETPQ050000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000003024000000000000000 PET 19700101
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116KRETKQ050000130377 HOST 0001040 202304270000002023042708000020230427180000
|
||||
WAMAS ODOO 00000220231220091116KRETPQ050000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000000000000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000320231220091116KRETPQ050000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000000000000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000420231220091116KRETPQ050000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000000000000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000520231220091116KRETPQ050000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000000000000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000620231220091116KRETPQ050000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000000000000000000000000 PET 19700101
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116KRETKQ050000130377 HOST 0001040 202304270000002023042708000020230427180000
|
||||
WAMAS ODOO 00000220231220091116KRETPQ050000130377 HOST 0000200001151 0000020001151 00000DISPONIBLE 000000001000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000320231220091116KRETPQ050000130377 HOST 0000300001156 0000030001156 00000DISPONIBLE 000000001000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000420231220091116KRETPQ050000130377 HOST 0000400001160 0000040001160 00000DISPONIBLE 000000001000000000000000 BOUT 19700101
|
||||
WAMAS ODOO 00000520231220091116KRETPQ050000130377 HOST 0000500001162 0000050001162 00000DISPONIBLE 000000001000000000000000 PET 19700101
|
||||
WAMAS ODOO 00000620231220091116KRETPQ050000130377 HOST 0000600001176 0000060001176 00000DISPONIBLE 000000001000000000000000 PET 19700101
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116WEAKQ0051000130377 HOST 19700101010000 19700101010000 20231220091116 0001040
|
||||
WAMAS ODOO 00000220231220091116WEAPQ0050000130377 000130377 HOST 000020 0001151 00000DISPONIBLE 000001536000000000000000 BOUT N
|
||||
WAMAS ODOO 00000320231220091116WEAPQ0050000130377 000130377 HOST 000030 0001156 00000DISPONIBLE 000005184000000000000000 PET N
|
||||
WAMAS ODOO 00000420231220091116WEAPQ0050000130377 000130377 HOST 000040 0001160 00000DISPONIBLE 000003840000000000000000 BOUT N
|
||||
WAMAS ODOO 00000520231220091116WEAPQ0050000130377 000130377 HOST 000050 0001162 00000DISPONIBLE 000003072000000000000000 PET N
|
||||
WAMAS ODOO 00000620231220091116WEAPQ0050000130377 000130377 HOST 000060 0001176 00000DISPONIBLE 000003024000000000000000 PET N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116WEAKQ0051000130377 HOST 19700101010000 19700101010000 20231220091116 0001040
|
||||
WAMAS ODOO 00000220231220091116WEAPQ0050000130377 000130377 HOST 000020 0001151 00000DISPONIBLE 000000000000000000000000 BOUT N
|
||||
WAMAS ODOO 00000320231220091116WEAPQ0050000130377 000130377 HOST 000030 0001156 00000DISPONIBLE 000000000000000000000000 PET N
|
||||
WAMAS ODOO 00000420231220091116WEAPQ0050000130377 000130377 HOST 000040 0001160 00000DISPONIBLE 000000000000000000000000 BOUT N
|
||||
WAMAS ODOO 00000520231220091116WEAPQ0050000130377 000130377 HOST 000050 0001162 00000DISPONIBLE 000000000000000000000000 PET N
|
||||
WAMAS ODOO 00000620231220091116WEAPQ0050000130377 000130377 HOST 000060 0001176 00000DISPONIBLE 000000000000000000000000 PET N
|
||||
|
|
@ -0,0 +1,6 @@
|
|||
WAMAS ODOO 00000120231220091116WEAKQ0051000130377 HOST 19700101010000 19700101010000 20231220091116 0001040
|
||||
WAMAS ODOO 00000220231220091116WEAPQ0050000130377 000130377 HOST 000020 0001151 00000DISPONIBLE 000000001000000000000000 BOUT N
|
||||
WAMAS ODOO 00000320231220091116WEAPQ0050000130377 000130377 HOST 000030 0001156 00000DISPONIBLE 000000001000000000000000 PET N
|
||||
WAMAS ODOO 00000420231220091116WEAPQ0050000130377 000130377 HOST 000040 0001160 00000DISPONIBLE 000000001000000000000000 BOUT N
|
||||
WAMAS ODOO 00000520231220091116WEAPQ0050000130377 000130377 HOST 000050 0001162 00000DISPONIBLE 000000001000000000000000 PET N
|
||||
WAMAS ODOO 00000620231220091116WEAPQ0050000130377 000130377 HOST 000060 0001176 00000DISPONIBLE 000000001000000000000000 PET N
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
import ast
|
||||
import unittest
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from ..dict2wamas import dict2wamas
|
||||
from ..utils import file_open, file_path
|
||||
|
||||
|
||||
class TestDict2wamas(unittest.TestCase):
|
||||
|
||||
maxDiff = None
|
||||
|
||||
def _test(self, msg_type, filename):
|
||||
with file_open(
|
||||
file_path("tests/samples/dict2wamas_input%s.dict" % filename)
|
||||
) as infile, file_open(
|
||||
file_path("tests/samples/dict2wamas_output%s.wamas" % filename)
|
||||
) as outfile:
|
||||
dict_input = ast.literal_eval(infile.read())
|
||||
output = dict2wamas(dict_input, msg_type)
|
||||
expected_output = outfile.read()
|
||||
self.assertEqual(output, expected_output)
|
||||
|
||||
@freeze_time("2024-02-11 22:14:22")
|
||||
def test_LST(self):
|
||||
self._test("Supplier", "")
|
||||
|
||||
@freeze_time("2024-02-11 22:15:32")
|
||||
def test_KSTAUS(self):
|
||||
self._test("CustomerDeliveryPreferences", "_2")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,141 @@
|
|||
import unittest
|
||||
from datetime import date, datetime
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from ..ubl2wamas import ubl2wamas
|
||||
from ..utils import file_open, file_path, set_value_to_string
|
||||
|
||||
|
||||
class TestUbl2wamas(unittest.TestCase):
|
||||
|
||||
maxDiff = None
|
||||
|
||||
def test_helpers(self):
|
||||
dict_data = {
|
||||
"str": [
|
||||
{
|
||||
"input_val": "WEAPQ0050",
|
||||
"expected_output_val": "WEAPQ0050",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
},
|
||||
],
|
||||
"int": [
|
||||
{
|
||||
"input_val": 30,
|
||||
"expected_output_val": "000030",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
},
|
||||
{
|
||||
"input_val": "30",
|
||||
"expected_output_val": "000030",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
},
|
||||
],
|
||||
"float": [
|
||||
{
|
||||
"input_val": 5184.0,
|
||||
"expected_output_val": "000005184000",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
},
|
||||
{
|
||||
"input_val": "5184.0",
|
||||
"expected_output_val": "000005184000",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
},
|
||||
],
|
||||
"date": [
|
||||
{
|
||||
"input_val": "2023-05-01",
|
||||
"expected_output_val": "20230501",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
},
|
||||
{
|
||||
"input_val": date(2023, 5, 1),
|
||||
"expected_output_val": "20230501",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
},
|
||||
{
|
||||
"input_val": datetime(2023, 5, 1, 0, 0),
|
||||
"expected_output_val": "20230501",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
},
|
||||
],
|
||||
"datetime": [
|
||||
{
|
||||
"input_val": "2023-05-01 06:57:23",
|
||||
"expected_output_val": "20230501085723",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
},
|
||||
{
|
||||
"input_val": datetime(2023, 5, 1, 6, 57, 23),
|
||||
"expected_output_val": "20230501",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
},
|
||||
],
|
||||
"bool": [
|
||||
{
|
||||
"input_val": "N",
|
||||
"expected_output_val": "N",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
},
|
||||
],
|
||||
}
|
||||
|
||||
for ttype in dict_data:
|
||||
for data in dict_data[ttype]:
|
||||
input_val = data["input_val"]
|
||||
expected_output_val = data["expected_output_val"]
|
||||
length = data["length"]
|
||||
dp = data["dp"]
|
||||
|
||||
output_val = set_value_to_string(
|
||||
input_val, ttype, length, dp, do_convert_tz=True
|
||||
)
|
||||
self.assertEqual(output_val, expected_output_val)
|
||||
|
||||
@freeze_time("2023-05-01")
|
||||
def _convert_ubl2wamas(
|
||||
self, input_filename, expected_output_filename, telegram_type
|
||||
):
|
||||
path = file_path("tests/samples/")
|
||||
with file_open(path + input_filename) as inputfile, file_open(
|
||||
path + expected_output_filename
|
||||
) as outputfile:
|
||||
str_input = inputfile.read()
|
||||
output = ubl2wamas(str_input, telegram_type)
|
||||
expected_output = outputfile.read().strip("\n")
|
||||
self.assertEqual(output, expected_output)
|
||||
|
||||
def test_convert_ubl2wamas_picking(self):
|
||||
input_file = "UBL2WAMAS-SAMPLE_AUSK_AUSP-DESPATCH_ADVICE2.xml"
|
||||
expected_output = "UBL2WAMAS-SAMPLE_AUSK_AUSP.wamas"
|
||||
msg_type = "Picking"
|
||||
self._convert_ubl2wamas(input_file, expected_output, msg_type)
|
||||
|
||||
def test_convert_ubl2wamas_reception(self):
|
||||
input_file = "UBL2WAMAS-SAMPLE_WEAK_WEAP-DESPATCH_ADVICE.xml"
|
||||
expected_output = "UBL2WAMAS-SAMPLE_WEAK_WEAP.wamas"
|
||||
msg_type = "Reception"
|
||||
self._convert_ubl2wamas(input_file, expected_output, msg_type)
|
||||
|
||||
def test_convert_ubl2wamas_return(self):
|
||||
input_file = "UBL2WAMAS-SAMPLE_KRETK_KRETP-DESPATCH_ADVICE.xml"
|
||||
expected_output = "UBL2WAMAS-SAMPLE_KRETK_KRETP.wamas"
|
||||
msg_type = "Return"
|
||||
self._convert_ubl2wamas(input_file, expected_output, msg_type)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,79 @@
|
|||
import unittest
|
||||
|
||||
import xmltodict
|
||||
from dotty_dict import Dotty
|
||||
|
||||
from ..utils import (
|
||||
_set_string_bool,
|
||||
_set_string_float,
|
||||
file_open,
|
||||
file_path,
|
||||
get_address_elements,
|
||||
get_Adrs_Adr,
|
||||
get_Adrs_Name,
|
||||
get_Adrs_Name2,
|
||||
get_Adrs_Name3,
|
||||
get_Adrs_Name4,
|
||||
)
|
||||
|
||||
|
||||
class TestUtils(unittest.TestCase):
|
||||
def testGetAddressNamePicking(self):
|
||||
with file_open(
|
||||
file_path("tests/samples/UBL2WAMAS-SAMPLE_AUSK_AUSP-DESPATCH_ADVICE.xml")
|
||||
) as infile:
|
||||
dict_item = Dotty(xmltodict.parse(infile.read()))
|
||||
address_elements = get_address_elements(dict_item)
|
||||
self.assertEqual(
|
||||
address_elements,
|
||||
{
|
||||
"ContactName": "Chester Reed",
|
||||
"PartyName": "YourCompany",
|
||||
"Department": "Department_1",
|
||||
"StreetName": "250 Executive Park Blvd, Suite 3400",
|
||||
"AdditionalStreetName": "AdditionalStreetName_1",
|
||||
},
|
||||
)
|
||||
self.assertEqual(get_Adrs_Name(address_elements), "Chester Reed")
|
||||
self.assertEqual(get_Adrs_Name2(address_elements), "YourCompany")
|
||||
self.assertEqual(get_Adrs_Name3(address_elements), "Department_1")
|
||||
self.assertEqual(
|
||||
get_Adrs_Name4(address_elements), "250 Executive Park Blvd, Suite 3400"
|
||||
)
|
||||
self.assertEqual(get_Adrs_Adr(address_elements), "AdditionalStreetName_1")
|
||||
|
||||
def testGetAddressNameFromDict(self):
|
||||
address_elements = {
|
||||
"ContactName": "Nom",
|
||||
"PartyName": "YourCompany",
|
||||
"Department": "Nom3",
|
||||
"StreetName": "Nom4",
|
||||
"AdditionalStreetName": "Adresse",
|
||||
}
|
||||
self.assertEqual(get_Adrs_Name(address_elements), "Nom")
|
||||
self.assertEqual(get_Adrs_Name2(address_elements), "YourCompany")
|
||||
self.assertEqual(get_Adrs_Name3(address_elements), "Nom3")
|
||||
self.assertEqual(get_Adrs_Name4(address_elements), "Nom4")
|
||||
self.assertEqual(get_Adrs_Adr(address_elements), "Adresse")
|
||||
|
||||
def test_set_string_bool(self):
|
||||
# Input is boolean
|
||||
self.assertEqual(_set_string_bool(False, 1, False), "N")
|
||||
self.assertEqual(_set_string_bool(True, 1, False), "J")
|
||||
|
||||
# Input is string
|
||||
self.assertEqual(_set_string_bool("N", 1, False), "N")
|
||||
self.assertEqual(_set_string_bool("J", 1, False), "J")
|
||||
|
||||
def test_set_string_float(self):
|
||||
# Positive
|
||||
self.assertEqual(_set_string_float(3.6, 9, 3), "000003600")
|
||||
self.assertEqual(_set_string_float(3.0, 9, 3), "000003000")
|
||||
|
||||
# Negative
|
||||
self.assertEqual(_set_string_float(-3.6, 9, 3), "-00003600")
|
||||
self.assertEqual(_set_string_float(-3.0, 9, 3), "-00003000")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,37 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import unittest
|
||||
from pprint import pformat
|
||||
|
||||
from ..utils import file_open, file_path
|
||||
from ..wamas2ubl import wamas2dict
|
||||
|
||||
|
||||
class TestWamas2dict(unittest.TestCase):
|
||||
|
||||
maxDiff = None
|
||||
|
||||
def _test(self, filename):
|
||||
with file_open(
|
||||
file_path("tests/samples/%s.wamas" % filename)
|
||||
) as infile, file_open(
|
||||
file_path("tests/samples/%s.dict" % filename)
|
||||
) as outfile:
|
||||
str_input = infile.read()
|
||||
expected_output = outfile.read()
|
||||
output_prettified = pformat(wamas2dict(str_input))
|
||||
self.assertEqual(output_prettified, expected_output)
|
||||
|
||||
def test_normal(self):
|
||||
self._test("line_WATEPQ_-_normal")
|
||||
|
||||
def test_non_ascii(self):
|
||||
self._test("line_WATEPQ_-_non_ascii")
|
||||
|
||||
def test_length_off(self):
|
||||
self._test("line_WATEKQ_-_length_off_by_one_01")
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,54 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import unittest
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from ..utils import file_open, file_path
|
||||
from ..wamas2ubl import wamas2ubl
|
||||
|
||||
|
||||
class TestWamas2ubl(unittest.TestCase):
|
||||
|
||||
maxDiff = None
|
||||
|
||||
@freeze_time("2023-05-01")
|
||||
def _convert_wamas2ubl(self, input_filename, expected_output_filename):
|
||||
path = file_path("tests/samples/")
|
||||
with file_open(path + input_filename) as inputfile, file_open(
|
||||
path + expected_output_filename
|
||||
) as outputfile:
|
||||
str_input = inputfile.read()
|
||||
output = "\n".join(wamas2ubl(str_input))
|
||||
expected_output = outputfile.read()
|
||||
self.assertEqual(output, expected_output)
|
||||
|
||||
def test_convert_wamas2ubl_picking(self):
|
||||
input_file = "WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ.wamas"
|
||||
lst_expected_output = "WAMAS2UBL-SAMPLE_AUSKQ_WATEKQ_WATEPQ-DESPATCH_ADVICE.xml"
|
||||
self._convert_wamas2ubl(input_file, lst_expected_output)
|
||||
|
||||
def test_convert_wamas2ubl_reception_simple(self):
|
||||
input_file = "WAMAS2UBL-SAMPLE_SIMPLE_WEAKQ_WEAPQ.wamas"
|
||||
lst_expected_output = "WAMAS2UBL-SAMPLE_SIMPLE_WEAKQ_WEAPQ-DESPATCH_ADVICE.xml"
|
||||
self._convert_wamas2ubl(input_file, lst_expected_output)
|
||||
|
||||
def test_convert_wamas2ubl_reception_combined(self):
|
||||
"""
|
||||
Test a reception with a single header concerning multiple receptions
|
||||
|
||||
This happens when a supplier deliver goods for multiple INs
|
||||
"""
|
||||
input_file = "WAMAS2UBL-SAMPLE_COMB_WEAKQ_WEAPQ.wamas"
|
||||
lst_expected_output = "WAMAS2UBL-SAMPLE_COMB_WEAKQ_WEAPQ-DESPATCH_ADVICE.xml"
|
||||
self._convert_wamas2ubl(input_file, lst_expected_output)
|
||||
|
||||
def test_convert_wamas2ubl_return(self):
|
||||
input_file = "WAMAS2UBL-SAMPLE_KRETKQ_KRETPQ.wamas"
|
||||
lst_expected_output = "WAMAS2UBL-SAMPLE_KRETKQ_KRETPQ-DESPATCH_ADVICE.xml"
|
||||
self._convert_wamas2ubl(input_file, lst_expected_output)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,56 @@
|
|||
import unittest
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from ..utils import file_open, file_path
|
||||
from ..wamas2wamas import wamas2wamas
|
||||
|
||||
|
||||
class TestWamas2wamas(unittest.TestCase):
|
||||
|
||||
maxDiff = None
|
||||
|
||||
def _test(self, filename, processed_qty=None):
|
||||
with file_open(
|
||||
file_path("tests/samples/wamas2wamas_input_%s.wamas" % filename)
|
||||
) as infile, file_open(
|
||||
file_path("tests/samples/wamas2wamas_output_%s.wamas" % filename)
|
||||
) as outfile:
|
||||
str_input = infile.read()
|
||||
output = wamas2wamas(str_input, processed_qty=processed_qty)
|
||||
expected_output = outfile.read()
|
||||
self.assertEqual(output, expected_output)
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_wea_full(self):
|
||||
"""Reception where the demand is fully processed"""
|
||||
self._test("wea")
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_wea_partial(self):
|
||||
"""Reception where the demand is partially processed"""
|
||||
self._test("wea_partial", processed_qty=1)
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_wea_nothing(self):
|
||||
"""Reception where the demand is not processed at all"""
|
||||
self._test("wea_nothing", processed_qty=0)
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_kret_full(self):
|
||||
"""Customer return where the demand is fully processed"""
|
||||
self._test("wea")
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_kret_partial(self):
|
||||
"""Customer return where the demand is partially processed"""
|
||||
self._test("wea_partial", processed_qty=1)
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def testWamas2wamas_kret_nothing(self):
|
||||
"""Customer return where the demand is not processed at all"""
|
||||
self._test("wea_nothing", processed_qty=0)
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
unittest.main()
|
||||
|
|
@ -0,0 +1,102 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from pprint import pformat
|
||||
|
||||
import xmltodict
|
||||
from dotty_dict import Dotty
|
||||
from freezegun import freeze_time
|
||||
|
||||
from . import const, utils
|
||||
|
||||
_logger = logging.getLogger("ubl2wamas")
|
||||
|
||||
SUPPORTED_TYPES = list(const.SUPPORTED_UBL_TO_WAMAS.keys())
|
||||
|
||||
|
||||
def ubl2list(infile, msg_type): # noqa: C901
|
||||
res = []
|
||||
|
||||
my_dict = Dotty(xmltodict.parse(infile))
|
||||
if msg_type not in SUPPORTED_TYPES:
|
||||
raise Exception("Invalid document type: %s" % msg_type)
|
||||
|
||||
dict_telegram_type_loop = {
|
||||
"WEAP": "DespatchAdvice.cac:DespatchLine",
|
||||
"AUSP": "DespatchAdvice.cac:DespatchLine",
|
||||
"KRETP": "DespatchAdvice.cac:DespatchLine",
|
||||
}
|
||||
|
||||
line_idx = 0
|
||||
for telegram_type in const.SUPPORTED_UBL_TO_WAMAS[msg_type]:
|
||||
grammar = const.DICT_WAMAS_GRAMMAR[telegram_type]
|
||||
|
||||
loop_element = dict_telegram_type_loop.get(telegram_type, False)
|
||||
len_loop = (
|
||||
loop_element
|
||||
and isinstance(my_dict[loop_element], list)
|
||||
and len(my_dict[loop_element])
|
||||
or 1
|
||||
)
|
||||
|
||||
for idx_loop in range(len_loop):
|
||||
line_idx += 1
|
||||
line = utils.generate_wamas_dict(
|
||||
my_dict,
|
||||
grammar,
|
||||
line_idx=line_idx,
|
||||
len_loop=len_loop,
|
||||
idx_loop=idx_loop,
|
||||
)
|
||||
if line:
|
||||
res.append(line)
|
||||
|
||||
return res
|
||||
|
||||
|
||||
def ubl2wamas(infile, msg_type):
|
||||
lst_of_wamas_dicts = ubl2list(infile, msg_type)
|
||||
wamas = "\n".join(utils.wamas_dict2line(d) for d in lst_of_wamas_dicts)
|
||||
_logger.debug(lst_of_wamas_dicts)
|
||||
return wamas
|
||||
|
||||
|
||||
@freeze_time("2023-05-01")
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Converts UBL document into message.",
|
||||
)
|
||||
parser.add_argument("-v", "--verbose", action="store_true", help="enable debug log")
|
||||
parser.add_argument(
|
||||
"-f",
|
||||
"--format",
|
||||
default="wamas",
|
||||
choices=["dict", "wamas"],
|
||||
help="result format",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-t", "--type", required=True, choices=SUPPORTED_TYPES, help="type of document"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o", "--output", dest="outputfile", help="write result in this file"
|
||||
)
|
||||
parser.add_argument("inputfile", help="read message from this file")
|
||||
args = parser.parse_args()
|
||||
if args.verbose:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
infile = utils.file_open(args.inputfile).read()
|
||||
if args.format == "dict":
|
||||
res = pformat(ubl2list(infile, args.type))
|
||||
else:
|
||||
res = ubl2wamas(infile, args.type)
|
||||
if args.outputfile:
|
||||
fd = utils.file_open(args.outputfile, "w")
|
||||
fd.write(res)
|
||||
else:
|
||||
print(res) # pylint: disable=print-used
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<DespatchAdvice
|
||||
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
|
||||
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
|
||||
xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2"
|
||||
>
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID><t t-raw="record.IvAusk_AusId_AusNr" /></cbc:ID>
|
||||
<cbc:IssueDate><t t-raw="get_current_date()" /></cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID><t t-raw="record.IvAusk_ExtRef" /></cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('CustomerAssignedAccountID', '') or ''"
|
||||
/></cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('CompanyID', '') or ''"
|
||||
/></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('TaxScheme.ID', '') or ''"
|
||||
/></cbc:ID>
|
||||
<cbc:TaxTypeCode><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('TaxScheme.TaxTypeCode', '') or ''"
|
||||
/></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Name>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Telephone', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyIdentification>
|
||||
<cbc:ID schemeName="ODOO:ID"><t t-raw="record.IvAusk_KST_KuNr" /></cbc:ID>
|
||||
</cac:PartyIdentification>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cbc:CountrySubentity><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CountrySubentity', '') or ''"
|
||||
/></cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CompanyID', '') or ''"
|
||||
/></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.ID', '') or ''"
|
||||
/></cbc:ID>
|
||||
<cbc:TaxTypeCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.TaxTypeCode', '') or ''"
|
||||
/></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Name>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telephone', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:Telefax><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telefax', '') or ''"
|
||||
/></cbc:Telefax>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID><t t-raw="record.IvAusk_RahmenTourId_TourNr" /></cbc:ID>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine t-foreach="record.lines" t-as="line">
|
||||
<cac:Shipment t-if="line.package">
|
||||
<cac:TransportHandlingUnit>
|
||||
<cac:ActualPackage>
|
||||
<cbc:ID><t t-raw="line.package.IvTek_TeId" /></cbc:ID>
|
||||
</cac:ActualPackage>
|
||||
<cbc:TransportHandlingUnitTypeCode><t
|
||||
t-raw="line.package.IvTts_THM_ThmId"
|
||||
/></cbc:TransportHandlingUnitTypeCode>
|
||||
</cac:TransportHandlingUnit>
|
||||
<cac:GrossWeightMeasure>
|
||||
<cbc:Measure><t t-raw="line.package.IvTek_GesGew" /></cbc:Measure>
|
||||
</cac:GrossWeightMeasure>
|
||||
</cac:Shipment>
|
||||
<cbc:ID><t t-raw="line.IvAusp_HostPosNr" /></cbc:ID>
|
||||
<cbc:DeliveredQuantity
|
||||
t-att-unitCode="line.IvArt_Bestand_Einheit"
|
||||
unitCodeListAgencyName="WAMAS"
|
||||
>
|
||||
<t
|
||||
t-raw="hasattr(line,'Mngs_Mng') and line.Mngs_Mng or (hasattr(line, 'IvAusp_LiefMngsWamas_Mng') and line.IvAusp_LiefMngsWamas_Mng) or 0.0"
|
||||
/>
|
||||
</cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID />
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID />
|
||||
</cac:BuyersItemIdentification>
|
||||
<cac:SellersItemIdentification>
|
||||
<cbc:ID t-if="line.IvArt_AId_ArtNr">
|
||||
<t t-raw="line.IvArt_AId_ArtNr" />
|
||||
</cbc:ID>
|
||||
<cbc:ID t-if="line.IvAusp_MId_AId_ArtNr">
|
||||
<t t-raw="line.IvAusp_MId_AId_ArtNr" />
|
||||
</cbc:ID>
|
||||
</cac:SellersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<DespatchAdvice
|
||||
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
|
||||
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
|
||||
xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2"
|
||||
>
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID><t t-raw="record.lines[0].IvWevp_WEAP_WeaId_WeaNr" /></cbc:ID>
|
||||
<cbc:IssueDate><t t-raw="get_current_date()" /></cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID><t t-raw="record.lines[0].IvWeap_ExtRef" /></cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID><t
|
||||
t-raw="record.LST_LiefNr"
|
||||
/></cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:Telefax><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Telefax', '') or ''"
|
||||
/></cbc:Telefax>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cbc:CountrySubentity><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CountrySubentity', '') or ''"
|
||||
/></cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CompanyID', '') or ''"
|
||||
/></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.ID', '') or ''"
|
||||
/></cbc:ID>
|
||||
<cbc:TaxTypeCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.TaxTypeCode', '') or ''"
|
||||
/></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Name>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telephone', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:Telefax><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telefax', '') or ''"
|
||||
/></cbc:Telefax>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID />
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate><t
|
||||
t-raw="get_date(record.IvWevk_FertZeit)"
|
||||
/></cbc:EndDate>
|
||||
<cbc:EndTime><t
|
||||
t-raw="get_time(record.IvWevk_FertZeit)"
|
||||
/></cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine t-foreach="record.lines" t-as="line">
|
||||
<cbc:ID><t t-raw="line.IvWeap_HostPosNr" /></cbc:ID>
|
||||
<cbc:DeliveredQuantity
|
||||
t-att-unitCode="line.IvArt_Bestand_Einheit"
|
||||
unitCodeListAgencyName="WAMAS"
|
||||
><t t-raw="line.IvWevp_LiefMngs_Mng" /></cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID />
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID><t t-raw="line.IvWevp_MId_AId_ArtNr" /></cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,135 @@
|
|||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<DespatchAdvice
|
||||
xmlns:cbc="urn:oasis:names:specification:ubl:schema:xsd:CommonBasicComponents-2"
|
||||
xmlns:cac="urn:oasis:names:specification:ubl:schema:xsd:CommonAggregateComponents-2"
|
||||
xmlns="urn:oasis:names:specification:ubl:schema:xsd:DespatchAdvice-2"
|
||||
>
|
||||
<cbc:UBLVersionID>2.2</cbc:UBLVersionID>
|
||||
<cbc:ID><t t-raw="record.IvKretk_KretId_KretNr" /></cbc:ID>
|
||||
<cbc:IssueDate><t t-raw="get_current_date()" /></cbc:IssueDate>
|
||||
<cac:OrderReference>
|
||||
<cbc:ID><t t-raw="record.IvKretk_ExtRef" /></cbc:ID>
|
||||
</cac:OrderReference>
|
||||
<cac:DespatchSupplierParty>
|
||||
<cbc:CustomerAssignedAccountID><t
|
||||
t-raw="record.IvKretk_KST_KuNr"
|
||||
/></cbc:CustomerAssignedAccountID>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:Contact>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:Telefax><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.Telefax', '') or ''"
|
||||
/></cbc:Telefax>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DespatchSupplierParty', '') and extra_data['DespatchSupplierParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DespatchSupplierParty>
|
||||
<cac:DeliveryCustomerParty>
|
||||
<cac:Party>
|
||||
<cac:PartyName>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PartyName', '') or ''"
|
||||
/></cbc:Name>
|
||||
</cac:PartyName>
|
||||
<cac:PostalAddress>
|
||||
<cbc:StreetName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('StreetName', '') or ''"
|
||||
/></cbc:StreetName>
|
||||
<cbc:CityName><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CityName', '') or ''"
|
||||
/></cbc:CityName>
|
||||
<cbc:PostalZone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('PostalZone', '') or ''"
|
||||
/></cbc:PostalZone>
|
||||
<cbc:CountrySubentity><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CountrySubentity', '') or ''"
|
||||
/></cbc:CountrySubentity>
|
||||
<cac:Country>
|
||||
<cbc:IdentificationCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Country.IdentificationCode', '') or ''"
|
||||
/></cbc:IdentificationCode>
|
||||
</cac:Country>
|
||||
</cac:PostalAddress>
|
||||
<cac:PartyTaxScheme>
|
||||
<cbc:CompanyID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('CompanyID', '') or ''"
|
||||
/></cbc:CompanyID>
|
||||
<cac:TaxScheme>
|
||||
<cbc:ID><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.ID', '') or ''"
|
||||
/></cbc:ID>
|
||||
<cbc:TaxTypeCode><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('TaxScheme.TaxTypeCode', '') or ''"
|
||||
/></cbc:TaxTypeCode>
|
||||
</cac:TaxScheme>
|
||||
</cac:PartyTaxScheme>
|
||||
<cac:Contact>
|
||||
<cbc:Name><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Name', '') or ''"
|
||||
/></cbc:Name>
|
||||
<cbc:Telephone><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telephone', '') or ''"
|
||||
/></cbc:Telephone>
|
||||
<cbc:Telefax><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.Telefax', '') or ''"
|
||||
/></cbc:Telefax>
|
||||
<cbc:ElectronicMail><t
|
||||
t-raw="extra_data.get('DeliveryCustomerParty', '') and extra_data['DeliveryCustomerParty'].get('Contact.ElectronicMail', '') or ''"
|
||||
/></cbc:ElectronicMail>
|
||||
</cac:Contact>
|
||||
</cac:Party>
|
||||
</cac:DeliveryCustomerParty>
|
||||
<cac:Shipment>
|
||||
<cbc:ID />
|
||||
<cac:Delivery>
|
||||
<cac:EstimatedDeliveryPeriod>
|
||||
<cbc:EndDate><t
|
||||
t-raw="get_date(record.IvKretk_FertZeit)"
|
||||
/></cbc:EndDate>
|
||||
<cbc:EndTime><t
|
||||
t-raw="get_time(record.IvKretk_FertZeit)"
|
||||
/></cbc:EndTime>
|
||||
</cac:EstimatedDeliveryPeriod>
|
||||
</cac:Delivery>
|
||||
</cac:Shipment>
|
||||
<cac:DespatchLine t-foreach="record.lines" t-as="line">
|
||||
<cbc:ID><t t-raw="line.IvKretp_HostPosNr" /></cbc:ID>
|
||||
<cbc:DeliveredQuantity
|
||||
t-att-unitCode="line.IvArt_Bestand_Einheit"
|
||||
unitCodeListAgencyName="WAMAS"
|
||||
><t t-raw="line.IvKretp_AnmMngs_Mng" /></cbc:DeliveredQuantity>
|
||||
<cac:OrderLineReference>
|
||||
<cbc:LineID />
|
||||
</cac:OrderLineReference>
|
||||
<cac:Item>
|
||||
<cac:BuyersItemIdentification>
|
||||
<cbc:ID><t t-raw="line.IvKretp_MId_AId_ArtNr" /></cbc:ID>
|
||||
</cac:BuyersItemIdentification>
|
||||
</cac:Item>
|
||||
</cac:DespatchLine>
|
||||
</DespatchAdvice>
|
||||
|
|
@ -0,0 +1,461 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import ast
|
||||
import logging
|
||||
import os
|
||||
import re
|
||||
from collections import OrderedDict
|
||||
from datetime import date, datetime, timedelta
|
||||
from pprint import pformat
|
||||
from random import randint, randrange
|
||||
|
||||
import pytz
|
||||
from dateutil.parser import parse
|
||||
from markupsafe import escape
|
||||
|
||||
from .const import (
|
||||
DEFAULT_TIMEZONE,
|
||||
DICT_CHILD_KEY,
|
||||
DICT_CONVERT_WAMAS_TYPE,
|
||||
DICT_DETECT_WAMAS_TYPE,
|
||||
DICT_PARENT_KEY,
|
||||
DICT_WAMAS_GRAMMAR,
|
||||
SYSTEM_ERP,
|
||||
SYSTEM_WAMAS,
|
||||
)
|
||||
|
||||
_logger = logging.getLogger("wamas_utils")
|
||||
|
||||
|
||||
def file_path(path):
|
||||
return os.path.join(os.path.abspath(os.path.dirname(__file__)), path)
|
||||
|
||||
|
||||
def file_open(path, mode="r"):
|
||||
return open(path, mode, encoding="iso-8859-1")
|
||||
|
||||
|
||||
def get_date(val):
|
||||
val = parse(val)
|
||||
if isinstance(val, datetime):
|
||||
val = convert_tz(val, DEFAULT_TIMEZONE, "UTC").strftime("%Y-%m-%d")
|
||||
return val
|
||||
|
||||
|
||||
def get_time(val):
|
||||
val = parse(val)
|
||||
if isinstance(val, datetime):
|
||||
val = convert_tz(val, DEFAULT_TIMEZONE, "UTC").strftime("%H:%M:%S")
|
||||
return val
|
||||
|
||||
|
||||
def get_current_date():
|
||||
# return convert_tz(datetime.utcnow(), DEFAULT_TIMEZONE, "UTC").strftime("%Y-%m-%d")
|
||||
return date.today()
|
||||
|
||||
|
||||
def get_source(*args):
|
||||
return SYSTEM_ERP
|
||||
|
||||
|
||||
def get_destination(*args):
|
||||
return SYSTEM_WAMAS
|
||||
|
||||
|
||||
def get_source_q(*args):
|
||||
return SYSTEM_WAMAS
|
||||
|
||||
|
||||
def get_destination_q(*args):
|
||||
return SYSTEM_ERP
|
||||
|
||||
|
||||
def get_sequence_number(val=0):
|
||||
return val
|
||||
|
||||
|
||||
def get_current_datetime(val=0):
|
||||
return datetime.utcnow()
|
||||
|
||||
|
||||
def get_quantity_done(quantity, quantity_done=None):
|
||||
return quantity if quantity_done is None else quantity_done
|
||||
|
||||
|
||||
def _set_string(val, length, dp, **kwargs):
|
||||
return str(val or "").ljust(length)[:length]
|
||||
|
||||
|
||||
def _set_string_int(val, length, dp, **kwargs):
|
||||
if isinstance(val, float):
|
||||
val = int(val)
|
||||
return str(val).rjust(length, "0")[:length]
|
||||
|
||||
|
||||
def _set_string_float(val, length, dp, **kwargs):
|
||||
try:
|
||||
res = str(float(val or 0))
|
||||
except ValueError as err:
|
||||
raise Exception(
|
||||
"The value '%s' is not the float type. Please check it again!" % res
|
||||
) from err
|
||||
|
||||
# Support for the negative float
|
||||
signed = ""
|
||||
if res.startswith("-"):
|
||||
signed = "-"
|
||||
length = length - 1
|
||||
res = res.lstrip("-")
|
||||
|
||||
str_whole_number, str_decimal_portion = res.split(".")
|
||||
str_whole_number = str_whole_number.rjust(length - dp, "0")
|
||||
str_decimal_portion = str_decimal_portion.ljust(dp, "0")
|
||||
|
||||
return signed + (str_whole_number + str_decimal_portion)[:length]
|
||||
|
||||
|
||||
def _set_string_date(val, length, dp, **kwargs):
|
||||
res = isinstance(val, str) and val != "" and parse(val) or val
|
||||
|
||||
if isinstance(res, date):
|
||||
res = res.strftime("%Y%m%d")
|
||||
elif isinstance(res, datetime):
|
||||
if kwargs.get("do_convert_tz", False):
|
||||
res = convert_tz(res, "UTC", DEFAULT_TIMEZONE)
|
||||
res = res.date().strftime("%Y%m%d")
|
||||
elif isinstance(res, str):
|
||||
res = res.ljust(length)
|
||||
elif not res:
|
||||
res = ""
|
||||
else:
|
||||
raise Exception(
|
||||
"The value '%s' is not the date type. Please check it again!" % res
|
||||
)
|
||||
|
||||
return res[:length]
|
||||
|
||||
|
||||
def _set_string_datetime(val, length, dp, **kwargs):
|
||||
res = isinstance(val, str) and val != "" and parse(val) or val
|
||||
|
||||
if isinstance(res, (date, datetime)):
|
||||
if kwargs.get("do_convert_tz", False):
|
||||
res = convert_tz(res, "UTC", DEFAULT_TIMEZONE)
|
||||
res = res.strftime("%Y%m%d%H%M%S")
|
||||
elif isinstance(res, str):
|
||||
res = res.ljust(length)
|
||||
elif not res:
|
||||
res = ""
|
||||
else:
|
||||
raise Exception(
|
||||
"The value '%s' is not the date type. Please check it again!" % res
|
||||
)
|
||||
|
||||
return res.ljust(length)[:length]
|
||||
|
||||
|
||||
def _set_string_bool(val, length, dp, **kwargs):
|
||||
res = "N"
|
||||
if isinstance(val, str) and val:
|
||||
res = val[:length]
|
||||
elif isinstance(val, bool) and val:
|
||||
res = "J"
|
||||
return res
|
||||
|
||||
|
||||
def set_value_to_string(val, ttype, length, dp, **kwargs):
|
||||
setters = dict(
|
||||
str=_set_string,
|
||||
int=_set_string_int,
|
||||
float=_set_string_float,
|
||||
date=_set_string_date,
|
||||
datetime=_set_string_datetime,
|
||||
bool=_set_string_bool,
|
||||
)
|
||||
return setters[ttype](val, length, dp, **kwargs)
|
||||
|
||||
|
||||
def get_random_str_num(*args):
|
||||
range_start = 10 ** (args[0] - 1)
|
||||
range_end = (10 ** args[0]) - 1
|
||||
return str(randint(range_start, range_end))
|
||||
|
||||
|
||||
def get_random_int_num(*args):
|
||||
return randrange(9999)
|
||||
|
||||
|
||||
def get_parent_id(*args):
|
||||
dict_parent_id, dict_child_key, field, telegram_type_out = args
|
||||
return dict_parent_id[dict_child_key[telegram_type_out][field]]
|
||||
|
||||
|
||||
def get_random_quai(*args):
|
||||
return "QUAI-%d" % randint(1, 999)
|
||||
|
||||
|
||||
def get_date_from_field(*args):
|
||||
dict_wamas, field, number, interval = args
|
||||
res = parse(dict_wamas[field]) + timedelta(**{interval: number})
|
||||
return res
|
||||
|
||||
|
||||
def get_address_elements(dict_item, party_type="DeliveryCustomerParty"):
|
||||
return {
|
||||
"ContactName": dict_item.get(
|
||||
f"DespatchAdvice.cac:{party_type}.cac:Party.cac:Contact.cbc:Name"
|
||||
),
|
||||
"PartyName": dict_item.get(
|
||||
f"DespatchAdvice.cac:{party_type}.cac:Party.cac:PartyName.cbc:Name"
|
||||
),
|
||||
"Department": dict_item.get(
|
||||
f"DespatchAdvice.cac:{party_type}.cac:Party.cac:PostalAddress.cbc:Department"
|
||||
),
|
||||
"StreetName": dict_item.get(
|
||||
f"DespatchAdvice.cac:{party_type}.cac:Party.cac:PostalAddress.cbc:StreetName"
|
||||
),
|
||||
"AdditionalStreetName": dict_item.get(
|
||||
f"DespatchAdvice.cac:{party_type}.cac:Party.cac:PostalAddress."
|
||||
"cbc:AdditionalStreetName"
|
||||
),
|
||||
}
|
||||
|
||||
|
||||
def _get_Name(a, index):
|
||||
candidates = (
|
||||
"ContactName",
|
||||
"PartyName",
|
||||
"Department",
|
||||
"StreetName",
|
||||
"AdditionalStreetName",
|
||||
)
|
||||
values = []
|
||||
for c in candidates:
|
||||
e = a.get(c)
|
||||
if e and e not in values:
|
||||
values.append(e)
|
||||
# always drop last element, that's the address
|
||||
values = values[index:-1]
|
||||
return values[0] if values else None
|
||||
|
||||
|
||||
def get_Adrs_Name(a):
|
||||
return _get_Name(a, 0)
|
||||
|
||||
|
||||
def get_Adrs_Name2(a):
|
||||
return _get_Name(a, 1)
|
||||
|
||||
|
||||
def get_Adrs_Name3(a):
|
||||
return _get_Name(a, 2)
|
||||
|
||||
|
||||
def get_Adrs_Name4(a):
|
||||
return _get_Name(a, 3)
|
||||
|
||||
|
||||
def get_Adrs_Adr(a):
|
||||
return a["AdditionalStreetName"] or a["StreetName"] or a["Department"]
|
||||
|
||||
|
||||
def get_index(idx):
|
||||
return idx
|
||||
|
||||
|
||||
def wamas_dict2line(wamas_dict):
|
||||
"""Converts a wamas OrderedDict to a telegram."""
|
||||
return "".join(wamas_dict.values())
|
||||
|
||||
|
||||
def generate_wamas_line(dict_item, grammar, **kwargs):
|
||||
"""Generate a wamas telegram."""
|
||||
wamas_dict = generate_wamas_dict(dict_item, grammar, **kwargs)
|
||||
return wamas_dict2line(wamas_dict)
|
||||
|
||||
|
||||
def generate_wamas_dict(dict_item, grammar, **kwargs): # noqa: C901
|
||||
"""Generate an OrderedDict with wamas field and value."""
|
||||
dict_parent_id = kwargs.get("dict_parent_id", {})
|
||||
telegram_type_out = kwargs.get("telegram_type_out", False)
|
||||
dict_wamas_out = OrderedDict()
|
||||
do_convert_tz = not kwargs.get("do_wamas2wamas", False)
|
||||
for _key in grammar:
|
||||
val = ""
|
||||
ttype = grammar[_key].get("type", False)
|
||||
length = grammar[_key].get("length", False)
|
||||
dp = grammar[_key].get("dp", False)
|
||||
ubl_path = grammar[_key].get("ubl_path", False)
|
||||
dict_key = grammar[_key].get("dict_key", False)
|
||||
df_val = grammar[_key].get("df_val", False)
|
||||
df_func = grammar[_key].get("df_func", False)
|
||||
|
||||
if ubl_path:
|
||||
# Get the `ubl_path` if it has multi lines
|
||||
len_loop = kwargs.get("len_loop", False)
|
||||
idx_loop = kwargs.get("idx_loop", False)
|
||||
if len_loop and len_loop > 1:
|
||||
ubl_path = "%s" in ubl_path and ubl_path % str(idx_loop) or ubl_path
|
||||
else:
|
||||
ubl_path = "%s" in ubl_path and ubl_path.replace(".%s", "") or ubl_path
|
||||
# Handle the type of `ubl_path`
|
||||
if isinstance(ubl_path, list):
|
||||
lst_val = []
|
||||
for _item in ubl_path:
|
||||
lst_val.append(dict_item.get(_item) or "")
|
||||
if lst_val:
|
||||
val = " ".join(lst_val).strip()
|
||||
elif isinstance(ubl_path, dict):
|
||||
for _key in ubl_path:
|
||||
if dict_item.get(_key, False):
|
||||
val = dict_item.get(ubl_path[_key], "")
|
||||
elif isinstance(ubl_path, str):
|
||||
val = dict_item.get(ubl_path, "")
|
||||
else:
|
||||
val = ""
|
||||
if not val and dict_key:
|
||||
val = dict_item.get(dict_key, "")
|
||||
if not val and df_val:
|
||||
val = df_val
|
||||
if not val and df_func:
|
||||
args = (kwargs.get("line_idx", 0),)
|
||||
if df_func == "get_parent_id":
|
||||
args = (
|
||||
dict_parent_id,
|
||||
DICT_CHILD_KEY,
|
||||
_key,
|
||||
telegram_type_out,
|
||||
)
|
||||
elif df_func == "get_index":
|
||||
args = (kwargs.get("idx_loop", 0),)
|
||||
elif df_func == "get_random_str_num":
|
||||
args = (length,)
|
||||
elif df_func == "get_quantity_done":
|
||||
if "BestMng" in dict_item.keys():
|
||||
quantity = dict_item.get("BestMng", 0)
|
||||
elif "SollMng" in dict_item.keys():
|
||||
quantity = dict_item.get("SollMng", 0)
|
||||
else:
|
||||
raise Exception("Quantity field not found")
|
||||
args = (quantity, kwargs.get("processed_qty"))
|
||||
elif "get_date_from_field" in df_func:
|
||||
args = (dict_wamas_out,)
|
||||
args += ast.literal_eval(re.search(r"\((.*?)\)", df_func).group(0))
|
||||
df_func = "get_date_from_field"
|
||||
# TODO: Consider refactoring to use classes
|
||||
# or provide a better way to determine arguments.
|
||||
elif "get_Adrs_" in df_func:
|
||||
if df_func.startswith("supplier"):
|
||||
address_elements = get_address_elements(
|
||||
dict_item, "DespatchSupplierParty"
|
||||
)
|
||||
df_func = df_func[9:]
|
||||
else:
|
||||
address_elements = get_address_elements(dict_item)
|
||||
args = (address_elements,)
|
||||
|
||||
val = globals()[df_func](*args)
|
||||
|
||||
val = set_value_to_string(val, ttype, length, dp, do_convert_tz=do_convert_tz)
|
||||
dict_wamas_out[_key] = val
|
||||
lst_parent_key = DICT_PARENT_KEY.get(telegram_type_out, False)
|
||||
if lst_parent_key and _key in lst_parent_key:
|
||||
dict_parent_id[_key] = val
|
||||
return dict_wamas_out
|
||||
|
||||
|
||||
def generate_wamas_lines(dict_input, telegram_type, line_idx, wamas_lines):
|
||||
line_idx += 1
|
||||
grammar = DICT_WAMAS_GRAMMAR[telegram_type]
|
||||
line = generate_wamas_line(dict_input, grammar, line_idx=line_idx)
|
||||
if line:
|
||||
wamas_lines.append(line)
|
||||
return line_idx, wamas_lines
|
||||
|
||||
|
||||
def get_grammar(telegram_type):
|
||||
return DICT_WAMAS_GRAMMAR[telegram_type]
|
||||
|
||||
|
||||
def fw2dict(line, grammar, telegram_type):
|
||||
"""
|
||||
Converts a fixed width string to a dict
|
||||
|
||||
Parameters:
|
||||
line (str): The string to convert
|
||||
grammar (OrderedDict): The field width definition in the format:
|
||||
{ "k1": { "length": 3 }, "k2": { "length": 5 } }
|
||||
telegram_type (str): Telegram type
|
||||
|
||||
Returns:
|
||||
OrderedDict: Same keys as the grammar, values from the string
|
||||
"""
|
||||
# sanity checks
|
||||
max_length = min_length = sum(f["length"] for f in grammar.values())
|
||||
last_val = grammar[next(reversed(grammar))]
|
||||
if last_val["type"] == "str":
|
||||
min_length -= last_val["length"] + 1
|
||||
if not min_length <= len(line) <= max_length:
|
||||
raise Exception(
|
||||
"Line of length {actual:d} does not match expected length of "
|
||||
"{expected:d}:\n{line:s}".format(
|
||||
actual=len(line),
|
||||
expected=max_length,
|
||||
line=line,
|
||||
)
|
||||
)
|
||||
else:
|
||||
line = line.ljust(max_length)
|
||||
|
||||
# actual parsing
|
||||
res = OrderedDict()
|
||||
offset = 0
|
||||
for fname, fdef in grammar.items():
|
||||
b = line[offset : offset + fdef["length"]]
|
||||
offset += fdef["length"]
|
||||
if fdef["type"] == "int":
|
||||
val = int(b)
|
||||
elif fdef["type"] == "float":
|
||||
dp = fdef["dp"]
|
||||
val = float(b[:-dp] + "." + b[-dp:])
|
||||
else:
|
||||
val = str(escape(b.rstrip()))
|
||||
res[fname] = val
|
||||
_logger.debug(pformat(res))
|
||||
return res
|
||||
|
||||
|
||||
def get_telegram_type(line):
|
||||
# given by Satzart at pos 49, len 9
|
||||
return re.split(r"(\d+)", line[40:49])[0]
|
||||
|
||||
|
||||
def detect_wamas_type(infile):
|
||||
"""
|
||||
Detect the type of message
|
||||
|
||||
Parameters:
|
||||
line (str): The wamas message
|
||||
|
||||
Returns:
|
||||
str: Type of message
|
||||
"""
|
||||
wamas_type = DICT_DETECT_WAMAS_TYPE.get(get_telegram_type(infile), "Undefined")
|
||||
return wamas_type
|
||||
|
||||
|
||||
def convert_tz(dt_val, str_from_tz, str_to_tz):
|
||||
from_tz = pytz.timezone(str_from_tz)
|
||||
to_tz = pytz.timezone(str_to_tz)
|
||||
from_tz_dt = from_tz.localize(dt_val)
|
||||
to_tz_dt = from_tz_dt.astimezone(to_tz)
|
||||
return to_tz_dt
|
||||
|
||||
|
||||
def get_supported_telegram():
|
||||
return DICT_WAMAS_GRAMMAR.keys()
|
||||
|
||||
|
||||
def get_supported_telegram_w2w():
|
||||
return DICT_CONVERT_WAMAS_TYPE
|
||||
|
|
@ -0,0 +1,229 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from collections import OrderedDict
|
||||
from pprint import pformat
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from . import const, miniqweb, utils
|
||||
|
||||
# FIXME: replace by Dotty ?
|
||||
from .structure import obj
|
||||
|
||||
_logger = logging.getLogger("wamas2ubl")
|
||||
|
||||
|
||||
class Extractor:
|
||||
def __init__(self, data):
|
||||
self.data = data
|
||||
self.transfers = {}
|
||||
self.packages = {}
|
||||
|
||||
def get_head(self, telegram_type, key_name, head=None):
|
||||
"""Converts a list of dict into a dict of dict
|
||||
|
||||
Parameters:
|
||||
telegram_type: the key to get the list out of data
|
||||
key_name: the key in the dict that serves as key in the new dict
|
||||
head: the result dict that is build
|
||||
"""
|
||||
if telegram_type not in self.data:
|
||||
raise ValueError("Missing telegram: %s" % telegram_type)
|
||||
|
||||
if head is None:
|
||||
head = self.transfers
|
||||
for item in self.data[telegram_type]:
|
||||
key = item[key_name]
|
||||
if key not in head:
|
||||
head[key] = item
|
||||
else:
|
||||
_logger.debug(
|
||||
"Redundant %s (transfer) record found, ignoring: %s",
|
||||
telegram_type,
|
||||
key,
|
||||
)
|
||||
|
||||
def get_line(
|
||||
self,
|
||||
telegram_type,
|
||||
transfer_key1_name,
|
||||
transfer_key2_name=False,
|
||||
package_key_name=False,
|
||||
):
|
||||
"""Process a list of dict as lines of the transfers
|
||||
|
||||
Parameters:
|
||||
telegram_type: the key to get the list out of data
|
||||
transfer_key1_name: the key in the dict that serves to identify the
|
||||
parent in transfers
|
||||
transfer_key2_name: the key in the dict that serves to identify a sub-transfer
|
||||
package_key_name: the key in the dict that serves to identify the
|
||||
related package
|
||||
"""
|
||||
transfers = {}
|
||||
if telegram_type not in self.data:
|
||||
raise ValueError("Missing telegram: %s" % telegram_type)
|
||||
|
||||
for line in self.data[telegram_type]:
|
||||
key = line.get(transfer_key1_name)
|
||||
if key not in self.transfers:
|
||||
_logger.debug(
|
||||
"Found %s (line) record for unknown transfer, ignoring: %s",
|
||||
telegram_type,
|
||||
key,
|
||||
)
|
||||
continue
|
||||
|
||||
# Create a key for the sub-transfer
|
||||
if transfer_key2_name and line.get(transfer_key2_name):
|
||||
key = (key, line[transfer_key2_name])
|
||||
if key not in transfers:
|
||||
# Copy parent transfer data
|
||||
transfers[key] = OrderedDict(self.transfers[line[transfer_key1_name]])
|
||||
transfers[key].setdefault("lines", []).append(line)
|
||||
if not package_key_name:
|
||||
continue
|
||||
package_id = line[package_key_name]
|
||||
package = self.packages.get(package_id)
|
||||
if not package:
|
||||
_logger.debug(
|
||||
"Found %s (line) record with unknown package, ignoring: %s",
|
||||
telegram_type,
|
||||
package_id,
|
||||
)
|
||||
continue
|
||||
line["package"] = package
|
||||
transfers[key].setdefault("packages", []).append(package)
|
||||
self.transfers = transfers
|
||||
|
||||
|
||||
def wamas2dict(msg):
|
||||
"""
|
||||
Converts a wamas message to a dict
|
||||
|
||||
Parameters:
|
||||
msg (str): The msg to convert
|
||||
|
||||
Returns:
|
||||
dict: key=telegram type, value=list of OrderedDict
|
||||
"""
|
||||
result = {}
|
||||
supported_telegrams = utils.get_supported_telegram()
|
||||
for line in msg.splitlines():
|
||||
if not line:
|
||||
continue
|
||||
telegram_type = utils.get_telegram_type(line)
|
||||
# ignore useless telegram types
|
||||
if telegram_type in const.LST_TELEGRAM_TYPE_IGNORE_W2D:
|
||||
continue
|
||||
if telegram_type not in supported_telegrams:
|
||||
raise Exception("Invalid telegram type: %s" % telegram_type)
|
||||
grammar = utils.get_grammar(telegram_type)
|
||||
d = utils.fw2dict(line, grammar, telegram_type)
|
||||
val = result.setdefault(telegram_type, [])
|
||||
val.append(d)
|
||||
_logger.debug(pformat(result))
|
||||
return result
|
||||
|
||||
|
||||
def dict2ubl(msg_type, data, extra_data=False):
|
||||
if extra_data is False:
|
||||
extra_data = {"DeliveryCustomerParty": {}, "DespatchSupplierParty": {}}
|
||||
|
||||
# Analyze/transform wamas file content
|
||||
extractor = Extractor(data)
|
||||
|
||||
if msg_type == "ReceptionResponse":
|
||||
extractor.get_head("WEAKQ", "IvWevk_WevId_WevNr")
|
||||
extractor.get_line("WEAPQ", "IvWevp_WevId_WevNr", "IvWevp_WEAP_WeaId_WeaNr")
|
||||
elif msg_type == "ReturnResponse":
|
||||
extractor.get_head("KRETKQ", "IvKretk_KretId_KretNr")
|
||||
extractor.get_line("KRETPQ", "IvKretp_KretId_KretNr")
|
||||
elif msg_type == "PickingResponse":
|
||||
extractor.get_head("AUSKQ", "IvAusk_AusId_AusNr")
|
||||
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", package_key_name="IvTep_TeId"
|
||||
)
|
||||
else:
|
||||
raise Exception("Invalid message type: %s" % msg_type)
|
||||
|
||||
pickings = extractor.transfers
|
||||
_logger.debug("Number of pickings: %d", len(pickings))
|
||||
for order_id, picking in pickings.items():
|
||||
_logger.debug("ID: %s", order_id)
|
||||
packages = pickings[order_id].get("packages")
|
||||
if packages:
|
||||
_logger.debug("Number of packages: %s", len(packages))
|
||||
_logger.debug(pformat(picking))
|
||||
|
||||
# Get template
|
||||
ubl_template_path = const.DICT_UBL_TEMPLATE[msg_type]
|
||||
with utils.file_open(utils.file_path(ubl_template_path)) as tmpl_file:
|
||||
ubl_template = tmpl_file.read()
|
||||
|
||||
# Convert
|
||||
ubls = []
|
||||
for picking in pickings.values():
|
||||
ubl = render_ubl(ubl_template, picking, extra_data=extra_data)
|
||||
ubls.append(ubl)
|
||||
_logger.debug("Number of UBL files generated: %d", len(ubls))
|
||||
return ubls
|
||||
|
||||
|
||||
def render_ubl(ubl_template, data, extra_data=False):
|
||||
t = miniqweb.QWebXml(ubl_template)
|
||||
# Convert dict to object to use dotted notation in template
|
||||
globals_dict = {
|
||||
"record": obj(data),
|
||||
"get_date": utils.get_date,
|
||||
"get_time": utils.get_time,
|
||||
"get_current_date": utils.get_current_date,
|
||||
"extra_data": extra_data,
|
||||
}
|
||||
xml = t.render(globals_dict)
|
||||
return xml
|
||||
|
||||
|
||||
def wamas2ubl(wamas_msg, extra_data=False):
|
||||
data = wamas2dict(wamas_msg)
|
||||
msg_type = utils.detect_wamas_type(wamas_msg)
|
||||
return dict2ubl(msg_type, data, extra_data=extra_data)
|
||||
|
||||
|
||||
@freeze_time("2023-05-01")
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Converts wamas message into UBLs documents.",
|
||||
)
|
||||
parser.add_argument("-v", "--verbose", action="store_true", help="enable debug log")
|
||||
parser.add_argument(
|
||||
"-f", "--format", default="ubl", choices=["dict", "ubl"], help="result format"
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o", "--output", dest="outputfile", help="write result in this file"
|
||||
)
|
||||
parser.add_argument("inputfile", help="read message from this file")
|
||||
args = parser.parse_args()
|
||||
if args.verbose:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
infile = utils.file_open(args.inputfile).read()
|
||||
if args.format == "dict":
|
||||
res = pformat(wamas2dict(infile))
|
||||
else:
|
||||
res = "\n".join(wamas2ubl(infile))
|
||||
if args.outputfile:
|
||||
fd = utils.file_open(args.outputfile, "w")
|
||||
fd.write(res)
|
||||
else:
|
||||
print(res) # pylint: disable=print-used
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -0,0 +1,76 @@
|
|||
# Copyright 2023 Jacques-Etienne Baudoux (BCIM) <je@bcim.be>
|
||||
# License AGPL-3.0 or later (http://www.gnu.org/licenses/agpl.html).
|
||||
|
||||
import argparse
|
||||
import logging
|
||||
from pprint import pformat
|
||||
|
||||
from freezegun import freeze_time
|
||||
|
||||
from . import const, utils
|
||||
from .wamas2ubl import wamas2dict
|
||||
|
||||
_logger = logging.getLogger("wamas2wamas")
|
||||
|
||||
|
||||
def simulate_response(dict_wamas_in, processed_qty=None):
|
||||
res = []
|
||||
line_idx = 0
|
||||
dict_parent_id = {}
|
||||
for telegram_type_in, dicts in dict_wamas_in.items():
|
||||
for telegram_type_out in const.DICT_CONVERT_WAMAS_TYPE[telegram_type_in]:
|
||||
grammar_out = const.DICT_WAMAS_GRAMMAR[telegram_type_out]
|
||||
for dict_item in dicts:
|
||||
line_idx += 1
|
||||
line = utils.generate_wamas_line(
|
||||
dict_item,
|
||||
grammar_out,
|
||||
line_idx=line_idx,
|
||||
dict_parent_id=dict_parent_id,
|
||||
telegram_type_out=telegram_type_out,
|
||||
do_wamas2wamas=True,
|
||||
processed_qty=processed_qty,
|
||||
)
|
||||
if line:
|
||||
res.append(line)
|
||||
return res
|
||||
|
||||
|
||||
def wamas2wamas(infile, processed_qty=None):
|
||||
data = wamas2dict(infile)
|
||||
_logger.debug(pformat(data))
|
||||
wamas_lines = simulate_response(data, processed_qty=processed_qty)
|
||||
return "\n".join(wamas_lines)
|
||||
|
||||
|
||||
@freeze_time("2023-12-20 09:11:16")
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(
|
||||
description="Converts a wamas message into wamas response.",
|
||||
)
|
||||
parser.add_argument("-v", "--verbose", action="store_true", help="enable debug log")
|
||||
parser.add_argument(
|
||||
"-p",
|
||||
"--processed-qty",
|
||||
type=float,
|
||||
dest="processed_qty",
|
||||
help="quantity processed, by default complete quantity is processed",
|
||||
)
|
||||
parser.add_argument(
|
||||
"-o", "--output", dest="outputfile", help="write result in this file"
|
||||
)
|
||||
parser.add_argument("inputfile", help="read message from this file")
|
||||
args = parser.parse_args()
|
||||
if args.verbose:
|
||||
logging.basicConfig(level=logging.DEBUG)
|
||||
infile = utils.file_open(args.inputfile).read()
|
||||
res = wamas2wamas(infile, args.processed_qty)
|
||||
if args.outputfile:
|
||||
fd = utils.file_open(args.outputfile, "w")
|
||||
fd.write(res)
|
||||
else:
|
||||
print(res) # pylint: disable=print-used
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
from . import (
|
||||
weakq,
|
||||
weapq,
|
||||
watekq,
|
||||
watepq,
|
||||
weak,
|
||||
weap,
|
||||
ausk,
|
||||
ausp,
|
||||
auskq,
|
||||
auspq,
|
||||
kretkq,
|
||||
kretpq,
|
||||
kretk,
|
||||
kretp,
|
||||
)
|
||||
|
|
@ -0,0 +1,859 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "ART000061",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "default_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtBez": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "name",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtBez2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_IntArtBez": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Bestand_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "product_uom_wamas_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Anzeige_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "packaging_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_HOSTUNITS_HostEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_HostGewKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_NettoGew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": "weight",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AltAId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AltAId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AltAId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtTyp": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "item_type",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SORT_Sortiment": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "wamas_assortment",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestErfArtWa": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "STK",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestErfArtWe": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "STK",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "has_stock",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AbcWert": {
|
||||
"type": "int",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": 999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AKS_ArtKlasse": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "wamas_class",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtGrp": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "sale_ok_company",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WAGRP_WaGrpId": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "GSMST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_InvGrp": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "-",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AnbruchAnzErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "sell_only_by_packaging",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtMischErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AusPrMischErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ChargeMischErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ASCODE_ACode": {
|
||||
"type": "str",
|
||||
"length": 2,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "ANFRAGE",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Aus_Schema": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "ALL_WA",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_StdAus_LagRf": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "sdDEF",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_TmpAus_LagRf": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "sdDEF",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AutoAbsKzWa": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ChangeAusPrErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ChargePflWa": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ChargePflWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "compulsory_lot",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_DisponentWe": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_FifoFen": {
|
||||
"type": "int",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "fifo_window",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GanzTeMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GanzTeSplittKz1": {
|
||||
"type": "str",
|
||||
"length": 7,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "KANN",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GanzTeSplittKz2": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "ORIGTE",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GewTolAbsWa": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 999999999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GewTolAbsWe": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 999999999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GewTolProzWa": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 50,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GewTolProzWe": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 50,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MaxDiffBasisAbsWa": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 999999999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MaxDiffBasisProzWa": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 999.9,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MaxDiffGewAbsWa": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 999999999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MaxDiffGewProzWa": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 999.9,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestandTolAbsWe": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 999999999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestandTolProzWe": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 999.9,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Info": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_LagWert": {
|
||||
"type": "float",
|
||||
"length": 14,
|
||||
"dp": 6,
|
||||
"dict_key": "list_price",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_LBWE_LagIdWe": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "eCAM",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MhdMischErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MHDPflWa": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MHDPflWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "wamas_expiration_date",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MinderCheckKzHost": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MinderCheckKzLls": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_RefEinheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_RefMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_RestHaltProzWe": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": 100,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_RestHaltTaWa": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "removal_time",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_RestHaltTaWe": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "reception_validity_time",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SperrArtKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SperrKzWa": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_StapelHoehe": {
|
||||
"type": "int",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Stapelkzahl": {
|
||||
"type": "int",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": 100,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SumGewErfWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ThmTauschErlWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_THM_ThmId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "packaging_level_palette_wamas_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_UeberLiefErlWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WartInt": {
|
||||
"type": "int",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WhrCode": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "CHF",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutBuchs": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutStoffBez": {
|
||||
"type": "str",
|
||||
"length": 70,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutStoffBez2": {
|
||||
"type": "str",
|
||||
"length": 70,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutStoffBez3": {
|
||||
"type": "str",
|
||||
"length": 70,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutChemBez": {
|
||||
"type": "str",
|
||||
"length": 70,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutEinh": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutKlassCode": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutKlasse": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutUnNr": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutVerpGrp": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_GefGutZiffer": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WaLvsSort_LvsSortiment": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_StapelGew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": 99999,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ARTSTAT_ArtStatGrp": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "item_stat_group",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_LgSchwelleProz": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Batch": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ArtKtoKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MatqMischErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_AbschlStatus": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "ANFRAGE",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_BestErfArtWh": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "STK",
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_ChargePflWh": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_MHDPflWh": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WhSerienNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WeSerienNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_WaSerienNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_PrueflosMngWe": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_SNr_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,251 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "ARTE00051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "product",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Laenge": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "length",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Breite": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "width",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Hoehe": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "height",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Zaehler": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "quantity",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Nenner": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000001",
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_GefGutPunkte": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_GEWKS_GewKlasse": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_HANDKS_HandKlasse": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Info": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_InvMngKom": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_InvMngTpa": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Lg_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Lg_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_Lg_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_NachMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_TeilNachMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_OrigTeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_StapelFakt": {
|
||||
"type": "float",
|
||||
"length": 4,
|
||||
"dp": 1,
|
||||
"dict_key": False,
|
||||
"df_val": "100.0",
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_TaraGew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": "weight",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_WeTeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Arte_PrintArtLabWe": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "ARTEAN001",
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "product",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_EAN": {
|
||||
"type": "str",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": "barcode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_EST_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "product_uom",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"ArtEan_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,743 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "AUSK00056",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_AusId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_AusId_AusNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_AusId_HostAusKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxAusk_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:OrderReference.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_AUTYP_Typ": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cac:ShipmentStage."
|
||||
"cbc:TransportMeansTypeCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_KST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_KST_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty."
|
||||
"cbc:CustomerAssignedAccountID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name",
|
||||
},
|
||||
"RxAusk_Adrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name2",
|
||||
},
|
||||
"RxAusk_Adrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name3",
|
||||
},
|
||||
"RxAusk_Adrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name4",
|
||||
},
|
||||
"RxAusk_Adrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PartyName.cbc:Title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Adr",
|
||||
},
|
||||
"RxAusk_Adrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cbc:PostalZone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cbc:CityName",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:Contact.cbc:Telephone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:DeliveryContact."
|
||||
"cbc:ElectronicMail",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Adrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PartyName.cbc:Name",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name2",
|
||||
},
|
||||
"RxAusk_LiefAdrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name3",
|
||||
},
|
||||
"RxAusk_LiefAdrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Name4",
|
||||
},
|
||||
"RxAusk_LiefAdrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PartyName.cbc:Title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_Adrs_Adr",
|
||||
},
|
||||
"RxAusk_LiefAdrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cbc:PostalZone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cbc:CityName",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cbc:CountrySubentity",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:PostalAddress.cac:Country.cbc:IdentificationCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:Contact.cbc:Telephone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:Contact.cbc:ElectronicMail",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DeliveryCustomerParty.cac:Party."
|
||||
"cac:Contact.cbc:Telefax",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefAdrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_EndEmpfAdrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_GeplBereitTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": [
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:EstimatedDeliveryPeriod.cbc:EndDate",
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:EstimatedDeliveryPeriod.cbc:EndTime",
|
||||
],
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_GeplEinStrat_LagRf": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cac:Delivery.cac:Despatch."
|
||||
"cac:DespatchLocation.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Info2Wamas": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:Note",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_AbladeStelle": {
|
||||
"type": "str",
|
||||
"length": 30,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_LiefTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:DeliveryInstructions",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_BestZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:OrderReference.cbc:IssueDate",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_ZustellTermin": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:DeliveryInstructions",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_ZustellZeitpunkt": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "FRUEH",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_BereitstellTermin": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:DeliveryInstructions",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_BereitstellZeitpunkt": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "FRUEH",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourId_TourNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourId_HostTourKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxAusk_RahmenTour_WA_Tor": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourMaxGew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:GrossWeightMeasure",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourMaxStdLE": {
|
||||
"type": "float",
|
||||
"length": 7,
|
||||
"dp": 3,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourStdLEVol": {
|
||||
"type": "float",
|
||||
"length": 7,
|
||||
"dp": 3,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourFzId1": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourFzId2": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTour_LKWT_LkwTyp": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "CAM",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourLkwFahrer": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTourLkwBeifahrer": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_RahmenTour_S_SchichtId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_VerlRfNr": {
|
||||
"type": "int",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": 1,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Prio": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:Shipment.cbc:ShippingPriorityLevelCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAuskI_Text": {
|
||||
"type": "str",
|
||||
"length": 70,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_MergeId": {
|
||||
"type": "str",
|
||||
"length": 30,
|
||||
"dp": False,
|
||||
"ubl_path": {
|
||||
"DespatchAdvice.cac:Shipment."
|
||||
"cbc:HandlingInstructions": "DespatchAdvice.cac:Shipment.cbc:ID"
|
||||
},
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_VAST_Versandart": {
|
||||
"type": "str",
|
||||
"length": 2,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "ST",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_Gepl2Step_LagRf": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusk_VplStrat": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "Def_Strat",
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,142 @@
|
|||
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": "AUSKQ0052",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_AusId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_AusId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_AusId_AusNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_AusId_AusNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_AusId_HostAusKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_AusId_HostAusKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_ExtRef",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_KST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_KST_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_KST_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_KST_KuNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_LiefTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_LiefTerm",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_StartZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_FertZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_RahmenTourId_TourNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_AusId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_RahmenTourId_HostTourKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_RahmenTourId_HostTourKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvAusk_Info2Host": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,297 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "AUSP00054",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AusId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AusId_AusNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AusId_HostAusKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxAusp_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_HostPosNr": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": "get_index",
|
||||
},
|
||||
"RxAusp_MId_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_MId_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s.cac:Item."
|
||||
"cac:SellersItemIdentification.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_MId_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_MId_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg1": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "DISPONIBLE",
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg2": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg3": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_GrundPreis": {
|
||||
"type": "float",
|
||||
"length": 14,
|
||||
"dp": 6,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_LadenVerPreis": {
|
||||
"type": "float",
|
||||
"length": 14,
|
||||
"dp": 6,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_LadenVerWhrCode": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"BestMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s."
|
||||
"cbc:DeliveredQuantity.#text",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"HostEinheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s."
|
||||
"cbc:DeliveredQuantity.@unitCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_WeiterPreis": {
|
||||
"type": "float",
|
||||
"length": 14,
|
||||
"dp": 6,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_WeiterWhrCode": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AktionWpKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AktionLvpKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AktionNr": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_VorVerNr": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_Info": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_HostBatch": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_BatchLagRf": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_MId_SerienNrGrp": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_RestHaltTaWa": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": 0,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_AscFifo": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxAusp_WATeSplittId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -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,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,195 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "BKORR0051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Hostkorr_HostKorrKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "HOST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_SerienNrGrp": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_MHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_MId_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqk_HMATQ_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_DiffMngs_Mng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_DiffMngs_Gew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_HOSTUNITS_HostEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Art_Bestand_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_BuSchl": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Bschl_HostBuschlPlus": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Bschl_KOST_KostSte": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Invba_InvbaId": {
|
||||
"type": "int",
|
||||
"length": 7,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Sign": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,275 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "KRETK0051",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KretId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KretId_KretNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KretId_HostKretKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxKretk_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:OrderReference.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KRETTYP_Typ": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "RETCLI",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KST_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cbc:CustomerAssignedAccountID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name",
|
||||
},
|
||||
"RxKretk_Adrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name2",
|
||||
},
|
||||
"RxKretk_Adrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name3",
|
||||
},
|
||||
"RxKretk_Adrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name4",
|
||||
},
|
||||
"RxKretk_Adrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Adr",
|
||||
},
|
||||
"RxKretk_Adrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cbc:PostalZone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cbc:CityName",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cac:Country.cbc:IdentificationCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Telephone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:ElectronicMail",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Telefax",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Adrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_KretFlaeche_FeldId": {
|
||||
"type": "str",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "SF-EM-RETCLI",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_Info2Wamas": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:Note",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_LiefTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": [
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:EstimatedDeliveryPeriod.cbc:EndDate",
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:EstimatedDeliveryPeriod.cbc:EndTime",
|
||||
],
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretk_TOR_Tor": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,126 @@
|
|||
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": "KRETKQ050",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_KretId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_KretId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_KretId_KretNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_KretId_KretNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_KretId_HostKretKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_KretId_HostKretKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_ExtRef",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_KST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_KST_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_KST_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_KST_KuNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_LiefTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretk_LiefTerm",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretk_StartZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_date_from_field('IvKretk_LiefTerm', 8, 'hours')",
|
||||
},
|
||||
"IvKretk_FertZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_date_from_field('IvKretk_LiefTerm', 18, 'hours')",
|
||||
},
|
||||
"IvKretk_Info2Host": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,193 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "KRETP0046",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_KretId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_KretId_KretNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_KretId_HostKretKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxKretp_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:OrderReference.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_HostPosNr": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"RxKretp_MId_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s.cac:Item."
|
||||
"cac:BuyersItemIdentification.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "00000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg1": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "DISPONIBLE",
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg2": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Matqgs_Matqg3": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"SollMng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s."
|
||||
"cbc:DeliveredQuantity.#text",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"HostEinheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchLine.%s."
|
||||
"cbc:DeliveredQuantity.@unitCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_MHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_SatzKzKretp": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_SerienNrGrp": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxKretp_MId_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,174 @@
|
|||
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": "KRETPQ050",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_KretId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_KretId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_KretId_KretNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_KretId_KretNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_KretId_HostKretKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_KretId_HostKretKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_ExtRef",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_HostPosNr": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_HostPosNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_AId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_AId_ArtNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_AId_Var",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvMatqk_HMATQ_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "Matqgs_Matqg1",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_AnmMngs_Mng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_quantity_done",
|
||||
},
|
||||
"IvKretp_AnmMngs_Gew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_HOSTUNITS_HostEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_Bestand_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "HostEinheit",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_Charge",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_MHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_MHD",
|
||||
"df_val": "19700101",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvKretp_MId_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxKretp_MId_WeNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,506 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "KST000052",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "ref",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_name",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_name2",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_name3",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_name4",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_street",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_zip",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_city",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_state",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_country_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_phone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_email",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "delivery_website",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LiefAdrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_name",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_name2",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_name3",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_name4",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_street",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_zip",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_city",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_state",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_country_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_phone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_email",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "invoicing_website",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_Adrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_DVRNr": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_UIDNr": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_MaxTEHoehe": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_KSTTYP_KstTypId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "Standard",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_EanQuittErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_EartErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_EMatQErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_EtikettKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_FeldKQuittErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_FeldQuittErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KomGewInitKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KomMngInitKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KomPosInitKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KontErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KontIntWa": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_KstGrp": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_LiefSAnz": {
|
||||
"type": "int",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_LiefSLay": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "Standard",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_MkkErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_OkQuittErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_TeQuittErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_LokKstTyp_UeberliefErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Kst_SperrKzWa": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,91 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "KSTAUS050",
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_KuNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "ref",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_ThmId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "wamas_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_LagIdKom": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "picking_zone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_RfNr": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "priority_sequence",
|
||||
"df_val": "0",
|
||||
"df_func": False,
|
||||
},
|
||||
"KstAus_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "LBA000051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HOSTSTOCK_HostStockKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "HOST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_LfdNummer": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Variante": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_SNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_vonMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_bisMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpChargeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpWeNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpResNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpMHDKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpTeIdKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpSNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "LBABQ0052",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HOSTSTOCK_HostStockKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "HOST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_LfdNummer": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Variante": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_SNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_vonMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_bisMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpChargeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpWeNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpResNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpMHDKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpTeIdKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpSNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,187 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "LBAMQ0051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HOSTSTOCK_HostStockKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "HOST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_LfdNummer": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Variante": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_SNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_vonMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_bisMHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpChargeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpWeNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpResNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpMHDKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpTeIdKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_GrpSNrKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,179 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "LBAMQ0051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_HOSTSTOCK_HostStockKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "HOST",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lba_LfdNummer": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"TeId": {
|
||||
"type": "str",
|
||||
"length": 18,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Mngs_Mng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"BestEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Mngs_Gew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"HostEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_SerienNrGrp": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_MHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"MId_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Seriennummer": {
|
||||
"type": "int",
|
||||
"length": 7,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,283 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"df_val": "LST000051",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LiefNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "ref",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "name",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "name2",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "name3",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "name4",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": "title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "street",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": "zip",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "city",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "state",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": "country_code",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "phone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": "email",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"dict_key": "website",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_Adrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_UIDNr": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_DVRNr": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LSTTYP_LstTypId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "Standard",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_AnzWeBeleg": {
|
||||
"type": "int",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_LiefBewKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_StdLgTor": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_StdRetTor": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_StdWeTor": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_UebLiefErl": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "J",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_LokLstTyp_WeBelegLay": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "Standard",
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_SatzKz": {
|
||||
"type": "str",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": "game_identifier",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Lst_PrueflosWeKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,166 @@
|
|||
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": "WATEKQ054",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTek_TeId": {
|
||||
"type": "str",
|
||||
"length": 18,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_random_str_num",
|
||||
},
|
||||
"IvTek_Pos_FeldId": {
|
||||
"type": "str",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_random_quai",
|
||||
},
|
||||
"IvTek_Pos_Offs_L_X": {
|
||||
"type": "int",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTek_Pos_Offs_L_Y": {
|
||||
"type": "int",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTek_Pos_Offs_L_Z": {
|
||||
"type": "int",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTek_Stamm_TeId": {
|
||||
"type": "str",
|
||||
"length": 18,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"AnzSubTe": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTourp_TOUR_TourId_TourNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_RahmenTourId_TourNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTourp_TOUR_TourId_HostTourKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusk_AusId_HostAusKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTts_THM_ThmId": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "RO",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTts_MaxLadeHoehe": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_random_int_num",
|
||||
},
|
||||
"IvTour_VAST_Versandart": {
|
||||
"type": "str",
|
||||
"length": 2,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "ST",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTourp_TOUR_TourId_IntLfdNr": {
|
||||
"type": "int",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_random_int_num",
|
||||
},
|
||||
"IvTek_GesGew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_random_int_num",
|
||||
},
|
||||
"IvTourp_LiefSNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,214 @@
|
|||
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": "WATEPQ050",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_MId_Charge": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_MId_Charge",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_MId_MHD": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "20240413",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_MId_ResNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_MId_ResNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_MId_WeNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_MId_ThmKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_PrimThmKz": {
|
||||
"type": "bool",
|
||||
"length": 1,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "N",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_FifoDatum": {
|
||||
"type": "date",
|
||||
"length": 8,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "20240413",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_PosNr": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_Bestand_Einheit": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "HostEinheit",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_HOSTUNITS_HostEinh": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"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_HostPosNr": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_HostPosNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_AId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_MId_AId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_AId_ArtNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_MId_AId_ArtNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvArt_AId_Var": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxAusp_MId_AId_Var",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Mngs_Mng": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": "BestMng",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"Mngs_Gew": {
|
||||
"type": "float",
|
||||
"length": 12,
|
||||
"dp": 3,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvMatqk_HMATQ_HMatQ": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "Matqgs_Matqg1",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvTep_TeId": {
|
||||
"type": "str",
|
||||
"length": 18,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_parent_id",
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,259 @@
|
|||
from collections import OrderedDict
|
||||
|
||||
grammar = OrderedDict(
|
||||
{
|
||||
"Telheader_Quelle": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"Telheader_Ziel": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_destination",
|
||||
},
|
||||
"Telheader_TelSeq": {
|
||||
"type": "int",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_sequence_number",
|
||||
},
|
||||
"Telheader_AnlZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"Satzart": {
|
||||
"type": "str",
|
||||
"length": 9,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "WEAK00050",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_WeaId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_WeaId_WeaNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_WeaId_HostWeaKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_source",
|
||||
},
|
||||
"RxWeak_ExtRef": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:OrderReference.cbc:ID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_WEATYP_Typ": {
|
||||
"type": "str",
|
||||
"length": 6,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "STDMAN",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_LST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": "000",
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_LST_LiefNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cbc:CustomerAssignedAccountID",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Name": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name",
|
||||
},
|
||||
"RxWeak_Adrs_Name2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name2",
|
||||
},
|
||||
"RxWeak_Adrs_Name3": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name3",
|
||||
},
|
||||
"RxWeak_Adrs_Name4": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Name4",
|
||||
},
|
||||
"RxWeak_Adrs_Anrede": {
|
||||
"type": "str",
|
||||
"length": 15,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Title",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Adr": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": "supplier_get_Adrs_Adr",
|
||||
},
|
||||
"RxWeak_Adrs_Adr2": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_PLZ": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cbc:PostalZone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Ort": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cbc:CityName",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_OrtTeil": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Land": {
|
||||
"type": "str",
|
||||
"length": 4,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:PostalAddress.cac:Country.cbc:IdentificationCode",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Tel": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Telephone",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Fax": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:Telefax",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_Email": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cac:DespatchSupplierParty."
|
||||
"cac:Party.cac:Contact.cbc:ElectronicMail",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_WWW": {
|
||||
"type": "str",
|
||||
"length": 35,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Adrs_ILN": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"ubl_path": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_BestTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"ubl_path": [
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:PromiseDeliveryPeriod.cbc:EndDate",
|
||||
"DespatchAdvice.cac:Shipment.cac:Delivery."
|
||||
"cac:PromiseDeliveryPeriod.cbc:EndTime",
|
||||
],
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"RxWeak_Info2Wamas": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"ubl_path": "DespatchAdvice.cbc:Note",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
|
|
@ -0,0 +1,150 @@
|
|||
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": "WEAKQ0051",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_WevId_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxWeak_WeaId_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_WevId_WevNr": {
|
||||
"type": "str",
|
||||
"length": 20,
|
||||
"dp": False,
|
||||
"dict_key": "RxWeak_WeaId_WeaNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"HostWeaKz": {
|
||||
"type": "str",
|
||||
"length": 5,
|
||||
"dp": False,
|
||||
"dict_key": "RxWeak_WeaId_HostWeaKz",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_LiefTerm": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "19700101010000",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_LkwFahrer": {
|
||||
"type": "str",
|
||||
"length": 40,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_LkwKz": {
|
||||
"type": "str",
|
||||
"length": 10,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_EinfahrtZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": "19700101010000",
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_StartZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_FertZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": "get_current_datetime",
|
||||
},
|
||||
"IvWevk_AnmZeit": {
|
||||
"type": "datetime",
|
||||
"length": 14,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"IvWevk_Info2Host": {
|
||||
"type": "str",
|
||||
"length": 77,
|
||||
"dp": False,
|
||||
"dict_key": False,
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"LST_Mand": {
|
||||
"type": "str",
|
||||
"length": 3,
|
||||
"dp": False,
|
||||
"dict_key": "RxWeak_LST_Mand",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
"LST_LiefNr": {
|
||||
"type": "str",
|
||||
"length": 13,
|
||||
"dp": False,
|
||||
"dict_key": "RxWeak_LST_LiefNr",
|
||||
"df_val": False,
|
||||
"df_func": False,
|
||||
},
|
||||
}
|
||||
)
|
||||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue