cancel
Showing results for 
Search instead for 
Did you mean: 

CATS: Restrict Data Entry Profile to timeframe open for booking

former_member368169
Participant
0 Kudos

Hi experts,

We are currently setting up our data entry profiles for CATS. In one of the profiles, we want to enable the user to enter data for any date within a period that is open for booking in FI/CO. As soon as a period (=month) is closed in FI/CO, it should be impossible for users with this Profile to enter data for this period in CATS.

As fas as I can see in the profile settings in Transaction CAC1, it is only possible to set the timeframe to a fixed number of days, weeks or months. In our Scenario the timeframe would be either the current and the previous month or the current month only, depending on whether the previous month has been closed or not.

Does anybody know how this requirement can be implemented?

Thanks

Alexandre

Accepted Solutions (1)

Accepted Solutions (1)

former_member368169
Participant
0 Kudos

For documentation purposes - this is what I finally figured out myself:

  • Defined a data entry Profile that allows the user to edit any data over the past 7 weeks (the Maximum time after which a month is closed for booking in our system).
  • Implemented a function module that calculates the earliest data the user should be allowed to edit in CATS (lots of customer-specific logic in here).
  • Added a check to user Exit CATS0003 that rejects any editing prior to the date calculated by my function module.
  • Modified my (already existing) checks in user exit CATS0006 so that they don't check all the data within the timeframe defined by the data entry profile, but only those entries the user is allowed to edit.
  • Added a check to user exit CATS0006 which prevents any backward scrolling beyond the earliest editable date.
  • Finally, added a one-line subscreen using user Exit CATS0012, containing a short information about the timeframe the user is currently allowed to edit.

Regards,

Alexandre

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi, check for some user exit.  Thanks

former_member368169
Participant
0 Kudos

Hi Rajiv,

I know there are quite a few user exits in CATS. But I didn't find an exit which can control the timeframe that is open for entries in CATS. Or do you have a particular trick to achieve this?

Former Member
0 Kudos

CAn we check the scenario in the custom code in EXIt and proceed further??

Former Member
0 Kudos

Hi,

Check the user Exit "CATS0006". In this you canvalidate the date.

Regards,

Jyothi

former_member368169
Participant
0 Kudos

Hi Jyothi,

yes, this is the best idea i've had so far. There is only one drawback: In such a Scenario, even if the previous month has been closed, the user can always enter data for the previous month, and later (upon hitting enter or trying to save the data) he will get the error message that says that he cannot enter data for this period. This is why i would prefer restricting the visible timeframe beforehand.

Regards,

Alexandre

Former Member
0 Kudos

Are all availbale badis/exits are available after entering the data or before CAT2 Tcode

Former Member
0 Kudos

CATS0001  CATS: Set up worklist                                 

CATS0002  CATS: Supplement recorded data                       

CATS0003  CATS: Validate recorded data                         

CATS0004  CATS: Deactivate functions in the user interface     

CATS0005  CATS: Customer field enhancements                     

CATS0006  CATS: Validate entire time sheet                     

CATS0007  CATS: Subscreen on initial screen                     

CATS0008  CATS: Determine workflow recipients for approval     

CATS0009  CATS: Customer-Specific Text Fields in Data Entry Secti

CATS0010  CATS: Customer-Specific Text Fields in Worklist       

CATS0011  CATS: Customer functions                             

CATS0012  CATS: Subscreen on data entry screen 

Can you try with  CATS0012  to show some error message in subscreen,

Former Member
0 Kudos

Hi,

Time framework can be controlled by configuration. Set the "Lower limit relative" value in "Set Up Data Entry Profile" according to your requirement.

Regards,

Jyothi

Former Member
0 Kudos

Hi,

If you have not find any Answer till now then try this.

Write your code in EXIT: EXIT_SAPLCATS_012

Program: SAPLCATS
Include: LCATSF8U

This exit has SAP_CATSFIELDS-INPUTDATE  as Exporting parameter which will have the value that you are passing from CAT2 Tcode .

Here you can validate the periods and show the error message.

Hope it helps.

Thanks.

former_member368169
Participant
0 Kudos

Hi Rajiv,

this user exit CATS0012 displays a customer-specified subscreen on the data entry screen in which I can put a message like "Do not enter any data concerning the previous month", depending on the closing date of that period. But it has no effect on the data entry itself. Such a subscreen could be a user-friendly supplement to a check via user exit CATS0006 as mentioned above.

Regards,

Alexandre

Former Member
0 Kudos

I have checked in debugged mode. After entering date in CAT2 Tcode, the control goes to EXIT_SAPLCATS_012 where you can get the date that you have entered on main screen. With this date you can validate your entries.

Try to write the code only to validate and return back to main screen .

Former Member
0 Kudos

Hi,

Check the views V_RECORD_CALENDAR, V_RECORD_DAY and V_RECORD_WEEK in the Webdynpro  component HRESS_C_CATS. You may find some methods for e.g ("ONACTIONON_PREV_PERIOD" in the view "V_RECORD_WEEK" ) to validate the period.

Also check the other views in the Webdynpro  component HRESS_C_CATS.

Regards,

Jyothi