Topic overview
This article describes the procedures for handling the Import data application in relation to supplier contracts. These procedures contain general instruction steps and special features that need to be taken into account. You will also be informed about possible preconditions and effects.
The description of the Import data application, which also includes field and button descriptions, can be found in the Import data article.
General information
The import of the supplier contract is essentially based on the current data model, which is stored in the repository database. More attributes are available for data export than for data import. It therefore makes sense to define separate filters for export and import.
1:1 relationships are generally based on a technical GUID attribute in the data model. Depending on the use case, either the technical GUID attribute or the business key from the target object (usually code or number) can be used for the import. For some business objects, an organization is required to convert the business key to the technical key. The relevant organization is normally not directly in the import source, but is specified via the voucher context. Further information on this can be found in the chapter Overview: Attributes.
Hash code business objects are referenced both in the header and in the line items of a supplier contract. These are technically related attribute groups that are always the same for many contracts and whose reuse therefore saves storage space in the database and in the main memory. Using a special conversion, the hash code business objects are represented as parts for export or import.
Certain supplier contract data such as local currency values, status and internal auxiliary attributes cannot be imported.
If you are not sure which format is suitable for the import file, proceed as follows: Enter a sample contract via the Supplier contracts application and export it using the filter for import in the desired format with the desired attributes. The resulting sample file can be used as a template for the import files to be generated.
The same rules apply when importing as when editing via the application. For example, an item in a saved line item can no longer be changed. Attribute values are ignored if they cannot be adopted in the current context. The same logic is applied when determining the default value, so that import and application behave identically. The same applies to data validations.
Procedure: Importing supplier contracts
1. Open the Import data application
2. Display the filter for this business object:
com.cisag.app.purchasing.obj.PurchaseContract
- The filter for importing supplier contracts will be opened
3. Duplicate or create a new filter for this business object, if required
4. Change the already selected attributes of the filter, if required
5. Press the [Import data] button in the standard toolbar
- The Import data dialog window will open
6. You can make settings for the import file in the Import data dialog window. A description of the fields can be found in the Import data article.
7. Press the [In background] or [Immediately] button.
- The import will be executed
Creating new supplier contracts
Below you will find attributes required for the import of the header and line items as well as examples.
Required header attributes
The minimum required attributes per header object:
Attribute description | Attribute |
Purchasing organization
(In single-site systems with deactivated content-based authorizations, this is automatically the active OLTP client.) |
invoiceRecipientData.Partner invoiceRecipientData.Partner |
Supplier contract type | Type Type |
Contract partner | supplierData.SupplierPartner supplierData.SupplierPartner |
Required for the supplier contract category Consignment | |
Valid until | expiryDate expiryDate |
Consignment withdrawal declaration type | consignmentWithdrawalNoticeType consignmentWithdrawalNoticeType |
Optionally, you can also transfer a number using the import. In this case, the number determined via the number range in accordance with the type is ignored. In addition, suitable conventions must be used to ensure that the number assigned via the import does not match a number that has already been assigned or is to be assigned automatically in the future.
If required, you can also specify a list of permitted organizations in the
OrganizationAssignments
key:
Supplier contract call-off organization:
OrganizationalUnit
Required line item attributes
The minimum required attributes per line item object:
Attribute description | Attribute |
Item | Item Item |
Required for these supplier contract categories:
|
|
Total quantity | totalQuantity totalQuantity |
Required for these supplier contract categories:
|
|
Total value | values.grossValue.amount values.grossValue.amount |
Required for these supplier contract categories:
|
|
Valid until | expiryDate expiryDate |
Required for this supplier contract category: Consignment | |
Valid from | beginDate beginDate |
Valid until | expiryDate expiryDate |
Gross price | grossPrice grossPrice |
Optionally, you can also enter a number for a new line item.
Example for the Quantity/date category
A corresponding minimum XML for contracts of the Quantity/date category with functional attributes and two line items has the following content, for example:
<?xml version="1.0" encoding="UTF-8"?> <semiramis xmlns="com.cisag.app.purchasing.obj.PurchaseContract" xsi:schemaLocation="com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd" created="2005-12-28T07:36:29.729Z" locale="en-US-XMLSchemaCompliant" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <PurchaseContract xmlns="com.cisag.app.purchasing.obj.PurchaseContract"> <invoiceRecipientData> <partner>00000</partner> </invoiceRecipientData> <Type>100</Type> <supplierData> <SupplierPartner>10020</SupplierPartner> </supplierData> <Details> <Item>4711</Item> <totalQuantity> <amount>10</amount> <Uom>St.</Uom> </totalQuantity> <expiryDate>2006-12-30T23:00:01.000Z</expiryDate> </Details> <Details> <Item>4712</Item> <totalQuantity> <amount>20</amount> <Uom>St.</Uom> </totalQuantity> <expiryDate>2006-12-30T23:00:01.000Z</expiryDate> </Details> </PurchaseContract> </semiramis>
Example of the Value/date category
An analogous example for contracts of the Value/date category, which also contains prices and details for underdelivery and overdelivery, has the following content :
<?xml version="1.0" encoding="UTF-8"?> <semiramis xmlns="com.cisag.app.purchasing.obj.PurchaseContract" xsi:schemaLocation="com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd" created="2005-12-28T07:36:29.729Z" locale="en-US-XMLSchemaCompliant" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <PurchaseContract xmlns="com.cisag.app.purchasing.obj.PurchaseContract"> <invoiceRecipientData> <partner>00000</partner> </invoiceRecipientData> <Type>200</Type> <supplierData> <SupplierPartner>10020</SupplierPartner> </supplierData> <Details> <Item>4711</Item> <values> <grossValue> <amount>10000.000000</amount> <Currency>EUR</Currency> </grossValue> </values> <grossPrice> <amount>10.000000</amount> <Currency>EUR</Currency> </grossPrice> <expiryDate>2006-12-30T23:00:01.000Z</expiryDate> <underDeliveryLimit>1.0000</underDeliveryLimit> <overDeliveryLimit>2.0000</overDeliveryLimit> </Details> <Details> <Item>4712</Item> <values> <grossValue> <amount>20000.000000</amount> <Currency>EUR</Currency> </grossValue> </values> <grossPrice> <amount>20.000000</amount> <Currency>EUR</Currency> </grossPrice> <expiryDate>2006-12-30T23:00:01.000Z</expiryDate> <underDeliveryLimit>3.0000</underDeliveryLimit> <overDeliveryLimit>4.0000</overDeliveryLimit> </Details> </PurchaseContract> </semiramis>
For the Fixed quantity and Fixed value categories, the
expiryDate
value is ignored.
The remaining required attributes are added in these examples using the default values according to the master data.
You can also import additional values and use technical attributes instead of functional attributes. You can find a list of the attributes in the chapter Overview: Attributes.
Special features when editing a contract
You must note the following when editing an existing contract: When importing supplier contracts in multi-site systems and single-site systems with activated content-based authorizations, a purchasing organization is required. When editing an existing contract, the purchasing organization is always derived from the document stored in the database. Any different purchasing organization in the import source is ignored in this case.
To find a supplier contract stored in the database, either its technical identification (
PurchaseContract:guid
) or its functional identification (Type
[or type
] and number
) is required.
All import options can be used for the call-off organizations – in particular deletion. Only the technical identification (partner identification) is required to find the stored partner.
All import options can be used for the items – including deletion in particular. Here too, either the technical identification (
PurchaseContractDetail:guid
) or the functional identification (number
) is required to find a saved line item.
Changes via the import are only possible if no validation prevents this.
Automatic release after the import
If the import has been carried out successfully, you can have an edited supplier contract released automatically after the import. This option is particularly useful in combination with the opening status In process (see Type). This prevents a supplier contract that has not yet been fully imported from being used in subsequent vouchers. During release, the supplier contract has the status Invalid, meaning that the supplier contract cannot be used in this step either.
For this functionality, you must set the virtual header attribute
autoRelease
to true for the relevant instance.
If this function is activated and there are no other errors, an additional information message is issued in the message log stating that the supplier contract was automatically released. If this was not possible, a warning is issued.
Tips for importing legacy data
If you want to use the import for legacy data transfer, the following is helpful:
Make sure that all master data has been transferred correctly. This will avoid unnecessary error processing for the contracts.
Overview: Attributes
The attributes of the individual business objects that are available for import are listed below. The corresponding relationship name is also included for foreign key attributes. The identification and mandatory fields are subject to change and can be extended by making adjustments.
For some business objects, an organization is required for the conversion of functional keys to technical keys. In the attribute lists, this is indicated by the following notes in the Attribute column.
- Purchasing organization (always according to the header)
- Firm (always according to the header)
The identification attributes (key attributes) are also marked with a (K).
Header data
Supplier contract (PurchaseContract)
Attribute | Relationship | Explanation |
autoRelease autoRelease |
Release automatically (virtual attribute); see the chapter Automatic release after import. | |
beginDate beginDate |
Valid from
Note Only for the Consignment contract category. |
|
classification1 classification1
(purchasing organization) |
Classification1 Classification1 |
Classification 1 |
classification2 classification2
(purchasing organization) |
Classification2 Classification2 |
Classification 2 |
classification3 classification3
(purchasing organization) |
Classification3 Classification3 |
Classification 3 |
classification4 classification4
(purchasing organization) |
Classification4 Classification4 |
Classification 4 |
classification5 classification5
(purchasing organization) |
Classification5 Classification5 |
Classification 5 |
confirmationRequired confirmationRequired
and confirmationRequiredUsed confirmationRequiredUsed |
Confirmation required | |
consignmentOrganizationAssignmentType consignmentOrganizationAssignmentType |
Consignment usage
Note Only for the Consignment contract category. |
|
consignmentWithdrawalNoticeType consignmentWithdrawalNoticeType |
ConsignmentWithdrawalNoticeType ConsignmentWithdrawalNoticeType |
Consignment withdrawal declaration type
Note Only for the Consignment contract category. |
consignmentWithdrawalSummaryLevel consignmentWithdrawalSummaryLevel |
Summarize individual withdrawals
Note Only for the Consignment contract category. |
|
date date |
Entry date | |
deliveryData deliveryData |
See the chapter Delivery data (deliveryData). | |
deliveryRecipientData.careOf deliveryRecipientData.careOf |
deliveryRecipientData.CareOfPartner deliveryRecipientData.CareOfPartner |
Delivery recipient: Care of |
deliveryRecipient<br>
Data.careOfName deliveryRecipient |
Delivery recipient: Care of – Name | |
deliverySupplierData deliverySupplierData |
See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData). | |
expiryDate expiryDate |
Valid to
Note Only for the Consignment contract category. |
|
guid guid (K) |
Technical identification for changing/deleting already saved data – if known. | |
invoiceRecipientData.careOf invoiceRecipientData.careOf |
invoiceRecipientData.CareOfPartner invoiceRecipientData.CareOfPartner |
Purchasing organization: Care of |
invoiceRecipientData.careOfName invoiceRecipientData.careOfName |
Purchasing organization: Care of – Name | |
invoiceRecipientData.partner invoiceRecipientData.partner |
invoiceRecipientData.Partner invoiceRecipientData.Partner |
Purchasing organization |
invoiceSupplierData invoiceSupplierData |
See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData). | |
invoicingData invoicingData |
See the chapter Invoicing data (invoicingData). | |
number number (K) |
Number (technical identification), optional for newly created data – otherwise determined automatically.
Mandatory if the guid was not specified when changing/deleting. |
|
orderDeliveryData orderDeliveryData |
See the chapter Order delivery data (orderDeliveryData). | |
OrganizationAssignments OrganizationAssignments |
See the chapter Call-off organizations (PurchaseContractOrganizationAssignment). | |
outputSettings outputSettings
|
Output settings
Note The sub-attributes can also be imported. |
|
responsible responsible |
ResponsiblePartner ResponsiblePartner |
Employee responsible |
status status |
General status (only Released, Blocked)
Note For existing contract line items, this attribute cannot be changed by the import. Data in the import file is ignored during import. |
|
supplierContractData.salesContract supplierContractData.salesContract |
External voucher number | |
supplierContractData.date.value supplierContractData.date.value |
External voucher date | |
supplierData supplierData |
See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData). | |
TextAssignments TextAssignments |
See the chapter Texts (TextAssignments). | |
type type (K) |
Type Type |
Type (technical identification)
Mandatory if the guid was not specified when changing/deleting. |
Call-off organizations (PurchaseContractOrganizationAssignment)
Attribute | Relationship | Explanation |
organizationalUnit organizationalUnit (K) |
OrganizationalUnit OrganizationalUnit |
Supplier contract call-off organization |
Supplier data (supplierData, deliverySupplierData, invoiceSupplierData)
The supplier data in the following usages is stored in the database as a hash code business object and is displayed as a part for export or import. The same applies to the address data.
The following part names have been assigned analogous to the technical attribute names:
- supplierData
supplierData
Supplier - deliverySupplierData
deliverySupplierData
Delivery partner - invoiceSupplierData
invoiceSupplierData
Invoicing party
The following attributes therefore exist once per use.
Attribute | Relationship | Explanation |
addressData.city addressData.city |
Address – City | |
addressData.country addressData.country |
addressData.Country addressData.Country |
Address – Country |
addressData.district addressData.district |
Address – District | |
addressData.poBox addressData.poBox |
Address – P.O. box | |
addressData.poBoxCity addressData.poBoxCity |
Address – P.O. box city | |
addressData.poBoxPostalCode addressData.poBoxPostalCode |
Address – PO Box postal code | |
addressData.postalCode addressData.postalCode |
Address – Postal code | |
addressData.region addressData.region |
addressData.Region addressData.Region |
Address – Region |
addressData.street addressData.street |
Address – Street | |
careOf careOf |
CareOfPartner CareOfPartner |
Care of |
careOfName careOfName |
Care of – Name | |
name name |
Supplier name | |
supplier supplier |
SupplierPartner SupplierPartner |
Supplier
Note For the partner role Supplier (supplierData), this attribute cannot be changed by the import for existing items. Data in the import file is ignored during import. |
Delivery data (deliveryData)
The delivery data is stored in the database as a hash code business object and is represented as a part for the export or import.
Attribute | Relationship | Explanation |
deliveryRestriction deliveryRestriction |
Delivery restriction | |
deliveryTerms deliveryTerms |
DeliveryTerms DeliveryTerms |
Delivery term |
deliveryTermsLocation deliveryTermsLocation |
Delivery term location reference | |
shippingTerms shippingTerms |
ShippingTerms ShippingTerms |
Shipping terms |
Invoicing data (invoicingData)
Some invoice data is stored in the database as a hash code business object and is represented as a part for export or import.
Attribute | Relationship | Explanation |
currency currency |
Currency Currency |
Currency
Note This attribute cannot be changed by the import for existing items. Data in the import file is ignored during import. |
paymentMethod paymentMethod (Firm) |
PaymentMethod PaymentMethod |
Payment method |
paymentTerms paymentTerms (Firm) |
PaymentTerms PaymentTerms |
Payment terms
Note This attribute cannot be changed by the import for existing items. Data in the import file is ignored during import. |
Order delivery data (orderDeliveryData)
The order delivery data is stored in the database as a hash code business object and is displayed as a part for the export or import.
Attribute | Relationship | Explanation |
carrier carrier |
Carrier Carrier |
Carrier |
storageArea.warehouse storageArea.warehouse |
Warehouse (code) |
Texts (TextAssignments)
Attribute | Relationship | Explanation |
code code |
Text module (optional) | |
document document |
Voucher | |
sequence sequence |
Number | |
text text |
Texts per language (only used if no text module has been specified)
See the chapter text |
|
type type |
Text category |
Attribute | Relationship | Explanation |
contentType contentType |
Content category | |
language language |
Language | |
text text |
Text |
The following example contains two basic texts. The header text references the text module “TXT1”, and the second text contains a free footer text for the languages de and en:
<?xml version="1.0" encoding="UTF-8"?> <semiramis xmlns="com.cisag.app.purchasing.obj.PurchaseContract" xsi:schemaLocation="com.cisag.app.purchasing.obj.PurchaseContract PurchaseContract.xsd" created="2005-12-28T07:36:29.729Z" locale="en-US-XMLSchemaCompliant" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <PurchaseContract xmlns="com.cisag.app.purchasing.obj.PurchaseContract"> <invoiceRecipientData> <Partner>00000</Partner> </invoiceRecipientData> <Type>100</Type> <supplierData> <SupplierPartner>10020</SupplierPartner> </supplierData> <TextAssignments> <code>TXT1</code> <sequence>10</sequence> <document index="0">PURCHASE_CONTRACT</document> <type>HEADER</type> </TextAssignments> <TextAssignments> <code></code> <sequence>20</sequence> <document index="0">PURCHASE_CONTRACT</document> <type>FOOTER</type> <text> <language>de</language> <text>Dies ist ein Beispieltext.</text> <contentType>text/plain</contentType> </text> <text> <language>en</language> <text>This is an example text.</text> <contentType>text/plain</contentType> </text> </TextAssignments> </PurchaseContract> </semiramis>
You can also use various formatting options for the texts. If you need examples of specific formatting, it is best to create a sample voucher with the desired text formatting and export it.
com.cisag.app.general.order.bi.applyAllwaysTextDefaults
has the value true, the default values are always determined and combined with any existing texts in the import file. Please note that the numbers of the text lines must be selected appropriately and that the result is only one text line with one item text.Line item data: Supplier contract line items (PurchaseContractDetail)
Attribute | Relationship | Explanation |
beginDate beginDate |
Valid from
Note Only for the Consignment contract category. |
|
deliveryRecipientData.careOf deliveryRecipientData.careOf |
deliveryRecipientData.CareOfPartner deliveryRecipientData.CareOfPartner |
Delivery recipient: Care of |
deliveryRecipientData.careOfName deliveryRecipientData.careOfName |
Delivery recipient: Care of – Name | |
ean ean |
European Article Number (EAN)
Further information can be found in the article Import voucher line item by means of an EAN. |
|
expiryDate expiryDate |
Valid to
Note For schedule contracts and the Consignment contract category. |
|
grossPrice grossPrice
|
Currency Currency |
Gross price
|
guid guid (K) |
Technical identification for the modification/deletion of already stored data – if known. | |
item item |
Item Item |
Item |
number number (K) |
Line item number (technical identification), optional for newly created data – otherwise determined automatically.
Mandatory if the guid was not specified when changing/deleting. |
|
overDeliveryLimit overDeliveryLimit |
Overdelivery Overdelivery |
|
priceDimension priceDimension |
Price dimension | |
priceUom priceUom |
PriceUom PriceUom |
Price unit |
reference reference |
Reference | |
selfBilling selfBilling |
Credit note method | |
status status |
General status (only Released, Blocked) | |
storageArea.warehouse storageArea.warehouse |
Warehouse (code) | |
supplierItemNumber supplierItemNumber |
Supplier item number
Further information can be found in the article Import voucher line item by means of an EAN. |
|
TextAssignments TextAssignments |
See the chapter Texts (TextAssignments). | |
totalQuantity totalQuantity
|
Uom Uom |
Total quantity (for quantity contracts)
|
underDeliveryLimit underDeliveryLimit |
Underdelivery | |
uomObligation uomObligation |
Binding unit | |
uomObligationOrigin uomObligationOrigin |
Origin of binding unit | |
values.grossValue values.grossValue |
Total value (for value contracts) |