2006 May 08 10:51 AM
Hi friends
I need to use the FM MRM_PARKED_INVOICE_POST and i don't know how to use it.
Can you help me? What tables do i have to use to fill the parameters?
Best Regards
2006 May 08 11:04 AM
2006 May 08 11:13 AM
Hai Pedro
Check the following Code
Data : i_rbkpv TYPE mrm_rbkpv,
ti_drseg TYPE mmcr_tdrseg,
i_editor TYPE REF TO c_textedit_control,
f_mrm_zlspr TYPE mrm_zlspr.
CALL FUNCTION 'MRM_PARKED_INVOICE_POST'
EXPORTING
i_rbkpv = i_rbkpv
ti_drseg = ti_drseg
i_editor = i_editor
IMPORTING
e_mrm_zlspr = f_mrm_zlspr
EXCEPTIONS
OTHERS = 02.
Check with the SAp Standard Program 'LMR1MF76'.
Thanks & regards
Sreenivasulu P
Message was edited by: Sreenivasulu Ponnadi
2006 May 08 11:24 AM
Hi Pedro,
Look my relevant code, it worked fine for me:
*======================================================================*
* --- Post Invoices ---
*======================================================================*
METHOD post_invoices.
DATA:
lwa_zmm_rbkp_p TYPE zmm_rbkp,
lwa_return_commit TYPE bapiret2,
lwa_log_p TYPE ty_s_log,
lv_wi_id TYPE zfi_inquiries-wi_id,
lwa_zmm_rbco TYPE zmm_rbco,
lwa_drseg TYPE mmcr_drseg,
lwa_actions TYPE zfi_s_actions,
lv_inquiry_id TYPE zfi_inquiries-inquiry_id,
lv_inquiry_pos TYPE zfi_inquiries-inquiry_pos,
* For function module SGOS_NOTE_CREATE
lwa_isobject TYPE borident,
lv_istitle TYPE sood-objdes,
lv_epnote TYPE borident-objkey,
lwa_content TYPE soli,
lit_content TYPE TABLE OF soli,
* Local variables for Invoice items
lv_kokrs TYPE tka02-kokrs,
* Last inquiry
lv_last_inquiry_id TYPE zfi_inquiries-inquiry_id,
lv_last_inquiry_pos TYPE zfi_inquiries-inquiry_pos,
* Document item in invoice document
lv_rblgp TYPE drseg-rblgp,
* Return code
lv_subrc TYPE sy-subrc.
* =====================================================================================
LOOP AT lit_zmm_rbkp_p INTO lwa_zmm_rbkp_p.
CLEAR lv_rblgp.
* --> G E T RBKPV/DRSEG
CALL FUNCTION 'MRM_INVOICE_READ'
EXPORTING
i_belnr = lwa_zmm_rbkp_p-mm_belnr
i_gjahr = lwa_zmm_rbkp_p-gjahr
i_xselk = c_flagged
i_buffer_on = c_flagged
IMPORTING
e_rbkpv = lwa_rbkpv
TABLES
t_drseg = lit_drseg
EXCEPTIONS
error_message = 1.
IF sy-subrc <> 0.
* Collect message from system variables
lwa_log_p-belnr = lwa_zmm_rbkp_p-mm_belnr.
lwa_log_p-gjahr = lwa_zmm_rbkp_p-gjahr.
lwa_log_p-msgty = sy-msgty.
lwa_log_p-msgid = sy-msgid.
lwa_log_p-msgno = sy-msgno.
lwa_log_p-msgv1 = sy-msgv1.
lwa_log_p-msgv2 = sy-msgv2.
lwa_log_p-msgv3 = sy-msgv3.
lwa_log_p-msgv4 = sy-msgv4.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO lwa_log_p-message.
APPEND lwa_log_p TO e_it_log_p.
CLEAR lwa_log_p.
* RETURN.
EXIT.
ENDIF.
* ---> Posting date
lcl_main=>check_posting_date( EXPORTING i_bukrs = lwa_rbkpv-bukrs
CHANGING c_budat = lwa_rbkpv-budat ).
* ---> Baseline date
IF lwa_rbkpv-zfbdt IS INITIAL.
lwa_rbkpv-zfbdt = lwa_rbkpv-bldat. " Document date
ENDIF.
* For the item number generation
lv_rblgp = LINES( lit_drseg ).
* --> Add entries to lit_drseg from ZMM_RBCO
* Controlling Area
SELECT SINGLE kokrs
FROM tka02
INTO lv_kokrs
WHERE bukrs = lwa_rbkpv-bukrs.
LOOP AT lit_zmm_rbco INTO lwa_zmm_rbco.
lwa_drseg-belnr = lwa_zmm_rbco-mm_belnr.
lwa_drseg-gjahr = lwa_zmm_rbco-gjahr.
lwa_drseg-buzei = c_buzei_zero.
lwa_drseg-saknr = lwa_zmm_rbco-hkont.
lwa_drseg-shkzg = lwa_zmm_rbco-shkzg.
lwa_drseg-wrbtr = lwa_zmm_rbco-wrbtr.
lwa_drseg-kostl = lwa_zmm_rbco-kostl.
lwa_drseg-aufnr = lwa_zmm_rbco-aufnr.
lwa_drseg-nplnr = lwa_zmm_rbco-nplnr.
lwa_drseg-vornr = lwa_zmm_rbco-vornr.
lwa_drseg-sgtxt = lwa_zmm_rbco-sgtxt.
lwa_drseg-pernr = lwa_zmm_rbco-pernr.
* lwa_drseg-waers = lwa_rbkpv-waers.
lwa_drseg-kokrs = lv_kokrs.
IF lwa_zmm_rbco-mwskz IS INITIAL.
lwa_drseg-mwskz = lwa_rbkpv-mwskz1.
ELSE.
lwa_drseg-mwskz = lwa_zmm_rbco-mwskz.
ENDIF.
lwa_drseg-bukrs = lwa_rbkpv-bukrs.
lwa_drseg-selkz = c_flagged.
* \ Generate item number
lwa_drseg-rblgp = lv_rblgp + 1.
* // Generate item number
lwa_drseg-koart = c_koart_gl.
* Profit center, business area from cost center
SELECT SINGLE gsber prctr
FROM csks
INTO (lwa_drseg-gsber, lwa_drseg-prctr)
WHERE kokrs = lv_kokrs
AND kostl = lwa_zmm_rbco-kostl
AND datbi >= lwa_rbkpv-budat
AND datab <= lwa_rbkpv-budat.
APPEND lwa_drseg TO lit_drseg.
CLEAR lwa_drseg.
ENDLOOP.
CLEAR lv_subrc.
* --> P O S T INVOICE -------------------------------------------------
CALL FUNCTION 'MRM_PARKED_INVOICE_POST'
EXPORTING
i_rbkpv = lwa_rbkpv
ti_drseg = lit_drseg
* I_EDITOR =
* IMPORTING
* E_MRM_ZLSPR =
EXCEPTIONS
error_message = 1.
lv_subrc = sy-subrc.
IF sy-subrc <> 0. " POST FAILED
ROLLBACK WORK.
* Collect message from system variables
lwa_log_p-belnr = lwa_zmm_rbkp_p-mm_belnr.
lwa_log_p-gjahr = lwa_zmm_rbkp_p-gjahr.
lwa_log_p-msgty = sy-msgty.
lwa_log_p-msgid = sy-msgid.
lwa_log_p-msgno = sy-msgno.
lwa_log_p-msgv1 = sy-msgv1.
lwa_log_p-msgv2 = sy-msgv2.
lwa_log_p-msgv3 = sy-msgv3.
lwa_log_p-msgv4 = sy-msgv4.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
INTO lwa_log_p-message.
APPEND lwa_log_p TO e_it_log_p.
CLEAR lwa_log_p.
......
2024 Feb 15 11:32 PM
Hi Peter, do you have a complete solution? The code snapshot you have provided, doesn't cover full functionality. What is the conditions for Z table Data?
I have a similar requirement. Appreciate if you could share more information.