Import supplier contracts

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
Supplier contract type Type
Contract partner supplierData.SupplierPartner
Required for the supplier contract category Consignment
Valid until expiryDate
Consignment withdrawal declaration type 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 OrganizationAssignmentskey:

Supplier contract call-off organization: OrganizationalUnit

Note
The purchasing organization is suggested when entering.

Required line item attributes

The minimum required attributes per line item object:

Attribute description Attribute
Item Item
Required for these supplier contract categories:

  • Fixed quantity
  • Quantity/date
Total quantity totalQuantity
Required for these supplier contract categories:

  • Fixed value
  • Value/date
Total value  values.grossValue.amount
Required for these supplier contract categories:

  • Fixed date
  • Quantity/date
  • Value/date
Valid until expiryDate
Required for this supplier contract category: Consignment
Valid from beginDate
Valid until expiryDate
Gross price 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 expiryDatevalue 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 autoReleaseto 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 Release automatically (virtual attribute); see the chapter Automatic release after import.
beginDate Valid from

Note
Only for the Consignment contract category.
classification1

(purchasing organization)

Classification1 Classification 1
classification2

(purchasing organization)

Classification2 Classification 2
classification3

(purchasing organization)

Classification3 Classification 3
classification4

(purchasing organization)

Classification4 Classification 4
classification5

(purchasing organization)

Classification5 Classification 5
confirmationRequired

and

confirmationRequiredUsed

Confirmation required
consignmentOrganizationAssignmentType Consignment usage

Note
Only for the Consignment contract category.
consignmentWithdrawalNoticeType ConsignmentWithdrawalNoticeType Consignment withdrawal declaration type

Note
Only for the Consignment contract category.
consignmentWithdrawalSummaryLevel Summarize individual withdrawals

Note
Only for the Consignment contract category.
date Entry date
deliveryData See the chapter Delivery data (deliveryData).
deliveryRecipientData.careOf deliveryRecipientData.CareOfPartner Delivery recipient: Care of
deliveryRecipient
Data.careOfName
Delivery recipient: Care of – Name
deliverySupplierData See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData).
expiryDate Valid to

Note
Only for the Consignment contract category.
guid(K) Technical identification for changing/deleting already saved data – if known.
invoiceRecipientData.careOf invoiceRecipientData.CareOfPartner Purchasing organization: Care of
invoiceRecipientData.careOfName Purchasing organization: Care of – Name
invoiceRecipientData.partner invoiceRecipientData.Partner Purchasing organization
invoiceSupplierData See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData).
invoicingData See the chapter Invoicing data (invoicingData).
number(K) Number (technical identification), optional for newly created data – otherwise determined automatically.

Mandatory if the guid was not specified when changing/deleting.

orderDeliveryData See the chapter Order delivery data (orderDeliveryData).
OrganizationAssignments See the chapter Call-off organizations (PurchaseContractOrganizationAssignment).
outputSettings

  • outputSettings.contract
  • outputSettings.consignmentWithdrawalNotice
Output settings

  • Contract confirmation
  • Consignment withdrawal declaration

Note
The sub-attributes can also be imported.
responsible ResponsiblePartner Employee responsible
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 External voucher number
supplierContractData.date.value External voucher date
supplierData See the chapter Supplier data (supplierData, deliverySupplierData, invoiceSupplierData).
TextAssignments See the chapter Texts (TextAssignments).
type(K) Type Type (technical identification)

Mandatory if the guid was not specified when changing/deleting.

Call-off organizations (PurchaseContractOrganizationAssignment)

Attribute Relationship Explanation
organizationalUnit(K) 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 Supplier
  • deliverySupplierData Delivery partner
  • invoiceSupplierData Invoicing party

The following attributes therefore exist once per use.

Attribute Relationship Explanation
addressData.city Address – City
addressData.country addressData.Country Address – Country
addressData.district Address – District
addressData.poBox Address – P.O. box
addressData.poBoxCity Address – P.O. box city
addressData.poBoxPostalCode Address – PO Box postal code
addressData.postalCode Address – Postal code
addressData.region addressData.Region Address – Region
addressData.street Address – Street
careOf CareOfPartner Care of
careOfName Care of – Name
name Supplier name
supplier 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 Delivery restriction
deliveryTerms DeliveryTerms Delivery term
deliveryTermsLocation Delivery term location reference
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

Note
This attribute cannot be changed by the import for existing items. Data in the import file is ignored during import.
paymentMethod (Firm) PaymentMethod Payment method
paymentTerms (Firm) 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
storageArea.warehouse Warehouse (code)

Texts (TextAssignments)

Attribute Relationship Explanation
code Text module (optional)
document Voucher
sequence Number
text Texts per language (only used if no text module has been specified)

See the chapter text

type Text category

text

Attribute Relationship Explanation
contentType Content category
language Language
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.

Note
Texts are normally imported from the import file and any default values from the partner master data etc. are ignored. If the server property com.cisag.app.general.order.bi.applyAllwaysTextDefaultshas 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 Valid from

Note
Only for the Consignment contract category.
deliveryRecipientData.careOf deliveryRecipientData.CareOfPartner Delivery recipient: Care of
deliveryRecipientData.careOfName Delivery recipient: Care of – Name
ean European Article Number (EAN)

Further information can be found in the article Import voucher line item by means of an EAN.

expiryDate Valid to

Note
For schedule contracts and the Consignment contract category.
grossPrice

  • grossPrice.amount
  • grossPrice.currency
Currency Gross price

  • Price
  • Currency
guid(K) Technical identification for the modification/deletion of already stored data – if known.
item Item Item
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 Overdelivery
priceDimension Price dimension
priceUom PriceUom Price unit
reference Reference
selfBilling Credit note method
status General status (only Released, Blocked)
storageArea.warehouse Warehouse (code)
supplierItemNumber Supplier item number

Further information can be found in the article Import voucher line item by means of an EAN.

TextAssignments See the chapter Texts (TextAssignments).
totalQuantity

  • totalQuantity.amount
  • totalQuantity.uom
Uom Total quantity (for quantity contracts)

  • Quantity
  • Unit of measure
underDeliveryLimit Underdelivery
uomObligation Binding unit
uomObligationOrigin Origin of binding unit
values.grossValue Total value (for value contracts)

Czy ten artykuł był pomocny?