Movement type restriction to Non-Valuated materials
Abstract –
- In a custom development there was a requirement to move non-valuated material from one plant to another plant within company code. This was using movement type which should be copy of standard 301 movement type.
- This movement type should be restricted to only non-valuated materials.
- If any user tries to post any transaction for valuated material using this movement type then system should not allow posting the transaction.
- Other restrictions from SOX compliance.
Useful for – SD, PP, MM, WM, FI/CO
BACKGROUND/ BUSINESS PROCESS
- During a custom development it was required to transfer material from one plant to other plant. Restriction was to use clone of movement type 301 but it should not allow transferring valuated material. It should transfer only non-valuated material.
- If any users manually try to post material transfer for valuated material system should stop while posting the transaction.
CHALLENGES
- Within configuration settings it is not possible to restrict a movement type for only non-valuated materials
- Custom transaction is using this movement type through BAPI for transfer posting
- No any user using this movement type for manual posting. So movement type not added in any role
- Tried logic of creating custom transaction code e.g. ZMB1B (copy of MB1B) that can be assigned in movement type configuration by removing all other “Allowed transaction codes”. Not assigned this custom transaction to any role (So that no any user can manually post the transaction). And then assigning this custom transaction to custom development. But it did not work because this transaction ZMB1B was referring standard program and posting movement for valuated material also.
SOLUTION
- Created custom movement types Z31 and Z32 which is copy of 301 and 302 respectively in development client.
- Deleted all “Value update” entries from table T156SC and kept only “Qty. update” entries for movement type Z31 and Z32 in development client.
- Deleted all “Value string” entries from table T156X. After deleting these entries from table T156SC and T156X it shows changes in configuration.
- Once “Value update” and “Value string” entries deleted from table and try to post transaction manually for valuated material system shows value update error.
- As we are deleting entries from configuration table. So we need to delete entries from each client and in production it is not advisable to delete entries from configuration table. So copied these movement types Z31 and Z32 into ZT1 and ZT2 in development client. Finally we have ZT1 and ZT2 with already deleted “Value string” and “Value update” entries in configuration. And then moved forward these movement types ZT1 and ZT2 to quality and production client. So that there won’t be any table entries deletion required.
- Deleted “Value update” entries.
- Deleted “Value string” entries.
Conclusion
If there is a requirement to restrict any movement type for only non-valuated material then we can restrict it by making changes in configuration tables.
Its good Sagar, but I have 1 question, you might defined an exclusive material type for non valuated materials, and you would have controlled at material type level in ZMB1B, by triggering z error message for other material types.
R,
Amala
Nice observation Amala...
It was not about material type but about movement type. Requirement came from SOX team and they don't want anyone in the business try movement type used in program should try manually.
If we create a exclusive material type and control by ZMB1B still we need to transfer it through 301 to other plant. And this is what business don't want.
Thanks,
Sagar
Good Doc.
Bisweswar