Search The SAP Consultant

Saturday, November 20, 2010

Dual control on GL postings

On this post I would like to share a simple solution that would enable the companies to implement dual control on journal postings. In other words this solution would make sure that two users are involved on each journal posting where one person parks the document and another one posts it. Unlike the traditional authorization based solutions, none of the users are restricted at the transaction code level. This is how the solution works.

1. First user parks the document using FB50. If the user attempts to post, system throws an error message.
2. Second user posts the document using FBV0. If the second user attempts to post his own-parked document, system throws an error message.

Now lets see how this solution is implemented.

Step 1

Create a validation rule at complete document level with userexit.


Step 2

Implement the following logic in the validation userexit.


FORM us007 USING b_result.

* Enhancement by Shathees Loganathan.

select single * from VBKPF where BELNR = BKPF-BELNR and BUKRS= BKPF-BUKRS and BSTAT = 'V'.

if sy-subrc = 0.

if VBKPF-USNAM = SYST-UNAME.

Message e019(ZLF01).

b_result = B_FALSE.

endif.

else.

Message e018(ZLF01).

b_result = B_FALSE.

endif.

ENDFORM.

Now lets see how would this affect the journal entries.

Step 1

First user parks the document using FB50. If the user tries to post the document, the following error message is shown.

First user parks the document.

Second user posts the document using FBV0. If the second user tries to post a document parked by him, the following message is shown.

If the second user posts a document parked by another user, system allows the document to be posted.

This solution could be further enhanced. For example we could allow certain managers to post the document directly through an exception process or we can implement this dual control to certain GL accounts or document types.

Hope this is useful. See you all next time.

Wednesday, November 10, 2010

Dispute management (Chargeback)

Today I’m going to talk about the dispute management module delivered by SAP under financial supply chain management solution. Typically when the dispute management module is not implemented, users would store key information related to disputes or chargeback on the accounting document line item text on the residual items (Or some where on the accounting document).

When the dispute management module is implemented, one of the key requirements would be to copy this information to the Notes on dispute cases. Using the following solution, this can be easily implemented.

Step 1

Implement the BADI ZFDM_AR_DEF_NOTE.

Step 2

Implement the code shown below in the method GET_DEFAULT_NOTE

Data : wa_note type TLINE,

wa_bseg type bseg.

select single * from bseg into wa_bseg where belnr = I_DISPUTE_DATA-BELNR_AKT and GJAHR = I_DISPUTE_DATA-GJAHR_AKT

and BUZEI = I_DISPUTE_DATA-BUZEI_AKT.

if sy-subrc = 0.

append initial line to c_note.

loop at c_note into wa_note.

wa_note-TDLINE = wa_bseg-SGTXT.

MODIFY c_note INDEX sy-tabix FROM wa_note

TRANSPORTING TDLINE.

endloop.

endif.

endmethod.

Now when the disputes are created using the transaction code FDM_AUTO_CREATE, Line items text would automatically be added to the dispute notes.

Hope this helps. See you next time.