cancel
Showing results for 
Search instead for 
Did you mean: 

Payment Block using Transaction Code MIRO

Former Member
0 Kudos

Hi Expert,

Just want to seek your help regarding my issue in Payment block using tcode MIRO. When I enter an Incoming Invoice and post the Purchase Order thru "SIMULATE" button the payment block appeared is block "R" but when I post it directly ("SAVE" button) payment block appeared is block "D" which is the correct one. I've already change the user-exit in the program used but I end up to affect the other payment block. Can you please help me on this issue? Your help is very much appreaciated.

Thanks so much.

Regards,

Anna

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi ,

can you check the BADI "MRM_PAYMENT_TERMS" and its documentation.

regards

Prabhu

former_member182040
Active Contributor
0 Kudos

you can use ENHANCEMENT in fm : MRM_INVOICE_POST

Program SAPLMRMP

include LMRMPU01

fm MRM_INVOICE_POST

ENHANCEMENT-POINT mrm_invoice_post_05 SPOTS es_saplmrmp.

Former Member
0 Kudos

Hi Expert,

I really need your insights regarding my concerns/issues above. Thanks so much in advance for your help.

Regards,

-Anna

Edited by: ascapilos on Dec 21, 2011 9:26 AM

nabheetscn
Active Contributor
0 Kudos

CAn you please explain in detail what is the requirement..?These blocks are usually handled via config. What is the purpose of user exit here pleazse explain.

Nabheet

Former Member
0 Kudos

Hi Nabheet,

The requirements here is that once the user click the 'SIMULATE' button in TCODE MIRO he/she wants to get the block that also appeared in clicking the 'SAVE/POST' button. But what happened here is that upon posting/clicking 'SIMULATE' button, the invoice/payment block is different in posting/clicking 'SAVE/POST' button which is the correct one. User-exit here is where the logic of invoice blocking is declared. Here is the user-exit used: SAPLMR1M - MRM_INVOICE_POST - USER_EXIT_010 - ZFI016. Thanks in advance for your help.

Regards,

-Anna

nabheetscn
Active Contributor
0 Kudos

I think for simulate please check with functional for config or search for another user exit. The use exit which you have implemented will trigger only when we post the invoice right

Nabheet

Former Member
0 Kudos

Hi Nabheet,

The field of Payment Block will populated when the codes pass thru on the said user-exit.

Thanks so much.

Regards,

-Anna

Former Member
0 Kudos

Hi Expert,

I badly needed your help.

Thanks so much.

Regards,

-Anna

nabheetscn
Active Contributor
0 Kudos

Hi Anna

do one thing once you click on simulate button please debuig and check where the code is setting the value of block. If you can tell me the details of it then we can look for various options of enhancement spot or implicit enhancements etc.

Nabheet

Former Member
0 Kudos

Hi Nabheet,

As per debugging MIRO upon clicking the SIMULATE button, the code that validates the blocking is in Call Function 'MRM_INVOICE_POST' inside user_exit_010. Kindly see codes below.

For D block.

IF l_block_set IS INITIAL. "LRD080701

p_t_drseg-spgrq = 'X'. "DMO021302

MODIFY p_t_drseg TRANSPORTING spgrq. "LRD080701 "DMO021302

  • p_rbkpv-zlspr = 'A'. "JJK080602

p_rbkpv-zlspr = 'D'. "JJK080602

READ TABLE xaccit INDEX 1. "LRD022305

  • IF xaccit-zlspr IS INITIAL. "LRD022305 "MTS051905

xaccit-zlspr = p_rbkpv-zlspr. "LRD022305

MODIFY xaccit INDEX 1. "LRD022305

  • ENDIF. "MTS051905

ENDIF. "LRD080701

Thanks so much for your response.

Regards,

-Anna

nabheetscn
Active Contributor
0 Kudos

So that means your code is triggered and block is set in this exit but it gets changed after that..correct me if my understanding is wrong..?

If this is the case than that means this is not the right point where block has to be set in case of simulation. What you can do is after this point try to change its value at some other point and see where does the changes take effect.

Nabheet

Former Member
0 Kudos

Yes, your correct. The block is set and triggered on the codes above and gets changed after that. The changes of block takes effect when the xaccit table was CLEARED, but I will not be able to change that as it is in the Standard codes.

-Anna

nabheetscn
Active Contributor
0 Kudos

Can you please paste the place like some sub routine etc...may be can influence it using implicit enhancements.. Please paste the standard code lines.

Nabehet

Former Member
0 Kudos

Kindly see below codes where in the internal table XACCIT was cleared. Before the clearing, the block is 'D' but its changed when it was cleared.

CLEAR:

rbkpv,

saldo_fw,

t_currencies,

t_konv_a,

t_konv_n,

xaccbset,

xacchd,

xaccit,

xaccit_ext,

xaccit_wt,

xaccvs.

When the said table cleared, it will pass thru on the codes below and change the block.

CHECK sy-subrc EQ 0.

e_mrm_zlspr = c_mrm_zlspr_a.

READ TABLE t_accit INDEX 1.

*--- Bei manuell eingegebener Zahlsperre bleibt diese unverändert -


*

IF t_accit-zlspr IS INITIAL.

t_accit-zlspr = 'R'.

MODIFY t_accit INDEX 1.

Thanks.

-Anna

Edited by: ascapilos on Jan 3, 2012 12:50 PM

nabheetscn
Active Contributor
0 Kudos

Hi Anna

As you have already modified the blog in RSEG table after the function module is executed (Press F7) and see where does this RBKP and RSEG value get lost.

Unfortunately i am not able to simulate the thing on my system that is why i can give pointer for the same.

Seondly check with your functional also for config that whether simulation block can be handled via config or not

Nabheet