cancel
Showing results for 
Search instead for 
Did you mean: 

Customer exit EXIT_SAPLRSAP_001 not called .

Former Member
0 Kudos

Hello All,

Have enhanced the customer exit EXIT_SAPLRSAP_001 to populate certain blank field entries (FCURF and TCURF )for TCURR  extract structure through CMOD , have activated both exit and it's relevant project in CMOD , but my changes are not reflecting when I am trying to view the extract via RSA3.

While trying to debug the program by putting breakpoint just before my piece of code ,it's taking me to somewhere else infact to some different breakpoint inside the main program without touching my code.

Not sure of such behaviour ,any pointer on this will be of great help.

Regards

Deblina

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi ,

As requested given below is the extract structure for the same ----

As a matter of fact  have implemented my exit logic through FM inside the include where its updating the c_t_data internal table of TCURR  with new value of FFACT and TFACT being fetched from TCURF.

(Already shared the screenshot for the same above) .

Also wanted to ensure if  customer exits  can be used to enhance  generic DS .

Or are they used for standard extractors only.

Regards

Deblina

RamanKorrapati
Active Contributor
0 Kudos

Hi,

Exits can be used for standard and custom data sources as well based on type(master or transactional). But your extract structure doesn't shows as enhanced. its directly used form TCURR table only.

Enhanced fields always appeneded thru  extract strcuture. That appended will be seen at extract structures.

so thats the reason, your are unable to edit for thsoe fields at RSA6.

Thanks

Former Member
0 Kudos

Hi , so does that mean that even though I am trying to populate pre existing data fields tfact and ffact , I still need to append them in the eextract structure , their won't be any issue of field duplicacies ...

RamanKorrapati
Active Contributor
0 Kudos

it will be, you may see two fields of each one if you append thru?

By using custom program you can hide them as i think.

First of all i didn't understand your required?

Why you need FFACT And TFACT From TCURF only and Why not from TCURR if two tables have same values?

Former Member
0 Kudos

my extract str is based on TCURR table.

tfact and ffact field in TCURR for all record s are '0' , however they have proper values in TCURF Table. The intention is to transfer them to TCURR and that's what exactly the exit logic intends to does, so that next time when we run rsa3 I can see tfact and ffact are holding proper number due to this exit effect.

regards

Former Member
0 Kudos

Hi Deblina,

A few clarifications for you:

1. The reason 'Field Known Only at Exit' is inactive for your datasource is becuase you have not enhanced the extract structure explicitly as Raman said. When you have created the datasource then you took the TCURR table and extract structure and hence all the TCURR available fields are present in the extract structure already so they are not considered as to know at Exit initially and hence the check box is inactive for you. However, if you include any other field using Append Structure then you can see the flag active only for those newly included fields.

2. Even if the flag is not checked the logic for a transaction datasource always go to Customer Exit so your logic should be working irrespective of 'Field know only at exit' flag.

Having said above, I don't think you need to add the two fields again in the extract structure via append. The logic should definately go to customer exit. Now there could be a few reasons why it is not happening:

a) CMOD Project inactive - activate again

b) Exit logic inactive - activate again

But I think you said earlier that they are already active. So when you test the datasource in RSA3 please confirm below:

Do you check the top right box 'Debug' when you start debugging? - if yes then the logic will first go to initial logic. so you can proceed with the debugger and reach to the point when your customer exit is called.

If No, then I suggest you check that and then debug the code.

If you need help in debugging this code please let me know. I do not see a reason why the datasource extraction is not going to exit code.

Thanks

Amit

Former Member
0 Kudos

Hello Amit,

Really what an wonderful explanation you gave man!

Truly being a newbie in ABAP , this whats exactly I have been looking for , it didn't solved my purpose though but definitely it did clarified lot of my doubts , and will definitely buy-in that.

Once again thanks to Raman for his patience and time .

I shall mark both of your answers as the correct one and close this thread for the time being . If require I can reopen this , or start a new discussion .

Many thanks

Deblina

Answers (5)

Answers (5)

Former Member
0 Kudos

Hi ,

Just to re-iterate my exit is pulling the TFACT and FFACT values from TCURF for every TFACT and FFACT values in TCURR.

Its still in the sandbox/dev set up , and this has to be achieved via Customer exit as per business req for 2 reasons -

1) At a later point of time this needs to be enhanced using BAdI.

2) If you notice the From Curr date format its in char format so need to apply the conversion exit on that to put it in date format.

Else would have adopted the join approach.

Regards

Deblina

Former Member
0 Kudos

Just wanted to know why the "Fields only known in customer exit"  is not getting activated for my tcurr extract structure.


Regards


RamanKorrapati
Active Contributor
0 Kudos

Can you share your TCURR Extract structure screen with fields.

former_member186316
Participant
0 Kudos

Hi,

Intially it will take to some intial break points later on it will come to your code ,Press F8 until you get required code for debugging .

dhrubojyoit_saha
Explorer
0 Kudos

Hi,

Are you executing in debug mode? If yes, then it is likely to stop at other places. After setting the breakpoint just execute it normally and the debugger should fire up automatically.

If you are not executing in debugging mode then there seems to be some issue in the datasource itself. Are you getting any error messages once you complete the execution?

Regards.

Former Member
0 Kudos

@ dhrubojyoti , what I meant I am executing it normally , but the debugger is taking me to some other break points instead of mine.

No, am not encountering any error.

Regards

Deblina

Former Member
0 Kudos

Hi Deblina,

you can use RSO2 to change field settings. Datasource gets editable and you can checkmark "Fields only known in customer exit". Butthis fields will not be transferred, they are just used for calculations or lookups.

What type of datasource did you create? Maybe yiu created a master data datasource, then you need a different exit?

Regards,

Jürgen

Former Member
0 Kudos

Hi Jurgen ,its a Generic DS of transaction type I am still not sure why my "Fields only known in customer exit" is still not getting activated inspite all the conditions being met.


Anybody , any luck.


Regards

Deblina

dhrubojyoit_saha
Explorer
0 Kudos

As suggested by someone already, have you tried pressing F8 and see if it stopping at your code (I assume you have already tried). I am not sure if "Fields only known in customer exit" will anyway help you. These fields are not extracted and only used in the exits. But as per your use case I think you need the fields to be available in the extract. Also since you mentioned you have activated the exit, is this the first enhancement in the system?

Regards

RamanKorrapati
Active Contributor
0 Kudos

Hi,

at Source side - RSA6, click on your data source and see the enhanced field was selected " Field known in customer exit" option? if not then select it. other wise your data source extraction won't call CMOD Logic.

Enhance mean you added new field which is not part of your data source?

Thanks

Former Member
0 Kudos

Hello Raman ,

I am not adding any new fields rather trying populate some already existing field in the extract structure which were blank initially.

Regards

Deblina.

RamanKorrapati
Active Contributor
0 Kudos

If existing fields have some blank then how your filling thru CMOD Logic?

You need to cross check your logic.

Even try to save/activate your code and extract structures once again.

About debugging, at CMOD, you can put break point and save your code at dev system.

Later run RSA3 at source side and choose debug option.

Lets see whether its take you to your code or not.

Former Member
0 Kudos

Hi Raman ,

You are right , I need to add those fields in RSA6 through 'Fields only in Customer exit' , but they are in disabled mode , cant click those check box even in edit mode .

Do let me know if you need the logic in the Customer Exit.

Overall if you can share some generic process on data source enhancement that includes adding data to empty fields , adding new fields , changing pre-existing records etc.


Regards

Deblina

RamanKorrapati
Active Contributor
0 Kudos

Hi,

check table - ROOSFIELD, try to see the data source and its fields by giving OLTPSOURCE - your data source name.

For added fields if SELECTION field value is A, it will be hidden, we need to modify that value to as X or P. so then we will get edit option at RSA6.

Please check and let us know the value of SELECTION field for added fields of your data source.

Thanks

Former Member
0 Kudos

Hi Gupta,

As per Raman for the after applying the below methos it is enabled well and good. But not enabled max through the below code you will achieve the issue of enable the selection option.

check table - ROOSFIELD, try to see the data source and its fields by giving OLTPSOURCE - your data source name.

For added fields if SELECTION field value is A, it will be hidden, we need to modify that value to as X or P. so then we will get edit option at RSA6.

Please check and let us know the value of SELECTION field for added fields of your data source.

Reference Code : modify as per your requirement.

SE38: Create a program for ref below code.

  REPORT ZNP_SELE_DS.
tables: ROOSFIELD.

UPDATE ROOSFIELD SET SELECTION = 'P'

WHERE OLTPSOURCE = '0FI_AR_4' AND   OBJVERS = 'A' AND FIELD = 'BELNR'.


UPDATE ROOSFIELD SET SELECTION = 'P'

WHERE OLTPSOURCE = '0FI_AR_4' AND OBJVERS = 'A' AND FIELD = 'KUNNR'.





Thanks & Regards,

Srinu.Rapolu

Former Member
0 Kudos

Hello Raman , Srinu,

As requested , attaching the screen shots for field selection values in ROOSFIELD.

Here all the fields seems to be either 'P' or 'X'.

Regards

Deblina

Former Member
0 Kudos

Also attaching the business logic for the exit under include ZXRSAU01.

Do let me know if its the correct way calling any function for a Datasource.

Regards

Deblina

Former Member
0 Kudos

Hi Gupta,

For customer exit fields(Enabled in edit mode from rsa6) or standard extractor fields(default disable).

Regarding your issue data is not populating for customer exit fields:- In this case no need to enable the in RSA6 for the fields. It may helps you further analysis. Let me know if any issue.

Thanks & Regards,

Srinu.Rapolu

RamanKorrapati
Active Contributor
0 Kudos

Hi,

I need to know below details.

Generic data source created on which table(s)?

What fields you enhanced and from which table?

Thanks

Former Member
0 Kudos

Hello Raman ,

As requested ---

Generic data source created on which table(s)? -- TCURR table .

What fields you enhanced and from which table? -- TFACT and FFACT fields are being populated from TCURF table.


Regards

Deblina

RamanKorrapati
Active Contributor
0 Kudos

H,

TCURR - Table also have TFACT and FFACT?

Thats  why system not allowed to check those options at RSA6.

at which server your facing this issue?

if your data source not been transported to bw prod then rather than enhancement, you can create custom data source based on View ( Tables -  TCURR and TCURF.)

Thanks

mohd_abdullah
Contributor
0 Kudos

Just create a view on those two table and use TFACT and FFACT fields from table TCURF and create GDS on this view .

Former Member
0 Kudos

Hi,

alternatively you can create an extract on FM, using TCURR and TCURF tables.

There you can manualy define the fields which your extract should return.

May you also need to add your manually your TCURF fields to your extract srtucture and check them as "available in exit only".

Regards,

Jürgen

chanda
Contributor
0 Kudos

Hi Deblina Gupta,

Firstly check if your variable is a customer exit variable & you have to hide it .

Also I_STEP is 1 or 2 ? Hope you know the difference.

Normally it should stop if the steps are followed. probably you might have missed any .

Please try to check again and also give details on how to debug ( 3.x / 7.0 )?

we can check further if not resolved.

Regards,

sudhir

Former Member
0 Kudos

Hello Janardhan ,

I am not very sure of the processes you are pointing here can you be bit more elaborate on this.

Thanks

Deblina