Application Development Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 

ME41 create - create RFQ - BAPI - Userexit

0 Kudos

Hello experts,

I'm was trying to find a BAPI to create a request for quotation (RFQ).

I read the thread [;, so there seams to be no BAPI.

For that reason I tried to solve the problem with batch input. It created a RFQ. But in further steps the transaction normally loops throught a amount of suppliers, the RFQ is directed to.

CLEAR ls_bdc_data.
ls_bdc_data-fnam = 'BDC_OKCODE'.
ls_bdc_data-fval = '/00'.
APPEND ls_bdc_data TO lt_bdc_data.

ls_ctu_params-racommit = ''.
ls_ctu_params-nobinpt = 'X'.
ls_ctu_params-dismode = 'E'.
* ls_ctu_params-updmode = 'S'.
ls_ctu_params-nobiend = 'X'.

CALL TRANSACTION 'ME41' USING lt_bdc_data OPTIONS FROM ls_ctu_params.

Does anybody have an idea.

Best regards,

Andi

1 REPLY 1

0 Kudos

Hi,

I found the problem. The ME41 uses a COMMIT WORK in MM06EF0B_BUCHEN.


* docu: process COMMIT WORK
* function module, ME41 and ME59 sometimes using COMMIT AND WAIT
  IF no_commit IS INITIAL.             "for FM w/o COMMIT possible
    IF commit_wait IS INITIAL AND sy-tcode NE 'ME41'
      AND NOT ( ( fc_vorga EQ cva_ab OR NOT gf_me59n IS INITIAL )
                                   AND gf_atp_indicator EQ 'X' ).
      COMMIT WORK.
    ELSE.
      COMMIT WORK AND WAIT.
    ENDIF.

For that reason I had to change the options:


  ls_ctu_params-racommit = 'X'.
  ls_ctu_params-nobinpt = 'X'.
  ls_ctu_params-dismode = 'E'.
  " ls_ctu_params-updmode = 'L'.
  ls_ctu_params-nobiend = 'X'.

  CALL TRANSACTION 'ME41' USING lt_bdc_data OPTIONS FROM ls_ctu_params.

It works.

Best regard,

Andi