cancel
Showing results for 
Search instead for 
Did you mean: 

HCM Form events

Former Member
0 Kudos

Hi,

We are developing the HCM forms. Our requirement is populating the Country values in one dropdown list and based on the country we need to populate the city's in other dropdown list. The city values will come from the backed (BADI logic). The event is triggering and the city values also getting but the complete form getting refreshing when ever event is triggering, i don't want to refresh all the form, only related fields need to refresh.

The below events are added to my Country dropdown exit event

$record.CONTROL_PARAM.ISR_EVENT = "USER_EVENT_INITIALIZE"

app.eval("event.target.SAPSubmit();");

Please can any one help me on this.

Thanks

Nag

Accepted Solutions (0)

Answers (5)

Answers (5)

aakash_neelaperumal2
Active Participant
0 Kudos

Naga... still waiting for your reply ;-(

Former Member
0 Kudos

Hi Nagaraju,

Please share how you fixed the assert dump error. I'm having the same problem as well.

Thanks.

Ray

Former Member
0 Kudos

Assert Dump will occur if any step is configured wrongly in process/form scenarios.

ChrisSolomon
Active Contributor
0 Kudos

Actually, there are a laundry list of why the "ASSERT" error happens. ST22 will lead you in the right direction.

For me, it usually happens because I have changed the incoming service_dataset in some way that the dispatcher does not like (ie. "old" does not match "new" structure).

But yeh.....you will figure it out.

Former Member
0 Kudos

Answered

aakash_neelaperumal2
Active Participant
0 Kudos

Naga,

How did you solve this problem.. the same problem is happening for me..not found a solution yet, it would be great if you can tell me the solution for this.

Thanks

Former Member
0 Kudos

Hi,

One more clarification that you are mentioned that

xfa.record.CONTROL_PARAM.ISR_EVENT.value = "CHECK";

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

(variables)

|-----ContainerFoundation_JS

This contains the code needed to make reference to your operation in the DO_OPERATION method of your BAdI.

Can you give one example scenario

I need to pass the country code to the badi and need to get the city list.

if i implemented the badi Z_XX in which shall i need implement on IF_HRASR00GEN_SERVICE~DO_OPERATIONS method.

OR

shall i need to implement for our own operation (Ex: GET_EMP_DETAILS)

What variable need to pass from the form (|-----ContainerFoundation_JS)

If you send any sample code for this that will be great help for me.

Thanks

Nag

Former Member
0 Kudos

Hi Kevin Schmidt

Thanks for the help and one more thing is that for to add the insert webdynpro script from Utilities is disable for me, i don't know how can i enable that one.

The below steps i followed.

1) SFP Transaction

2) Form Layout

3) From SAP GUI Utilities

Please can you tell me is there any other option to add the Webdynpro scripts to the form.

Thanks

Nag

Former Member
0 Kudos

Hey Nag,

Are you using the ZCI format for the forms, because if you are, you are using the wrong dropdown list box. The list box you are using is for the ACF style of form.

I'd first suggest downloading the ISR ZCI library from the Service Marketplace

[Note 1104060 - Adobe LiveCycle Designer - ZCI template update|https://service.sap.com/sap/support/notes/1104060]

[Note 947675 - ISR/Adobe: Layout category ZCI (composite SAP note)|https://service.sap.com/sap/support/notes/947675]

[Note 947633 - Current ISR Control libraries|https://service.sap.com/sap/support/notes/947633]

[Note 973170 - New library for "SAP Interactive Forms by Adobe"|https://service.sap.com/sap/support/notes/973170]

The last one has the dropdown that has the correct code for use within the ZCI form template usage.

This is what the code is to look like, and can only be executed when the event language is Javascript:


xfa.record.CONTROL_PARAM.ISR_EVENT.value = "CHECK";
ContainerFoundation_JS.SendMessageToContainer(event.target, "submit", "", "", "", "");

You have to replace CHECK with the name of the operation in the backend that you want to call. Also, another thing that you have to do is Insert Web Dynpro Script when using ZCI form template. This can be done by selecting the Utilities option from the SAP GUI menu bar, not the form designer menu bar, and it should be right above the Versioning option. After selecting this, you will notice that you have an addition to your Hierarchy tab in the Form Designer that says

(variables)

|-----ContainerFoundation_JS

This contains the code needed to make reference to your operation in the DO_OPERATION method of your BAdI.

Hope this helps...

Cheers,

Kevin

Former Member
0 Kudos

Hi Kevin Schmidt

Please can you look in to my other comments.

Thank you

Former Member
0 Kudos

Hey Nagaraju,

For your first post, inside t-code SFP, if you click on the properties tab,the Layout Type should be ZCI Layout. I'd imagine right now it is xACF Layout. If you need to change this, run t-code SFP_ZCI_UPDATE.

Second, for passing the country code to the backend, make sure that when you configure your operation in R/3, that the Field Group attached to your Operation contains the field you have defined for your country code. Make a case statement in the BAdI to check for the operation, then execute the code needed to retrieve the the city list. You don't need to change anything in the ContainerFoundation_JS call... what I have listed is what you need, you just need to replace CHECK with the name of the operation you have defined in your scenario (IMG) so your code will get exectued.

xfa.record.CONTROL_PARAM.ISR_EVENT.value = "CHECK";

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

Cheers,

Kevin

Former Member
0 Kudos

Hi,

I implemented according you are suggestions, but the below error getting when i am executing the events.

Note

The following error text was processed in the system DEV : The ASSERT condition was violated.

The error occurred on the application server eu321_DEV_10 and in the work process 0 .

The termination type was: RABAX_STATE

The ABAP call stack was:

Method: PROCESS_DATA_CONTAINER of program CL_HRASR00_DISPATCHER=========CP

Method: IF_HRASR00_DISPATCHER~EXECUTE_OPERATION of program CL_HRASR00_DISPATCHER=========CP

Method: IF_EX_QISR1~SCENARIO_PROCESS_USER_COMMAND of program CL_IM_HRASR00ISR==============CP

Method: IF_EX_QISR1~SCENARIO_PROCESS_USER_COMMAND of program CL_EX_QISR1===================CP

Method: PROCESS_USER_COMMAND of program SAPLQISR9

Function: ISR_PROCESS_EVENT_INTERNAL of program SAPLQISR9

Function: ISR_PROCESS_EVENT of program SAPLMPO_46CFF_ISR_SERVICE

Function: ISR_PROCESS_EVENT_WD of program SAPLMPO_46CFF_ISR_SERVICE

Method: IF_QISR_UI_DATA_MODEL~EXECUTE of program CL_QISR_UI_PROCESS_EVENT_MODELCP

Method: CALL_RFC_ISR_PROCESS_EVENT of program /1BCWDY/8ZR5DN614P5L0KBN3L79==CP

Former Member
0 Kudos

Hi Nagaraju,

Most times when I have hit an ASSERT condition, it means that something in my definition is not defined properly, or it's defined in one place, but not another... Set a breakpoint inside the method PROCESS_DATA_CONTAINER of class CL_HRASR00_DISPATCHER and start from there... It's too hard to tell what is failing by reading the abend. You might have a ST22 record that you can view as well.

One last thing I can think of is that it could be that if your portal is connected to a different client then your config, then you have to copy your config to the other client.

Cheers,

Kevin

Former Member
0 Kudos

Hi Kevin Schmidt

At last i solved the Assert Condition failed error, but now i am getting different problem. I assigned some PA info type values like employee name,

When the first time form opening i am getting employee name and countries in the country dropdown. If i select one country from dropdown the event is triggering but after that the in the form the employee name is disappearing and nothing showing in the two dropdowns.

Do you have any idea why i am getting like this.

Thanks

Nag

Former Member
0 Kudos

Hey Nag,

Where are you populating the information for the dropdown list boxes? I've had something similar to this, and I've had to populate the dropdowns inside the method GET_VALUE_HELP, in my BAdI. If the information for them is not being populated, you have to repopulate the dropdowns everytime the screen loads, which is what happens in the help method. I'm not sure why the employee name would be disappearing... it could be something like you don't have the technical name in the correct field group. I would try debugging your operation to see why it's being erased...

Hope this helps...

Cheers,

Kevin

Former Member
0 Kudos

Hi Kevin,

Sorry for the late response.

I would like to know which Adobe Acrobat reader version you are using, because with version 7.0 i tested it is not working.

Thanks

Nag

Former Member
0 Kudos

Hey Nag,

I'm using 8.1.1 and higher... Using 7 will lead to problems... no matter if you are using ther reader or the writer, make sure the levels are at least 8.1.1

Cheers,

Kevin

aakash_neelaperumal2
Active Participant
0 Kudos

Kevin... How do you populate the second drop down in the Badi Method... should I have the second drop down also in my field groups. I am also trying to populate a input field based on a dropdown selection, dont no how to proceeed.

Former Member
0 Kudos

Hi Kevin,

My problem is solved. Thanks for help...

Former Member
0 Kudos

Hi Nagaraju,

Im new to HCM forms and process.

i have a following req.

I have two drop downs in my form.

if i select a value from the first drop down corresponing values of that value has to come in

second drop down.

please let me know how did you achieved this.

thanks,

santosh

Former Member
0 Kudos

Hello!

I am very new in the theme HR Adminstrative Forms. Can you tell me, in which BadI i can find the DO OPERATION? I am using the ISR framework, but i couldn't find this method.

Maybe I am absolut wrong....

Thanks for any information,

Gregor Brandstätter