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 PMHi 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 -
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,
LalynHi 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,
SreeHi 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 -
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,
AndreHi,
Check the badi "LE_SHP_GOODSMOVEMENT", method "CHANGE_INPUT_HEADER_AND_ITEMS". Pass the errors in the structure CT_LOG.
Regards
Vinod -
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 PMJust 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 -
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,
RoshaniCheck enhancement MGV00001 in SMOD.
Exit Fm is EXIT_SAPLMV01_002
Regards,
Naimesh Patel -
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
PraveenTransaction 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
-
Backing up iPhoto Library on external hard drive through Time Machine
Hi - I was advised by the folks at the Genius Bar to move my iPhoto Library to an external hard drive (drive 1), and then buy a separate 1TB external hard drive (drive 2) for all of my Time Machine backups. They said I could back up the Library in dr
-
I want to redirect my talktalk emails to the icloud so they will synchronize between my devices. At present they appear on every device and have to be deleted every time as I only use one device to save in mail folders.
-
ORDERS idoc processing in workflow
I have a situation when processing ORDERS idocs thru workflow. The unit of measure is inadvertently switching from what is on the idoc (EA) to the base (CA) after correcting the "qty not in valid multiples" error and saving the order. the standard V
-
Some TV Shows appearing under Movies within Front Row
I've started experiencing this particular behaviour since installing the recent updates (10.6.1 & iTunes 9). Within iTunes, I've checked the 'media kind' and it is set correctly. All the content was purchased from iTunes. I'd be grateful for any advi
-
Nokia N82 failed software update - phone dead, wha...
Hello there, I was using the latest version of Nokia Software Updater today to update my Nokia N82 phone. Everything run smoothly at first, until suddenly at the mist of installation, the Nokia Software Updater pop up a message that the software enco