Vendor Email



select adr6-addrnumber (email)

from table adr6 join table lfa1 with key adr6-addrnumber = lfa1-adrnr

ABAP Version :

data : lv_email like adr6-addrnumber.

select addrnumber into lv_email

from adr6 as a inner join kna1 as b on a~addrnumber = b~adrnr.

Categories: Purchasing, Vendor | Leave a comment

Invoice document 5105608835 cannot be processed further

The invoice document 5105608835 contains the purchasing document 4151503102, and the item 00030. You cannot enter the invoice for this item, or you cannot cancel this invoice document. There can be several possible causes, for example:

– the PO item is blocked

– the PO item is flagged for deletion

– another colleague is currently processing the purchase order

– the purchase order has not yet been released

– the corresponding service entry sheet has been deleted

– for a held invoice against planned delivery costs: the vendor in the held invoice is not the same as the vendor in the condition in the purchase order, or the same as the vendor from the purchase order history entries. This is due to the fact that the vendor in the condition in the purchase order has been changed in the meantime. In this case, the held document cannot be processed further. You can use report Z_MRM_DELETE_PP from note 501905 to delete the document.

Check the purchase order.

Categories: Logistics Invoice, PO-Pricing Procedure, Purchasing | 1 Comment

Simple SAP Workflow

Categories: Purchasing, Workflow | Leave a comment

PO Change – SAP Workflow Scenario

Categories: Purchasing, Workflow | Leave a comment

PR Release Strategy

Powered by ScribeFire.

Categories: Purchasing | Tags: | Leave a comment

Manufacturer Part Number

Categories: Material Master, Purchasing | 1 Comment

Purchase Order Automatic IDOC

Powered by ScribeFire.

Categories: ALE, IDoc, Print, Purchasing | 2 Comments

Purchase Order: Customer Field/data/tab

Powered by ScribeFire.

Categories: BaDI, Purchasing | Leave a comment

SAP Purchasing – Blocking Price Change in PO

SAP Purchasing – Blocking Price Change in PO

Blocking Price Change in PO

I need to know how to block the price in a Purchase Order from being change on initial entry when the PO is with reference to an Outline Agreement (Contract) without blocking the ability to change the price for other types
of POs being entered. I have tried using Transaction OMF4 in configuration. But if I change for document type ME21 the Price and price unit to display only it changes it for all POs not just those that are created from contracts.

I think that the Invoice Verification component is part of the Materials Management (MM) system. It provides the link between the MM component and the Financial Accounting, Controlling, and Asset Accounting components.

Invoice Verification in Materials Management serves the following purposes:
– It completes the materials procurement process – which starts with the purchase requisition, continues with purchasing and Goods receipt and ends with the invoice receipt.
– It allows invoices that do not originate in materials procurement (for example, services, expenses, course costs, etc.) to be processed.
– It allows credit memos to be processed, either as invoice cancellations or discounts
Invoice Verification does not handle the payment or the analysis of invoices. The information required for these processes is passed on to other departments.
Invoice Verification tasks include:
– Entering invoices and credit memos that have been received
– Checking the accuracy of invoices with respect to contents, prices, and arithmetic
– Executing the account postings resulting from an invoice
– Updating certain data in the SAP system, for example, open items and material prices
– Checking invoices that were blocked because they varied too greatly from the purchase order
An example on how to enter an Invoice Receipts :-
Transaction code MRHR – MM Invoice Verification and Material Valuation

There are two ways to force close a PO:
1. You can set Delivery Completed Indicator in Purchase Order or at time of doing goods receipt. That simply means you cannot do further GR for that item. You can still process Open Invoices .
2. You can block material at purchase order level which means, you will not be able to do any GR , Invoice against that specific item in PO.
The recommended is the first option though.

Second option is used in case of : –
1. to cancel an item
2. An item is closed and can be archived

MEI1: Automatic purchasing document change.
MEI6: Delete purchasing document index.
ME52N: Change purchase REq.

Yvon Kalumba

Categories: Logistics Invoice, Purchasing | Tags: | Leave a comment

Purchasing Tips

-> SAP Functional ->  Purchasing Config


  • Purchasing Tables
  • SAPReader is
    a small program which converts purchase orders created by the SAP R/3 system
    into a readable document. Its purpose is to enable companies to receive purchase
    orders from customers who are using the SAP R/3 system, and to translate these
    into a format using the supplier’s own product codes. The text file produced by
    SAPReader may then be manually entered into the supplier’s system or may be
    electronically uploaded.
  • Purchase Order History ABAP report
  • Purchasing Guides – How to guides

Tips for Fast Message Determination

Here you are shown how to set up the message determination
control) facility quickly.
In this case, you need not read the
Implementation Guide
(IMG) for the other steps to set up this facility, or
need only read certain parts of it.

Setting up the Message Determination Process:

Message determination deactivated

You can output purchasing documents without the message
facility. In this
case, you must not assign any message determination schemas to the the
individual purchasing documents (RFQ, purchase order,
The system then generates a message of the type NEU (new) for each
document to be outputted. To determine the printer, the system first
the settings for the purchasing group. If no printer
has been maintained
there, it checks the user parameter. If
no printer has been specified there
either, the system
checks the fixed value for the user. If no printer has
been specified, the system does not generate a message

Message determination activated

Adopt standard setting

In the standard system, the message determination facility
is active. A message determination schema is supplied for and assigned to each
purchasing document. If you wish to work with this standard setting, you need
not make any changes in Customizing.

It is necessary that you maintain condition records for the
desired message types:

1. Choose Master data -> Messages -> <Purchasing
document> -> Create or Change from the Purchasing menu. 

1. Enter the message type and choose the
key combination. The latter determines the condition table in which the
condition record is stored. 

2. Make the necessary entries. 

3. On the next screen, create the
individual condition records. 

4. Via the menu options Goto -> Means
of communication, enter the desired means of communication (e.g. EDI, or an
output device such as a printer) for each message record.

5. Save your data

Include new message type

If you wish to do this, you must

1. Create the message type and define its
fine-tuned control (e.g. whether the message type is to be used only for new
printouts or only for change notices), 

2. Assign the message type to a

3. Define the message

4. Maintain condition records for the
message type, as described above.

How is the printer determined for message output

The system checks whether a printer has been specified in
the condition record. If so, it is used. If not, it checks the message type to
see whether a print parameter has been set. If no parameter has been set, no
message is generated. If a parameter has been set, a printer is sought in
accordance with this parameter. If a printer is found, it is used to output the
message. If not, no message is generated.


You can change the printer when outputting messages (e.g.
via the menu options Purchasing document> -> Messages ->
Print/transmit). Select the desired message and choose Goto -> Message
details -> Edit -> Means of communication.

Goods Receipts/Invoice Receipts  for Purchase

Transaction OMW1 allows you to set
whether the Price Control is a mandatory “S” or “V”.

V indicate that you want the system to value the stocks with
the latest price.
S indicate that you want the system to value the stocks
with a fixed price method.

Price Control V – Moving Average

Assume Material Master current price is 10

Goods Receipts for Purchase Order – Movement Type 101

  • Material Document Posting created – inventory
  • Accounting Document Posting created
    • Debit      12345   Inventory      12
    • Credit     67890   GR/IR          12
    • New Moving Average Price = ( GR value + Total value ) / (
      GR quantity + Total stock )

Invoice Recipts for Purchase Order – MR01

  • Accounting Document Posting created
    • Debit      67890    GR/IR          12
    • Debit      12345    Inventory    
    • Credit     45678   Vendor        15
    • New Moving Average Price = ( Inventory difference of 2 + Total value ) / ( Total

Price Control S – Standard Price

Material and Accounting Document is the same.
The one
with the lower value will be posted with a price variance entry.

Goods Receipts for Purchase Order – Movement Type 101

  • Material Document Posting created – inventory
  • Accounting Document Posting created
    • Debit      12345   Inventory           10
    • Debit      23456   Price Variance  
    • Credit     67890   GR/IR               12
    • No change in Standard Price

Invoice Recipts for Purchase Order – MR01

  • Accounting Document Posting created
    • Debit      67890    GR/IR                 12
    • Debit      23456   Price
      Variance     3
    • Credit     45678   Vendor                15
    • No change in Standard Price

General Ledger Account

Transaction OMWB – Automatic
posting for inventory

posting                                     BSX
Goods receipt/inv.receipt
clearing acct     WRX
Cost (price) differences                           
Transaction XK03 – Account Payable Vendor

Tick Accounting info. and hit the Enter key
Field name   
Reconcil.acct     45678

Vendor Returns Without PO Reference

You can used Return Purchase Order, transaction code

At the item details, look for the Return columns and tick

MIGO_GR – Goods Receipt
for Return Purchase Order
Movement type will be 161 to deduct the stock and
162 for reversal.
During Goods Receipt for Return Purchase Order, you do not
have to change the movement type from 101 to 161 as the system will
automatically assign the movement type to 161 upon saving the postings. 
However, before saving, check if there is a tick in the Return Column to ensure
that it is a return Purchase Order.

Create a new Purchase Order Number range to
OMH6 – Define Number

Create a new Purchase Order Type to differentiate e.g
OMEC – Define Document Type

Changing the PO Layout sets
OMFE – Messages: Output Programs

/:  IF
/:  ENDIF.

Purchasing List for Open Purchase Order, Goods
Receipt, Invoices

Open Purchase Order = Open Goods Receipts (
Selection parameters WE101)

This two parameters determined what information is

  • selection parameter
  • scope-of-list parameter

The configuation transaction code is OMEM
You can define additonal selection parameter
for your users as well as untick those fields which you does not want it to be

Your can have the Purchasing Documents by :-

  • ME2L   –  Vendor
  • ME2M  –  Material
  • ML93   –  Service
  • ME2K  –  Account Assignment
  • ME2C  –  Material Group
  • ME2B  –  Requirement Tracking Number
  • ME2N  – Purchase Order Number
    ME2W – Supplying

Force buyers to create Purchase Order with ref.
to a Pur. Req., Quotation or Pur. Ord.

Transaction OMET

  • Create a new entry, give it a name and tick :-
    • Ref. to PReq
    • Ref. to P.O.
    • Ref. to quotation

  • Next, you’ve got to associate via SU01
    • Click Parameters, insert
      a new parameter id EFB to the authorization
    • Type in Parameters value
      you want e.g. XX
    • You have to assign the control for ALL the SAP buyers via
      thier SAP users id.
      Logoff and login again. Then try to create a Purchase
      Order without a reference.

Define default values for buyers

Transaction OMFI

  • Double click on the default values you want to
  • Save it.
  • Next, you’ve got to associate via SU01
    • Click Parameters, insert
      a new parameter id EVO to the authorization
    • Type in Parameters value
      you want e.g. 01
    • You have to assign the control for ALL the SAP buyers via
      thier SAP users id.
    • Logoff and login again. Then try to create a Purchase Order
      and check the default values.

In the Fast Processing button :-

    you can choose whether to adopt automatically all the line
    items fields in the Purchaes Requisitions

Puchase Order Condition

Suppose you want to calculate the GST and DISCOUNT for a Net
Value of 1000.
Net value                                    1000
10%              of 1000           100
DISCOUNT 10% of 1000          

Final Net value          900

This is what you do :-

  • M/08 – Define calculation schema
  • First check the conditions column Steps e.g. PB00 and PBXX
    belongs to step 1.
  • Next check the last Steps after Actual Price
  • Now, look at the column Fro
  • If you want the DISCOUNT to be calculated based on 1000,
    put the Steps number in the column Fro
    Fro To controls the

Information Structure

In the SAP standard info structure S012 is updated by the
Purchase Order creation date, not the Goods Receipt date. e.g. a Purchase Order
is created in January and good receipt is in February and March, S012 will shows
the values in period January.

  • Transaction MC26
  • Info structure S012 
    Update group (stats) SAP
  • Double click on  Goods received

    In the section Date field for period determination

Purchase Order Layout Sets, Message

Create a new message types for a different layout of
Purchase Order

  • M/34     – Maintain
    message types
    • Click the Partner definition button
    • Insert the new message type to the Partner

  • OMQN – Fined-tuned
    Message Control
    • Add a new Printer Operation        1 – New     2 –

  • OMFE  – Layout sets for
    Purchase Order
    • Attach the new message type to the new layout

  • M/36     – Maintain
    message detemination schema : Purchase Order
  • OMQS  – Assign schema to
    Purchase Order
  • OMGF  – Assign Output
    devices to Purchasing Groups
    Assign default Message Type to Purchasing Groups

User Defaults for Purchase Order

There are some fields which you can set as defaults for the
buyer in transaction ME21.

Transaction SU01
Input the user name and click

PID       Parameter

LIF      – Vendor number
BES     – Purchase Order
BSA    – Order type
EKG    – Purchasing group
EKO    –
Purchasing organization
WRK   – Plant
LAG     – Storage location
–  Material group
WAK  –  Promotion

PO Release Strategy


The release code is a two-character
allowing a person to release (clear, or approve) a requisition or
an external purchasing document. The release codes is basically controlled via a
system of authorizations (authorization object M_EINK_FRG).

Use SE12, structure
CEKKO to check all the fields available for
controlling the Purchase Order.

e.g. If the total value for the Purchase Order exceeds
10,000, release strategy 01 is assigned to the Purchase Order.  There is only
one characteristic created in this example.  For controlling the Purchase Order
type, create characteristic for CEKKO-BSTYP and the value NB.

CT04 – Create
Characteristic   e.g.  NETVALUE

Click Additional data
Table name CEKKO      Field name  GNETW    and press enter
(for currency dependent
field, you are prompt to enter the currency which the system then converts the
currency of the Purchasing document into this currency)

In the Basic data (X
refers to tick),
X    Mutliple values
X    Interval values

In the Value data, in the
Char. value column, type >10000 and press

Save your data

CL02 – Class

Class – Create REL_PUR

Class type – 032

Click Create

Description – Release Procedure for Purchase Order

In the Same Classification
, click Check with error

In the Char.
(characteristic) tab, type NETVALUE to assign your characteristics to the

OMGS – Define Release
Procedure for Purchase Order Type

Release Group – New entries
Rel.group   Rel. Object   Class                

  02                                 REL_PUR       
Rel. Strategy for PO

Release codes – New entries
Grp         Code
02           01


Release indicators          
Release        Description

0                                                        Blocked
1                                     X                Release


Release group   02

Rel.strategy    01

Release codes   01

Release status   0

Classification   Choose
your check values

OMGSCK – Check Release
(make sure there are no error messages)

Once the Purchase Order is not release, buyers will not be
able to print the Purchase Order.

Goods Receipts will be shown with Message no. ME 390 –
Purchasing document XXXXXXX not yet released.

In 4.6c, Purchase Order with Release Strategy have a tabs at
the end of the Header.  This allowed the buyers to check the release status of
the Purchase Order.

The person with the release authorization have to use ME28
to release the Purchase Order.

Prompt the last Purchase Order Price for the

If you want the system to take the price from the last
Purchase Order, then do not maintain the conditions in the info record because
it has precedence over the last PO. This means that the netprice field in the
info record should be left blank.

In the case when you have already maintained the conditions
in the info record (or netprice), try to delete them or make them invalid by
changing the validity date.

Even though no price was maintained, the info record will
still keep track of the Order price history.

To check the Order price history, go into the material info
record and click Environment -> Order price

Adopt Purchase Order Header Text

To default the Header Text into the Purchase Order

Step 1 :- Maintain text in Vendor Master

  • MK02 – Change
  • Choose Extras -> Texts
    – Input the text in Purchasing memo

Step 2 :- Link Text types to Header text in Purchase

  • OMFV – Define rules for
    copying (adoption of) text
  • Choose Header Text
  • Choose Goto -> Linkage: text
    types -> To vendor
  • Filled in the field No.
    (e.g. 01 – Header Text), next tick whether you
    want the text to be
    adopted or for displayed only
  • Choose Update to

Create a new Purchase Order Document


If you have more than one company code, you might want to
define a new document type and number range to differentiate between the two

Define a new number range not in used
OMH6 – Number Ranges for Purchasing Documents

Copy the NB – Standard PO to e.g. ZB
OMEC – Define Document types

Maintain :
Text for Document Header/Item
Text for
Document Supplement
OMF6 – Messages Header

Send Purchase Order via Output

Read note 191470
Purchase order as an e-mail

From release 4.5, you can send your purchase order via
output determination.   This note have indicate all the requirement and settings
necessary to send purchase order via the output determination once your SAP have
been connected to an External Mail System.

Send Purchase Order with Microsoft

This is how it work:-

Install the SAP setup program on the SAP Presentation CD-ROM
Execute the
SAPsetup program and choose the Desktop Interfaces.
Then choose the SAP MAPI
Service Provider (select Change Options to display the selection)

Once the SAP MAPI is installed.  You can create your logon
profile for SAPoffice.
Go into your Control Panel of your windows.
the Mail option from the Control Panel to call the MAPI profile
Choose Add to call up the new logon profile setup wizard
Add from the Services and select the SAP MAPI Service Provider
Type in the
required R/3 information (client, sap user name, password)
The supplied PST
file is sapwrk.pst

Now, logon to your Microsoft Outlook and see whether you can
access all your SAPoffice folders.

If you send the file using SP01 -> System -> List -> Send, the file will
have the extension ALI.  Use the Windows
Explorer to default open with the Windows Notepad.

Sending mail directly from SAP via Microsoft

If you want to send your mail directly via Microsoft
Exchange, you have to install the SAP Exchange Connector Software on your
Microsoft Exchange Server.

The setup program SETUP.EXE is located on the R/3
Presentation CD in the directory :\GUI\WINDOWS\WIN32\SXC.

Then you have to setup :-

  • SM59 – The RFC
  • SCOT

Refer to the Unix SAP
Internet Mail Gateway installation steps.

Contributed by:
SAP ABAP/4 Programming, Basis
Administration, Configuration Hints and Tips

webmaster for http://www.sap-basis-abap.com

Other tips

Transaction CL24 is
particularly important if you do modification on release strategies. Especially
if you delete some in OMGQ: they are not completely deleted until you delete
them also in CL24. This can cause some seriously strange behavior on the system
(and sometimes on the consultants and users). Tip by kuentz@alum.mit.edu 

The following has been contributed by Nitin
Susladkar [nsusladkar@yahoo.com]

  1. OMFI – Vendor Confirmation to be mandatory for
    Purchasing documents
  2. OME0 – System Messages for Purchasing
  3. OMCQ – System messages for Inventory
  4. OMEB – Indicator specifying that a p.o.item must not
    contain an account assignment
Categories: Purchasing, VeryGood | 1 Comment

Blog at WordPress.com.