User Exit for Idoc being posted through ACC_DOCUMENT

Hi Experts!!
We have an inbound interface to post FI document using message type ACC_DOCUMENT. Now, we need to influence the idoc before posting. In detail, we need to change a particular field in the header and then only post it. I tried with EXIT_SAPLF050_008. But that was not being updated. Is this user exit only for a few message types like FIDCMT, FIDCC1, FIDCC2?
If yes, which user exits can be used to influence the idoc before posting?
Kindly help me out.
Thanks a lot in advance.

Hi ,
chk with these  exits:
SIDOC001 -> fm EXIT_SAPLEDI1_001
SIDOC002 -> fms
EXIT_SAPLEDI6_001
EXIT_SAPLEDI6_002
EXIT_SAPLEDI6_003
hope it helps..
Regards,
Deeba

Similar Messages

  • User exit for FB60 after POSTING the Document.

    Hi,
    I have requirement with FB60 transaction where i have to display the error message to the user if the amount of the invoice is greater than some threshold value( this will be maintained in the custom table) to park the document .
    I have created project with enhancement SAPLF051 using the exit EXIT_SAPLF051_002 it is triggering only when parks the document .
    But my requirement is  i need an enhancement which trigger after user posts the document.
    Please help me...
    regards
    paveee.....

    Hi
    Following are the available user exits for fb60 transaction...
    F050S001            FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment
    F050S002            FIDCC1: Change IDoc/do not send
    F050S003            FIDCC2: Change IDoc/do not send
    F050S004            FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not sen
    F050S005            FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document
    F050S006            FI Outgoing IDoc: Reset Clearing in FI Document
    F050S007            FIDCCH Outbound: Influence on IDoc for Document Change
    F180A001            Balance Sheet Adjustment
    FARC0002            Additional Checks for Archiving MM Vendor Master Data
    FEDI0001            Function Exits for EDI in FI
    RFAVIS01            Customer Exit for Changing Payment Advice Segment Text
    RFEPOS00            Line item display: Checking of selection conditions
    RFKORIEX            Automatic correspondence
    SAPLF051            Workflow for FI (pre-capture, release for payment)
    If you still not find appropriate exit, go for badi's...
    1)To search for a badi, go to se 24 display class cl_exithandler.
    2) double click on method get_instance,
    3) get a break point on case statement. execute and start the required transaction in new session.
    4)look for variable exit_name. It would show the available badi's.
    <b>Please do reward if useful</b>
    Regards
    Dinesh

  • User Exit  for MIGO(Transfer Posting)

    Is there any user exit for transfer posting by MIGO?
    if so plz give the names of user exits related to it.....
    Awaiting for ur reply..............

    USER EXIT
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sapgenie.com/abap/code/abap26.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://wiki.ittoolbox.com/index.php/HOWTO:Implement_a_screen_exit_to_a_standard_SAP_transaction
    http://www.easymarketplace.de/userexit.php
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sappoint.com/abap/userexit.pdfUser-Exit
    http://www.sap-img.com/ab038.htm
    http://help.sap.com/saphelp_46c/helpdata/en/64/72369adc56d11195100060b03c6b76/frameset.htm
    http://www.sap-img.com/abap/a-short-tutorial-on-user-exits.htm
    http://www.sap-img.com/abap/what-is-user-exits.htm
    http://expertanswercenter.techtarget.com/eac/knowledgebaseAnswer/0,295199,sid63_gci982756,00.html
    Transaction Code - MIGO                     Goods Movement
    Exit Name           Description
    MBCF0002            Customer function exit: Segment text in material doc. item
    MBCF0005            Material document item for goods receipt/issue slip
    MBCF0006            Customer function for WBS element
    MBCF0007            Customer function exit: Updating a reservation
    MBCF0009            Filling the storage location field
    MBCF0010            Customer exit: Create reservation BAPI_RESERVATION_CREATE1
    MBCF0011            Read from RESB and RKPF for print list in  MB26
    MB_CF001            Customer Function Exit in the Case of Updating a Mat. Doc.
    No of Exits:          8
    Rewards if useful.........
    Minal

  • Abap code of user EXIT for my first post on FISCPER_CALC_MONTH or year

    *ZSIGFISCPER Exercice cumulé jusqu'à la période selectionnée par utilisateur
    TABLES: TVARVC.
    DATA: L_S_RANGE TYPE RSR_S_RANGESID.
    DATA : LOC_VAR_RANGE LIKE RRRANGEEXIT,
    v_year like T009B-BDATJ,
    v_per3 like T009B-POPER,
    v_month(3) type c,
    v_initial(7) type c,
    v_date type d,
    w_progcod like tvarvc-low.
    BREAK-POINT.
    CASE I_VNAM.
      WHEN 'ZSIGFISCPER'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            v_year = LOC_VAR_RANGE-LOW(4).
            concatenate v_year '001' into v_initial.
            L_S_RANGE-LOW = v_initial.
            L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'BT'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
      WHEN 'ZSIGVFISCYEAR'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            L_S_RANGE-LOW = v_year.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
    *Sélection de la période 1 par rapport à une période sélectionnée via la variable 'ZP_FIL_FISCPER'
      WHEN 'ZVUEPER1'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            concatenate v_year '001' into v_initial.
            L_S_RANGE-LOW = v_initial.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
    *Sélection de la période 1 par rapport à une période sélectionnée via la variable 'ZSIGFISC'
      WHEN 'ZVUEPER2'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZSIGFISC'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            concatenate v_year '001' into v_initial.
            L_S_RANGE-LOW = v_initial.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
    Variables pour la requête ZSIGRQ_ZSIGMCM1_01 (Suivi des investissements)
      WHEN 'ZSIGCDR2'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            CONCATENATE v_year '01' '01' INTO v_date.
            L_S_RANGE-LOW = v_date.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
      WHEN 'ZSIGCDMS'. " Date de mise en service
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            CONCATENATE v_year '01' '01' INTO v_date.
            L_S_RANGE-LOW = v_date.
            CONCATENATE v_year '12' '31' into v_date.
            L_S_RANGE-HIGH = v_date.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'BT'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
      WHEN 'ZSIGHIM'. " Hierarchie
        IF I_STEP = 1. "before the popup
          Clear v_year.
          SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIG_REF_0APPR_YEAR'.
          IF sy-subrc EQ 0.
            v_year = TVARVC-low.
          ENDIF.
          CLEAR w_progcod.
          SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIFVA_REF_0PROG_DEF_S'.
          IF sy-subrc EQ 0.
            w_progcod = TVARVC-low.
          ELSE.
            MESSAGE 'Variable ZSIFVA_REF_0PROG_DEF_S is missing in TVARVC' TYPE 'E'.
          ENDIF.
          CONCATENATE w_progcod v_year INTO L_S_RANGE-LOW.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            CLEAR w_progcod.
            SELECT SINGLE * FROM TVARVC WHERE NAME EQ 'ZSIFVA_REF_0PROG_DEF_S'.
            IF sy-subrc EQ 0.
              w_progcod = TVARVC-low.
            ELSE.
              MESSAGE 'Variable ZSIFVA_REF_0PROG_DEF_S is missing in TVARVC' TYPE 'E'.
            ENDIF.
            CONCATENATE w_progcod v_year INTO L_S_RANGE-LOW.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
      WHEN 'ZSIGCAC'. " version
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_month.
            v_month = LOC_VAR_RANGE-LOW+4(3).
            IF v_month LE '003'.
              L_S_RANGE-LOW = 'PLA'.
              L_S_RANGE-SIGN = 'I'.
              L_S_RANGE-OPT = 'EQ'.
            ELSEIF v_month LE '008'.
              L_S_RANGE-LOW = 'AC1'.
              L_S_RANGE-SIGN = 'I'.
              L_S_RANGE-OPT = 'EQ'.
            ELSE.
              L_S_RANGE-LOW = 'AC2'.
              L_S_RANGE-SIGN = 'I'.
              L_S_RANGE-OPT = 'EQ'.
            ENDIF.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
      WHEN 'ZSIGDDP'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'ZP_FIL_FISCPER'.
            CLEAR L_S_RANGE.
            CLEAR v_year.
            v_year = LOC_VAR_RANGE-LOW(4).
            v_per3 = LOC_VAR_RANGE-LOW+4(3).
            CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
              EXPORTING
                I_GJAHR              = v_year
      I_MONMIT             = 00
                I_PERIV              = 'K4'
                I_POPER              = v_per3
              IMPORTING
                E_DATE               = v_date
              EXCEPTIONS
                INPUT_FALSE          = 1
                T009_NOTFOUND        = 2
                T009B_NOTFOUND       = 3
                OTHERS               = 4
            IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            L_S_RANGE-LOW = '20101231'."v_date.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
    Variable Z_DATE_REF_INF_FOUR pour caracteristique 0CALDAY
    Intervalle
      WHEN 'Z_DATE_REF_INF_FOUR'.
        IF I_STEP = 2. "after the popup
          LOOP AT I_T_VAR_RANGE INTO LOC_VAR_RANGE WHERE VNAM = 'Z_DATE_REF_SUP_FOUR'.
            CLEAR L_S_RANGE.
            CLEAR v_date.
            v_date = LOC_VAR_RANGE-low.
           break-point.
            CALL FUNCTION 'SALP_CALC_DATE'
              EXPORTING
                IN_RECTYPE          = 'M'
                IN_NBR_DWXMQY       = '6'
                IN_DATE             = v_date
             IMPORTING
               OUT_DATE            = v_date
            EXCEPTIONS
              OTHER_ERROR         = 1
              OTHERS              = 2
            IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            CALL FUNCTION 'SALP_CALC_DATE'
              EXPORTING
                IN_RECTYPE          = 'Y'
                IN_NBR_DWXMQY       = '-2'
                IN_DATE             = v_date
             IMPORTING
               OUT_DATE            = v_date
            EXCEPTIONS
              OTHER_ERROR         = 1
              OTHERS              = 2
            IF SY-SUBRC <> 0.
    MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
            WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
            ENDIF.
            L_S_RANGE-LOW = v_date.
            L_S_RANGE-SIGN = 'I'.
            L_S_RANGE-OPT = 'EQ'.
            APPEND L_S_RANGE TO E_T_RANGE.
          ENDLOOP.
        ENDIF.
    Variable Z_DATE_REF_INF_FOUR pour caracteristique 0CALDAY
    Intervalle
    Variables pour Production interne
    Intervalle
    Debut - FDUPEYROUX - 11/01/2010
      WHEN 'ZSIGPEROI'.
        IF I_STEP = 2. "after the popup
          CLEAR L_S_RANGE.
          CLEAR v_date.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          L_S_RANGE-LOW  = LOC_VAR_RANGE-HIGH.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
      WHEN 'ZSIGPEROI_ENT'.
        IF I_STEP = 2. "after the popup
          CLEAR L_S_RANGE.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-HIGH.
          L_S_RANGE-LOW  = '1000001'.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'BT'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
      WHEN 'ZSIGPEROI_P1'.
        IF I_STEP = 2. "after the popup
          CLEAR: L_S_RANGE, v_per3.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          IF LOC_VAR_RANGE-LOW+4(3) = '001'.
            LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
            LOC_VAR_RANGE-LOW+4(3) = '012'.
          ELSE.
            v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
            LOC_VAR_RANGE-LOW+4(3) = v_per3.
          ENDIF.
          L_S_RANGE-LOW  = LOC_VAR_RANGE-LOW.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
      WHEN 'ZSIGPEROI_PINF'.
        IF I_STEP = 2. "after the popup
          CLEAR: L_S_RANGE, v_per3.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          IF LOC_VAR_RANGE-LOW+4(3) = '001'.
            LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
            LOC_VAR_RANGE-LOW+4(3) = '012'.
          ELSE.
            v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
            LOC_VAR_RANGE-LOW+4(3) = v_per3.
          ENDIF.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-LOW.
          L_S_RANGE-LOW  = '1000001'.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'BT'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
      WHEN 'ZSIGPERAN'.
        IF I_STEP = 2. "after the popup
          CLEAR L_S_RANGE.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          L_S_RANGE-HIGH = LOC_VAR_RANGE-HIGH.
          L_S_RANGE-LOW  = '1000001'.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'BT'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
      WHEN 'ZSIGVDRPI'.
        IF I_STEP = 2. "after the popup
          CLEAR: L_S_RANGE,v_date,v_year,v_per3.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          v_year = LOC_VAR_RANGE-HIGH(4).
          v_per3 = LOC_VAR_RANGE-HIGH+4(3).
          CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
            EXPORTING
              I_GJAHR        = v_year
              I_MONMIT       = 00
              I_PERIV        = 'K4'
              I_POPER        = v_per3
            IMPORTING
              E_DATE         = v_date
            EXCEPTIONS
              INPUT_FALSE    = 1
              T009_NOTFOUND  = 2
              T009B_NOTFOUND = 3
              OTHERS         = 4.
          L_S_RANGE-LOW  = v_date.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
    Variables pour Production interne
    Intervalle
    Variables pour Production interne
    Intervalle
    WHEN 'ZSIGVDRPIM1'.
        IF I_STEP = 2. "after the popup
          CLEAR: L_S_RANGE,v_date,v_year,v_per3.
          READ TABLE I_T_VAR_RANGE INTO LOC_VAR_RANGE
           WITH KEY VNAM = 'ZSIGPERPI'.
          IF LOC_VAR_RANGE-LOW+4(3) = '001'.
            LOC_VAR_RANGE-LOW(4) = LOC_VAR_RANGE-LOW(4) - 1.
            LOC_VAR_RANGE-LOW+4(3) = '012'.
          ELSE.
            v_per3 = LOC_VAR_RANGE-LOW+4(3) - 1.
            LOC_VAR_RANGE-LOW+4(3) = v_per3.
          ENDIF.
          v_year = LOC_VAR_RANGE-LOW(4).
          v_per3 = LOC_VAR_RANGE-LOW+4(3).
          CALL FUNCTION 'LAST_DAY_IN_PERIOD_GET'
            EXPORTING
              I_GJAHR        = v_year
              I_MONMIT       = 00
              I_PERIV        = 'K4'
              I_POPER        = v_per3
            IMPORTING
              E_DATE         = v_date
            EXCEPTIONS
              INPUT_FALSE    = 1
              T009_NOTFOUND  = 2
              T009B_NOTFOUND = 3
              OTHERS         = 4.
          L_S_RANGE-LOW  = v_date.
          L_S_RANGE-SIGN = 'I'.
          L_S_RANGE-OPT  = 'EQ'.
          APPEND L_S_RANGE TO E_T_RANGE.
        ENDIF.
    Variables pour Production interne
    Intervalle
    Edited by: Yass79 on Jan 9, 2012 8:55 PM

    Hi ricx,
    hmm, Finally I got you...
    What you are asking is;
    Is it possible to have User exit for Custom Developed ABAP Programs?
    Am i right?
    If this is your question, i can say it is not needed as we can edit Zprograms whenever we need.
    If you have more doubts, revert back....
    Regards
    Karthik D

  • User exit for IDOC in INVOICE

    Hi all,
    I need to add a value in a custom IDOC segment for INVOICE. The IDOC basic type used is INVOIC02. Is there any user exit which I can use to populate the IDOC data? Any help will be greatly appreciated.
    Thanks,
    Lalyn

    Hi Lalyn,
    I do not have an exact code for this.
    But just go through the following code, where we are doing some validations in the segments.
    Code below this line was to exclude ZRTN materials for which Subtotal 2 (KZWI2) is zero. And,
    this is done for billing types:
                                   ZEXP,
                                   ZXAD,
                                   ZXDR,
                                   ZXL2,
                                   ZXG2,
                                   ZXPT.
    IF INT_EDIDD-SEGNAM = 'E1EDS01'.
      ZE1EDS01 = INT_EDIDD-SDATA.
      IF ZE1EDS01-SUMID = '001'.
    Start deleting when on 1st E1EDS01 segment
        DESCRIBE TABLE INT_EDIDD LINES POS.
        LOOP AT XTVBDPR.
          CLEAR MARA.
          SELECT SINGLE MTART MATKL FROM MARA INTO            "DV2K920646
          (MARA-MTART,MARA-MATKL)                             "DV2K920646
          WHERE MATNR = XTVBDPR-MATNR.     " Find material type MTART
          IF XVBDKR-FKART EQ 'ZEXP' OR XVBDKR-FKART EQ 'ZXL2' OR
             XVBDKR-FKART EQ 'ZXAD' OR XVBDKR-FKART EQ 'ZXG2' OR
             XVBDKR-FKART EQ 'ZXDR' OR XVBDKR-FKART EQ 'ZXPT'.
            IF MARA-MTART = 'ZRTN' AND XTVBDPR-KZWI2 EQ 0
             AND MARA-MATKL <> 'KEGS DM'.                  "DV2K920646
              MOVE XTVBDPR-POSNR TO POSNRS-POSNR.
              APPEND POSNRS.               " Store ZRTNs to be deleted
            ENDIF.
          ENDIF.
        ENDLOOP.
        DESCRIBE TABLE POSNRS LINES COUNT.
      Reduce the number of line items by the number of them to be deleted
        ZE1EDS01-SUMME = ZE1EDS01-SUMME - COUNT.
        SHIFT ZE1EDS01-SUMME LEFT DELETING LEADING SPACE.
        INT_EDIDD-SDATA = ZE1EDS01.
        MODIFY INT_EDIDD INDEX POS TRANSPORTING SDATA.
        LOOP AT INT_EDIDD INTO IEDIDD.     " Loop and delete if in POSNRS
          IF IEDIDD-SEGNAM = 'E1EDP01' OR IEDIDD-SEGNAM = 'E1EDS01'.
            CLEAR DELETE_FLAG.
          Reset delete_flag when on next line item or done with all
          ENDIF.
          IF IEDIDD-SEGNAM = 'E1EDP01'.
            ZE1EDP01 = IEDIDD-SDATA.
            READ TABLE POSNRS WITH KEY POSNR = ZE1EDP01-POSEX.
            IF SY-SUBRC EQ 0.
              DELETE_FLAG = 'X'.
            Set delete_flag if the line item is to be deleted
            ENDIF.
          ENDIF.
          IF DELETE_FLAG = 'X'.            " Delete the line item fully
            DELETE INT_EDIDD.
          ENDIF.
        ENDLOOP.
      ENDIF.
    ENDIF.
    At this function module, you have to create an include and write your code.
    But remember, before that you have to extend your basic type.
    Hope it will help you.
    sailesh

  • BADI / USER EXIT for MB01 - after posting GR.

    Hi,
    We have some requirement, where we need to create the Goods Issue using bdc after posting the GR in MB01. can anybody give the user exit / BADI for this.
    i have used BADI - MB_DOCUMENT_BADI : It is triggering while click on the Save button in the MB01, but it is calling before post the GR. the customization part should trigger after the GR post.
    Regards,
    Sree

    Hi Sree,
    Do it the other manner. Store the GR in a Z-table and do the BDC or use the BAPI as suggest Keshav in a periodic job, or call it with a job (OPEN_JOB, CLOSE_JOB,...) in a function module, always with the option IN UPDATE TASK. Think that you have the number of document in this BADI and you must wait some time (1, 2 or 5 seconds) until the database save all data.
    Be careful with this badi (MB_DOCUMENT_BADI), see Note 92550 - Stock inconsistency due to customer enhancement (exit, BAdI) to understand the reasons.
    Regards,
    Eduardo
    Edited by: E_Hinojosa on Feb 2, 2011 2:20 PM

  • User Exit for IDOC

    Hi,
    For any outbound idoc, if the parameters of export/import contain EDIDC and EDIDD along with the table.
    It is possible to extend the idoc and populate values?
    As i don't have authroizations, i need to confirm whether an wmtcid03 idoc can be extended and values can be populated.
    I found the user exit also.

    Check the Function Group <b>XLID</b>,you could find few where you can track EDIDC and EDIDD  and do furter manipulation as needed.
    ~thomas.

  • User exit for IDoc MBGMCR - BAPI_IDOC_INPUT1 - BAPI_GOODSMVT_CREATE

    Hi Gurus,
    I just want to ask if there is any user exit that I can use for this IDoc. My requirement is to check if thevalue from E1BP2017_GM_HEAD_01-REF_DOC_NO already exist in MKPF using XBLNR. If this reference document already exist, I need to raise and update the IDoc status into an error.
    Thanks and best regards,
    Andre

    Hi,
    Check the badi "LE_SHP_GOODSMOVEMENT", method "CHANGE_INPUT_HEADER_AND_ITEMS".   Pass the errors in the structure CT_LOG.
    Regards
    Vinod

  • User exit for IDOC creation

    When a credit memo is created an IDOC should be generated !
    IS there any user exit where i can associate the idoc generation code when the credit memo is created?
    if soo then what it is !
    Edited by: Alvaro Tejada Galindo on Feb 19, 2008 5:52 PM

    Just create an output type for billing and condition record to trigger the output.
    Regards,
    John.

  • User exit for IDOC inbound CREMAS

    Hi experts,
    I want to find a USER EXIT to change the value for vendor inbound idoc of message type CREMAS when create a new vendor or change a existing vendor. EXIT_SAPLKD02_001 is a function module can be enhanced but it cannot be called when I debug in WE19. The segment of IDOC is not extended by customazing field.
    Can anyone tell me what user exit is for IDOC I can use to change the data for vendor when inbound idoc receive?

    Hi panzhijun,
                  please check this link
    http://forums.sdn.sap.com/thread.jspa?threadID=1659323
    An Expert V.V.Reddy is exactly discussing about your issue on extending the FM  in a Include: LKD02F01,
    just have a look on this and go throw completely so u may get some solutions .
    This is how somewhat i can help you , If i get any further details will let u know .
    BR,
    Lakshmi Rajkumar.

  • User Exit for FI automatic posting

    My system has some customised fields in the bseg table for additional CO Dimension. User exit has been used to validate these fields when entering in FB01. However, there is an issue when it comes to automatic posting such as Asset Depreciation and Payroll Documents. Anyone aware of which user exit could be used to validate this kinda automatic posting?

    Hi,
    As you are telling it is for FB01, one thing you have to observe..some transactions only comes under the FB01 category  like, f-43, f-02, f-22, and some of them. If you see the header details of the documents like these, you can identify them with the FB01 as the TCODE and in case of the FB60, FB70, FB50 documents posted with these tcodes will have the TCODE as FB50, FB60, FB70.
    So, in your case the transactions are not relevant with the FB01, check in that way.
    for finding user exit you can get them using the TCODE : CMOD / SMOD using the specific function groups in which the tcodes falls.
    VVR

  • User-Exit for IDoc status

    Hello all!
    I'm trying to send a message with the status of an IDoc that has been processed, but I can't find an exit right after the status of the IDoc has been set, do you have any idea on what can I do for this?
    Regards!

    This is the exit where we have the control of setting idoc status. If there no scope of this idoc status.
    Then try to find out an exit which will be triggered before this exit with idoc status ( with value ). Then export this to memory and get back the same from memory in Vijay's suggested exit.
    Also if you could able to find the exit after THIS exit you won't have option to set custom idoc status.
    Regds
    Manohar

  • USER EXIT FOR IDOC CREATION AND TRIGGER

    I needed a user exit in which I could call my function module .The requirement is that whenever a sales order is created or changed ,on saving of the sales order I need  to trigger an IDOC .Inside my function module I plan to use the MASTER_IDOC_DISTRIBUTE
    Can anyone tell me if the above logic can work and please tell me the name of the user exit which I can use?

    Hi
    Instead of User exit, you can think of using SAP Standard Output type functionality.
    Ask your functional consultant to create a Output type with Medium 6 and do the necessary outbound configuration in the Partner profile WE20 transaciton.
    Regards
    Madhan D
    Edited by: Madhan Doraikannan on Dec 10, 2008 10:49 AM

  • User exit for idoc extension for material master (matmas05)

    Hello all,
    I have 10 custom fields added to anl idoc of basic type matmas05.
    i created a new segment under parent segment E1MARA1
    Now i want to find out the user exit where in i can write a code to read the data of this segment and populate into the data base table.
    Can anybody provide me with the name of the user exit?
    Regards,
    Roshani

    Check enhancement MGV00001 in SMOD.
    Exit Fm is EXIT_SAPLMV01_002
    Regards,
    Naimesh Patel

  • User exit for FI document

    Hi All,
    I need a user exit for FI document posting.
    My purpose is based on types of G/L accounts i need to add line item data to FI document.(i.e.,inserting into BSEG table )
    Can you please suggest me the user exir.
    Thanks and regards
    Praveen

    Transaction Code - FB01                     Post Document                                    
    Exit Name           Description                                                                               
    F050S001            FIDCMT, FIDCC1, FIDCC2: Edit user-defined IDoc segment                  
    F050S002            FIDCC1: Change IDoc/do not send                                         
    F050S003            FIDCC2: Change IDoc/do not send                                         
    F050S004            FIDCMT, FIDCC1, FIDCC2: Change outbound IDoc/do not send                
    F050S005            FIDCMT, FIDCC1, FIDCC2 Inbound IDoc: Change FI document                 
    F050S006            FI Outgoing IDoc: Reset Clearing in FI Document                         
    F050S007            FIDCCH Outbound: Influence on IDoc for Document Change                  
    F180A001            Balance Sheet Adjustment                                                
    FARC0002            Additional Checks for Archiving MM Vendor Master Data                   
    RFAVIS01            Customer Exit for Changing Payment Advice Segment Text                  
    RFEPOS00            Line item display: Checking of selection conditions                     
    RFKORIEX            Automatic correspondence                                                
    SAPLF051            Workflow for FI (pre-capture, release for payment)                      
    If you know tcode then you can find out user exits associated with the same with the following code:
    *& Report  ZUSEREXIT                                                   *
    *& Finding the user-exits of a SAP transaction code                    *
    *& Enter the transaction code in which you are looking for the         *
    *& user-exit and it will list you the list of user-exits in the        *
    *& transaction code. Also a drill down is possible which will help you *
    *& to branch to SMOD.                                                  *
    REPORT zuserexit NO STANDARD PAGE HEADING.
    TABLES : tstc, tadir, modsapt, modact, trdir, tfdir, enlfdir.
    TABLES : tstct.
    DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.
    DATA : field1(30).
    DATA : v_devclass LIKE tadir-devclass.
    PARAMETERS : p_tcode LIKE tstc-tcode OBLIGATORY.
    SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.
    IF sy-subrc EQ 0.
      SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR'
                       AND object = 'PROG'
                       AND obj_name = tstc-pgmna.
      MOVE : tadir-devclass TO v_devclass.
      IF sy-subrc NE 0.
        SELECT SINGLE * FROM trdir WHERE name = tstc-pgmna.
        IF trdir-subc EQ 'F'.
          SELECT SINGLE * FROM tfdir WHERE pname = tstc-pgmna.
          SELECT SINGLE * FROM enlfdir WHERE funcname = tfdir-funcname.
          SELECT SINGLE * FROM tadir WHERE pgmid = 'R3TR'
                                      AND object = 'FUGR'
                                    AND obj_name EQ enlfdir-area.
          MOVE : tadir-devclass TO v_devclass.
        ENDIF.
      ENDIF.
      SELECT * FROM tadir INTO TABLE jtab
                    WHERE pgmid = 'R3TR'
                     AND object = 'SMOD'
                   AND devclass = v_devclass.
      SELECT SINGLE * FROM tstct WHERE sprsl EQ sy-langu
                                  AND  tcode EQ p_tcode.
      FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.
      WRITE:/(19) 'Transaction Code - ',
           20(20) p_tcode,
           45(50) tstct-ttext.
      SKIP.
      IF NOT jtab[] IS INITIAL.
        WRITE:/(95) sy-uline.
        FORMAT COLOR COL_HEADING INTENSIFIED ON.
        WRITE:/1 sy-vline,
               2 'Exit Name',
              21 sy-vline ,
              22 'Description',
              95 sy-vline.
        WRITE:/(95) sy-uline.
        LOOP AT jtab.
          SELECT SINGLE * FROM modsapt
                 WHERE sprsl = sy-langu AND
                        name = jtab-obj_name.
          FORMAT COLOR COL_NORMAL INTENSIFIED OFF.
          WRITE:/1 sy-vline,
                 2 jtab-obj_name HOTSPOT ON,
                21 sy-vline ,
                22 modsapt-modtext,
                95 sy-vline.
        ENDLOOP.
        WRITE:/(95) sy-uline.
        DESCRIBE TABLE jtab.
        SKIP.
        FORMAT COLOR COL_TOTAL INTENSIFIED ON.
        WRITE:/ 'No of Exits:' , sy-tfill.
      ELSE.
        FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
        WRITE:/(95) 'No User Exit exists'.
      ENDIF.
    ELSE.
      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.
      WRITE:/(95) 'Transaction Code Does Not Exist'.
    ENDIF.
    AT LINE-SELECTION.
      GET CURSOR FIELD field1.
      CHECK field1(4) EQ 'JTAB'.
      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).
      CALL TRANSACTION 'SMOD' AND SKIP FIRST   SCREEN.
    *---End of Program.
    I hope it helps.
    Best Regards,
    Vibha
    *Please mark all the helpful answers

Maybe you are looking for