The fund master is the primary master data element utilized by public sector organizations.  Some organizations need the ability to enhance the master record by adding additional attributes which will be used in reporting and transactional processing.  SAP delivers the Customer Enhancement FMMD0012 in order to add fields to the fund master record. The enhancement contains three components:

  • Screen SAPLXFMFUND 0100
  • Function Module EXIT_SAPLFM52_001 (for PBO activities)
  • Function Module EXIT_SAPLFM52_002 (for PAI activities)

The following steps enable you to to activate the enhancement and add the fields to the FM5I, FM5U and FM5S transactions.

  1. Create a new Project in transaction CMOD.

a.  The Project name is freely definable; however, I typically create a one-to-one relationship between my projects and enhancements.  In this scenario, you can give your project name the same name as the enhancement.

SMOD1.jpg

b.  In the next screen, enter a short text for your new project.

CMOD1.jpg

c.  Click on the ‘Save’ button, and the system should ask you for a transport request.  Create the new request based on your projects specifications.

d.  Click on the ‘Enhancement assignments’ button and enter the SMOD Enhancement ‘FMMD0012’.  Click the ‘Save’ button.

CMOD2.jpg

  1. The next step for this Enhancement is to add the fields to the fund table.  Create the structure CI_FMFINCODE for the additional fields.


a.  I added fields from the US Federal tables FMUSFGFACTS1A and FMUSFGFACTS2A which we will then use FMDERIVE to populate the transactional data.  Here is a list of the fields I used.

Field

Data Element

Description

RFLG_APPORT

FM_FLG_APPORT

Apportionment Category

RFLG_BORROW

FM_FLG_BORROW

Borrowing Source

RFLG_DEFINITE

FM_FLG_DEFINITE

Definite/Indef Indicator

RFLG_BEA

FM_FLG_BEA

BEA Category

RFLG_REIMBUR

FM_FLG_REIMBUR

Reimbursable

RFLG_AUTHOR

FM_FLG_AUTHOR

Authority Type

RFLG_LOANTYPE

ZLOAN_TYP

Loan Type

b.  In transaction SE11, enter table FMFINCODE and select ‘Display’, then double click on the Include CI_FMFINCODE to create the new structure.  After entering the field names and data elements (component types), activate the new structure.

CI_FMFINCODE.jpg


     3.  Add fields to Include ZXFMFUNDTOP.  By defining the global variables, we will be able to pass the information back and forth from the screen to the enhancement structure to populate the table correctly.

ZXFMFUNDTOP.jpg

  1. Create Screen SAPLXFMFUND 0100 in transaction SE51.

a.  Click on the ‘Create’ button.

SAPLXFMFUND_0100.jpg

b.  Select the ‘Subscreen’ radio button and enter a Description.


SAPLXFMFUND_subscreen.jpg

c.  Click on the ‘Layout’ button.

SAPLXFMFUND_layout.jpg

d.  If you would like a group frame, then add a box with the Name of FRAME_4.  I’ve added the text for my scenario which is ‘FACTS Attributes’.  After that, add the text boxes and input boxes for each field.

e.  Save the screen and go back to the Element List to view the screen elements defined.  Here you can also change additional characteristics of the elements.

SAPLXFMFUND_element_list.jpg

f.  Once the Subscreen has been created and activated, a PBO and PAI module needs to be created.  Click on the ‘Flow logic’ tab from within the subscreen.  The default code is displayed with the standard PBO and PAI modules commented out.

SAPLXFMFUND_flow1.jpg

g.  You can create your own modules, or just uncomment the Module STATUS_0100 and Module USER_COMMAND_0100.  After deleting the ‘*’ to un-comment the lines, double click on each to create the new Modules.


SAPLXFMFUND_flow2.jpg

h.  The PBO Module handles the transfer of data from the Enhancement to the Screen.

ZXFMFUNDO01.jpg

i.  The PAI module handles the transfer of the Screen data back to the Enhancement.

ZXFMFUNDI01.jpg

This completes the creation of the subscreen.

5.  Create the code in the Enhancement for EXIT_SAPLFM52_001 (for PBO activities).


a.  Go to SE37 and enter Function Module EXIT_SAPLFM52_001 and click ‘Display’.

EXIT_SAPLFM52_001.jpg

b.  Double click on the Include ‘ZXFMFUNDU01’ to create the new Include and enter the following code:

ZXFMFUNDU01.jpg

c.  This code moves the data from the internal table I_F_IFMFINCODE which was a select of the database to the global variables for screen processing.  Click ‘Save’ and ‘Activate’.

 

  1. Create the code for the User Exit EXIT_SAPLFM52_002 (for PAI activities).

a.  Go to SE37 and enter Function Module EXIT_SAPLFM52_002 and click ‘Display’.

 

EXIT_SAPLFM52_002.jpg

b.  Double click on the Include ‘ZXFMFUNDU02’ to create the new Include.  Enter the following code:

ZXFMFUNDU02.jpg

c.  This code moves the data from the Global Variables of the Screen to the Export parameters of the User Exit in order to Save the data back to the database.  This completes the necessary enhancement.  Be sure to go back to transaction CMOD and activate your Project.

 

To see the results of the changes, go to transaction FM5U to update an existing fund.

FM5U.jpg

To report this post you need to login first.

Be the first to leave a comment

You must be Logged on to comment or reply to a post.

Leave a Reply