All posts by Räßap

Creating new plant in SAP

This tutorial guides you how to create/Define Plant in SAP step by step.

OX14 – Define Valuation Area (Once your system go live, no more changes possible)

SPRO > SAP Customizing Implementation Guide (IMG) > Enterprise Structure > Definition > Logistics – General > Define copy, delete, check plant [OX10]:

Enter new plant code and update the name and address of the plant:

After updating all mandatory fields click on save icon.

Create company code on IMG:

After creation of new plant you should MM, PP, FI and SD modules to check all their module specific business flows related to your new plant.

OVXB – Create, Change, View Division

OX02 – create Company code

OX18 – Assign Plant to company code

OBY6 – provide details for Company code global data

OX19 – Assignment of company code to the Controlling Area:

OB45 – Create credit Control Area

OB38 – Assign company code to Credit Control Area
OMJ7 – Assign business area to Plant/Valuation area and division

Smart Forms vs Adobe PDF-based forms

Here is a comparison between the two largest print form formats.
All new forms delivered with the ERP will be PDF-based. So, it’s probably better to get ready to change.

Knowing those two print forms possibilities offered by SAP, you want to know more about what is the best technology to use.

Hopefully I’ll provide you some answers in this paper. I’ll probably write more complete comparisons as experiences with PDF forms grows.

Smart Forms architecture

The application program retrieves data from the database and is passed to the function module generated by the Smart Form. The application program, which collects data, has to be written. In many cases, a standard print program is copied, modified and then reused.

The Smart Form needs to be defined. With transaction SMARTFORMS, you can setup the layout you want. This is a powerful but quite old tool and its usage is requires some learning time.

PDF-based print forms architecture

At runtime, we notice the architecture is very close of the previous one.

In this case, a print program also needs to be written. The PDF form template, consuming data from its interface, is called by the generated function module. The call to the web service and the PDF is physically built during runtime.

The ADS component runs on the J2EE stack and exposes a web service allowing the rendering of PDF forms. This means extra calls between both stacks.

Note that you can use this web service to build other PDF forms.

Comparison: pro et contra


Every form has layout problems at some point in time. Text is too low the page; the first name is not aligned with the last name, tables don’t display correctly etc. In both cases, there are a lot of tests (“chipotages”, for the French-speaking people) to perform before a form version can be released.

There is a first advantage of PDF in comparison with Smart Forms. The Adobe LiveCycle Designer (ALD) is at first sight simple, yet powerful and comprehensive. So to build a layout is easier with PDF forms for people with limited experience.

When you have lots of forms to develop, you can enhance the custom objects in the ALD: you can add multiple UI objects and group them in one element which you can easily reuse. For instance, a ‘UserData’ element that contains firstname, lastname, street, postal code and city. Element types as well as the layout are stored locally (in folder C:\Users\\AppData\Adobe\Designer\en\objects\), so exchange with other forms developers is quick and easy.

So, bottom line is that development time can be reduced by using PDF forms. Of course, this also depends on your developers’ skills.


As you know, every object-oriented language has performance problems. So does Java… The ADS component is also heavy and the rendering time of a very complex PDF form, with lots of scripting logic and data to display, can take some time. This may result in heavy documents. Another reason for the sometimes slow performance is the web service connection.

This performance issue must be taken into account when considering high volume printing and complex forms.

Of course, be aware there are possibilities to improve PDF rendering time. Form bundling is one of them (the bundling principle is to send multiple forms in one call to ADS); another one, valid as of NetWeaver 2004s SP12, is described in SAP Note 993612.

Smart Forms, which run fully on the ABAP side, can be faster than PDF… for the moment. I’ll probably post more about performance comparisons in the future.

Regarding stability, both technologies are equivalent and I personally never had problems regarding this. Feel free to provide your input!


As said earlier, PDF requires a J2EE stack with ADS properly configured and with connections between both systems up and running. This is done in standard as of NetWeaver 2004 SR1 so don’t panic! Every recent SAP solution includes the J2EE stack including ADS.

There are web services calls between the ABAP and J2EE stacks, which makes for additional connections to handle.

In terms of architecture, the PDF seems to require more attention. Although, the J2EE stack with ADS is installed and configured in standard as of the ERP2004 so there should be no particular worries about this.

Front-end and clients

The PDF requires Adobe Reader to display PDF forms. Nowadays, almost every workstation has Adobe Reader installed on it. Reader is not required to print forms: hopefully, the normal PDF drivers are supported in SAP systems as well as most of standard printer drivers.

Smart Forms require no additional installations on top of the standard SAPGUI.


Customer examples

In this case, everything depends on your scenarios. Some examples for PDF: you need to respect a legal template, which is provided in PDF; PDF is already widely used in your company; you have all the other Adobe products; you need to send printed invoices to your customers automatically via mail with PDF format etc.

On the other hand, you can choose to use Smart Forms for various reasons: your SAP system printing documents is R/3 4.7; you have plenty of qualified developers who know Smart Forms very well; you need very high performance rather than flexibility etc.


One reference course for Smart Forms: BC470 – Form printing with SmartForms.

The Adobe LiveCycle Designer embedded in an SAP environment offers a lot of possibilities. More information can be found in SAP course BC480 – PDF based print forms (3 days).


Smart Forms is the faithful technology for those who know it. Still useful and reliable as well as very powerful.

On the other hand, the PDF-based print forms is highly appreciated for its comprehensiveness, compatibility, design possibilities. It’s also the future for form output in SAP solutions.

So, the choice is now yours. Personally (but as you may know, I’m not the most objective person when speaking about forms), my choice goes to the PDF for the reasons mentioned above.

© Francois Gendebien

SAP SD books


“Implementing SAP ERP Sales & Distribution”, Glynn C. Williams, 2008

“Configuring SAP ERP Sales and Distribution 2010”, Kapil Sharma, Ashutosh Mutsaddi, 2010


“100 Things You Should Know About Sales and Distribution in SAP”, Matt Chudy, Luis Castedo, 2012

Common SAP R/3 functions manual, 20.1 Mb

PP Material Requirements Planning


LO Batch Management

P.S. There are four books related to SAP SD Certification – TSCM60 (parts 1 & 2) and TSCM62 (parts 1 & 2).

The ways to editing tables

Here are listed powerful hacks which can be used to change even the standard tables and even in a production environment (if you have CHANGE access in Debugger). You should think twice before using them.
You can track changes made in SE16N by &SAP_EDIT (GD-SAPEDIT) option in SE16N_CD_KEY table.
With a right authorization concept in place you would not be allowed to debug in production. So end users should be restricted with debugging authorizations.

1. Go to SE16N, type the table name, turn on the debugger (type /H in the command field), press F8. In the debugger set the values of GD-EDIT and GD-SAPEDIT to ‘X’ and press F8.
2. Execute the function module SE16N_INTERFACE. Set parameters i_tab to table name and i_edit to ‘X’ and press F8.
3. Carry out the transaction UASE16N (obsolete, but sometimes still in use). Type &SAP_EDIT in the command field.

SE16N: Abschalten von &SAP_EDIT – SAP Note 1420281

LSMW upload classification

On the next screen, if you press the button “Object overview” you see next fields:

So in this case
KLART – 001 (Material Master)
OBJEK – material master number
CLASS – Class name
ATNAM – Characteristic name
ATWRT – Characteristic value

Save it.

Specify files:

Window of “Start direct input program”:

100 interview Questions and Answers

  1. What do you mean by drop shipment?
    A drop shipment is based on an order from a customer to a Distributor. The distributor initiates the shipment by Informing the wholesaler.
  2. What is the use of sales area?
    Sales area is the geographical aspect of that particular Company code, from there we can generate the reports.
  3. How does the rule MALA decide the picking location?
    1) Shipping point
    2) Plant
    3) Storage condition
    4) Storage location
  4. What is the difference between customization and configuration?
    Customization word used for Master Data maintenance. And Configuration word used for pricing Procedure Determination.
  5. Is it possible to do delivery without shipping point?
    No. Shipping point is the destination of the goods, how we can ship the goods. It is like mailing letter without TO address.
  6. Explain about smart forms?
    Smart form – it is a form. Basically it is using in output.
  7. How sales document is structured?
    Header responsible for all the documents
    Item for materials
    Schedule line for quantity and delivery
  8. In sales order how system does picks up plant?
    We assign particular material master to particular Plant it picks up from there.
  9. Without delivery can you do billing?
    Without delivery invoice is not possible.
  10. Could you explain about sales deals?
    Company has launched a new product, for a that material you want to have a promotion – for this you will creating a sales deal and assign it to sales promotion and you maintain condition groups.
  11. What is the use of pricing date in condition type?
    It shows date of calculation of pricing procedure for that particular document. So that in future you can see the date on which pricing calculated for that particular document.
  12. What does A/C group control customer?
    Account Group is like a control parameter for the customer master. Most of the fields in the customer master are controlled using field selection, which is internal function of Account Group.
  13. Could you explain about Higher-level item category and item usage?
    Sales Document Type (OR)
    Item Category Group (NORM)
    Item Usage (FREE)
    Higher Level Item Category (TAN)
    Item Category of Free Goods (TANN)
  14. Why do you need project IMG?
    IMG is required for the purpose of customizing and Configuration. There is no role of functional consultant without it.
  15. How we assigned sales organization to delivering plant?
    Path: SPRO/IMG > Enterprise Structure > Assignment > SD > Assign Plant to Sales Organization/Dist.Channel
    T-code OVX6
  16. How to extend material and customer to other sales areas?
    Sales area is a combination of Sales Org, Dist. channel & Division. Division is a logical grouping of products. So you cannot extend material to other sales areas. But you can extend customer to other sales areas through common Distribution channel & Division.
  17. How can we process outbound deliveries without shipping point?
    Shipping point is a required Organizational unit for outbound delivery process.
  18. While I am creating a customer in ship to party account group you have shipping and billing partner function tab pages, client wants to shift all important fields in billing like payment terms, incoterms and tax classification into shipping tab page. He wants only shipping partner function only, how does you customize?
    Field Selection will help you maintain the fields relevant to shipping. Ship-to-party function will be able to see only shipping related fields.
  19. Why do I use condition indexes? How do you activate them?
    Condition Index is used to search all the conditions Records for a particular condition type (e.g. PR00). We activate condition index in the customizing screen of the Condition type.
    Menu Path: SPRO > Sales & Distribution > Basic Functions > Pricing > Pricing Control > Define Condition Types > Maintain Condition Types > Enter PR00
  20. Is it possible to release change request, without releasing task?
    Once we can release the task, then only we can release the Change/customizing request.
  21. What does Product attributes means?
    Product attributes is nothing but the features of product.
  22. Can one have multiple packing for delivery?
    Yes, we can have multiple packing for a single delivery.
  23. Explain EDI and its usage?
    EDI – it helps for data transfer.
    That means from SAP-system or non SAP to SAP-system.
  24. To extend material from one plant to another plant what are the configuration you done in your project?
    We have to create in new plant as we have followed for first plant, where as in first plant system will give internal number but for second plant we have to mention material number.
  25. What is the client specific data? Give two examples of client specific data?
    1) master data
    2) transaction data.
  26. How to stop PGI?
    In credit management we stop the PGI by through credit limit or through cusomization.
  27. Can we assign multi distribution channel to a single customer in sap SD sales process. If yes then how?
    While creating customer we need to assign the customer to the respective sales area, we should copy from previous sales area in XD01 through reference.
  28. What is the difference among sales deal promotion price, price agreement?
    Sales deal promotion – specific product for a period of time price will be less than MRP.
    Price agreement – means an agreement between customer and Vendor for a specific product or with a specific price mentioned in their agreement.
  29. What is the difference between inbound and outbound delivery?
    Outbound delivery – is Post goods Issue (PGI)
    Inbound delivery – is Post Goods Received (PGR)
    PGI will come under Sales Area
    PGR will come under MM Module
    PGI decreases physical stock and PGR increases.
  30. From Which Tcode can I view customer wise back order (Open Order)?
  31. What is retroactive billing? Who will create this?
    Retroactive billing means rebate process. When ever the customer reaches the target quantity or volume in specified time period, we issue the credit memo for the customer.
  32. Where do you assign Movement Type?
    We assign movement type in schedule line category.
  33. Can anyone explain about Purchase Order & Purchase Requisition?
    In third party if a customer places an order if the Material is not available in our company if the order Document is saved automatically purchase is raised. It is created with the help of this purchase group.
    Purchase requisition – for production of material raw Materials are required, but materials are not available on stock, then the production dept. request send to the MM manage simply request him to arrange Materials for production of finished materials.
  34. It is possible to maintain two different pricing procedures for 2 materials in one sales order?
    No, you cannot maintain 2 separate pricing procedure for same Material in single order. But you can change the price Manually by selecting the material and then the conditions tab. You can also see the changed status as manually later.
  35. List the Basic Steps for SD configuration.
    1) Enterprise structure
    2) Partner determination
    3) Master data
    4) Business process customization
    5) Pricing
    6) Output determination.
  36. How you can extend the rebate? what are the procedures, what is the customization for it?
    The transaction code for extend rebate is “VB(D” in that You should fill the field like recipient and rebate agreement.
    For customization same as create condition tables but Already there are standard tables and define accessequence And assign condition types. There are already standards are There like b001, b002, b003, b004 then assign pricing Procedure to condition type, next create account keys and assign to rebate process type.
  37. What is accounting group?
    Accounting group is simply the classification of customers, whether it’s sp, sh, bp, or py, and it also controls the fields in CMR.
  38. What are the differences between invoice and billing document?
    Billing document is the broadview. Invoice (F2) is one of type of billing doc.
  39. What is pricing? How will it affects the billing procedure?
    Pricing has the basic price of the item. It also has the Discounts, Taxes, Rebates, & also the Cost of the item.
  40. What is account key? And how it works? Normally how many pricing procedures do in implementation?
    Account key determine a correct G/L account to be posted the data corresponding G/L accounts. You need to assign a G/L account to account key that is assigned to a condition type in a pricing procedure.
  41. Tell me account key and accruals?
    A/c keys determine a correct G/L account to be posted the data corresponding G/L a/c. All customer Rebate accounts are posted in accruals.
  42. What is the document flow?
    Sales Order
    Transfer Order
    Post Goods Issue
  43. What is the transfer order?
    Transfer order is basically picking order where you pick the material from storage and loading area or picking area.
  44. What is the purpose of text determination, account determination, partner determination, output determination, storage location determination?
    1) Text determination: for transferring information from material or customer to order/delivery or invoice (and anything in-between)
    2) Account determination: for transferring financial and costing information to proper financial documents
    3) Partner determination: who is legally responsible for A/R, who the goods are going to and whatever else you drive through this functionality.
    4) Output Determination: What type of Output (Fax/Mail, etc) is required, where and in what Format (ABAP Customization may be required in some cases especially Invoices).
    5) Storage Location Determination: depends on Plant, Shipping Point and Storage Conditions.
  45. What are the five important fields to be maintained in account determination?
    Sales org., A/c keys, condition type, a/c group for the customer, a/c group for the material
  46. What is meant by transfer of data from legacy code to SAP?
    Before installation of SAP, data maintained by company is called Legacy Data. At the time of installation, it is required to transfer data from legacy to SAP like Masters (Material/Customer, etc).
  47. What and where types of copy controls we change?
    Copy Control – is basically meant so that data is copied from preceding document to subsequent one. In general case of Standard Order, it will be Copy Control (Order to Delivery) from OR to LF.
  48. How to and where to maintain copy controls?
    Sales Document types and Delivery Document Types.
  49. What is purpose of maintaining common distribution channels and common division?
    Common Distribution Channel and Common Division are maintained so that if any master data like customer or material maintained with respect to one distribution channel can be used in other DCh. It prevents the multiplication of master record.
  50. Can you tell the deference between contract and scheduling agreement?
    Scheduling Agreement – is an agreement between consumer and company having fixed delivery dates and fixed quantity.
    Contract – is an agreement between company and consumer for certain period of time.
  51. What is PMIN?
    PMIN is a Condition type to define minimum prices. It can be Control minimum prices below which a material should not be sold to the customer.
  52. What is client requirement in Schedule Line Category?
    Schedule line category is nothing but delivery date and delivery quantity is must.
  53. Where we can block the Sales Document?
    Sales document can be blocked at three places depending on the customer risk categories, they are:
    1) Sales order level (high risk customer)
    2) Delivery level (medium risk customer)
    3) Goods issue level (low risk customer).
  54. What is the Difference between Reconciliation A/C and Normal Posting A/C?
    Manual entries can be posted in the normal G/L account and the same is not possible in the Reconciliation account, as these are automatically updated.
  55. What happens if we check “exclusive” indication in access sequence, and what happens if we don’t check?
    Basically access sequence finds the exact condition record in cond.table by search statuary with the help of exclusive indication.
  56. Can anyone tell about types of free goods?
    1) In toothpaste: 25% extra more – it’s inclusive
    2) When you buy paste you get a brush free, it’s exclusive.
  57. What are the 16 steps in the pricing procedure?
    Condition type,
    Alt condition type,
    Alt condition base value,
    Act key and
  58. Do you have any link for customer master and credit management?
    We can maintain individual customer credit limit in customer Master. In transaction FD32 we can define the total credit limit for sales area and credit limit for individual sales area.
  59. Explain about sales order cycle?
  60. What is the relation between sales organization and company codes?
    Many to one.
  61. Sales order is created 1st November for 200 toothpastes 100 brushes free of goods (2+1 free goods). At the time of delivery on 15th November you have shortage of brushes by 40. Offer closed on 15th November. How do you solve in this scenario?
    At 15 Th Nov 40 shortage tooth paste have given 100% free goods discount. Condition type is R100.
  62. What is the difference between cash sales and rush order?
    In rush order if a customer places an order delivery will take place immediately billing will be letter.
    In cash sale if a customer places an order delivery and Billing will be on the same day.
  63. How system picks up pricing while doing billing?
    From Sales Order.
  64. Difference between business sale cycle and customer sale cycles?
    Contract is the business sale cycle and schedule line is the customer sale cycle.
  65. How do we control the credit checks with specific to distribution channel and division?
    By assigning credit control area to specific sales area.
  66. Can you configure two different free goods items for one single item? E.g. – on purchasing of item “A” you want to give item “B” and “C” for free. Is it possible? How?
    Yes it is possible by exclusive free goods.
  67. Can you delete order?
    You can delete the order but there should not be any transactions on the particular order.
  68. MWST? Please explain it detailed?
    MWST is Tax Condition Category which will be Assigned to country RU (& other).
  69. How to do customization of rebate processing in the SD module?
    1) Activate rebate in customer master data
    2) Selling material should be activated in MM data
    3) Sales org. should be activated
    4) Billing document should be activated.
  70. Which partner function realent for credit limit?
    Sold to party is relevant for credit limit.
  71. Name three areas/processes which use condition technique in SD?
    Material determination, pricing determination, output determination, account determination.
  72. Explain what a condition table and an access sequence are and the relationship between them?
    Condition table defines the combination of fields (the key) that identifies an individual condition record.
    Access sequence is a search strategy that the system uses to find valid data for a particular condition type.
  73. What is a condition type? What are the two main groups of condition types?
    Condition type is a representation in the system of your daily pricing activities. Fixed Amount & Percentage.
  74. Which partner function is relevant when it comes to tax calculation in the sales order?
    Ship to party.
  75. Where would you specify that a condition type is a discount or a surcharge?
    In condition type details screen.
  76. You want to list all condition records for a certain material or a certain sales organization. How would you do that?
    By creating pricing Reports.
  77. Can you explain what a statistical condition is? Give an example for a statistical condition?
  78. For what do you use customer hierarchies?
    Pricing, Rebate.
  79. Name the influencing factors for pricing procedure determination during sales order entry?
    Customer, Sales Document Type and Sales Area.
  80. Can you copy condition records? If yes, are there any restrictions?
    Yes. Field specific.
  81. Tax jurisdiction processing is a close link between which two modules?
    FI and SD.
  82. Can you delete an invoice?
    No. You can cancel it and create cancellation document.
  83. When you create an invoice can you carry out pricing again?
  84. From which documents can you create a Proforma invoice (pro forma)?
    Sales order or delivery.
  85. When you create a credit memo request do you always have to refer to a sales order or any other previous document?
    Only sales order.
  86. Can you combine orders into one invoice?
  87. Can you split deliveries into several invoices? When would you do that?
    Yes. If the data from the related reference the system will automatically split the invoice.
  88. Can one business area be valid for several company codes?
  89. There is an interface between SD and FI in invoicing. Can you think of another interface between SD and FI?
    Credit check, Tax calculation and Cost estimate.
  90. Can you partially settle rebate accruals?
  91. Is it possible to link R/3 projects to the MS project?
  92. What two ways of number assignment for documents or master data do you know? Explain the difference between them.
    Internal & External.


Связать счет FI со сбытом

Глосса: AAG – Account assingment group
AAG материала задается в мастер данных материала (MM02):

откуда потом подтягивается в сбытовой ордер:

(может быть изменено в процессе фактурирования).

AAG клиента и облагается ли продажа клиенту НДС или нет (можно установить 0 или 1) – в VD02:

В транзакции VKOA указываем, на какой счет пойдет комбинация Account assingment group клиента (AAG) и AAG материала:

Костинг равен цене, профита – 0:

Указываем в OKB9 контроллинговый объект для счета:

Набор полезных программ

Получить внешние вызовы ФМ, транзакций и многого другого внутри программы можно с помощью программы — RSINCL00.

Транзакция ABAPDOCU — ABAP документация и примеры.

Транзакция BIBS — примеры пользовательского интерфейса для ABAP программ.

Транзакция DWDM — демо примеры с использованием Enjoy контролов.

Программа ADBC_DEMO — демо программа ADBC API (для подключения к внешним базам данных).

Транзакция SE83 — библиотека примеров с ALV и прочими контролами.

Программа BALVBT01 — демонстрация множественного использования ALV.

Программа SHOWICON — список всех иконок.

Программа SHOWCOLO — все цвета используемые во WRITE или ALV.

Программа SHOWLINE — всевозможные линии во write отчётах.

Программа SHOWSYMB — символы.

Программа AFX_CODE_SCANNER (или RPR_ABAP_SOURCE_SCAN) — поиск в исходных кодах.

Программа RSBDCOS0 — выполнение системных команд на сервере.

Программа REPTRAN — массовая выгрузка исходников.


Access a transaction without authorization (skip check)

All the problem related to running a SAP transaction can now be resolved with the help of execution of a debugger.
One of the major advantage of using the debugger is that while any changes are being made all those can be recorded in a log.
Various ways to skip the authorization check:

  1. Within Function module ‘SMTR_KERNEL_CHECK_AUTHORITY’ insert a break-point. Press F7, clear the variable P_CANCEL_FLAG.
  2. Within Function module ‘RS_TRANSACTION_TEST’ insert a break-point on the ABAP code line ‘if sy-subrc = 0.’, straight after the call ‘AUTH_CHECK_TCODE’ id ‘TCODE’ field objectname. And change sy-subrc to 0.
  3. Just run any transaction using functional module SMTR_KERNEL_CHECK_AUTHORITY (still works if correcting Note was not implemented).

P.S. Can’t run FM’s but can run programs? Just run the RSFUNCTIONBUILDER program.