Modify Std. code to get value for User Exit.

I am executing release strategry at user exit EXIT_SAPLEBND_002  ( Exit Name M06E0004 ), for the field ( USRN1)
This has got user program ZXM06U22 in it. In this exit I get values from I_CEKKO , IT_BEKPO, IT_BEKET, IT_EKKNU
and I have to pass the PO value from these structures to E_CEKKO-USRN1   ( This field has set in SPRO setting ) .
I get the PO value as per standard calculation in the field IT_BEKPO-EFFWR , I also get a value in I_CEKKO-GNETW. However not one of both these values satisfy any one of my conditions. My document condition is defined in SPRO as ZVPA and values against it is calculated considering Taxes On PO. The fields EFFWR or GNETW does not include taxes. And my release startegy should get executed after considering the amount with taxes.
After debugging a lot I have found that the PO_AMOUNT can be obtained from the Internal Table TKOMV. In this it is stored at TKOMV-KAWRT. I can get the TKOMV values at the point where this user-exit is called.
i.e. in program MM06EF0S_STRATEGIE_CEKKO    in the last you can see the call to user exit wriiten as below
    CALL FUNCTION 'EXIT_SAPLEBND_002'
      EXPORTING
        i_cekko  = cekko
        it_bekpo = pot[]
        it_beket = ett[]
        it_ekknu = knt[]
      IMPORTING
        e_cekko  = cekko.
If I put the debugger on  CALL FUNCTION 'EXIT_SAPLEBND_002 and go to TABLES tab and enter there 'TKOMV'
I can get the table and it's values. However If I press F5 then I go inside my exit code i.e. ZXM06U22. But Here I Don't Get access to the internal table TKOMV , which is  accessible from main calling program MM06EF0S_STRATEGIE_CEKKO.
My job can be done if I get value from TKOMV inside the code of ZXM06U22. However to get that code in ZXM06U22 what right now I can do is to get the access key of MM06EF0S_STRATEGIE_CEKKO and write code before exit Call and pass the ZVPA from TKOMV there. However many people here advised me not to do that since it is a STANDARD CODE.
So I would like to know your suggestion in this regard.
Amol

Hi All
Thanks for your quick replies. I wrote code below in my exit. But I am getting Compilation error at following line ( In Bold )
DATA: l_name(50).
DATA: my_tkomv TYPE TABLE OF komv.
<b>FIELD-SYMBOLS: <tkomv> type standard table of komv.</b>l_name = '(SAPMMM06E)TKOMV[]'.
ASSIGN (l_name) TO <tkomv>.
my_tkomv[] = <tkomv>.
The error is below
     "," expected after "TABLE".          
I don't know whether TYPE TABLE OF is correct or not.
I will be glad If I get some further help.
Amol

Similar Messages

  • Value for user-exit variable  is invalid

    Hi Gurus,
    My Value for a Fiscal Year Prd returns a invalid value for the 12th month of each year( for Example 12/2004, returns the error "Value 200313 for User-exit variable is invalid.
    This is the code that is being used.
    *Rolling 12 months for entered month
    when 'ZCALM12'.
          clear: v_mth, v_yr.
          REFRESH E_T_RANGE.
          CLEAR L_S_RANGE.
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
                   WHERE VNAM = 'ZCALMON'.
            exit.
          endloop.
          v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
          v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT = 'BT'.
          concatenate v_yr v_mth into L_S_RANGE-LOW.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
          APPEND L_S_RANGE TO E_T_RANGE.
    Thanks in Advance.

    Hi Ravi,
    when 'ZCALM12'.
    clear: v_mth, v_yr.
    REFRESH E_T_RANGE.
    CLEAR L_S_RANGE.
    LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE
    WHERE VNAM = 'ZCALMON'.
    exit.
    endloop.
    <b>-->> Here, you are not checking any thing.</b> <i>On which logic you are reducing year by one and increasing month by 1..?</i>
    v_yr = LOC_VAR_RANGE-LOW+0(4) - 1.
    v_mth = LOC_VAR_RANGE-LOW+4(2) + 1.
    -->><i>IF month is 200512 you will get output from above code is :</i> please check.
    v_yr = 2005 - 1 = 2004
    v_mth = 12 +1 = 13.
    L_S_RANGE-SIGN = 'I'.
    L_S_RANGE-OPT = 'BT'.
    concatenate v_yr v_mth into L_S_RANGE-LOW.
    L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
    APPEND L_S_RANGE TO E_T_RANGE.
    Try to debug the code by keeping break point after When. and execute the report, you will be debugging mode.
    Hope it Helps
    Srini

  • Essbase services abnoraml shutdown with Get token for user

    Hi,
    We are facing essbase services abnormal shutdown, with a .xcp file
    in XCP file showing below given error, for this issue we have added __GETUSERTOKEN TRUE value in our .cfg files but it's not working.
    Exception Log File: /ap01/gema/hyperion/essbase/log00042.xcp
    Current Thread Id: 42949552
    Signal Number: 0x11=Segmentation Violation
    Signal Code: 0x19178024=Unknown
    8:23 PM
    Thread Id 42949552:
    Request Name: Get token for user
    Database Name:
    User Name:
    Start Time: Fri Jun 15 08:20:39 2012
    End Time: Pending
    Please suggest some solutions on this.
    Regards,
    Srinivas

    See if these doc help you
    E-IB: SAML Authentication Failed For Service Operation XXXX. (158,456) error when invoking PS web service with SAML token [ID 1464489.1]
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=PROBLEM&id=1464489.1
    E-IB: Setup and Troubleshooting Guide for SAML Inbound Security [ID 1322740.1]
    https://support.oracle.com/CSP/main/article?cmd=show&type=NOT&doctype=HOWTO&id=1322740.1

  • Reg: How to get the trip activity values in user exit.

    HI Experts,
    I have scenario like I need calculate the trip advance amount for an employee.
    Based on the employee travel days and employee’s activity type.
    Activity types means:  types of employee trips like
    1. Domestic
    2. International
    Here my problem is not getting trip activity values into my user exit.
    I am getting the all selection values in trip header except this TRIP ACTIVITY values.
    Please give me idea how I can read this trip activity value in to my user exit.
    I have written the below code for user exit.
    CHECK SY-TCODE EQ 'PR01'.
    MOVE TRIP_HEADER TO IT_PTRV_HEAD.
    APPEND IT_PTRV_HEAD.
    CHECK SY-TCODE EQ 'PR01'.
    MOVE TRIP_HEADER TO IT_PTRV_HEAD.
    APPEND IT_PTRV_HEAD.
    Thanks & Regards
    Sameera

    Hi,
    Try to use Enhancement  FITR0003.
    REWARD IF USEFUL

  • NOT Getting Values for LOCATION...on MultiProvider REPORT

    HI All,
    I have a MultiProvider on 4 cubes.All these 4 cubes having object LOCATION. I can see data in all cubes for LOCATION. I am running a report on this MultiProvider.
    Problem:
    I am not getting Values for LOCATION. Why?
    What I did:
    I checked all location objects of all 4 cubes @ MultiProvider level .
    I didn't use any Infoprovider in Qry designer sections.
    Please suggest. What is the reason how to solve..
    THanks & Regards.
    Sri.
    Edited by: siri26 k on Dec 5, 2008 10:41 AM
    Edited by: siri26 k on Dec 5, 2008 10:41 AM

    hello,
    in the identification tab of the MP,make sure you have checked all four checkboxes across the 4 infoproviders.
    then in Listcube T-Code, select your MP,display the records based on selection inputs and see if location is populated.
    If the data is not coming in listcube, then it will not come in the Query too.
    Reg,
    Dhanya

  • Variable used in FOx formula should get value from user

    Hi Gurus,
    In my fox formula I want to multiply a keyfigure (say quantity) with a factor. For example if the factor is 10 then all records should get multiplied by 10.
    But the requirement is user shpuld be able to give the factor that should be multiplied. That is the l_factor used in the fox function should be a variable which gets value from user. I know we can give variables in filter and planning functions in IP. But can we give values in Fox formula.
    I would really appreciate the time and effort.
    Thanking you,
    Jerry Jerome

    Hello,
    May be you can try this solution.
    I think you have create a dummy character info-object(Z_Number) of same data type interget number.Create variable for Z_Number and restrict in filter(ZV_NUM).
    DATA Z_MAT TYPE 0Material.
    DATA Z_NUM TYPE Z_NUMBER.
    DATA Z_NUM_READ TYPE I.(Declate same as data type for Z_Number)
    Z_NUM = VARV(ZV_NUM).
    FORACH Z_MAT.
    Z_NUM_READ = Z_NUM.
    {Z_KF1,Z_MAT} = Z_NUM_READ * {Z_KF1,Z_MAT}.
    ENDFOR.

  • Code for user-exits

    hey guys i want the code for user-exits for  inclusion of Excise Chapter ID mandatory in PO .....
    regards,
    Naveen

    which user exit u are using ?
    check the BADI for the same .
    SE15->Enhancements->BADI--->definations -
    >search on Package = ME.
    and see BADI definition called Process _cust.
    Regards
    Peram

  • Hi is there any code for user exits in bw

    can you help me out with user exits in bw reporting pls
    http://abapcode.blogspot.com

    Hi Amit,
      i have good document for user exits in bw. pls send me ur email i will send the document.
    hope that will help you to resolve.
    <b>Reward pts if found usefull:)</b>
    Regards
    Sathish

  • Returning to initial screen with earlier values from USER EXIT

    Dear All,
    I'm creating message invoking code in one of the user exit in the FB60 Transaction. When the user saves the invoice, as per code, an error message is displayed if the invoice is for a particular order. but after showing the message , the transaction itself is getting terminated. The type of the message is 'I'.
    We require that after showing the message, the user should get back to the earlier screen with earlier values of all fields except ORDER number.
    In short it should lead us to change the order number and nothing else.
    Please help as it is really an urgent issue.
    regards
    Ajay.

    hi ajay,
    i do not know the complexity of your user exit,
    maybe you could try using 'SET CURSOR FIELD <fieldname>.'
    but SET CURSOR would only work for types C,N,T .
    try it out and transfer me with your knowledge if you find another way out
    cheers,
    Aditya.

  • Examples of code ritten in includes in user exits

    Can anyone send some examples on code written in includes of user exits.
                                       Thanks in advance

                   U S E R   E X I T   F O R   P A 0 0 0 8               *
    IF innnn-infty = '0008' AND
    ( ipsyst-ioper = 'INS' OR
       ipsyst-ioper = 'COP' ).
                 G L O B A L   D E C L A R A T I O N S                   *
      DATA:
          g_lga         TYPE lgart,      " Wagetype
          g_count(2)    TYPE n,
          g_cnt_blank(2) TYPE n,          " Record position for hrly WT
          g_cnt_hrly(2) TYPE n,          " Record position for hrly WT
          g_cnt_inc(2)  TYPE n,          " Record position for inc WT
          g_cnt_lng(2)  TYPE n,          " Record position for lng WT
          g_cnt_ret(2)  TYPE n,          " Record position for ret WT
          g_wtype(11)   TYPE c,          " Wage type
          g_wrate(11)   TYPE c,          " Wage rate
          g_ht510_rate  TYPE betrg,      " Default rate for WT0011 from T510
          g_maxrate_inc TYPE betrg,      " Maximum Incumbency Rate
          g_maxrate_lng TYPE betrg,      " Maximum Longevity Rate
          g_maxrate_ret TYPE betrg.      " Maximum Retention Rate
                      D A T A   D E C L A R A T I O N                    *
      DATA:
          it_9006       TYPE TABLE OF pa9006,
          st_9006       TYPE pa9006,
          i0008         TYPE p0008,
          st_grdcode    TYPE zthhr_grdcode.
                      F I E L D    S Y M B O L S                         *
      FIELD-SYMBOLS: <fs_wtype> TYPE ANY, " Used for Wage Type
                     <fs_wrate> TYPE ANY. " Used for Amount
                      C O N S T A N T S                                  *
      CONSTANTS:
        c_molga_10   type molga value '10',    " Country grp for US
        c_hlgar_0011 TYPE lgart VALUE '0011',  " Hourly Wage Type
        c_ilgar_0012 TYPE lgart VALUE '0012',  " Incumbent Wage Type
        c_llgar_0147 TYPE lgart VALUE '0147',  " Longevity Wage Type
        c_rlgar_01e0 TYPE lgart VALUE '01E0',  " Retention Wage Type
        c_subty_inc  TYPE subty VALUE '1',     " Subtype for Incumbency
        c_subty_lng  TYPE subty VALUE '4',     " Subtype for Longevity
        c_subty_ret  TYPE subty VALUE '5'.     " Subtype for Retention
                      P R O C E S S I N G                                *
    Typecast PRELP to PNNNN structure
      CALL METHOD cl_hr_pnnnn_type_cast=>prelp_to_pnnnn
        EXPORTING
          prelp = innnn
        IMPORTING
          pnnnn = i0008.
    Refresh & Clear Process variables.
      CLEAR:  g_lga, g_count, g_cnt_blank, g_cnt_hrly, g_cnt_inc,
              g_cnt_lng, g_cnt_ret, g_wtype, g_wrate, g_maxrate_inc,
              g_maxrate_lng, g_maxrate_ret.
    Populate all unexpired & applicable records of IT9006 of subtype:
    Incumbency, Longevity and Retention
      REFRESH: it_9006.
      SELECT * FROM pa9006 INTO TABLE it_9006
              WHERE pernr EQ i0008-pernr
                AND begda LE i0008-begda
                AND endda GE i0008-begda
                AND ( subty EQ c_subty_inc
                OR    subty EQ c_subty_lng
                OR    subty EQ c_subty_ret )
                AND zapplflg EQ 'X'.
    Sort IT9006 Table descending based on Amount
      SORT it_9006 BY zwage zaddamt DESCENDING.
    Check for validity of Pay Scale Group & Level
      SELECT * FROM zthhr_grdcode UP TO 1 ROWS
                      INTO st_grdcode
                     WHERE trfgr = i0008-trfgr
                       AND trfst = i0008-trfst.
      ENDSELECT.
      IF sy-subrc EQ 0.
      If valid, read the Maximum Incumbency Rate
        READ TABLE it_9006 INTO st_9006
                           WITH KEY zwage = c_ilgar_0012
                                    zgrdcode = st_grdcode-grdcode
                           TRANSPORTING zaddamt.
        IF sy-subrc EQ 0.
          g_maxrate_inc = st_9006-zaddamt.
        ENDIF.
      ENDIF.
    Get Max Longevity rate
      READ TABLE it_9006 INTO st_9006 WITH KEY zwage = c_llgar_0147
                         TRANSPORTING zaddamt. " to g_maxrate_inc.
      IF sy-subrc EQ 0.
        g_maxrate_lng = st_9006-zaddamt.
      ENDIF.
    Get Max Retention rate
      READ TABLE it_9006 INTO st_9006 WITH KEY zwage = c_rlgar_01e0
                         TRANSPORTING zaddamt. " to g_maxrate_inc.
      IF sy-subrc EQ 0.
        g_maxrate_ret = st_9006-zaddamt.
      ENDIF.
      CLEAR : g_count, g_cnt_blank, g_cnt_hrly, g_cnt_inc,
              g_cnt_lng, g_cnt_ret.
    Check Infotype 0008 Wagetype entries
      DO 40 TIMES
          VARYING g_lga FROM i0008-lga01 NEXT i0008-lga02.
        g_count = g_count + 1.
        IF NOT g_lga IS INITIAL.      " Fill max no of field filled
          g_cnt_blank = g_count.
        ENDIF.
        IF g_lga = c_hlgar_0011.      " Get Rec Pos for Hrly WT
          g_cnt_hrly = g_count.
        ELSEIF g_lga = c_ilgar_0012.  " Get Rec Pos for Inc WT
          g_cnt_inc = g_count.
        ELSEIF g_lga = c_llgar_0147.  " Get Rec Pos for Lng WT
          g_cnt_lng = g_count.
        ELSEIF g_lga = c_rlgar_01e0.  " Get Rec Pos for Ret WT
          g_cnt_ret = g_count.
        ENDIF.
      ENDDO.
      g_cnt_blank = g_cnt_blank + 1.  " Next Avl. Pos for WT entry
    Incumbency Processing
    0011 and 0012 both not found
      IF g_cnt_hrly = 0 AND  g_cnt_inc = 0.
    Do Nothing
    0011 Not found but 0012 found
      ELSEIF g_cnt_hrly = 0 AND  g_cnt_inc > 0.
        CONCATENATE 'I0008-LGA' g_cnt_inc INTO g_wtype.
        CONCATENATE 'I0008-BET' g_cnt_inc INTO g_wrate.
        ASSIGN (g_wtype) TO <fs_wtype>.
        ASSIGN (g_wrate) TO <fs_wrate>.
        IF g_maxrate_inc <> 0.
          <fs_wtype> = c_ilgar_0012.
          <fs_wrate> = g_maxrate_inc.
        ELSE.
        If WT0012 has expired in IT9006, revert to WT0011 with
          default rate from T510
          <fs_wtype> = c_hlgar_0011.
          SELECT betrg FROM t510 UP TO 1 ROWS
                       INTO g_ht510_rate
                      WHERE molga = c_molga_10
                        AND trfar = i0008-trfar
                        AND trfgb = i0008-trfgb
                        AND trfgr = i0008-trfgr
                        AND trfst = i0008-trfst
                        AND lgart = c_hlgar_0011
                        AND begda LE i0008-begda
                        AND endda GE i0008-endda.
          ENDSELECT.
          IF sy-subrc = 0.
            <fs_wrate> = g_ht510_rate.
          ENDIF.
        ENDIF.
    0011 found but 0012 Not found
      ELSEIF g_cnt_hrly > 0 AND  g_cnt_inc = 0.
        IF g_maxrate_inc <> 0.
        Update 9006 amount if greater. And Replace 0011 with 0012
          CONCATENATE 'I0008-LGA' g_cnt_hrly INTO g_wtype.
          CONCATENATE 'I0008-BET' g_cnt_hrly INTO g_wrate.
          ASSIGN (g_wtype) TO <fs_wtype>.
          ASSIGN (g_wrate) TO <fs_wrate>.
          IF <fs_wrate> < g_maxrate_inc.
            <fs_wtype> = c_ilgar_0012.
            <fs_wrate> = g_maxrate_inc.
          ELSE.
          Do Nothing
          ENDIF.
        ELSE.
        Do Nothing
        ENDIF.
    0011 and 0012 both found
      ELSEIF g_cnt_hrly > 0 AND  g_cnt_inc > 0.
      Rate in IT9006 exists.
        IF g_maxrate_inc <> 0.
        Remove existing 0011
          CONCATENATE 'I0008-LGA' g_cnt_hrly INTO g_wtype.
          CONCATENATE 'I0008-BET' g_cnt_hrly INTO g_wrate.
          ASSIGN (g_wtype) TO <fs_wtype>.
          ASSIGN (g_wrate) TO <fs_wrate>.
        If hourly rate < Max Inc Rate, Clear Hrly WT & update WT0012
          IF <fs_wrate> LT g_maxrate_inc.
            CLEAR : <fs_wtype>, <fs_wrate>.
          Update existing 0012 with new amount
            CONCATENATE 'I0008-LGA' g_cnt_inc INTO g_wtype.
            CONCATENATE 'I0008-BET' g_cnt_inc INTO g_wrate.
            ASSIGN (g_wtype) TO <fs_wtype>.
            ASSIGN (g_wrate) TO <fs_wrate>.
            <fs_wtype> = c_ilgar_0012.
            <fs_wrate> = g_maxrate_inc.
        If hourly rate > Max Inc Rate, clear WT0012
          ELSE.
            CONCATENATE 'I0008-LGA' g_cnt_inc INTO g_wtype.
            CONCATENATE 'I0008-BET' g_cnt_inc INTO g_wrate.
            ASSIGN (g_wtype) TO <fs_wtype>.
            ASSIGN (g_wrate) TO <fs_wrate>.
            CLEAR : <fs_wtype>, <fs_wrate>.
          ENDIF.
      Rate in IT9006 do not exists.
        ELSE.
        Let 0011 be there but remove 0012.
          CONCATENATE 'I0008-LGA' g_cnt_inc INTO g_wtype.
          CONCATENATE 'I0008-BET' g_cnt_inc INTO g_wrate.
          ASSIGN (g_wtype) TO <fs_wtype>.
          ASSIGN (g_wrate) TO <fs_wrate>.
          CLEAR : <fs_wtype>, <fs_wrate>.
        ENDIF.
      ENDIF.
    Longevity Processing
    Wage type 0147 already exists
      IF g_cnt_lng > 0.
        CONCATENATE 'I0008-LGA' g_cnt_lng INTO g_wtype.
        CONCATENATE 'I0008-BET' g_cnt_lng INTO g_wrate.
        ASSIGN (g_wtype) TO <fs_wtype>.
        ASSIGN (g_wrate) TO <fs_wrate>.
      IT9006 contains the rate.
        IF g_maxrate_lng > 0.
        Update the existing amount
          <fs_wtype> = c_llgar_0147.
          <fs_wrate> = g_maxrate_lng.
        ELSE.
        Remove Wage Type 0147
          CLEAR <fs_wtype>.
          CLEAR <fs_wrate>.
        ENDIF.
    Currently no 0147 exists
      ELSE.
      IT9006 contains the rate.
        IF g_maxrate_lng > 0.
        Add 0147 with amount
          CONCATENATE 'I0008-LGA' g_cnt_blank INTO g_wtype.
          CONCATENATE 'I0008-BET' g_cnt_blank INTO g_wrate.
          ASSIGN (g_wtype) TO <fs_wtype>.
          ASSIGN (g_wrate) TO <fs_wrate>.
          <fs_wtype> = c_llgar_0147.
          <fs_wrate> = g_maxrate_lng.
          g_cnt_blank = g_cnt_blank + 1.
      IT9006 does not contain the rate.
        ELSE.
        Do Nothing
        ENDIF.
      ENDIF.
    Retention Processing
    Wage type 01E0 already exists
      IF g_cnt_ret > 0.
        CONCATENATE 'I0008-LGA' g_cnt_ret INTO g_wtype.
        CONCATENATE 'I0008-BET' g_cnt_ret INTO g_wrate.
        ASSIGN (g_wtype) TO <fs_wtype>.
        ASSIGN (g_wrate) TO <fs_wrate>.
      IT9006 contains the rate.
        IF g_maxrate_ret > 0.
        Update the existing amount
          <fs_wtype> = c_rlgar_01e0.
          <fs_wrate> = g_maxrate_ret.
        ELSE.
        Remove Wage Type 01E0
          CLEAR <fs_wtype>.
          CLEAR <fs_wrate>.
        ENDIF.
    Currently no 01E0 exists
      ELSE.
      IT9006 contains the rate.
        IF g_maxrate_ret > 0.
        Add 01E0 with amount
          CONCATENATE 'I0008-LGA' g_cnt_blank INTO g_wtype.
          CONCATENATE 'I0008-BET' g_cnt_blank INTO g_wrate.
          ASSIGN (g_wtype) TO <fs_wtype>.
          ASSIGN (g_wrate) TO <fs_wrate>.
          <fs_wtype> = c_rlgar_01e0.
          <fs_wrate> = g_maxrate_ret.
          g_cnt_blank = g_cnt_blank + 1.
      IT9006 does not contain the rate.
        ELSE.
        Do Nothing
        ENDIF.
      ENDIF.
    Typecast the PNNNN to PRELP structure
      CALL METHOD cl_hr_pnnnn_type_cast=>pnnnn_to_prelp
        EXPORTING
          pnnnn = i0008
        IMPORTING
          prelp = innnn.
    Show Data Again Switch to display the field values again
      show_data_again = 'X'.
    ENDIF.

  • Help reqd for user exit

    Hi all,
    the requirement is...
    In MIRO,the Incoimg invoice should not be posted without an empty field of amount(WRBTR) in the Basic Data.Currently as per std,it's not a mandatory field and can be posted by not entering any amount in that.So, either we have to make it as a mandatory field or should restrict not to saving the data if posting of empty field.(Not giving any amount)***seems,it tells the user to give the amount as mandatory.
    How to do this.....if its coming under the USER Exit object...pls post both how to get the std program and enhancement assignment(it asks while creating user exit in CMOD) also for user exit.
    thanks & regards
    sankar.

    hi
    Program name is SAPLMR1M
    For MIRO tcode, you have below user exits.
    LMR1M001            User exits in Logistics Invoice Verification                    
    LMR1M002            Account grouping for GR/IR account maintenance                  
    LMR1M003            Number assignment in Logistics Invoice Verification             
    LMR1M004            Logistics Invoice Verification: item text for follow-on docs    
    LMR1M005            Logistics Inv. Verification: Release Parked Doc. for Posting    
    LMR1M006            Logistics Invoice Verification: Process XML Invoice             
    MRMH0001            Logistics Invoice Verification: ERS procedure                   
    MRMH0002            Logistics Invoice Verification: EDI inbound                     
    MRMH0003            Logistics Invoice Verification: Revaluation/RAP                 
    MRMN0001            Message output and creation: Logistics Invoice Verification     
    EXIT_SAPLMR1M_003 may useful to you. Check with this.
    Reward if it dose
    Thanks
    Siva Kumar.

  • IDoc-Inbound: Partner Number gets overwritten in User Exit

    Hi,
    we have problem that XI won't accept IDoc from sending R/3 because the Partner number gets overwritten via User Exit.
    Instead of Partner PSICLNT010 the partner gets overwritten to SAPPSI. So what do i have to do to make XI accaept this IDoc?!
    We have system PSICLNT010 configured in SLD with logical system name PSICLNT010.
    Because of the problem i changed it to SAPPSI.
    I also refreshed the adapter specific identifiers and did a complete cache refesh - but with no success.
    We still get error "No service for system SAPPSI, client 010 in ID"
    Can somebody help!  What elso do i have to change?!
    br

    Hi,
    This problem can be solved : do these steps ,
    AT your XI System : goto Idx1, create port with name : SAPPSI
    In the port use your RFC Destination name SAME as used in port PSICLNT010.
    Now goto idx2
    upload matadata for your idoc Message in port SAPPSI.
    send idoc from R/3, XI system will pick that idoc.
    your problem is solved now
    Regards,
    Sandeep Kaushik

  • Need help for user exit mereq001

    Hi,
    I need help for user exit mereq001. I think I messed up with include table CI_EBANDB and CI_EBANMEM. And When I tried to check the syntax . It gives me error like : <b>Class IF_PURCHASE_REQUISITION. Inconsistency in the dictionary for the structure mereq_item_s_cust_data.</b> Anyone had experience for this exit? I just need to extract costcenter information of the each item from the requisition and block the requisiton if the costcenter are differents from each other before the requisition is saved. Any one has idea about it?
    Thanks.

    biao,
    Have you checked this struture consistency from SE11. Also check the activation log.
    If there are any errors and you are not able to rectify the same use RSDDCHECK program, give your table name and run the report.
    This will list down the error structures releated this table and also prompts for you to activate it.
    Regds
    Manohar

  • Enhancement for user exit

    hello
      can you please let me the know the enhancement for user exit:exit_sapliqs0_001
    regards
    anik

    Hi,
    these are teh enhancements that r available...u need to check each of them.
    IWO10026  User check on setting status 'Do not perform'
    IWO10027  User exit: Generate user-defined settlement rule
    IWOC0001  Create PM/SM notification: Determine reference object
    IWOC0002  PM/SM notification: Check whether status change is allo
    IWOC0003  PM/SM authorization check of ref. object and planner gr
    IWOC0004  Change single-level list editing PM/QM/SM ALV settings
    Regards,
    nagaraj

  • Precautions for User Exits

    Can anyone tell me what are the precautions to be taken for user exits?
    i mean...what are the ABAP statements that are not used in user exits...
    can anybody plz suggest me?

    Hi,
    Welcome to SDN.
    COMMIT WORK should not be used in a user exit. This reason is that it could/will commit all work done by the entire transaction and could possibily create data inconsistancy.
    Also LEAVE TO TRANSACTION and SUBMIT statements should also be not used. It will terminate the current LUW.
    Regards,
    Ferry Lianto
    Please reward points if helpful.

Maybe you are looking for