12-23-2010 6:41 AM
Hi,
We would like to change the value on the due date field based on some custom logic in TCode FB02 on the item detail screen (program SAPMF05L screen no 304, SAP version 4.7). Is there any user exit or BADI for this?
We have tried various user exits but nothing seems to work. We found one BADI, which we thought would work, ADJUST_NET_DAYS, but this is marked for internal use (SAP use) only.
Please help.
Thanks.
John
12-23-2010 6:54 AM
Hi Friend,
Exits,
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)
Badi's,
AC_QUANTITY_GET
AC_QUANTITY_GET
BADI_ENJ_ALT_ADR
BADI_ENJ_ALT_ADR
BADI_F040_SCREEN_600
BADI_FDCB_SUBBAS01
BADI_FDCB_SUBBAS02
BADI_FDCB_SUBBAS03
BADI_FDCB_SUBBAS04
BADI_FDCB_SUBBAS05
BADI_MIRO_SPLT_ADD
BADI_PRKNG_NO_UPDATE
BADI_TAX1_XTXIT_SET
F050S008
FBAS_CIN_LTAX1F02
FBAS_CIN_MF05AFA0
FI_AUTHORITY_ITEM
FI_DOC_DISP_LI
FI_GET_INV_PYMT_AMT
FI_HEADER_SUB_1300
FI_PAYREF_BADI_010
FI_TRANS_DATE_DERIVE
INVOIC_FI_INBOUND
RFESR000_BADI_001
Enhancement Spot
AC_QUANTITY_GET Transfer of Quantities to Accounting - Customer Exit
BADI_ENJ_ALT_ADR Go to alternative vendor/customer data
BADI_TAX1_XTXIT_SET
FI_DOC_DISP_LI Diversion to Document Items (FB03)
Thanks,
santhosh
Edited by: santhosh kumar on Dec 23, 2010 8:02 AM
12-23-2010 7:28 AM
Thanks Santosh.
I am aware of these exits and the ABAPer told me that none of these will work. If anyopne knows any particular exit or BADI that will help then please help.
John
12-23-2010 7:34 AM
Hi John,
Even we cant say that which will trigger based on the description we can idenfify some badi or exit Or keeping the break point at all the badi where it will trigger can assume that.
Have a try on it.
Thanks,
santhosh
12-23-2010 9:30 AM
To explain the problem in more detail:
Whenever a accounting document (created automatically) is created from a billing document the due on date (BSEG-ZFBDT) in the accounting document line item is by default the same as the posting date.
However we would like to have the due on date in the accounting document line item to be equal to Posting Date + Payment Term.
Please help us know how to achieve this.
Thanks
John
12-23-2010 2:49 PM
Hi john,
You can try to implement the BTE 1100. This BTE allows you to change the payment terms and the due date (Ex: Function module SAMPLE_PROCESS_00001100).
[https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/207835fb-0a01-0010-34b4-fef1240ba9b7]
Regards,
Edited by: Jose Vaquero Polonio on Dec 23, 2010 5:20 PM
12-27-2010 2:02 PM
Thanks Jose.
The interface of function module SAMPLE_PROCESS_00001120 has the table BSEG_SUBST. This table does not have the field ZFBDT (from BSEG), which I want to change.
Please help.
Regards,
John
12-27-2010 2:33 PM
Hi
U need to append the field in the structure BSEG_SUBST, but why don't you use a simple FI substitution?
Max
12-27-2010 2:48 PM
Hi John,
I was referring to the BTE 1100. 1120 is an example of the utilization of the BTE. But i do not know if the event 1100 is available in the version 4.7 or only from the version 6
FUNCTION SAMPLE_PROCESS_00001100.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" REFERENCE(I_BUKRS) TYPE BUKRS
*" REFERENCE(I_BLDAT) TYPE BLDAT
*" REFERENCE(I_BUDAT) TYPE BUDAT
*" REFERENCE(I_BLART) TYPE BLART
*" REFERENCE(I_BSCHL) TYPE BSCHL
*" REFERENCE(I_KOART) TYPE KOART
*" REFERENCE(I_ACCOUNT) TYPE KONKO
*" REFERENCE(I_UMSKZ) TYPE UMSKZ
*" REFERENCE(I_FILKD) TYPE FILKD OPTIONAL
*" EXPORTING
*" REFERENCE(E_SKLIN) TYPE SKLIN
*" REFERENCE(E_ZLSPR) TYPE DZLSPR
*" REFERENCE(E_ZLSCH) TYPE DZLSCH
*" CHANGING
*" REFERENCE(C_ZTERM) TYPE DZTERM
*" REFERENCE(C_ZFBDT) TYPE DZFBDT
*"----------------------------------------------------------------------
ENDFUNCTION.
12-28-2010 5:44 AM
Thanks Max and Jose.
I was trying to work with substitutions. My question is how will I know the payment terms (ZTERM)? How will it be passed to the exit in the form pool?
Can I just write in the exit,
Data: v_zterm like bseg-zterm
v_zterm = BSEG-ZTERM?
The substitution will have the value of the payment term passed from the billing document?
Regards,
John
Edited by: john cleese on Dec 28, 2010 6:56 AM
12-28-2010 6:56 AM
HI John,
I had similar type of requirement earlier in which I was supposed to capture Vendor payment term changes in Invoice i.e. FB02.
You can use BTE 1020. This will definitely solve your problem since it is having necessary parameters which you are looking for.
Let us know if you are still stuck up somewhere.
Cheers
VJ
12-28-2010 10:15 AM
Thanks Vishal.
Do you mean BTE 1020 or 1120?
Also in BTE 1120 FM SAMPLE_PROCESS_00001120 structure BSEG_SUBST, the field ZFBDT is not available.
Please advise.
Max,
I have been trying substitutions. I have added my code to the form pool and declared the exit in FORM get_exit_titles. Entry has been created in table T80D. The exit has been added in TCode GGB1 substitution.
When I release to accounting a downpayment request, the code stops in debug mode in form get_exit_titles of the form pool and the below code gets executed:
exits-name = 'U604'.
exits-param = c_exit_param_none.
exits-title = text-604.
APPEND exits.
However the form FORM U604 where I have written the logic does not get called, even though the pre-requisite that BKPF-BLART = "Z2" is satisfied.
Please help.
Regards,
John
Edited by: john cleese on Dec 28, 2010 11:51 AM
12-28-2010 3:17 PM
You can add fields to BSEG_SUBST via an append structure - I believe there's an OSS note that covers it. As far as the substitution exit call, you can debug the (dynamic) call from the generated code to determine why it isn't called - there should be a bunch of boolean checking logic that you need to step through and find the condition that fails.
12-29-2010 4:46 AM
Hi John,
Sorry for the typo error.
Actually the right BTE is 1110 which you can use.
Cheers
VJ
Edited by: Vishal Jindal on Dec 29, 2010 9:03 AM
12-23-2010 8:37 AM
Hi.
Put a break point in the method CL_EXITHANDLER->GET_INSTANCE so that you can find out which exit is called during your tcode FB02. you can manipulate your data in this exit.
BR,
Lokeswari.