cancel
Showing results for 
Search instead for 
Did you mean: 

HCM P & F - Read Back-end information from the formular

Former Member
0 Kudos

Hello!

A new Problem...First I new in the HCM P & F in combination with ISR. After a lot of problems i was able to start the service an now i have a new problem.

I want to read information from the back-end Information when the user press a button on the form. To get this information i have to start a programm - so i need to implement it anywhere.

I am a little bit confused about to realize this. First I tried the BAdI QISR1 with the EVENT and the parameter USER_COMMAND. Then i read about the DO_OPERATIONS? But in both case, no break point was triggered.

Can anybody please explan the corret way to realize this - thanks!

Best greeting,

Gregor

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

If you want to get information from SAP when a button on the form is pressed, you can try triggering events in the

'On click' event of the button. USER_EVENT_CHECK and USER_EVENT_INITIALIZE are the standard SAP provided events.

In HCM F & P, you can configure your own events in the form scenario and write the code for that.

Thanks,

Aravind

Former Member
0 Kudos

Hi Aravind,

thanks for your information.

I found in the past also a thread to the same problem, but without a solution.

I tried that:

- I created with the transaction QISRSCENARIO a form. On this form i implemented a button, which has the type ISR On-form Event Button.

- In the script to this button i have to events:

mouseDown:

data.S1.BW.inhalt.zeiterrechnung.ISR_FormEventButton::mouseDown - (FormCalc, client)

//Trigger call to backend for BAdI user command processing

$record.CONTROL_PARAM.ISR_EVENT = "CALC_WORKTIME"

click:

data.S1.BW.inhalt.zeiterrechnung.ISR_FormEventButton::click - (JavaScript, client)

ContainerFoundation_JS.SendMessageToContainer(event.target, "submit", "", "", "", "");

//Do not allow any further click event until server roundtrip is completed

this.access = "readOnly";

- I implemented the BAdI ZHRQISR1

- For the BAdI i set a filter to my scenario

- In the method SCENARIO_PROCESS_USER_COMMAND i write following code:

method IF_EX_QISR1~SCENARIO_PROCESS_USER_COMMAND.

if USER_COMMAND = 'CALC_WORKTIME'.

BREAK-POINT.

ENDIF.

endmethod.

- Then i set external break points.

BUT i had no chance that this external breakpoint will be triggerd. The set the external break point at both instances, so that should not the problem.

If you have any ideas i would be happy.

Best greetings,

Gregor

Answers (2)

Answers (2)

Former Member
0 Kudos

Thx!

I will try it. The only thing is, i read in a book called "SAP Interactive Forms by Adobe" about interactive forms in combination with ISR. There I read about the BAdI QISR1 and the parameter USER_COMMAND to implement code triggered by an user event. So I tried that, but as you now it didn'tt work because the BAdI will not triggered.

If you mean HCM Process & Forms you don't speack from ISR Framework or? The book has no word about implementation of DO_OPERATIONS & Co. In the forum i read about the BAdI and about user events in combination with Operations (this DO_OPERATIONS stuff) - but at the moment I think that these are two different things...

@SAP: we want to use ISR but I want to say that: I know better documtented services from SAP. If you want to develop your own form and workflow in a ISR framework it is really hard!!!

Best greetings,

Gregor

Former Member
0 Kudos

One more question.... whats with that generic service especially with DO_OPERATIONS in that case. Do I need this? And when yes, what is the best way to implement?

Thx to all for explaining me that...

Best Greetings,

Gregor

Former Member
0 Kudos

Hi Gregor,

I have not done the way as you have described. But for HCM forms & processes, in the form scenario

go to Other attributes section there you will find node to configure user events. Give any name to the

user event. Each user event can be associated with 2 field groups. Make one field group of 'INITIALIZE'

processing type and another 'CHECK' type. All the field checked in initialize will become available in

initialize method and all fields checked in check will become available in do_operations method. Now

based on these you can write logic, do the processing in DO_OPERATIONS and pass back values in

INTIALIZE and GET_HELP_VALUES method.

Hope this helps!

Thanks,

Aravind