1 2 Previous Next


30 Posts

Hello all,

In this blog I will explain how to add cost center as additional parameter to the DP93 screen. In our case we have cost booking done on the Cost center and we needed to create debit request for the costs that are booked in the Cost center.

In standard DP93 screen we don't have this option of Cost center. I have used the BADI 'BADI_DPICB' for this purpose. This BADI will be called during the screen generation of DP93. Its very straight forward change but you need help from your developer to perform this.


Create a BADI implementation in se18  for 'BADI_DPICB' and inside the method 'IF_RRICB~INCLUDE_COST_CENTERS' add the below code.





There is no other coding needed for the system to pick up the costs booked on the cost center and create inter company resource debit requests.


Hope this helps.



Vijay V

To guarantee an error free execution of report RVKRED77, a complete block on sales tables VBAK, LIKP and VBRK is necessary. This requires a shutdown of all sales related activities. Due to limited periods of downtime, running correction report RVKRED77 is not always a possibility. So, what options are available to those with a short to zero time window?


Firstly, the performance of report RVKRED77 will depend largely upon how many open sales orders, deliveries and billing documents there are to process.

To ensure the processing will be completed within a time period, the selection criteria should be reduced and tested accordingly. See note 400311.


The shortest run time will be attained if the report is executed for a single credit account (KNKLI) within a single credit control area KKBER). This is the smallest possible selection entry for this report.


It is also possible to run the report in parallel mode, see OSS notes 363343 and 755395 on this process.


Unfortunately, it is not recommended to use the report without a block. To ensure consistent credit data, you have to run RVKRED77, respectively RVKRED07 with NOBLOCK = ' '. This will avoid that a user updates an SD document during the rebuild, which could result in inconsistent credit values again.


Normally this risk is minor, but you have to decide by yourself, if you want to bear this risk or not. If you have totally incorrect credit values for one credit account, it may be better to run RVKRED07 with NOBLOCK = 'X' and to accept the risk of minor inconsistent values, than to always work with totally incorrect credit values. Additionally, you can check the consistency of the credit values after a rebuild by comparing the results of RVKRED88 against the values in trx FD32.


So, maybe you could do the following:

  • Determine credit accounts with incorrect credit values (e.g. you can use CREDIT_VALUE_COMPARE from note 666587).
  • Run RVKRED07 with NOBLOCK = 'X' for such credit accounts with big inconsistencies. Run the report for single credit accounts and not for a range of credit accounts. This will lower the runtime and minimize the risk of again inconsistent credit values.
  • Afterwards you can check for the processed credit account again for incorrect credit values.



Always ensure that you use only KNKLI, KKBER and NOBLOCK as selection parameters (and PROTB if you want a result list). By using other selection parameters you will really get incorrect credit values! Note 1297946 should be implemented to ensure that only the correct selection criteria can be used.

Dear Customer,


Enhancements to third-party delivery and individual procurement are now available:




SAP has provided the possibility to implement a BAdI to customize the confirmed delivery date for third-party goods (example: TAS/TAB).




SAP has provided the ability for a delivery block to prevent the purchase of third-party goods (example: TAS/TAB).



SAP has provided a solution that - in third-party delivery (example: TAS) and individual procurement (example: TAB) scenarios for a sales order - allows the possibility for the update of schedule line data of the sales order item to happen only from a confirmed purchase order item. Previously, the system updated the delivery date of a sales order item with the delivery date in the purchase order (PO), even if the vendor had not confirmed the PO.


For more details, refer to these PowerPoint slides.


Also, see the Customer Influence site:


Best regards,

Diane Hebert, PMP

The Nota Fiscal Item Type is used as one of the parameters to get automatically the correct CFOP for each nota fiscal.

The CFOP (Código Fiscal de Operação) means the operation that is represented by the Nota Fiscal Document, example: Regular Sales, Sales to Free Trade Zone, Free Sample, Freight Invoice, and etc.

SAP delivers only few NF Item Types and as there are more than 300 CFOP for incoming and outgoing nota fiscal, sometimes it is necessary create a new nota fiscal item type to allow determine the correct CFOP automatically.

To create a new Nota Fiscal Item Type, follow the steps below:

1 – Create the NF Item Type

Create the new NF Item Type via SM30 to the table J_1BITEMTYPES


Here you define the Nota Fiscal Item Type, it can be used alphanumeric with 1 or 2 digits.

You also need to enter a description that identifies the NF Item type / usage purpose.


2 – Create the NF Item Type rules

You can maintain via SM30 the table J_1BNFITEMTYPES or follow the customizing path: SPRO > Cross-Application Components > General Application Functions > Nota fiscal > Define Nota Fiscal Item Types

You can copy a similar NF Item Type as reference or enter manually the rules for the new NF Item type.

You must type the same NF Item type code that you created previously as explained on the step 1, maintaining the J_1BNFITEMTYPES table.



The steps above completes the NF Item Type creation.  You will have to assign the new NT Item type to the tables J_1BAONV or J_1BAPNV tables and create the rules to get the CFOP automatically assigned.

Many people still have questions on how maintaining taxes for Brazil. Some time ago a company with several taxes issues contacted me to help them and I figured out that for many years, they were doing manual adjustment due to missing configuration on their tax calculation system.

The first rule when maintaining taxes is that:



TAXBRJ: You should never enter rates directly at the FTXP on tax code tax conditions.

Until the SAP 4.6C the FTXP had the function to tell what tax types would be calculated and accounting postings.

This means, at the FTXP it is activated the conditions with 100.000, 100.000 and 0.000.

The only exception are the INSS and the old MP135 Solution for PIS and COFINS

The meaning for each value are:
1) 100.000 indicate “calculate the tax and post to the account assigned to the account key"

Example: ICM1 100.000 post ICMS to the ICMS account assigned to the VS2.

2) -100.000 indicate “copy source entry and post accounting to the account assigned at the account key"
Example: IC1O -100,000 post the ICM1 value with negative to the Account Key ICC.

3) 0,000 indicate “active tax, must be presente at the nota fiscal but not generating accounting posting.”
Example: IPI1 0,000 will create an entry for IPI to the nota fiscal (J_1BNFSTX) to the column “other base).

Note: this is not valid for all processes or all conditions. Rule is not use 0,000 but 100,000 and control the taxes posting behavior via dynamic exception.

From SAP Version 4.7 to current versions: The FTXP can be discontinued.

Reason: all this control mentioned above is handled via J1BTAX à MM Tax Codes or directly to the view J_1BTAXCODEV.

How is the MM/FI tax code related to SD at the TAXBRJ?

Answer is: the classical schema, TAXBRJ, all the tax calculation is done at the same function: J_1BCALCULATE_TAXES. And all access to this function is made via same calculation procedure, assigned to the Country Code, not the application.

Then, at the RVXBRA (TAXBRJ Schema for SD) to the tax calculation be shown, it is necessary that the calculation occurs at the TAXBRJ (MM/FI) first. To allow that, Always a SD Tax Code, from J_1BTXSDCV will have a correspondent Tax Code on MM, since the MM Tax Code is the one that trigger the calculation.

The MM Tax Codes for the SD Process are generic. There are: one for Free Trade Zone, one for Services and one for Regular Sales. Then, there is one MM tax code (J_1BTAXCODEV) for one or more SD tax code (J_1BTXSDCV).

The MM Tax Codes are defined according to the processes characteristics defined to the condition time IBRX, at SD. Been generic, the MM Tax Codes for SD Processes must be activated with generic conditions. The control of what is the tax/condition effectively calculated is made via J_1BTXSDCV.

Therefore, each MM Tax Code referred to SD must be configured one time only, and never changed. It is necessary activate all tax conditions possible for a sales process.

Example: MM Tax Code “SD” (referring to the regular sales) will have active the conditions: ICM3, IPI3, ICN3, IPS3, etc.

But in a regular sales process, using at the sales order the SD tax code C3, it will be calculated only the conditions IPI3 and ICM3.

Frequently many companies in Brazil are implementing SAP or doing roll outs on their current ERP migrating to SAP or even adding new companies to their existing SAP and etc.

There are so many details to take care that are more related to the business, if the existing process will work properly on SAP or how to handle something that company that is being rolling out is doing that the existing company on SAP does completely different.

There are also all the legal requirements already in progress such as NFe, SPED, Incoming NFe, Social SPED, FCI, Federal, State and Municipal obligations, CTe and etc.

Even with all the planning, some customers don’t think about the core of all the Brazilian Tax Calculation, the Tax Schema (TAXBRJ x TAXBRA).

Some companies doesn’t see the importance on updating their Tax Schema Calculation and they think that they will save money and time if they just don’t update to the TAXBRA and keep using TAXBRJ. This is a terrible mistake and I will tell you why: In 2005 SAP started introducing the usage of the TAXBRA recommending that new customers on new implementations use the TAXBRA instead implementing TAXBRJ and also, recommended customers start considering upgrade their tax schema.

There are several reasons why SAP recommend your company use TAXBRA: It is more robust, easy to handle and meet taxes requirements, designed to meet the MP135, ISS and WHT cumulative, but more important than that, SAP giver priority releasing standard solution to the law changes and new legal requirements released by the government frequently. Besides that, SAP will discontinue the support to the TAXBRJ sooner or later.

Soon companies will realize that saving costs and time wasn’t worth, since they will have to spend lot time adapting TAXBRJ to the new legal requirements that are not standard released by SAP. And it will be worse when the support is discontinued. Companies will have to handle taxes issues without counting on SAP support.

One other terrible mistake that companies do is not choosing the right resources for upgrading or implement TAXBRA, this happens more often with foreign countries, where they have a centralized support team that still thinks that the Tax Calculation Schema in Brazil is maintained by FICO team. This is easy to understand since Brazil is the only country in Americas where the taxes are maintained by SD and MM.

Upgrading or even implementing TAXBRA could take from 1 to 4 months usually; it depends on the size of the company, resources focused to the project, existing processes, number of different tax codes, number of pricings, taxes exceptions and etc.

Even though implementing TAXBRA is 80% on SD/MM, a perfect team for this job should consider: MM, SD, FI, CO, ABAP, BASIS and a Project Manager.

Tasks related to the TAXBRA are:

CBT activation, Configure Tax Codes, Tax Groups, Dynamic Exceptions, Tax Rates, Condition Types, Account Keys, Condition Records, Access Sequences, Condition Codes, Tax Jurisdiction, Screen Controls, Conditions Mappings, Tax Posting Strings, internal codes, Price conditions, TAXBRA/RVABRA pricing adjustments, MP135, ISS, WHT, all this maintained by MM and SD consultant, and it is always good to check CFOP, Jurisdiction Codes, Tax Laws, Tax Situations, and etc.

A FICO consultant must setup the Withholding taxes on payment (since the WHT on Invoice is maintained by MM) and must configure the taxes account determination (OB40) and the conditions relevant for CO-PA, CO-PC and etc.

The secret of success is always experienced consultants working with experienced key users from fiscal department. Tests and users acceptance tests must be done carefully and include all the different processes and situation current in use.

FI/CO/ABAP/BASIS and PM can be part time for a project like this while MM and SD must be full time assigned to this job.

Security must be checked since there are new conditions and accesses on J1BTAX that must be considered.

For general information about the SAP strategy on TAXBRA condition-based tax calculation for Brazil and SAP recommendations, refer to the note 1538088

TAXBRA additional information:

• FTXP is no longer used. Maintain existing tax codes or creating new tax codes must be done via J1BTAX only

• Conditions are activated via FV11/FV12 with amount 100%

• Maintaining J1BTAX tax tables or tax codes conditions the system generates automatically condition records for these data

• The generation of condition records occurs during maintenance of tables J_1BTX*

• Main notes: 664855, 727475, 747607, 916003, 947670

  • Using the method of Tax Calculating via condition based technique (CBT), every time a new tax group is created, it must be added in a certain access sequence, automatically by the system through the transaction J1BTAX. The same should occur whenever changes are performed in the tax groups, or even it is deleted


In the below blog, I would be highlighting the steps to make delivery texts mandatory before performing the post goods issue. I came across some threads in the forum which I have pasted below which were incomplete and did not give the complete solution. The aim of this blog is to help all functional consultants to perform this configuration without technical help.

delivery header text obligatory

Text Determination - Mandatory at Delivery Header | SCN



Design Considerations:


The solution can be achieved by making customization changes in text determination procedure and incomplete procedure as explained in the below screen shots.

1) Go to transaction code votxn, click on Delivery Header and Change as shown below


2) Select the relevant text determination procedure and the text id's in textprocedure.



3) Ensure that the relevant text is made mandatory


4) The next customization steps need to be performed in the Incomplete Procedure. Go to transaction code ova2 select the delivery header and click on fields




5) The standard incomplete procedure assigned for the header text is 50. Click on enter. For item texts the incomplete procedure assigned is 51.



6) The table FTEXT and field LTEXT are assigned to the status group 00 in standard customization



7) The status group controls the system response for incompleteness. (below two screen shots are attached). The status group is defined in the customization node Sales and Distribution-Basic Function-Log of Incomplete Items-Define Status Group





8) Click on new entries and customize a new status group. To make the texts mandatory before goods movement ensure that the check in goods movement is maintained


9) The new status group which is created can be assigned through a maintenance view V_TVUVF which is available in sm30 transaction code. Click on maintain and enter 50 which is the incomplete procedure for header text as explained earlier



10) Change the default status group from 00 to the customized status group Z1




11) Ensure that this incomplete procedure is not assigned to the delivery document.



12) In the Delivery document when the post goods issue icon is clicked, the system throws the below error as explained in the next screen shot.






13) Click on edit-incompleteness in the delivery document



14) The system prompts for the mandatory text to be entered before performing the post goods issue




Kind Regards


Working within Product support as a technical Engineer we frequently get issues with sales order not being closed whereas the status should have been completed. There are many reasons for this kind of behaviour but one of the main reasons is if sales order data is manually changed by a user or a user exit.


To check if the data has been manually changed , we decided to develop the report ZSDVBCHECK. This report checks if the data has been manually changed or else if the settings are correct according to customizing. In addition, the report checks if the billing, delivery relevance flag, the schedule line category etc. were changed manually. If this is the case, the report will display a discrepancy allowing you to pinpoint the correct point to change.



It also displays the copy control settings and sales order header and Item status.


Step 1: Enter the Sales order and Item number that you want to check



Step 2 : On the result screen you can then select what you want to see. To check if there is any data discrepancy , Select the Item and click on 'compare General Data'


Step 3: Result screen show display any data that has been manually changed.


The report is delivered through note 2166688. There are few manual steps that you will need to carry out. All the steps are attached to the note.


Please feel free to give feedback and suggestions in the comment section (No incident creation necessary).

It bothered some customers that 'Open sales orders' is not set as default in VA05.


In transaction VA05, the default selection criteria is 'All orders'. Most of the time, they select only 'Open sales orders'. But afterwards, if they decide to choose the 'organizational data' through the button for this purpose and valid it, the system change again the default selection criteria with 'All orders'. And this leads to delays at the system level. ( see screenshot below )

va05 1.PNG

va05 2.PNG

va05 1.PNG


In order to fullfill customer's requirement, they can do the following:

Call Transaction SU01 -> enter user -> enter in change mode.

On the 'Parameters' tab, add parameter '0BT' with the value 'X'. Save.

Please sign out and sign in again, the default setting in VA05 should be now that 'Open sales orders' is selected.


VA05 3.PNG

Hi SDN Gurus,

I came across below requirement from the client.

Client is in to business of manufacturing building material, where business requirement is

Order Quantity” Will be in Pieces (PCs) and “Selling Price” will be in Cubic meter (M3),

  which is nothing but Volume.

The same needs to be mapped in SAP.

While creating sale order, Customer requirement, is to have ONE Column for PCs and

ONE Column for Cubic Meter(M3)  at Item Level.

So that,while creating sale order, if Customer increases Order Quantity (PCs) for a material,

Should automatically update relevant Volume /Cubic Meter (M3) of the respective material.


  • Business requires, Order Quantity to be in Pieces (PCs) as the same requirement will be transferred to

       Production planning,to manufacture the material in pieces (PCs).

  • Sale Order price to be calculated, per Cubic meter(M3) for calculated volume of ordered quantity

        in pieces(PCs) and price not to be calculated on Pieces(PCs)

        Eg: if 20 Piece=25.5 M3, then Sale order Item price, needs to be calculated for 25.5 M3 and

                not for 20 Pieces.

Example of Material Description

Vertical Panel T200 W600 L3000 

Dimension given in above material are in Millimetre (MM),

i.e.. Thickness 200MM / Width 600MM /Length 3000mm

T = Thickness / W =Width / L =Length

Solution to be mapped in SAP

One Column for PCs and One Column for Volume / Cubic Meter (M3),while creating sale order

so that any change in Quantity ,should parallel y update respective Volume(Cubic meter(M3) for the


Price for the material to be calculated on “Volume/ Per Cubic Meter(M3)" for ordered Quantity

which is in Pieces.

Proposed Solution in Standard SAP

(A)  In Standard SAP, While creating material master record “Volume /Cubic Meter M3

      automatically calculated by giving dimension of the material.

   Create material (T.Code:MM01) "Basic Data 1" Tab , we can see VOLUME field.



Standard SAP system automatically calculate “Volume /Cubic meter (M3)”, while entering

product dimension, In “Additional Data” as shown below.


Click Additional Data,Go to Unit of Measure TAB, and scroll to the right, to enter

product dimensions in Millimetre


Enter Product dimension (Length/width/thickness in Millimetre) and Press ENTER.

System will automatically calculate Volume (i.e.) Cubic Meter (M3) of respective dimension of the material.



Calculated Volume in Cubic meter (M3) can be seen in “BASIC DATA 1” tab, as shown below


(B) Now, Sale order Price to be calculated based on Volume in M3 for the respective material and

     for calculated Volume for ordered quantity in pieces(PCs)


     To Calculate, Price based on Volume, do the settings in calculation type for respective

     Price condition type (Eg: ZPR0), as below.

     T.Code : V/06




    Create Sale Order (T.Code :VA01)




  To have volume and Volume Unit, scroll to the right as highlighted above,


  drag VOLUME and VOLUME UNIT, and SAVE it as a Variant as shown below.




  Above screen shot displays, Volume and Volume unit in Cubic meter (M3) for one Piece (PC)


  If we increase Order quantity (Piece), system parallel y updates the relevant volume, as shown below.



   Now,while entering Price for the material, system needs to calculate Price per Cubic meter (M3),

    for calculated volume for the ordered quantity in Pieces (PCs).



   Entering Price with “ZPR0” Condition type


Double clicking condition type “ZPR0” to see calculation details




As explained above, user requirement had been mapped in standard.



Note: This is the first document im posting, looking forward for valuable feedback.






Due to the many component cross-overs within SD Sales transactions, there exists a common problem with the correct classification of component area. To ensure a more timely and efficient collaboration with SAP, it is essential that all new issues are directed to the most knowledgeable and experienced Engineer.


To clarify that the incident being reported is directed to the most responsible team, please follow the guidelines outlined in my recent Knowledge Based Article:

This blog is in continuation to my previous blog Seller-Price, Buyer-Cost, Profitability. Where I implied we shouldn't have a notion that business not always think of "cost plus pricing". Pricing itself is big subject as like cost. In this blogs, I will dig more into understand & need of effective pricing and profitability management.


Lets look at an example, where a particular brand charges premium being cult in nature. Or.a new niche technology smart wearable "costs" $250, wherein market it is "priced" at $2500.


So, where cost plus pricing went? Why $2500? Does system or business consider cost plus pricing? As technology is new and manufacturer is looking for premier customer and accordingly priced that at premium. Once that premier customer segment is near to saturation, they will have the revise the price to preach into new customer segment. The same happened to desktops, laptops, smartphones, smart-watches, automobile, bikes to name a few.


Even though we have example around us as mentioned above. But still, every business is always under continual pressure to increase profits for shareholders and satisfying continuous demand from customers for effective price. But, out of all the parameters available to a business to produce those increases or control. Which is the most effective?  Which of these parameters hasn't already been tapped out?


According to the McKinsey & Co study, "a 1% increase in realized price delivers the greatest improvement – a healthy 10% increase in operating profits. Despite this power, few businesses have effectively taken advantage of pricing to improve profits."


In this competitive business era, achieving profits through sales growth is hard-fought and hard-won.  Equally the stress to deliver continues bottom-line growth remains.

Then question arises, "Why is business unable to leverage pricing effectively to drive profits?"


Generally, pricing is often treated/considered as a simple & a point problem. When, it is in fact a highly-complex enterprise-wide problem.

Processing of pricing spread across the organization, functional areas like marketing, sales & finance and different roles like executives, sales reps & managers.  In complex large businesses, pricing may be processes based on the product line.  All these issues make it hard to foresee effective pricing across all business function. If we run through lead-to-cash cycle, this is one of the critical factors and required at several stages of that process cycle.



Fig. - Pricing in Lead to Cash Cycle


Even in one the McKinsey & Co report on new economy has given pricing one of the top priorities for any business to deal with. Even most of the marketers  would agree that pricing is one the 4 P’s of marketing for seller, which produces revenue and is part of tactical marketing in value –delivery process.


Sellers_ 4Ps_of_Marketing.JPG

Fig. “Sellers 4 P’s of Marketing”(Source: Adopted from Marketing Management by Kotler)


Where, 3 of the 4 P’s of marketing Product, Place (distribution) & Promotion create value. In compare to those, pricing harvest values. Therefore, during strategy proposal, business works to achieve the lowest production and distribution costs so that it can price lower than competitors and win more market share. The problem is the competition may emerge with further lower costs, derail your strategy.


In fact,

Seller’s Price Customer’s Cost

Various business challenges like continuous innovation, global price pressure and product liability where businesses must overcome in order to grow, compete and perform in line with stakeholder’s expectations. So, if pricing is not handled professionally or effectively, this can became a nightmare for any business.


If we look at profit and loss statement of any business, pricing decision will effect on “revenue” and subsequently on other. Whereas cost will be derived out of cost of goods sold and operating expenses.



Fig. Profit & Loss Statement


But, very often there is confusion in the understanding of the difference between price and cost that I even mention in previous post.


Some say,

“If a business increases the cost, the profits will rise".


"If the business wants to increase its profits, it could increase its costs and hope to sell more"


Well, price refers to the amount of money that consumers have to give up to acquire a product or service. That amount reflects in Revenue section of the income statement.


Apart from misunderstanding between cost & pricing, there are some other challenges which business faces are in form of profit leakage.


Profit leakage can be referred as the amount of money that reduces your business profitability that is not genuine expenditure. It can be the result of one or many operating inefficiencies. Failure to control such leakages can divert profits away from your business. Example, for forms of profit leakages are direct sales commissions, installation costs and other expenses taken directly off the selling price factors that reduce your gross profit.


This implies without proper understanding on pricing & control profit leakage, a business can’t have vision for future.


In next blogs, I will dig more into how and what we have that can effectively manage pricing and profitability.

Let me start this blog with a question.


"How a seller view price or cost?"

"Can a seller practically derive at effective Profitability by only considering cost?"


If we are taking the opinion of the buyer, pricing would not be an issue. Buyers or consumers will typically use the terms price and cost synonymously. For instance, a purchase manager could tell to its counterpart, “The price of that Mountain Bike was only $250.” Or it could be just as easily say, “That Mountain Bike cost us only $250.”


However, from the opinion of the seller/vendor, the difference between prices and costs is quite important. A price is what a business charges, and a cost is what a business pays. Therefore, for a Store Manager may set a price of $250.00 for a Mountain Bike, may price a pair of Brake Calipers for $40.00, or may sell Disc Brake Caliper at the price of $25 per piece. But, in all situations the manager must also focus to his costs. These costs include, what he pays the manufacturer per set of disc brake, what he pays employees to stock spares on the shelves or to sell them, what he pays for rent, for display and lights, for advertising, and so on and so forth.


For effective profitability, pricing and profitability management is essential. Where, pricing and profitability management is a systematic, yet dynamic approach of recognizing the influence of pricing on revenue & margin and managed tactically over time to ensure reasonable prices for the value your businesses creates.


Accordingly based on better pricing and profitability management business can manage price negotiation effectively have better control in true profitability.


Hence, for seller/vendor, although a "price" may go by many names or unit of measure. One name it should not go by is "cost".


In subsequent blogs, I will dig more into need and way of effective pricing and profitability management.


First in the sequel we have Without a proper understanding on pricing, can business have vision for future?



  • At the main item it's impossible to change the plant.
  • In the sub item of sales BOM it's possible to change plant.



Check in the customizing:



  1. Call transaction: VOV7 - item category





2. Check field: Structure scope (TVAP-STRUM) in case of BOM item




How do I find out why the plant in case of BOM is set to not ready for input?


Way to find out which group the field was assigned to:


1.  Call up program MV45AFFE_FELDAUSWAHL_STATUS and find the DA_REGEL for the field to be checked. In this case for field VBAP-WERKS.



2.  Which group (DA_REGEL) does the field VBAP-WERKS (item plant) belong to? -> DA_REGEL = 'WERKS' that is, the item category belongs to group WERKS.


3.  Check where the group/rule WERKS is processed.


4.  Program MV45AFFE_FELDAUSWAHL_STATUS also checks the processing of the group and decides whether a field is ready for input or not. The relevant  part of the source code starts with:

case da_regel.




5.  Now you have to find the WHEN loop in which the required group/rule is processed.


In our example with the DA_REGEL = WERKS, you  find the relevant source code in the following part:

when 'WERKS'.
  perform feldauswahl_vbap-werks changing sy-subrc.
  if sy-subrc > 0.
    screen-input = 0.




6.  Go to PERFORM feldauswahl_vbap-werks




Check issue after putting the breakpoint directly in sales order:




1.  Call transaction VA02 (change sales order) ->  PERFORM feldauswahl_vbap-werks and check following fields:


  • screen-name
  • screen-input
  • ch_subrc



After program MV45AFFE_FELDAUSWAHL_STATUS is run, you receive an exact list of the checked fields in table SCREEN with the indicator (field name SCREEN-INPUT) whether the field is ready for input (1) or not ready for input (0).





2. Go further with F5 to PERFORM feldauswahl_setzen



Cause and explanation:


Using BOMs (in TVAP-STRUM = A or B for main item category) it is not allowed to change the plant of the main item afterwards, because the BOM is defined plant dependent. If the plant would be changed on main item level after BOM explosion, it could come to inconsistencies in the system. The already created items would not fit any more to the definition of the BOM and the materials could be different in another plant.


Due to this, changing the plant on the main item is not allowed. But you can still change the plant of the sub items, because the composition of the BOM  would not change due to this. Single sub items can be taken from different plants.




Reference notes:



208245 - Availability of fields in sales orders



393798 - Plant changeable in spite of order BOM



901048 - Change of plant for configuration and bills of material

I am sharing my experience in dealing with many inconsistent issues, number range issues,
express document/update fails.

Sometimes user may come across a temporary or inconsistent short dump while executing a process step or a particular transaction.

These inconsistent issues impact completion of activity (can be test /support/implementation activity)

Below method supports to analyze such issues at an earlier stage &resolve the issue wherever possible at users end itself.


~ Detailed analysis of short dumps or runtime errors using transaction ‘ST22’ helps
in understanding & resolving the root cause of the issue by highlighting
problem triggering code line, tables & fields.

~ Based on the information available on short dump trigger point, user can navigate to the
relevant tables & find the reason for inconsistency.

~ If available, perform necessary customizing settings to rectify the issue.


There are two kind of inconsistent issues I have seen:

  1. Issues which triggers dumps in ST22
  2. Issues without triggering dump in ST22

Example: where dump is triggered in ST22

Delivery number not being updated at table level


In given example, user is trying to create a delivery in transaction ‘VL01NO’.
After entering all necessary data when user saves the delivery document,   a delivery number is assigned based on
number range configuration & a success message appears with delivery






  However, in this particular example, on exiting the transaction a ‘Express information’ message appears with information “Update was terminated” which indicates that though a delivery number has been assigned to earlier transaction still the delivery doesn’t exist & the database is not updated with delivery information.





To analyze the issue, click on Inbox button, which navigates you to Business Workplace Inbox.  Look up the latest document with subject ‘Update was terminated’ & check the details relevant to update termination.



For detail analysis of the issue, run transaction ST22, select today’s dump & search
appropriate dump based on user name. Go to the Source code Extract:







As highlighted, choose the code line which triggered short dump. In this example,
the problem is occurring at the insert statement. You can discuss this with
your abaper too from here.



Based on the table information at problem triggering statement, check table VBPA, which stores the value with sales document number & partner function. In data browser, check the table entries for sales documents as highlighted.





The delivery document number which was assigned in earlier transaction & following
numbers are already available in database. This indicates, there was a duplicate insert happening in this transaction at database leading to generate a short dump/update termination message.



This clearly directs to the root cause of issue to be a customization issue having a wrong
number range customizing set up for the delivery document. Based on delivery type customizing, choose appropriate number range & update the number range status to most latest available number.





After correcting number range customizing for delivery, repeat steps for delivery
creation with same data. User will be able to create delivery documents successfully;
the delivery number will be updated in table VBPA.






The new Delivery has been created & saved in the table.



Final vBPA.png





Example 2: when there is no dump in ST22


Change Pointer ID already Exist


In given example, user is trying to create a MPO (material Planning Object) in transaction ‘/ISDFPS/MPO’. After entering all necessary data when users save the document and exit the transaction. The termination pop up appears.







User does not find a log in ST22 as there is no short dump generated. In this case user
should check the SM21 (System logs).Double click on the system log and check the details for fail.





Navigate to transaction SM13 for more details

To find out the details of update termination, check SM13 (Update Requests)











Solution to correct this:  after searching with “Material_Write _Document” update fail, I
found a note: 1700295 which solved the issue.


Check the Number range for change pointers in transaction BDCP

The reason for update termination: Write Operation is failed. We can search with these search terms for Notes.

Similar sort of issue was occurring in transaction VK11 & it’s been solved in following discussion








Filter Blog

By author:
By date:
By tag: