cancel
Showing results for 
Search instead for 
Did you mean: 

Negative postings to MVER table

Former Member
0 Kudos

Dear SAP guru's,

I am trying to simulatie the MVER table trough the MSEG material movements. I've accomplished 95% accuracy through the use of T156-KZVBU en MSEG-KZVBR fields. I'm still missing the posting of some material movement.

For example the following line:

MSEG-MENGE=500

MSEG-BWART=602

MSEG-SHKZG=S

MSEG-KZVBR=V

T156-SHKZG=S

T156-KZVBU=G

This has been posted as negative consumption (-500) in MVER. Although it is adding stock (S) this usually gets posted as positive consumption (like a 101 movement with KZVBR=V).

What am I missing? Which fields are used to further determine the consumption posting to MVER?

With kind regards,

Nanne Sluis

Accepted Solutions (0)

Answers (1)

Answers (1)

hnmuralidhara
Active Contributor
0 Kudos

Hi,

Check movement type as relevant for the consumption posting (field T156-KZVBU) in Customizing transaction OMJJ.

You must set the consumption posting, but you must also set the relevant quantity string accordingly. The field is called "+/- sign for consumption update in material master record" and the technical name is T156M-KZVBL.

Check the MSEG-BUSTM field in a relevant material document that contains the quantity string, with which the material document was posted. Then check this quantity string in the in the KZVBL field of the T156M table. If this field is empty, the system does not update the consumption.

You can use the V_156M maintenance view to change the contents of the field, but if you do so, keep the following in mind:

(a) The change is considered a modification and SAP does not assume any responsibility.

(b) A quantity string is generally used with several movement types, a change means that consumption is also updated for these and you may not want this to happen.

If the changes you made have the desired effect, you can use the ZMVERBRP report to rebuild the MVER table from SAP Note 791728.

If you want to implement above report, create a customer message through SAP Service Marketplace.

Bye,

Muralidhara

Former Member
0 Kudos

Thanks for your detailed answer. It solved most of my problem. I still don't have a 100% accuracy when checking my results against the MVER table.

One of my problems seems to be the selectie of the T156M-KZVBL fields. I linked the ZUSTD field to MSEG-ZUSTD, which seems always empty. But with version should I use, which value for CNT02 is the right one?

Former Member
0 Kudos

Hallo Nanne Sluis,

did you solve the problem around CNT02? And are you sure that MSEG-ZUSTD must be linked to T156M-ZUSTD? I found another field called MSEG-ZUSTD_T156M whicht really looks like a good candidate to be linked to T156M-ZUSTD.

Regards

Andreas

Former Member
0 Kudos

I agree, Andreas, it looks to me that MSEG-ZUSTD_T156M is the corresponding field.

However, I am also struggling with the CNT02 field in T156M.

Any ideas on how this is linked together?

Regards,

Sebastian

Former Member
0 Kudos

If it helps somebody, I wrote a little tutorial, documenting my research (no guarantees on completeness; and feedback welcome):

How does MSEG-INSMK work, or better: How are the different stock types being updated in MARD/MARDH/MCHB/MCHBH/u2026

According to SAP note 368259, MSEG-INSMK cannot be used to determine which stock type fields in history tables are getting updated by the MSEG row. Hence, we investigated the approach on how stock type quantities are getting updated:

Required SAP tables:

- MSEG

- MKPF

- T156M

- T156F

Maybe required:

- T156SC

- T156SY

- T156W

- T156X

The following tables need to be considered and joined accordingly:

Example:

The following tables/fields need to be joined together to retrieve the information which history table fields of stock types are getting updated based on which material movement. Beware that multiple fields can get updated within one transaction; hence the joins can multiply rows. It makes sense to first create a table of T156M / T156F values and pivot it. Afterwards it can be used within the material movements flow:

1. Table MSEG (Document Segment: Material): Starting point

MSEG-BWART = 555 (GI scrapping blocked)

MSEG-SHKZG = H (Credit posting)

MSEG-SOBKZ = u2018u2019 (no special stock)

MSEG-BUSTM= u2019MS01u2019 (Posting string for quantities)

MSEG-ZUSTD_T156M= u2018u2019 (Stock Type Modification (Read from Table T156M))

2. Table T156M (Posting String: Quantity): Result after Join

T156M-BUSTM=u2019MS01u2019 (Posting string for quantities)

T156M-ZUSTD=u2019u2019 (Stock type modification)

T156M-CNT02=u201801u2018 (Consecutive counter in ATAB tables for inventory management)

T156M-SMARD=u2018LS1u2018 (Segment string) Updating table MARD

T156M-SMCHB=u2018CD1u2018 (Segment string)  Updating table MCHB if batches are used

3. Table T156F (Fields in Quantity String): Result after Join

T156F-SEGST=u2018LS1u2018 (Segment string)

T156F-CNT02=u201801u2018 (Consecutive counter in ATAB tables for inventory management)

T156F-FELDV=u2019MARD-SPEMEu2018  shows the updated history table field

The following fields need to be joined, basically:

MSEG inner join T156M ON

MSEG.BUSTM=T156M.BUSTM

and MSEG.ZUSTD_T156M=T156M.ZUSTD

T156M inner join T156F ON

T156M.SMARD=T156F.SEGST

T156M.CNT02=T156F.CNT02

Additional Information:

MSEG-BUSTM (Posting string for quantities)

Key for the automatic determination of the stock fields that:

u2022 Have to be checked when a goods movement is entered (availability check)

u2022 Are updated following a goods movement.

T156M-ZUSTD (Stock type modification)

Serves to differentiate between quantity updates carried out for the various stock types.