import { Entity, DefaultDeSerializers, DeSerializers, DeserializedType } from '@sap-cloud-sdk/odata-v2'; import { PurchaseOrder, PurchaseOrderType } from './PurchaseOrder'; import { PurOrdAccountAssignment, PurOrdAccountAssignmentType } from './PurOrdAccountAssignment'; import { PurchaseOrderItemNote, PurchaseOrderItemNoteType } from './PurchaseOrderItemNote'; import { PurOrdPricingElement, PurOrdPricingElementType } from './PurOrdPricingElement'; import { PurchaseOrderScheduleLine, PurchaseOrderScheduleLineType } from './PurchaseOrderScheduleLine'; /** * This class represents the entity "A_PurchaseOrderItem" of service "API_PURCHASEORDER_PROCESS_SRV". */ export declare class PurchaseOrderItem extends Entity implements PurchaseOrderItemType { /** * Technical entity name for PurchaseOrderItem. */ static _entityName: string; /** * Default url path for the according service. */ static _defaultServicePath: string; /** * All key fields of the PurchaseOrderItem entity */ static _keys: string[]; /** * Purchase Order Number. * Maximum length: 10. */ purchaseOrder: DeserializedType; /** * Item Number of Purchase Order. * Maximum length: 5. */ purchaseOrderItem: DeserializedType; /** * Deletion Indicator in Purchasing Document. * Determines whether the item in the purchasing document is deleted or blocked. * You can set the deletion indicator by choosing Edit -> Delete if:You want to cancel an itemAn item is closed and can be archivedYou can set the blocking indicator by selecting the item and then choosing Edit -> Block if you do not want to allow subsequent functions for the item. Note that you must manually remove the indicator as soon as subsequent functions are allowed again.You have entered a purchase order item by mistake. You cancel it by setting the deletion indicator.A purchase order item has been delivered, invoiced, and paid for, and can now be archived. You can set the deletion indicator. * Maximum length: 1. * @nullable */ purchasingDocumentDeletionCode?: DeserializedType | null; /** * Short Text. * Short description of the material. * Maximum length: 40. * @nullable */ purchaseOrderItemText?: DeserializedType | null; /** * Plant. * Specifies the key for a production facility or branch office within the company (that is, the company code). * You use the plant key to determine, for instance, which plant is to receive ordered goods. * Maximum length: 4. * @nullable */ plant?: DeserializedType | null; /** * Storage Location. * Maximum length: 4. * @nullable */ storageLocation?: DeserializedType | null; /** * Material Group. * Key that you use to group together several materials or services with the same attributes, and to assign them to a particular material group. * You can use material groups to:Restrict the scope of analysesSearch specifically for material master records via search helps. * Maximum length: 9. * @nullable */ materialGroup?: DeserializedType | null; /** * Number of Purchasing Info Record. * Specifies the number that uniquely identifies a purchasing info record. * Maximum length: 10. * @nullable */ purchasingInfoRecord?: DeserializedType | null; /** * Material Number Used by Supplier. * Material number used by the supplier. * In most cases, the supplier uses a different number for the material than the one used in this system. The supplier's material number can therefore also be quoted in a purchase order for identification purposes. * Maximum length: 35. * @nullable */ supplierMaterialNumber?: DeserializedType | null; /** * Purchase Order Quantity. * Quantity ordered by the buyer, to be supplied by the supplier. * The purchase order quantity relates to the order unit. It is referred to by Goods Receiving and Invoice Verification for checking purposes. * @nullable */ orderQuantity?: DeserializedType | null; /** * Purchase Order Unit of Measure. * Specifies the unit of measure in which the material is ordered. * Maximum length: 3. * @nullable */ purchaseOrderQuantityUnit?: DeserializedType | null; /** * Order Price Unit (Purchasing). * Indicates the unit of measurement to which the purchase order price relates. * Invoices are created using price units and purchase order price units which constitute the basis for value postings.They can be stored in the purchasing info record.A material or commodity (for example, oil) can be ordered by the liter, but the supplier's invoice shows a price of 2 dollars per kilogram.You enter 10 l as the order quantity and order unit, but specify 2 dollars per kg as purchase order price and purchase order price unit.In addition, you enter the conversion factor "order unit -> purchase order price unit" (for example 2 l per 1 kg) in the "details" data of the purchase order item. * Maximum length: 3. * @nullable */ orderPriceUnit?: DeserializedType | null; /** * Numerator for Conversion of Order Price Unit into Order Unit. * Numerator of the quotient representing the ratio order unit : purchase order price unit. * Enter the quantity in the PO price unit that applies for the quantity in the order unit.You want to order 200 l of a liquid. However, the supplier sells the liquid by the kilogram. 1 kg of this liquid corresponds to 4 l.As conversion factor, enter:Order quantity/order unit Order price qty./order price unit4 l --> 1 kg. * @nullable */ orderPriceUnitToOrderUnitNmrtr?: DeserializedType | null; /** * Denominator for Conv. of Order Price Unit into Order Unit. * Denominator of the quotient representing the ratio * order unit: purchase order price unit.Enter the quantity in the order unit that applies for the quantity in the purchase order price unit.You want to order 200 l of a liquid. However, the supplier sells the liquid by the kilogram. 1 kg of this liquid corresponds to 4 l.As conversion factor, enter:Order quantity/order unit Order price qty./order price unit4 l --> 1 kg. * @nullable */ ordPriceUnitToOrderUnitDnmntr?: DeserializedType | null; /** * Currency Key. * Currency key for amounts in the system. * Maximum length: 5. * @nullable */ documentCurrency?: DeserializedType | null; /** * Net Price in Purchasing Document (in Document Currency). * Net price per price unit. * @nullable */ netPriceAmount?: DeserializedType | null; /** * Price Unit. * @nullable */ netPriceQuantity?: DeserializedType | null; /** * Tax on Sales/Purchases Code. * The tax on sales and purchases code represents a tax category that has to be considered for tax reporting to the tax authorities. * Tax codes are unique per country. The tax rate calculation rules and further features are stored in a table for each tax code.For tax-exempt or non-taxable transactions, you should use tax codes with a 0 percentage rate if the corresponding transactions are to be displayed in the tax returns.If the tax rates are changed by law, you have to define new tax codes. The old codes with the old tax rates must remain in the system until no more open items which use this tax code exist.For countries/regions for which time-dependent tax calculation is activated, the process for specifying your tax codes may differ. For more information, log onto SAP Help Portal and search for “time-dependent taxes”. * Maximum length: 2. * @nullable */ taxCode?: DeserializedType | null; /** * Shipping Instructions. * Specifies the packaging and shipping instructions issued to the supplier. * Enter the key for the relevant shipping instructions. * Maximum length: 2. * @nullable */ shippingInstruction?: DeserializedType | null; /** * Date for Determining Tax Rates. * This field is significant when determining tax rates. * The system determines the date for calculating time-dependent tax (depending on the Customizing settings in the company code) either from the posting date or from the document date.If you want to use a date which is neither the posting date nor the document date for calculating tax on sales/purchases, you can enter the alternative date here.Enter the alternative date. * @nullable */ taxDeterminationDate?: DeserializedType | null; /** * Tax Reporting Country/Region. * Country/region where taxes are calculated and reported. * When the Registration for Indirect Taxation Abroad (RITA) is enabled, you can designate a tax country/region for the calculation and reporting of taxes. RITA allows you to do this without having a separate company code in those countries. When RITA is enabled, tax is calculated based on the tax country/region rather than the company code country/region.Please note that the tax country/region must be supplied in transactions subject to tax calculation. * Maximum length: 3. * @nullable */ taxCountry?: DeserializedType | null; /** * Price Printout. * Determines whether or not the price is to be included in the purchase order printout. * @nullable */ priceIsToBePrinted?: DeserializedType | null; /** * Overdelivery Tolerance. * Percentage (based on the order quantity) up to which an overdelivery of this item will be accepted. * If you have set the indicator in the Partial delivery/Item field to 'D' (partial delivery allowed), this takes priority. It makes no sense to define a tolerance limit for overdelivery in such case. * @nullable */ overdelivTolrtdLmtRatioInPct?: DeserializedType | null; /** * Unlimited Overdelivery Allowed. * Indicator that specifies whether unlimited overdelivery can be accepted for the item. * @nullable */ unlimitedOverdeliveryIsAllowed?: DeserializedType | null; /** * Underdelivery Tolerance. * Percentage (based on the order quantity) up to which an underdelivery of this item will be accepted. * @nullable */ underdelivTolrtdLmtRatioInPct?: DeserializedType | null; /** * Valuation Type. * Uniquely identifies separately valuated stocks of a material. * The valuation types allowed for a material are determined by the valuation category.If a material is valuated according to its origin (valuation category H), you can define the possible countries of origin as valuation types. * Maximum length: 10. * @nullable */ valuationType?: DeserializedType | null; /** * "Delivery Completed" Indicator. * Indicates that the item is to be regarded as closed. * @nullable */ isCompletelyDelivered?: DeserializedType | null; /** * Final Invoice Indicator. * Indicates that the last invoice from a supplier has been received for an item and/or that no further invoice is expected. * The final invoice indicator serves as information for the applicationsCash Management and ForecastCash Budget ManagementFunds ManagementIf you set the final invoice indicator, purchase order commitments are reset.However, the final invoice indicator does not prevent further invoices from being posted. Furthermore, it does not replace GR/IR account maintenance in the event of a variance between GR quantity and invoice quantity.Purchase order: 100 pieces of material A at $10/piece-> The PO commitment is automatically set to $1000.Goods receipt: 80 piecesInvoice for 60 pieces = $600-> The purchase order commitment is automatically set to $400.Invoice for 15 pieces = $150 - final invoice indicator set.-> The purchase order commitment is automatically set to zero.Since the final invoice indicator does not have any effect on the GR/IR clearing account, you must clear the difference of 5 pieces ($50) on the GR/IR clearing account if no further invoices are posted. * @nullable */ isFinallyInvoiced?: DeserializedType | null; /** * Item category in purchasing document. * Indicator which shows the item features. * The item category controls whether the following entries and procedures are necessary or permitted for the item:material numberadditional account assignmentinventory management in the SAP Systemgoods receiptinvoice receiptIn the standard system an item in the "normal" category requires goods and invoice receipts. On the other hand for items in the "consignment" category, (that is order item for consignment material) invoice receipts are not allowed. * Maximum length: 1. * @nullable */ purchaseOrderItemCategory?: DeserializedType | null; /** * Account Assignment Category. * Specifies whether accounting for an item is to be effected via an auxiliary account (such as a cost center). * The account assignment category determines which account assignment data (such as cost center, account number and so on) is necessary for the item. * Maximum length: 1. * @nullable */ accountAssignmentCategory?: DeserializedType | null; /** * Distribution Indicator for Multiple Account Assignment. * Defines how the quantity and value of the purchase order item are distributed to individual account assignment items. * You can distribute the purchase order quantity or the net value of a document item, or specify a percentage for each account assignment. The system calculates complementary values. For example, if you choose quantity-based distribution and enter a number of pieces for each account assignment, the system calculates the percentage and net value.If you choose quantity-based or percentage distribution, the quantities that are distributed to an account assignment are rounded to three decimal places, to ensure that the 100% of the item quantity is always distributed.If you choose percentage distribution and change the requested quantity on the item overview screen, the system adjusts the quantities in the associated account assignment items.If you choose amount-based distribution, the system distributes the item quantity to the individual account assignments exactly according to the defined distribution, including very small value amounts. The quantities of individual account assignment items are displayed as rounded, but the system uses the exact quantities. * Maximum length: 1. * @nullable */ multipleAcctAssgmtDistribution?: DeserializedType | null; /** * Partial Invoice Indicator. * Determines how invoice amounts in partial invoices are to be distributed among the individual account assignments in the case of an item subject to multiple account assignment. * In the case of multiple account assignment, you can distribute the total amount of partial invoices among the individual accounts in two ways:On a progressive fill-up basisOn a proportional basisIf you enter a partial invoice at invoice receipt, the system calculates the distribution of the costs in Invoice Verification according to the partial invoice indicator entered and suggests the relevant values for the individual accounts. You can overwrite these values if you want to use a different distribution to that planned in the purchase order.NoteIf you work with Logistics Invoice Verification, you can only choose proportional distribution.100 pieces of a material have been ordered for various cost centers as follows: 50 pieces for for cost center A; 40 pieces for cost center B; 10 pieces for cost center C.A partial invoice is entered for this purchase order. The invoice amount is $700, covering 70 pieces. The invoice amount is distributed as follows:Ordered Cost center Proportional Progressive fill-up50 pcs A $350 $50040 pcs B $280 $20010 pcs C $70 $00------------------------------------------------------Total: 100 pcs Total: $700 Total: $700. * Maximum length: 1. * @nullable */ partialInvoiceDistribution?: DeserializedType | null; /** * Goods Receipt Indicator. * Specifies whether the item involves a goods receipt. * DependenciesIn the processing of production and process orders, the indicator specifies whether a goods receipt is allowed and expected for the order item.If the indicator is set, the order item is relevant to inventory management. The indicator is set during the creation of the order if the order is settled in respect of a material or a sales order item. * @nullable */ goodsReceiptIsExpected?: DeserializedType | null; /** * Goods Receipt, Non-Valuated. * Specifies that the goods receipt for this item is not to be valuated. * Set the indicator if goods receipts involving this material are not to be valuated. The valuation of the purchase order item will then take place at the time of invoice verification.NoteIf the indicator has been set for an item with the material type non- valuated, the quantity recorded in Inventory Management can differ from the value in Financial Accounting during the period between goods receipt and invoice receipt, since the value is not updated until the invoice is posted in Financial Accounting. * @nullable */ goodsReceiptIsNonValuated?: DeserializedType | null; /** * Invoice Receipt Indicator. * Specifies whether an invoice receipt is linked to the purchase order item. * If the indicator is not set, the goods are to be delivered free of charge. * @nullable */ invoiceIsExpected?: DeserializedType | null; /** * Indicator: GR-Based Invoice Verification. * Indicator specifying that provision has been made for goods-receipt-based invoice verification for a purchase order item or invoice item. * @nullable */ invoiceIsGoodsReceiptBased?: DeserializedType | null; /** * Number of Principal Purchase Agreement. * Specifies the number of the outline agreement that this purchase order or purchase requisition refers to. * Maximum length: 10. * @nullable */ purchaseContract?: DeserializedType | null; /** * Item number of principal purchase agreement. * Specifies the number of the outline agreement item that this purchase order or purchase requisitions refers to. * Maximum length: 5. * @nullable */ purchaseContractItem?: DeserializedType | null; /** * Customer. * Number of the customer to whom a material is to be delivered (or for whom a service is to be rendered). * This entry is used in third-party order processing (triangular business arrangements).When you enter a customer number, the delivery address is taken from the customer (debtor) master record.If you do not enter a customer number, you must enter a delivery address. * Maximum length: 10. * @nullable */ customer?: DeserializedType | null; /** * Supplier to be Supplied/Who is to Receive Delivery. * Maximum length: 10. * @nullable */ subcontractor?: DeserializedType | null; /** * Subcontracting Supplier. * Indicator that identifies the supplier as a subcontractor. * If the indicator has been set, the goods receipt is posted direct to the "stock with subcontractor" of this supplier. * @nullable */ supplierIsSubcontractor?: DeserializedType | null; /** * Net Weight. * Net weight of item per unit of weight. * The weight is expressed in terms of the unit of measure you specify in the field "unit of weight". * @nullable */ itemNetWeight?: DeserializedType | null; /** * Unit of Weight. * Unit in which the gross or net weight of this item is expressed. * If you specify a gross or net weight, you must enter the relevant unit of weight here. * Maximum length: 3. * @nullable */ itemWeightUnit?: DeserializedType | null; /** * Tax Jurisdiction. * The tax jurisdiction is used for determining the tax rates in the USA. It defines to which tax authorities you must pay your taxes. It is always the city to which the goods are supplied. * Maximum length: 15. * @nullable */ taxJurisdiction?: DeserializedType | null; /** * Price Determination (Pricing) Date Control. * Determines which date is to be used for price determination (pricing) purposes. * Enter the key for the desired date.Available keys are maintained in the info record of an item (in the pricing date category field). Keys available are:1 Purchase Order Date (the price determination date = date of purchase order creation)2 Delivery Date (the price determination date = delivery date)3 Current Date (the price determination date = the date of entry in the system)4 Manual (the price determination date = manually entered date)5 GR/Post. Date (the price determination date is the posting date of the goods receipt)6 GR/Doc. Date (the price determination date is the document date. When booking the goods receipt the price determination date can be influenced/controlled with the price determination date control type 6.)If you choose the date of goods receipt, for example, a new price will be determined upon the arrival of the goods, causing the item to be revaluated at this time.NoteIf you have chosen the delivery date as the date for price determination and an item contains several delivery dates (for example, because ofa delivery schedule valid for this item), the first delivery date(the delivery date specified in the first schedule line) is taken. * Maximum length: 1. * @nullable */ pricingDateControl?: DeserializedType | null; /** * Volume. * Space that the material occupies per unit of volume. The volume refers to the unit specified in the "Volume unit" field. * The volume and its unit always refer to the base unit of measure. * @nullable */ itemVolume?: DeserializedType | null; /** * Volume Unit. * Unit referring to the volume of the material. * If you specify a volume, you have to enter the corresponding volume unit here. * Maximum length: 3. * @nullable */ itemVolumeUnit?: DeserializedType | null; /** * Confirmation Control Key. * Determines which confirmation categories are expected for a PO item (e.g. order acknowledgment, shipping notification). * Maximum length: 4. * @nullable */ supplierConfirmationControlKey?: DeserializedType | null; /** * Incoterms (Part 1). * Commonly used trading terms that comply with the standards established by the International Chamber of Commerce (ICC). * Incoterms specify internationally recognized procedures that the shipper and the receiving party must follow for the shipping transaction to be completed successfully.If goods are shipped through a port of departure, the appropriate Incoterm might be: FOB ("Free On Board"). You can provide further details (for example, the name of the port) in the secondary Incoterm field: FOB Boston, for example. * Maximum length: 3. * @nullable */ incotermsClassification?: DeserializedType | null; /** * Incoterms (Part 2). * Additional information for the primary Incoterm. * If the primary Incoterm is, for example, FOB ("Free on Board"), then the second field provides details of the port from which the delivery leaves (for example, "FOB Boston"). * Maximum length: 28. * @nullable */ incotermsTransferLocation?: DeserializedType | null; /** * Evaluated Receipt Settlement (ERS). * Indicates whether an invoice is generated automatically when a valuated goods receipt for ordered materials or services has been posted. * You set this indicator if you do not expect the supplier to send you an invoice. Instead, the invoice is to be generated by the system based on the data available in the purchase order and the goods receipt document.You can use the indicator Evaluated Receipt Settlement (ERS) for the procurement of materials and services.(In the case of services performed, you create a service entry sheet. Once it has been approved, the system creates a goods receipt in the background.)If you want to use the Evaluated Receipt Settlement (ERS) functionality, you have to set the ERS indicator both in the supplier master data and in the purchase order item. Please note: You have the option to select or deselect the indicator in the purchase order only if it is set in the supplier master data.Where to set the indicator:Supplier master data:Use the Maintain Business Partner app andgo to your supplier´s purchasing data that is specific for the respective purchasing organization.Purchase order item:In the purchase order item, you can use the indicator in all available item categories, except in limit items for materials (product type group 1 - as no goods receipt is expected for these items).Use the Manage Purchase Orders app or the Create Purchase Order - Advanced app andalso set the indicators Goods Receipt and Goods-Receipt-Based Invoice Verification on item level. * @nullable */ evaldRcptSettlmtIsAllowed?: DeserializedType | null; /** * Purchase Requisition Number. * Alphanumeric key uniquely identifying the document. * Maximum length: 10. * @nullable */ purchaseRequisition?: DeserializedType | null; /** * Item Number of Purchase Requisition. * Specifies the number that uniquely identifies an item in . * Maximum length: 5. * @nullable */ purchaseRequisitionItem?: DeserializedType | null; /** * Returns Item. * Specifies whether or not the item is a returns item. * You cannot set the returns indicator for items, for which goods receipts and invoice receipts do not refer to the quantity.This is the case for the following items:Service items (item type D)Limit items (item type B)Items with invoicing plan. * @nullable */ isReturnsItem?: DeserializedType | null; /** * Name of Requisitioner/Requester. * Indicates for whom the material or external service shown in the purchase requisition is to be ordered. * Maximum length: 12. * @nullable */ requisitionerName?: DeserializedType | null; /** * Package number. * Specifies an internal package number grouping together all services belonging to an item of a purchasing document. * Via the package number, the program accesses the data in the individual service lines of a set of service specifications.ExampleA purchase requisition contains an item with the short text Pipelaying. This item comprises 250 individual service lines (the service specifications) detailing the services to be performed (work to be done) under this heading. Internally, the system groups together these 250 service lines under a package number. * Maximum length: 10. * @nullable */ servicePackage?: DeserializedType | null; /** * Document Number for Earmarked Funds. * Number uniquely identifying a document. * Maximum length: 10. * @nullable */ earmarkedFunds?: DeserializedType | null; /** * Document Number for Earmarked Funds. * Number uniquely identifying a document. * Maximum length: 10. * @nullable */ earmarkedFundsDocument?: DeserializedType | null; /** * Earmarked Funds: Document Item. * Maximum length: 3. * @nullable */ earmarkedFundsItem?: DeserializedType | null; /** * Earmarked Funds: Document Item. * Maximum length: 3. * @nullable */ earmarkedFundsDocumentItem?: DeserializedType | null; /** * Incoterms Location 1. * Provides additional information for the primary Incoterm. For Incoterms 2010, this field represents: * 1. For sea and inland waterway transport - Port of Shipment or Port of Destination2. For any mode of transport - Place of Delivery 2010 or Place of DestinationFor non-C clauses, both costs and risk are transferred from the seller to the buyer at location 1.For C clauses, the costs are transferred at location 1 and the risk is transferred at location 2.Incoterms are divided as follows:Group 1: Rules for any mode or modes of transport (including by vessel)Incoterm Incoterm Description Location 1 EXW Ex Works Place of DeliveryFCA Free Carrier Place of DeliveryCPT Carriage Paid To Place of DestinationCIP Carriage & Insurance Paid To Place of DestinationDAF Delivered at Frontier Place of DeliveryDDP Delivered Duty Paid Place of DestinationDDU Delivered Duty Unpaid Place of DestinationGroup 2: Rules for sea and inland waterwaysIncoterm Incoterm Description Location 1 FAS Free Alongside Ship Port of ShipmentFOB Free On Board Port of ShipmentCFR Cost & Freight Port of DestinationCIF Cost Insurance & Freight Port of DestinationDEQ Delivered Eq Quay (Duty Paid) Port of DestinationDES Delivered Ex Ship Port of DestinationIf the primary incoterm is specified as FOB “Free on Board”, the second field provides details of the port from which the delivery leaves, such as FOB Boston. * Maximum length: 70. * @nullable */ incotermsLocation1?: DeserializedType | null; /** * Incoterms Location 2. * Provides additional information for the Incoterms. This field is only available for C-Clauses (if customized appropriately). Note the following for the incoterms versions below: * No Version:This field is disabledIncoterm Version 2000This field is disabled as part of standard delivery unless a customer decides to enable it by the way of Customizing for Sales and Distribution under Master Data -> Business Partners -> Customers -> Billing Document -> Incoterms -> Map Incoterms to Versions.Incoterm Version 2010For this version, the field represents:Sea and inland waterway transport - Port of ShipmentAny mode of transport - Place of Delivery2010 Incoterms are divided as follows:Group 1: Rules for any mode or modes of transport (including by vessel)Incoterm Incoterm Description Location 2CPT Carriage Paid To Place of DeliveryCIP Carriage & Insurance Paid To Place of DeliveryGroup 2: Rules for sea and inland waterwaysIncoterm Incoterm Description Location 2CFR Cost & Freight Port of ShipmentCIF Cost Insurance & Freight Port of Shipment. * Maximum length: 70. * @nullable */ incotermsLocation2?: DeserializedType | null; /** * Material Number. * Alphanumeric key uniquely identifying the material. * Maximum length: 40. * @nullable */ material?: DeserializedType | null; /** * International Article Number (EAN/UPC). * Glossary definition. * Maximum length: 18. * @nullable */ internationalArticleNumber?: DeserializedType | null; /** * Material Number. * Uniquely identifies a material. * This field is also used for MPN materials. * Maximum length: 40. * @nullable */ manufacturerMaterial?: DeserializedType | null; /** * Service Performer. * A service performer is a contingent worker with additional supplier * relation (staffed from external supplier). * Maximum length: 10. * @nullable */ servicePerformer?: DeserializedType | null; /** * Product Type Group. * Indicates the type of products that can be procured, for example, materials and services. * In the product type group you choose to either procure a Material (by entering blank or 1) or a Service (by entering 2).The procurement process is different for materials and services. For example, you can only maintain the field Service Performer when you purchase a service.You also use the product type group Service to control that a service entry sheet can be created as a follow-on document of a purchase order.The selection field Product Type Group is available for the following item categories:StandardThird-partyLimitIn the product master data, the assigned material type defines the product type group, that is, whether the product is a material or a service. This means that whenever you select, for example, Service as the product type group in your purchasing document item, you can only enter the number of a product with the same product type group in the Material field of the item.And the other way round: if you enter a product number in the Material field, for example, in a purchase order item, the product type group is derived automatically from the material type assigned to the product master. In this case, you cannot manually maintain the product type group in the purchase order item.If you don´t enter a product number, but create a free-text item or a limit item, you have to maintain the product type group manually. * Maximum length: 2. * @nullable */ productType?: DeserializedType | null; /** * Expected Value of Overall Limit. * Value that the unplanned services (or the material) covered by this item are not expected to exceed. * The expected value is included in the net price of the item. If the document contains services in addition to the limit, the expected value is totalled up with the overall value of the services to arrive at the net price. If the document contains only a limit, the expected value is the net price. In this case, specification of an expected value is mandatory. This guarantees that the net price of an item, especially a purchase order item, cannot amount to "0".The expected value need not be equal to the value of the overall limit. In follow-on processes and documents, the expected value can be exceeded. In the process of cost control, though, you can use it for comparison with the overall limit.CO Controlling adopts the expected value in the commitment for the document.If you use the release (approval) procedure for purchasing documents, the expected value serves as the basis for the application of a release strategy.The expected value is included in the release order statistics for contracts. * @nullable */ expectedOverallLimitAmount?: DeserializedType | null; /** * Overall Limit. * Maximum value that the total of all unplanned services (or the value of the material) covered by this document item may not exceed. * Limits can be used in service lines and the items of blanket purchase orders.When services actually performed are entered in service entry sheets (or at the time of goods receipt in the case of materials), the system checks the entered values with regard to adherence to this maximum value. If the overall limit is exceeded, it issues an appropriate message.If you have also fixed sub-limits within the overall limit for an item, each time services are entered or goods receipts are recorded the system checks whether the individual sub-limits and the overall limit have/has been adhered to. * @nullable */ overallLimitAmount?: DeserializedType | null; /** * Purchase Contract for Enhanced Limit. * Displays the purchase contract for the enhanced limit. * The Purchase Contract for Limit for lean services enables the following process:You want to engage a service provider, for example, to repair a machine, but you do not yet know which services are required in detail.In a purchase contract, you define a set of potential services that may be required for the maintenance and repair of this machine.In the purchase order item, you create a limit item (Enhanced Limit) for services (product type group "2"). You define a limit (Overall Limit and Expected Value) and you enter the ID of the purchase contract in the field Purchase Contract for Limit.In the service entry sheet that refers to this limit item, the services performed have to be selected from the assigned contract. In this way, the purchaser benefits from the prices negotiated in the purchase contract. * Maximum length: 10. * @nullable */ purContractForOverallLimit?: DeserializedType | null; /** * Higher-Level Item in Purchasing Documents. * Item number of higher-level item to which this item belongs (in a hierarchical arrangement). * Items can be arranged hierarchically. If a sub-item is assigned to an item, the former becomes a higher-level item.Enter the number of a higher-level item. * Maximum length: 5. * @nullable */ purchasingParentItem?: DeserializedType | null; /** * Hierarchy Number. * A numeral that determines the position of an item (set) in a hierarchy of a procurement document. * The Hierarchy Number is an additional number in the context of hierarchies reflecting the structure of the hierarchy.In purchase orders the hierarchies are displayed like this:11.11.222.12.1.22.2Etc. * Maximum length: 40. * @nullable */ purgConfigurableItemNumber?: DeserializedType | null; /** * Subitems Exist. * Maximum length: 1. * @nullable */ purgDocAggrgdSubitemCategory?: DeserializedType | null; /** * Subitem Category, Purchasing Document. * Indicates the nature of the sub-item (for example, discount in kind). * The sub-item category controls the follow-on functions (itdetermines whether a goods receipt is possible for instance). The category may also merely have informative character. * Maximum length: 1. * @nullable */ purgDocSubitemCategory?: DeserializedType | null; /** * External Sort Number. * The external sort number is used to overrule the sorting on hierarchy * level of an item hierarchy.In case the sorting on item hierarchy level does not meet therequirements it can be overruled by an explicit sorting.On hierarchy level positions are sorted by the item number.Item Number203040Item 40 should be in second place of the list.This can be achieved by the external sort number.Item Number External Sort Number20 140 230 3The external sort number is managed automatically and normally notdisplayed on the user interface. * Maximum length: 5. * @nullable */ purgExternalSortNumber?: DeserializedType | null; /** * Number of delivery address. * Number of delivery address * The address number can be:the address number of a storage location(this is the default when storage location is filled on item level)a delivery address from master data. Customers can create dedicteddelivery addresses which then can be chosen by using F4 help next to theAddress field in item details in a purchase order.an address, coming from a preceding document and explicitly passed on tothe purchase order. For example, in a third-party purchase order thethe delivery address is passed on to the item details of the purchaseorder from the initiating sales order. * Maximum length: 10. * @nullable */ referenceDeliveryAddressId?: DeserializedType | null; /** * Manual address number in purchasing document item. * Maximum length: 10. * @nullable */ deliveryAddressId?: DeserializedType | null; /** * Name 1. * Address component: Name of an address. * Maximum length: 40. * @nullable */ deliveryAddressName?: DeserializedType | null; /** * Name 2. * Maximum length: 40. * @nullable */ deliveryAddressName2?: DeserializedType | null; /** * Full name of a party (Bus. Partner, Org. Unit, Doc. address). * This field contains the full name or formatted name of a party. * For organizations or document addresses, typically the fields Name1 and Name2 are concatenated.For persons the field contains the formatted name according to country specific rules. It corresponds e.g. to the content of the fields BUT000-NAME1_TEXT or ADRP-NAME_TEXT. * Maximum length: 80. * @nullable */ deliveryAddressFullName?: DeserializedType | null; /** * Street. * Street name as part of the address. * The street name is saved, redundantly in upper case in another database field, for search help purposes.There are other fields for address parts which can be printed above or below the street. See Print the Street address.The house number and other supplements are usually maintained in their own fields. See Formatting the Street line. * Maximum length: 60. * @nullable */ deliveryAddressStreetName?: DeserializedType | null; /** * House Number. * House number as part of an address. * It is printed in the Street line.Other supplementary street information can be entered in the House number supplement or one of the Street2, Street3, Street4 or Street5 fields. See Print the Street address.A house number (e.g. 117) or a house number with supplement (e.g. 117a), or a house number range (e.g. 16-20), can be maintained in this field. * Maximum length: 10. * @nullable */ deliveryAddressHouseNumber?: DeserializedType | null; /** * City. * City name as part of the address. * The city name is saved redundantly in another database field in upper- case letters, for search help.If the Postal regional structure ('city file') is active, the city name is checked against the Cities defined in the regional structure. * Maximum length: 40. * @nullable */ deliveryAddressCityName?: DeserializedType | null; /** * City Postal Code. * Postal code as part of the address * If different postal codes are maintained for the PO Box and Street address of an address, this field contains the Street address postal code. * Maximum length: 10. * @nullable */ deliveryAddressPostalCode?: DeserializedType | null; /** * Region (State, Province, County). * In some countries, the region forms part of the address. The meaning depends on the country. * The automatic address formatting function prints the region in addresses in the USA, Canada, Italy, Brazil or Australia, and the county in Great Britain.For more information, see the examples in the documentation on the Address Layout Key.Meaning of the regional code in ...Australia -> ProvinceBrazil -> StateCanada -> ProvinceGermany -> StateGreat Britain -> CountyItaly -> ProvinceJapan -> PrefectureSwitzerland -> CantonUSA -> State. * Maximum length: 3. * @nullable */ deliveryAddressRegion?: DeserializedType | null; /** * Country/Region Key. * The country/region key contains information which the system uses to check entries such as the length of the postal code or bank account number. * The two-character ISO code in accordance with ISO 3166, which is delivered by SAP as a default, is usually used.It could also be the vehicle license plate country/region code or a typical country/region key, for example, in Germany the Federal statistics office key.The country/region keys are determined at system installation in the global settings.The definition of the country/region keys in the SAP system does not necessarily have to match political or state units.Since the country/region key does not have to correspond to the ISO code in all installations, programs that differ according to certain values of the country/region key cannot query the country/region key T005-LAND1, but have to program based on the ISO code T005 INTCA. * Maximum length: 3. * @nullable */ deliveryAddressCountry?: DeserializedType | null; /** * District. * City or District supplement * In some countries, this entry is appended with a hyphen to the city name by the automatic address formatting, other countries, it is output on a line of its own or (e.g. in the USA) not printed.See the examples in the Address Layout Key documentation. * Maximum length: 40. * @nullable */ deliveryAddressDistrictName?: DeserializedType | null; /** * Down Payment Indicator. * The following categories are supplied as standard: * MThe down payment request/down payment is mandatory.VThe down payment request/down payment is voluntary.NNo down payment request/down payment is necessary.' 'The down payment request/down payment is not active. * Maximum length: 4. * @nullable */ downPaymentType?: DeserializedType | null; /** * Down Payment Percentage. * Indicates the down payment percentage. * The down payment percentage must be between 0.00% and 100.00%. * @nullable */ downPaymentPercentageOfTotAmt?: DeserializedType | null; /** * Down Payment Amount in Document Currency. * Indicates the amount of the down payment in document currency. * @nullable */ downPaymentAmount?: DeserializedType | null; /** * Due Date for Down Payment. * Indicates the due date of the down payment. * @nullable */ downPaymentDueDate?: DeserializedType | null; /** * Usage of the material. * This indicator shows the intended usage of a particular material in inventory. * Please note that each usage of a material must have a separate valuation. As soon as a material has more than one usage in a valuation area then valuation types can be used.Material Usage:0 - Resale1 - Industrialization2 - Consumption3 - Asset4 - Consumption for Main Activity (only editable if Tax Localization Hub, tax service switch is active). * Maximum length: 1. * @nullable */ brMaterialUsage?: DeserializedType | null; /** * Origin of the material. * This indicator shows whether the products were produced inside Brazil or were imported. If the goods were imported, it also indicates whether they were imported directly by the company or not. * Origin of material:0 National - except indicated for codes 3, 4,5, or 81 Foreign - imported directly2 Foreign - acquired nationally3 National - merchandise or asset with import content is over than 40%4 National - when the production is according to Decree-law 288/67, and laws 8.248/91, 8.387/91, 10.176/01 and 11.484/075 National - with import content less than or equal to 40%6 Foreign - imported directly, no similar national, listed in “Resolução CAMEX”7 Foreign - acquired nationally, no similar national, listed in “Resolução CAMEX”8 National - with import content over 70%. * Maximum length: 1. * @nullable */ brMaterialOrigin?: DeserializedType | null; /** * Material CFOP category. * This is the CFOP category of a material. * The CFOP category is used to determine the proper CFOP. * Maximum length: 2. * @nullable */ brCfopCategory?: DeserializedType | null; /** * Produced in-house. * This indicator shows whether the material was produced by the company or another one. * It is used for purpose of CFOP determination.If the indicator is set the material was produced by the company. If the indicator is not set the material was produced by another company. * @nullable */ brIsProducedInHouse?: DeserializedType | null; /** * Brazilian NCM Code. * Specifies the NCM code. * Maximum length: 16. * @nullable */ consumptionTaxCtrlCode?: DeserializedType | null; /** * Product Compliance Supplier Check Status (Item). * If Product Compliance is activated, the system runs a check whether the supplier fulfills the compliance expectations and is a valid supplier for the product or not. The check is executed on item level and sets a corresponding product compliance supplier status. If this status is "Blocked – By Supplier", "Blocked – Not approved as Exemption" or "Blocked – Decision Pending", then the system sets the purchase order item status to "Blocked". The check for supplier compliance is relevant for standard purchase orders and stock transport orders. * Maximum length: 1. * @nullable */ purgProdCmplncSupplierStatus?: DeserializedType | null; /** * Product Marketability Status (Item). * If Product Compliance is activated, the system runs a check whether the product is transported only into those countries approved by Product Compliance. The check is executed on item level and sets a corresponding product marketability status. If this status is "Blocked – By Destination Country", "Blocked – Not approved as Exemption" or "Blocked – Decision Pending", then the system sets the purchase order item status to "Blocked". The check for product marketability is relevant for standard purchase orders and stock transport orders. * Maximum length: 1. * @nullable */ purgProductMarketabilityStatus?: DeserializedType | null; /** * Safety Data Sheet Status (Item). * If Product Compliance is activated, the system checks whether safety data sheets are available in all defined languages for the destination country. The check is executed on purchase order item level and sets a corresponding status. If this status is "Blocked - Data Missing", "Blocked – Not Approved as Exemption", "Blocked – Decision Pending" or "Warning – Request Pending", then the system sets the purchase order item status to "Blocked". The check for safety data sheet is relevant for standard purchase orders and stock transport orders. * Maximum length: 1. * @nullable */ purgSafetyDataSheetStatus?: DeserializedType | null; /** * Dangerous Goods Status (Item). * If Product Compliance is activated and a product is transport relevant, the system checks that the product is transported only into those countries and with those transport modes which are approved by Product Compliance. The check is executed on purchase order item level and sets a corresponding status. If this status is "Blocked – Transport Forbidden", "Blocked – Decision Pending" or "Warning – Transport Restricted", then the system sets the purchase order item status to "Blocked". The check for dangerous goods is relevant for standard purchase orders and stock transport orders. * Maximum length: 1. * @nullable */ purgProdCmplncDngrsGoodsStatus?: DeserializedType | null; /** * One-to-one navigation property to the [[PurchaseOrder]] entity. */ toPurchaseOrder?: PurchaseOrder | null; /** * One-to-many navigation property to the [[PurOrdAccountAssignment]] entity. */ toAccountAssignment: PurOrdAccountAssignment[]; /** * One-to-many navigation property to the [[PurchaseOrderItemNote]] entity. */ toPurchaseOrderItemNote: PurchaseOrderItemNote[]; /** * One-to-many navigation property to the [[PurOrdPricingElement]] entity. */ toPurchaseOrderPricingElement: PurOrdPricingElement[]; /** * One-to-many navigation property to the [[PurchaseOrderScheduleLine]] entity. */ toScheduleLine: PurchaseOrderScheduleLine[]; } export interface PurchaseOrderItemType { purchaseOrder: DeserializedType; purchaseOrderItem: DeserializedType; purchasingDocumentDeletionCode?: DeserializedType | null; purchaseOrderItemText?: DeserializedType | null; plant?: DeserializedType | null; storageLocation?: DeserializedType | null; materialGroup?: DeserializedType | null; purchasingInfoRecord?: DeserializedType | null; supplierMaterialNumber?: DeserializedType | null; orderQuantity?: DeserializedType | null; purchaseOrderQuantityUnit?: DeserializedType | null; orderPriceUnit?: DeserializedType | null; orderPriceUnitToOrderUnitNmrtr?: DeserializedType | null; ordPriceUnitToOrderUnitDnmntr?: DeserializedType | null; documentCurrency?: DeserializedType | null; netPriceAmount?: DeserializedType | null; netPriceQuantity?: DeserializedType | null; taxCode?: DeserializedType | null; shippingInstruction?: DeserializedType | null; taxDeterminationDate?: DeserializedType | null; taxCountry?: DeserializedType | null; priceIsToBePrinted?: DeserializedType | null; overdelivTolrtdLmtRatioInPct?: DeserializedType | null; unlimitedOverdeliveryIsAllowed?: DeserializedType | null; underdelivTolrtdLmtRatioInPct?: DeserializedType | null; valuationType?: DeserializedType | null; isCompletelyDelivered?: DeserializedType | null; isFinallyInvoiced?: DeserializedType | null; purchaseOrderItemCategory?: DeserializedType | null; accountAssignmentCategory?: DeserializedType | null; multipleAcctAssgmtDistribution?: DeserializedType | null; partialInvoiceDistribution?: DeserializedType | null; goodsReceiptIsExpected?: DeserializedType | null; goodsReceiptIsNonValuated?: DeserializedType | null; invoiceIsExpected?: DeserializedType | null; invoiceIsGoodsReceiptBased?: DeserializedType | null; purchaseContract?: DeserializedType | null; purchaseContractItem?: DeserializedType | null; customer?: DeserializedType | null; subcontractor?: DeserializedType | null; supplierIsSubcontractor?: DeserializedType | null; itemNetWeight?: DeserializedType | null; itemWeightUnit?: DeserializedType | null; taxJurisdiction?: DeserializedType | null; pricingDateControl?: DeserializedType | null; itemVolume?: DeserializedType | null; itemVolumeUnit?: DeserializedType | null; supplierConfirmationControlKey?: DeserializedType | null; incotermsClassification?: DeserializedType | null; incotermsTransferLocation?: DeserializedType | null; evaldRcptSettlmtIsAllowed?: DeserializedType | null; purchaseRequisition?: DeserializedType | null; purchaseRequisitionItem?: DeserializedType | null; isReturnsItem?: DeserializedType | null; requisitionerName?: DeserializedType | null; servicePackage?: DeserializedType | null; earmarkedFunds?: DeserializedType | null; earmarkedFundsDocument?: DeserializedType | null; earmarkedFundsItem?: DeserializedType | null; earmarkedFundsDocumentItem?: DeserializedType | null; incotermsLocation1?: DeserializedType | null; incotermsLocation2?: DeserializedType | null; material?: DeserializedType | null; internationalArticleNumber?: DeserializedType | null; manufacturerMaterial?: DeserializedType | null; servicePerformer?: DeserializedType | null; productType?: DeserializedType | null; expectedOverallLimitAmount?: DeserializedType | null; overallLimitAmount?: DeserializedType | null; purContractForOverallLimit?: DeserializedType | null; purchasingParentItem?: DeserializedType | null; purgConfigurableItemNumber?: DeserializedType | null; purgDocAggrgdSubitemCategory?: DeserializedType | null; purgDocSubitemCategory?: DeserializedType | null; purgExternalSortNumber?: DeserializedType | null; referenceDeliveryAddressId?: DeserializedType | null; deliveryAddressId?: DeserializedType | null; deliveryAddressName?: DeserializedType | null; deliveryAddressName2?: DeserializedType | null; deliveryAddressFullName?: DeserializedType | null; deliveryAddressStreetName?: DeserializedType | null; deliveryAddressHouseNumber?: DeserializedType | null; deliveryAddressCityName?: DeserializedType | null; deliveryAddressPostalCode?: DeserializedType | null; deliveryAddressRegion?: DeserializedType | null; deliveryAddressCountry?: DeserializedType | null; deliveryAddressDistrictName?: DeserializedType | null; downPaymentType?: DeserializedType | null; downPaymentPercentageOfTotAmt?: DeserializedType | null; downPaymentAmount?: DeserializedType | null; downPaymentDueDate?: DeserializedType | null; brMaterialUsage?: DeserializedType | null; brMaterialOrigin?: DeserializedType | null; brCfopCategory?: DeserializedType | null; brIsProducedInHouse?: DeserializedType | null; consumptionTaxCtrlCode?: DeserializedType | null; purgProdCmplncSupplierStatus?: DeserializedType | null; purgProductMarketabilityStatus?: DeserializedType | null; purgSafetyDataSheetStatus?: DeserializedType | null; purgProdCmplncDngrsGoodsStatus?: DeserializedType | null; toPurchaseOrder?: PurchaseOrderType | null; toAccountAssignment: PurOrdAccountAssignmentType[]; toPurchaseOrderItemNote: PurchaseOrderItemNoteType[]; toPurchaseOrderPricingElement: PurOrdPricingElementType[]; toScheduleLine: PurchaseOrderScheduleLineType[]; } //# sourceMappingURL=PurchaseOrderItem.d.ts.map