I have seen a few posts mentioning the issues but no resolutions. So here is the scenario....country specific ESS services look at an employee's pers. area which in turn points to a company code which in turn points to a country grouping which is the employee's assigned MOLGA. This tells us which service to run for the employee. It works great if say I work in Germany (MOLGA=-01) and live in Germany (VIEKN=01). However, in my situation , we have a pers. area set to 01 that applies to employees in Germany, Belgium, France, Spain and Luxembourg. So for example if an employee works in Germany (MOLGA=10) but lives in Belgium(VIEKN=12), ESS throws up the big dreaded error "Country/Structure do not match application country". What's funny is that if I go into the PCD and run the iView for say "Addresses" for Belgium in this case, it works fine. It almost seems as if the employee's VIEKN is being checked against the program's internal MOLGA setting.
I am sure I am not the only one to hit this issue...like I said, I have seen other posts.....sooooo any solution for an employee working for a comp. code in one country but living in another (ie. needs specifc address, bank, etc screens)? MUCH thanks in advance for any help!!!!
I solved it!!! ....and I must say, I am proud of myself. I figured out a way to check BEFORE the service is called and if VIEKN does not match MOLGA, I switch them. It works perfectly for the personal information services (address, bank, data, family, etc). I no longer get any errors related to country structure not matching application structure!
How? ...well, a little hint....proxy class. 😃 Maybe I will blog the whole solution.
That's the WHOLE issue......the application will look at MOLGA to check when the person is using the application. However, the structure the application expects seems to have to match VIEKN which is when the error comes up.
From SAP IMG config documentation for Country Specific Services....
"In this IMG activity, you define country-specific services. When an employee starts a service, the system determines the <u>employee's country grouping</u>(ie. MOLGA) and checks if there is a country-specific service definition"
In the example above where the person lives in Belgium but their company code reflects Germany (via country grouping for the company code), the "country specific" services will try to push the user to Germany and that throws an error. But if I run the same service for Belgium (ie. directly from the PCD...not letting ESS country specific config decide), it runs fine for the user.
Re-use is not the answer in this case. We, in fact, want the service to reflect the fields needed for the user....and Belgium already has it's own country specific screens. For example, I don't want them entering their address info into a service that expects it in a German format or with German specific fields. I want them to have the fields for address relevant to them....in this case Belgium. (*just using Belgium and Germany strictly for example here....there can be any number of similar cases....especially in Europe it seems).
On the backend, we have a feature that seems to handle this quite well. That same feature is not checked by the Webdynpro of course though.
The only possible solution then in this case would seem to suggest that you would simply have to configure several ESS homepage frameworks, each for those other countries needed, and then simply have the service that you need called directly (ie. don't use country specific config). So, in the above example, I would have a ESS for German users that directs them to the correct personal info services (address, info, bank, etc). But then I would have another ESS version for Belgium that would push them directly to the Belgium version of address,bank,info, etc. services....even though their MOLGA is set to "01"(Germany). That would work...but it's much more work to build it out that way.
To check what country structure to use is done against VIEKN not MOLGA.
So I guess that in portal, people who lives for example in belgium but works in germany, should run the belgium versions of the country specific ESS services, not the german one. But I don't know if this is possible or not...
You can also define in the t7xssreuseuisn table to reuse the german structure for the belgium, spanish, etc... people. But maybe here some information is lost...