10-10-2014 11:36 AM
Hi All,
Can someone give me some straight points on Business Transaction Scheduler Vs Time Model Functions.
1. Steps for Planning and Scheduling a TMF upon reaching the certain dates. Have some idea on Defining Dates for TMF but need more clear picture on how a TMF works.
2. How a BTS works differently from TMF scheduling.As i could see that both are meant for the similar purpose.
Appreciate your help at the earliest. Thanks!
Best Regards,
Tahera
10-13-2014 6:50 PM
Hi,
There are (very universal) two types of TMFs.
1. First TMFs, that organize their own scheduling.
Those TMFs will check if they have to change their scheduled date for a contract after every unplaned ammendmendt (Coding is in Method: DETERMINE_DATES_AUA )
2. TMFs that have to be planned externely (by coding or by transaction "/PM0/ABC_PLANEXDT")
If you don´t want to create extreme FS-PM magic with TMFs often the following Methods are sufficent:
PREPROC_INDIVIDUALLY - Is called before the insurance mathematic (msg.PM) kicks in, useful if you want to have some preprocessing.
CALL_IM_INDIVIDUALLY - thats the Method for special handling of an insurance mathematic call.
HANDLE_RESULTS_IM - Handling of the results of an IM-Call
POSTPROC_INDIVIDUALLY - your personal processing AFTER the IM call.
Also nice:
DETERMINE_DATES_AUA - Calculates the next effective date when this TMF should kick in.
GET_NEXT_DATE - Also to calculate the next date. Mostly you will have your date determine logic in here.
Now about BTS-Dates.
They are also executed in the positioning process of a contract. But there the similarities with TMFs more or less ends.
A BTS-Date is per definition a "normal" Business Transaction (like "Change Clause"). When creating a BTS date, you have du fill data container, so that the BTS knows what to do.
A TMF on the other side is (mostly) independent. They do not need special data when you schedule them.
E.g predated Business transactions are technically BTS-dates.
So, you use a BTS date when you want to execute a input dependent process logic (mostly processes, you can also use as a Business Transaction in dialog). And you use TMFs when you have a process logic that is independent from any external input (TMFs mostly use only the data they find in ther processing contracts).
Hope that helps a bit.
warm regards
Jan
10-13-2014 6:50 PM
Hi,
There are (very universal) two types of TMFs.
1. First TMFs, that organize their own scheduling.
Those TMFs will check if they have to change their scheduled date for a contract after every unplaned ammendmendt (Coding is in Method: DETERMINE_DATES_AUA )
2. TMFs that have to be planned externely (by coding or by transaction "/PM0/ABC_PLANEXDT")
If you don´t want to create extreme FS-PM magic with TMFs often the following Methods are sufficent:
PREPROC_INDIVIDUALLY - Is called before the insurance mathematic (msg.PM) kicks in, useful if you want to have some preprocessing.
CALL_IM_INDIVIDUALLY - thats the Method for special handling of an insurance mathematic call.
HANDLE_RESULTS_IM - Handling of the results of an IM-Call
POSTPROC_INDIVIDUALLY - your personal processing AFTER the IM call.
Also nice:
DETERMINE_DATES_AUA - Calculates the next effective date when this TMF should kick in.
GET_NEXT_DATE - Also to calculate the next date. Mostly you will have your date determine logic in here.
Now about BTS-Dates.
They are also executed in the positioning process of a contract. But there the similarities with TMFs more or less ends.
A BTS-Date is per definition a "normal" Business Transaction (like "Change Clause"). When creating a BTS date, you have du fill data container, so that the BTS knows what to do.
A TMF on the other side is (mostly) independent. They do not need special data when you schedule them.
E.g predated Business transactions are technically BTS-dates.
So, you use a BTS date when you want to execute a input dependent process logic (mostly processes, you can also use as a Business Transaction in dialog). And you use TMFs when you have a process logic that is independent from any external input (TMFs mostly use only the data they find in ther processing contracts).
Hope that helps a bit.
warm regards
Jan
10-14-2014 11:46 PM
Thanks a lot Jan. Your inputs were helpful.
Can you please give inputs on Un-scheduling a scheduled TMF.
Best Regards,
Tahera
10-15-2014 9:38 AM
Hi Tahera,
their is a difference between TMF that take care of their own scheduling (FUNC1,2,3 and 5) and the external TMFs (4 and 7).
For an external TMF try the class "/PM0/CL_ABZ_BPU_EXTDT_UBOI".
Their are Methods for creating (CREATE_NEW_EXTDTS) and deleting (SET_EXTDT_EXECUTED) dates.
If those don´t work, every external tmf has their dates in the databasetable /PM0/ABDUTRDPTDT (if it is a FUNC4) or, for correspondence TMFs in /PM0/ABDUCORDT (FUNC5).
Also, if it is the next date that must be executed for a contract, than the date will also be saved in the databasetable /PM0/ABDUPPJOB (here is for every contract the earliest, until now not executed, date).
For TMFs that handle their own scheduling it´s a tough one. Everytime the police is changed, all customized TMFs will check if they have to change their scheduling.
So, even if you kill their dates hard in the database tables (/PM0/ABDADATE and also /PM0/ABDUPPJOB) they will replan themselfs and you have a good chance that you have created a corrupt policy.
Changing the scheduling of already producitve, selfscheduling TMFs is a piece of work.
If you change the customizing, or the coding of their date-determination, all new dates will work correctly in the new order. But if you have a reactivation of a policy (a change in the past), their may be OLD journal-entries of those TMFs, created with the OLD logic. After the undo, the redo will happen with the new logic... I would guess you have than a good chance of journal conflicts...
So if you change something on selfscheduling TMFs, you mostly have to migrate your policy data (at least the journal entries th and tmf dates).
Warm regards
Jan
10-24-2014 6:55 AM
11-05-2014 4:42 AM
Hi Jan,
Could you please help me in understanding the below:
While debugging the new business i went through the class /PM0/CL_APH_PM_CALCULATION_PRO and the adapter Interface /PM0/IF_APR_PM_ADAPTER_PRO and got some basic understanding on how a FS-PM system interacts with Product Engine. Also Product Engine interfaces are assigned to corresponding classes at Policy and Contract level only.
Now my queries are as below. Kindly provide more information on these.Appreciate your help at the earliest.
1) All I have understood is that while using PRO/msg.Pm services in a TMF, A Method CALL_IM_INDIVIDUALLY sets the parameters to request data from PRO system and we handle the results using the method HANDLE_RESULTS_IM. But inside this method it is getting the data at a high level (either Policy or Contract) it is using the method "call_pcmodcontract". When i need customized fields at the Insured object level,Premium payer level which is at lower level which methods i can use.
2) Are these methods /PM0/IF_APR_PM_CALCULATION~GET_RESULT_* and /PM0/IF_APR_PM_CALCULATION~PC* are like getters and setters(Request and Response) Methods at PRO system ??
3) If i need to get the customized fields information from PRO system usually which methods i need to call.(Need more information on this).
4) Explain the usage of these methods PCACCOUNTREPVAL,PCADJUSTMENT,PCMIGRATION,PCMODCONTRACT,PCRATING,PCREVERSAL.
5) Usually i see most of the time that only these methods are implemented PCRATING and PCMODCONTRACT. Any Specific purpose of these methods ?
Appreciate your inputs on the above at the earliest. Thanks !
Best Regards,
Tahera