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

Exit or Enhancement for TCode FB02 to manipulate Due Date

Former Member
0 Kudos

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

14 REPLIES 14

Former Member
0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

Hi

U need to append the field in the structure BSEG_SUBST, but why don't you use a simple FI substitution?

Max

0 Kudos

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.

0 Kudos

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

0 Kudos

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

0 Kudos

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

0 Kudos

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.

0 Kudos

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

Former Member
0 Kudos

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.