cancel
Showing results for 
Search instead for 
Did you mean: 

0FI_AP_4 Enhancement

Former Member
0 Kudos

Hello Experts,

I have googled a lot before posting this thread.

Currently i am working on 0FI_AP_4 Standard data source. We required field GSBER(Business Area) in BW, but this field is not avaliable in standard structure of 0FI_AP_4 i.e DTFIAP_3. After reading of lot of threads i came to know that if my field exist in underlying table no need to write code in CMOD. Is it correct?

Please let me know the procedure to enhance GSBER without writing code in CMOD.


Looking for valuable suggestions.



Regards,

PRK. 

Accepted Solutions (1)

Accepted Solutions (1)

Former Member

Hello Experts,

Waiting for inputs...

RamanKorrapati
Active Contributor
0 Kudos

Hi Praveen,

You included GSBER to your structure. then wihtout code how it will pulls data.

You have to use CMOD logic or BADI enhancement.

Thanks

Former Member
0 Kudos

HI Ramu,

I too agree with you. But in most of the threads lot of people said that, no need to write any abap code to to populate the data for enhanced field, if that field exit in underlying table and all the people mark that as "Correct Answer". Even SAP Note 410799 is also saying same. That's why i am confused.

Please pull out me from this confusion.

Regards,

PRK.

RamanKorrapati
Active Contributor
0 Kudos

in such case then you missed somethinng to modify at backend.

Have you added same field or any zz field?

Have you implemented any related note then only above method will work other wise it won't.

RamanKorrapati
Active Contributor
0 Kudos

please search and read the below thread which gives more idea about the same concept.

Use search term "0FI_GL_4 datasource enhancement - SAP Note 430303".

Former Member
0 Kudos

Hi Praveen and Raman,

I am sure that we do not need any coding to populate GSBER if we take it from table BSIK table.

@Praveen: Warning for CI_BSIK include are okay - one is of Enhancement category which you can avoid by adding enhnacement category in to the include from the top menu in SE11 for CL_BSIK.

Now coming to reason why you are not getting any data is because you must have not unchecked the flag 'Field Known only at Exit' in RSA6 changes when you were unhiding the field GSBER.

Please uncheck both flag as shown below.

I just tested it on my system is works perfectly.

One thing keep in mind that after you are done with changes just restart the RSA3 transaction as I did not restarted it and got dump

But then when I restarted RSA3 it worked perfectly.

Try this and let me know if you face any issues.

Thanks

Amit

Former Member
0 Kudos

HI Amit,

Thanks for your reply.

Issue resolved with the help of your post. What you said is exactly right. Now i am able to populate data for GSBER field with out any ABAP code.

Thanks a lot.

Regards,

PRK.

Former Member
0 Kudos

Good to know that solution worked.

Happy Working

Regards

Amit

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Praveen,

GSBER is present in the table BSIK, which means you just need to include this field in the Customer Include CI_BSIK in the extract structure DTFIAP_3. Then you do not need to do any coding as it will be handled in standard code.

Here's what you need to do:

1. Go to RSA2

2. Navigate to Extract structure DTFIAP_3 and then find the Include CI_BSIK.

3. Double click on the Include CI_BSIK and if it asks to create a new object say 'yes' and then add the field GSBER.

4. Activate the extract structure

Then I think you will have to unhide this field in RSA6.

Then, test the extraction in RSA3.

FYI refer note:

410799 - Enhancement of line item extraction FI-GL, FI-CIS, FI-CIS

Please let me know if there are any questions.

Regards

Amit

Former Member
0 Kudos

HI Amit,

Thanks for your reply.

I have followed same procedure which you have discussed. I am getting below warnings while activating the include structure CI_BSIK.

CI_BSIK is activated with warnings attached.

After activating i have unchecked hide field in RSA6 and activated. But when i test the data source in RSA3 i am able to see the Business Area filed but it is showing blank values. But table BSIK having values for Business Area(GSBER).

Regards,

PRK.

RamanKorrapati
Active Contributor
0 Kudos

Hi Amit,

Without cmod logic how the included field will be filled if added field is part of data source base table?

Thanks

Former Member
0 Kudos

Hi Raman,

It works fine just by adding the field in CI_BSIK because of following reason:

0FI_AP_4 extracts data from table BSIK and uses FM  'BWFIR_READ_BSIK_CPUDT_DATA'

Now in this FM there is a statement:

   FETCH NEXT CURSOR I_CURSOR
                 APPENDING CORRESPONDING FIELDS OF TABLE I_DATA_TABLE
                 PACKAGE SIZE I_MAXIMUM_LINES.

So due to 'APPENDING CORRESPONDING FIELDS' if we add the any field of BSIK in the include structure then it is taken care by this corresponding statement.

Now question comes, if this works then why don't other datasources work on this same principle as they also have 'APPENDING CORRESPONDING FIELDS' in the code.

This is because only for below datasources SAP has embedded the Includes explicitly and its functionality.

FI-GL 0FI_GL_4 BSIS DTFIGL_4 CI_BSIS

FI-AP 0FI_AP_4 BSIK DTFIAP_3 CI_BSIK

FI-AR 0FI_AR_4 BSID DTFIAR_3 CI_BSID

And if we try to do same thing with other datasources it will not work because SAP has not taken care of Includes explicitly. That is why we have to write the ABAP code for others.

Please let me know if there are any questions.

Thanks

Amit

RamanKorrapati
Active Contributor
0 Kudos

Thank you Amit for your explanation. its crystal clear.Got it.

RamanKorrapati
Active Contributor
0 Kudos

Hi,

See if field GSBER is part of your data source and hiden by SAP then only possible without cmod code.

If not part of your data source then you have to do enhancement thru CMOD code or BADI.

So please check table ROOSFIELD for your data source.

if you see the field GSBER in that table for your data source then with cmod code is possible.

Thanks