Skip to Content

Archived discussions are read-only. Learn more about SAP Q&A

Struggling with HRIQ_PREAPPR_EVENT


sorry for this lengthy explanation but I did not know how to put it shorter.

I would nevertheless appreciate if anyone of the experts can look into this because it is doing me headache for some days now.

I am struggling with the BRF scenario introduced in EHP4 to update SM appraisal fromcompleted appraisal of other SMs included in a cohort context to the top SM (so called composite module framework).


I am using a variant of the FuBa HRIQ_PREAPPR_EVENT which is the standard FuBa to be used as the BRF action to update a composite module SM's appraisal by calculating a performance index. The FuBa is triggered if a "sub SM" is appraised.

I expected the "top SM" to be apprasied, if it is a) booked AND b) if the last appraisal of all sub SMs is completed.

But the framework depends on that an appraisal for the top SM have been created before. It is not sufficient that top SM is only booked. I have tested this extensively, all key figures (performance index) are correctly in place and tested and work well, if the appraisal of the top module is initially created manually in PIQSMFU.

But this does not conform to the use case I need and expected to be underlying to the framework: the composite module should be BOOKED together with the components and should not be manually (neither initially nor later) appraised to have grade calculation in place. Instead it should be appraised automatically if sub appraisals are complete.

In FuBa HRIQ_PREAPPR_ASSIGNM_SM_ST_GET it is explicitely searched by appraisals and the result is empty if none is yet created but a module booking may exist:

  • get appraisals for comb. SM<->ST

select * from piqdbagr_assignm

into table et_assignm

for all entries in lt_modules

where agrplvar = lt_modules-plvar

and agrotype = lt_modules-otype

and agrrealo = lt_modules-realo

and sobid = iv_student.

if this result table is empty no index calculation will be triggered.

Should this be considered as an error?

Or can anyone give me a hint how, when and where an appraisal structure for the top module should be created automatically?


I use BADI HRPIQ00_GRADING to automatically calculate some additional data to the appraisal of the top module in the same scenario. But this trashes the booking complety, because in method lcl_appl=>update_top_appr

the FuBa HRIQ_AGR_APPMOD_CREATEFROMDATA is called without providing I_PAD506 as a parameter with the consequence that C_PAD506 is completely empty when reaching the BADI implementaion of HRPIQ00_GRADING.

If you now in the BADI do any change in the CHANGING STRUCTURES the booking is trashed completely because additional data of 506 is initial.

Should this be considered as an error?

Or should - and if how - C_PAD506 be read in BADI if it is initial?

Thanks for any advice or help.



Edited by: Dirk Pape on May 17, 2011 6:11 PM

Edited by: Dirk Pape on May 17, 2011 6:15 PM

Not what you were looking for? View more on this topic or Ask a question