cancel
Showing results for 
Search instead for 
Did you mean: 

FD32 taking long time for new customer

Former Member
0 Kudos

Dear Friends,

After creating new customer we create credit control area of that customer using FD32.

But its taking too much time. can you please exaplain why its taking too much time or how

can we avoid this long time process.

Regards

Malik

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

Correction instruction based on note :

...

CALL FUNCTION 'CREDITLIMIT_CHANGE' IN UPDATE TASK

EXPORTING

I_KNKA = KNKA

I_KNKK = KNKK

UPD_KNKA = UPD_KNKA

UPD_KNKK = UPD_KNKK

YKNKA = YKNKA

YKNKK = YKNKK

XNEUA = KLIM-XNEUA

XREFL = KLIM-XREFL.

IF KLIM-XNEUA NE SPACE. "K11K100791

*>>>> START OF DELETION <<<<<

  • Bei Auftreten des Laufzeitfehlers 'TIME_OUT' sind die ausgesternten

  • Zeilen zu aktivieren (vgl. Hinweis 99937)

  • CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

  • EXPORTING

  • DEFAULTOPTION = 'Y'

  • DIAGNOSETEXT1 = TEXT-101

  • DIAGNOSETEXT2 = TEXT-102

  • DIAGNOSETEXT3 = ' '

  • TEXTLINE1 = TEXT-100

  • TITEL = ' '

  • CANCEL_DISPLAY = ' '

  • IMPORTING

  • ANSWER = ANSWER.

  • IF ANSWER = 'J'.

IF SY-BINPT = 'X'. "n1293818

  • SD_CREDIT_RECREATE cannot be started in batch input

  • RFDKLI20 should be called instead

IF T014N-KKBER IS INITIAL.

T014N-KKBER = KNKK-KKBER.

INSERT INTO T014N VALUES T014N.

ENDIF.

MESSAGE S778 WITH KNKK-KKBER.

ELSE.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

"K11K100791

EXPORTING

"K11K100791

AFTER_CHANGE_KNKLI = 'X'

"K11K100791

AFTER_CHANGE_TVAP_TVLP = 'X'

"K11K100791

KKBER = KNKK-KKBER

"K11K100791

KUNNR = KNKK-KUNNR

"K11K100791

PROTOCOL = ' '

"K11K100791

RECHECK_DOCUMENTS = 'X'

"K11K100791

SET_COMMIT = 'X'

"K11K100791

TKNKK = KNKK.

"K11K100791

ENDIF.

ELSEIF KNKK-KNKLI NE YKNKK-KNKLI "K11K100791

AND UPD_KNKK NE 'I'. "K11K100791

  • CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

  • EXPORTING

  • DEFAULTOPTION = 'Y'

  • DIAGNOSETEXT1 = TEXT-101

  • DIAGNOSETEXT2 = TEXT-102

  • DIAGNOSETEXT3 = ' '

  • TEXTLINE1 = TEXT-100

  • TITEL = ' '

  • CANCEL_DISPLAY = ' '

  • IMPORTING

  • ANSWER = ANSWER.

  • IF ANSWER = 'J'.

CALL FUNCTION 'SD_CREDIT_RECREATE' "K11K100791

EXPORTING "K11K100791

AFTER_CHANGE_KNKLI = 'X' "K11K100791

AFTER_CHANGE_TVAP_TVLP = ' ' "K11K100791

KKBER = KNKK-KKBER "K11K100791

KUNNR = KNKK-KUNNR "K11K100791

PROTOCOL = ' ' "K11K100791

RECHECK_DOCUMENTS = 'X' "K11K100791

SET_COMMIT = 'X' "K11K100791

TKNKK = KNKK. "K11K100791

  • ENDIF.

*>>>> END OF DELETION <<<<<<<

*>>>> START OF INSERTION <<<<

*----- Batch-Input?

IF SY-BINPT = SPACE.

*..... no, send popup

CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

EXPORTING

DEFAULTOPTION = 'Y'

DIAGNOSETEXT1 = TEXT-101

DIAGNOSETEXT2 = TEXT-102

DIAGNOSETEXT3 = ' '

TEXTLINE1 = TEXT-100

TITEL = ' '

CANCEL_DISPLAY = ' '

IMPORTING

ANSWER = ANSWER.

IF ANSWER = 'J'.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = 'X'

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

ELSE.

  • yes, Batch Input

  • SD_CREDIT_RECREATE cannot be started in batch input

  • RFDKLI20 should be called instead

IF T014N-KKBER IS INITIAL.

T014N-KKBER = KNKK-KKBER.

INSERT INTO T014N VALUES T014N.

ENDIF.

MESSAGE S778 WITH KNKK-KKBER.

ENDIF.

ELSEIF KNKK-KNKLI NE YKNKK-KNKLI "K11K100791

AND UPD_KNKK NE 'I'. "K11K100791

*----- Batch-Input?

IF SY-BINPT = SPACE.

*----- No, send popup

CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

EXPORTING

DEFAULTOPTION = 'Y'

DIAGNOSETEXT1 = TEXT-101

DIAGNOSETEXT2 = TEXT-102

DIAGNOSETEXT3 = ' '

TEXTLINE1 = TEXT-100

TITEL = ' '

CANCEL_DISPLAY = ' '

IMPORTING

ANSWER = ANSWER.

IF ANSWER = 'J'.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = ' '

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

ELSE.

  • yes, Batch Input: update directly without popup

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

  • Inform SD_CREDIT_RECREATE that a INSERT OCCURS

EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = ' '

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

*>>>> END OF INSERTION <<<<<<

Answers (3)

Answers (3)

Former Member
0 Kudos

Hi,

One reason may be due to missing partner index for the payer (table TINPA) for group 'Transaction = '0' (sales orders)'.

Solution There must be a partner index for the payer for group 'Transaction = '0' (sales orders), OR else a database secondary index for table VBPA for f the following two options:

1. Enter retroactively a partner index in table TINPA:

a) In table TINPA, add an entry with group 'Transaction = '0' and partner funnction = 'RG'.

b) Reorganize the partner index, otherwise the system finds in the index table (VAKPA) only documents which were created or changed after the entry has no effect! Carry out the reorganization of the partner index using report RVV05IVB. You should run RVV05IVB in prod in off hours

c) A database secondary index for table VBPA is NOT required here!

2. As an alternative to point 1, you can forego the entry in table TINPA and set up a database secondary index for table VBPA for fields MANDT, KUN the size of table VBPA. Also refer to Note 705317 - Performance credit master data (FD32) and RFDKLI20

Also see whether the for the following note Note 99937 - Credit management: runtime error 'TIME_OUT' Correction Instruction

289775 Valid from Valid 470 606 to Software Component Last Modifcation SAP_APPL 23.02.2011 10:02:06 See SAP has modified the code on 23.02.2011 So see the correction instruction. Program ID Object Type Object Name Program ID Object Type Object Name LIMU REPS MF02CFS0 R3TR PROG MF02CFS0

Regards,

Saju.S

Former Member
0 Kudos

Dear Saju,

I am going with following approach which you mentioned

1. Enter retroactively a partner index in table TINPA:

a) In table TINPA, add an entry with group 'Transaction = '0' and partner funnction = 'RG'.

But its taking too much time. from previous 24 hours its running in backgroud and till now now i dea.

so its difficult to do in production system.. becuase for this we need time so no body can put any entry in this table.

What you suggest.

Regards

Malik

Former Member
0 Kudos

resolved.

PAL14
Participant
0 Kudos

Dear Malik Naeem,

Our production system is also having some what similar problem. The problem exist only when creating through Tcode FD32. But when Using LSMW it is not showing any delay.

Can you please mention how you have Resolved this issue.

Thanks & Regards,

Pradeep Alex Luke.

Former Member
0 Kudos

Hi,

One reason may be due to missing partner index for the payer (table TINPA) for group 'Transaction = '0' (sales orders)'.

Solution

There must be a partner index for the payer for group 'Transaction = '0' (sales orders), OR else a database secondary index for table VBPA for f the following two options:

1. Enter retroactively a partner index in table TINPA:

a) In table TINPA, add an entry with group 'Transaction = '0' and partner funnction = 'RG'.

b) Reorganize the partner index, otherwise the system finds in the index table (VAKPA) only documents which were created or changed after the entry has no effect! Carry out the reorganization of the partner index using report RVV05IVB. You should run RVV05IVB in prod in off hours

c) A database secondary index for table VBPA is NOT required here!

2. As an alternative to point 1, you can forego the entry in table TINPA and set up a database secondary index for table VBPA for fields MANDT, KUN the size of table VBPA.

Also refer to Note 705317 - Performance credit master data (FD32) and RFDKLI20

Also see whether the for the following note Note 99937 - Credit management: runtime error 'TIME_OUT'

Correction

Instruction 289775

Valid

from Valid 470 606

to Software

Component

Last

Modifcation SAP_APPL 23.02.2011 10:02:06

See SAP has modified the code on 23.02.2011 So see the correction instruction.

Program ID Object Type Object Name Program ID Object Type Object Name

LIMU REPS MF02CFS0 R3TR PROG MF02CFS0

See whether the below corrections are there in your code:

...

CALL FUNCTION 'CREDITLIMIT_CHANGE' IN UPDATE TASK

EXPORTING

I_KNKA = KNKA

I_KNKK = KNKK

UPD_KNKA = UPD_KNKA

UPD_KNKK = UPD_KNKK

YKNKA = YKNKA

YKNKK = YKNKK

XNEUA = KLIM-XNEUA

XREFL = KLIM-XREFL.

IF KLIM-XNEUA NE SPACE. "K11K100791

*>>>> START OF DELETION <<<<<

  • Bei Auftreten des Laufzeitfehlers 'TIME_OUT' sind die ausgesternten

  • Zeilen zu aktivieren (vgl. Hinweis 99937)

  • CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

  • EXPORTING

  • DEFAULTOPTION = 'Y'

  • DIAGNOSETEXT1 = TEXT-101

  • DIAGNOSETEXT2 = TEXT-102

  • DIAGNOSETEXT3 = ' '

  • TEXTLINE1 = TEXT-100

  • TITEL = ' '

  • CANCEL_DISPLAY = ' '

  • IMPORTING

  • ANSWER = ANSWER.

  • IF ANSWER = 'J'.

IF SY-BINPT = 'X'. "n1293818

  • SD_CREDIT_RECREATE cannot be started in batch input

  • RFDKLI20 should be called instead

IF T014N-KKBER IS INITIAL.

T014N-KKBER = KNKK-KKBER.

INSERT INTO T014N VALUES T014N.

ENDIF.

MESSAGE S778 WITH KNKK-KKBER.

ELSE.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

"K11K100791

EXPORTING

"K11K100791

AFTER_CHANGE_KNKLI = 'X'

"K11K100791

AFTER_CHANGE_TVAP_TVLP = 'X'

"K11K100791

KKBER = KNKK-KKBER

"K11K100791

KUNNR = KNKK-KUNNR

"K11K100791

PROTOCOL = ' '

"K11K100791

RECHECK_DOCUMENTS = 'X'

"K11K100791

SET_COMMIT = 'X'

"K11K100791

TKNKK = KNKK.

"K11K100791

ENDIF.

ELSEIF KNKK-KNKLI NE YKNKK-KNKLI "K11K100791

AND UPD_KNKK NE 'I'. "K11K100791

  • CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

  • EXPORTING

  • DEFAULTOPTION = 'Y'

  • DIAGNOSETEXT1 = TEXT-101

  • DIAGNOSETEXT2 = TEXT-102

  • DIAGNOSETEXT3 = ' '

  • TEXTLINE1 = TEXT-100

  • TITEL = ' '

  • CANCEL_DISPLAY = ' '

  • IMPORTING

  • ANSWER = ANSWER.

  • IF ANSWER = 'J'.

CALL FUNCTION 'SD_CREDIT_RECREATE' "K11K100791

EXPORTING "K11K100791

AFTER_CHANGE_KNKLI = 'X' "K11K100791

AFTER_CHANGE_TVAP_TVLP = ' ' "K11K100791

KKBER = KNKK-KKBER "K11K100791

KUNNR = KNKK-KUNNR "K11K100791

PROTOCOL = ' ' "K11K100791

RECHECK_DOCUMENTS = 'X' "K11K100791

SET_COMMIT = 'X' "K11K100791

TKNKK = KNKK. "K11K100791

  • ENDIF.

*>>>> END OF DELETION <<<<<<<

*>>>> START OF INSERTION <<<<

*----- Batch-Input?

IF SY-BINPT = SPACE.

*..... no, send popup

CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

EXPORTING

DEFAULTOPTION = 'Y'

DIAGNOSETEXT1 = TEXT-101

DIAGNOSETEXT2 = TEXT-102

DIAGNOSETEXT3 = ' '

TEXTLINE1 = TEXT-100

TITEL = ' '

CANCEL_DISPLAY = ' '

IMPORTING

ANSWER = ANSWER.

IF ANSWER = 'J'.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = 'X'

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

ELSE.

  • yes, Batch Input

  • SD_CREDIT_RECREATE cannot be started in batch input

  • RFDKLI20 should be called instead

IF T014N-KKBER IS INITIAL.

T014N-KKBER = KNKK-KKBER.

INSERT INTO T014N VALUES T014N.

ENDIF.

MESSAGE S778 WITH KNKK-KKBER.

ENDIF.

ELSEIF KNKK-KNKLI NE YKNKK-KNKLI "K11K100791

AND UPD_KNKK NE 'I'. "K11K100791

*----- Batch-Input?

IF SY-BINPT = SPACE.

*----- No, send popup

CALL FUNCTION 'POPUP_TO_CONFIRM_WITH_MESSAGE'

EXPORTING

DEFAULTOPTION = 'Y'

DIAGNOSETEXT1 = TEXT-101

DIAGNOSETEXT2 = TEXT-102

DIAGNOSETEXT3 = ' '

TEXTLINE1 = TEXT-100

TITEL = ' '

CANCEL_DISPLAY = ' '

IMPORTING

ANSWER = ANSWER.

IF ANSWER = 'J'.

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

*----- Inform SD_CREDIT_RECREATE that a INSERT OCCURS -


EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = ' '

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

ELSE.

  • yes, Batch Input: update directly without popup

IF UPD_KNKK = 'I' OR UPD_KNKK = 'U'.

  • Inform SD_CREDIT_RECREATE that a INSERT OCCURS

EXPORT UPD_KNKK TO MEMORY ID '&FD32%'.

ENDIF.

CALL FUNCTION 'SD_CREDIT_RECREATE'

EXPORTING

AFTER_CHANGE_KNKLI = 'X'

AFTER_CHANGE_TVAP_TVLP = ' '

KKBER = KNKK-KKBER

KUNNR = KNKK-KUNNR

PROTOCOL = ' '

RECHECK_DOCUMENTS = 'X'

SET_COMMIT = 'X'

TKNKK = KNKK.

ENDIF.

*>>>> END OF INSERTION <<<<<<

...

Hope this will help you.

Regards,

Saju.S

former_member209761
Active Contributor
0 Kudos

Dear Malik,

With the help of Basis team, please run performance trace.

You will understand why system is taking time.

Thanks & Regards,

Hegal K Charles

Former Member
0 Kudos

One thing which i want to mention.

We have lot of records and i know that when we are going to create credit limit

it will check the sales system and Accounts receiables for making credit exposure

for that particular customer.

But my question is when this customer is new then why its going to check

sales and AR system.

Any help highly Appriciated.

Regards

Naeem

Former Member
0 Kudos

any hint