cancel
Showing results for 
Search instead for 
Did you mean: 

ECC BUPA BDT: setting default CAM "Communication language"

Private_Member_7726
Active Contributor
0 Kudos

Hi,

I thought I'd better ask for help before I'm starting to feel like I'm loosing sanity... My system is NW 702 SAPKB70211, IS-UT 605 SAPK-60508INISUT, all screens and behaviours from Transaction BP.

I'm trying to set the defaults for Central Address Management (CAM) Communication language and country for Organizations and Groups (and Correspondence language for Persons). I've done the ISDAT BDT "Event" FM reccomended so often on SCN, setting the busdefault-country and busdefault-langu using  BUP_BUPA_FIELDVALUES_SET, and all seems well - the Address tab at least:

- for Person:

- for Org and Group:

The trouble starts when one tries to create Adress from Address Overview of Org or Group - the default language is just not there, and neither is country:

It turns out that, after defaults have been taken over in BUA_BUPA_PBO_BUA110 once, SAP standard resets (why, Hasso, why on earth would your guys need to do something like that.!?! ) the busdefault-langu if the BP type is other than Person (and telnr, faxnr_call, mc_city1, country, mc_street, post_code1, house_num1 for all types). In my desperation I even tried to use the SET/GET parameter SPR from FORM d0100_read_address of LSZA1O02. The trouble is - BUPA calls the thousand and one global flags CAM monstrocity so that g_address_is_optional is always set.

So... before I start controlling what of their glabal data for BUPA defaults SAP logic can or can not modify via implicit inhancement in BUP_BUPA_FIELDVALUES_SET (if the logic is fine with taking those over once per session, why not n times...) does anyone know a straightforward and reliable way of defaulting CAM language and country (for organization and group)?

I've searched OSS up and down but found nothing appliccable that would be helpful.

Thank you and cheers

Janis

Accepted Solutions (0)

Answers (1)

Answers (1)

Private_Member_7726
Active Contributor
0 Kudos

Ok, since the standard logic for BP default values is barely more than "useless" (defaults taken over only once, if the transaction mode for BP is create... meaning, they will not be taken over if you create an address in change mode of BP...), I ended up with:

- implicit enhancement at the begin of BUP_BUPA_FIELDVALUES_SET protecting (SAPLBUD0)-gl_busdefault against overwriting via this FM (it obviously can't protect from changes within SAPLBUD0 itself... of which there are plenty);

- implicit enhancement at the end of BUP_BUPA_FIELDVALUES_GET, delivering e_busdefault from the state protected within my singleton;

- implicit enhancement at the beginning of ADDR_EXP_SUBSCREEN, setting the VALUE(SUGGESTED_VALUES) from busdefault state protected within my singleton for ADDRESS_GROUP 'BP' (I shouldn't really be changing input parameters inside the FM, I know, I know...) AND pushing the protected state back into (SAPLBUD0)-gl_busdefault via BUP_BUPA_FIELDVALUES_SET...

The latter I needed to fight against standard logic loosing default country for Persons if one navigates to Address overview and deletes the standard address...

The reason I'm going to such lengths to set this stuff programmatically rather than via SHD0 transaction variants or something similar... I don't want to have to find every transaction within ECC that permits to edit BP and create variants for them; I don't want to have to adjust those variants when something changes in dynpros.

I'm thorougly fedup with BP and ECC and am ready for "R/4" (or whatever replaces it)

cheers

Janis