BPC Mass User Management Tool in BPC 10.0 NW-Version Component Error
Hi,
We have a problem when importing request K900024.RBP and R900024.RBP.
We changed the UJ_STRING in "DATA: lv_value TYPE uj_value" in the source code as recommended at BPC Mass User Management Tool in BPC 10.0 NW
Unfortunately, when we try to import CSV files we receive a error message "BPC Version Component must be 800". Our is 801.
Where can I find this files or its upgrades? Is there a SAP link?
Can anybody help us?
Best Regards,
Ana Teresa
Hi Ana,
See note https://css.wdf.sap.corp/sap/support/notes/1861347. You should solve this issue.
Best Regards,
Charlie
Similar Messages
-
BPC Mass User Management Tool error in BPC 10
Hello,
I've downloaded tranport files from How to use BPC Mass User Management Tool in Netweaver. But Transport import fails with RC12 without any shortdump. ABAP program ZUJE_MASS_USER_MGMT is not created.
Version used - BPC 10 CPMBPC 801 on Netweaver 7.4 .
Thanks in advance for your inputs.Tried changing transport options but no luck. Transport failed with status RC12 without creating ABAP program. However, Old version transport files imported with error. But I could not find METHOD check_bpc_component_is_valid.
Can anyone please send the updated program.
*& Report ZUJE_MASS_USER_MGMT
*& Created By: Rich Heilman SAP Labs, LLC
*& Created On: 08/2/2010
REPORT zuje_mass_user_mgmt.
TYPE-POOLS: abap, vrm.
* CLASS lcl_application DEFINITION
CLASS lcl_application DEFINITION FINAL.
PUBLIC SECTION.
CONSTANTS: lc_comma TYPE char01 VALUE ',',
lc_pipe TYPE char01 VALUE '|',
lc_tab TYPE char10 VALUE 'TAB'.
TYPES: BEGIN OF t_appldim,
appl_id TYPE uj_appl_id,
dimension TYPE uj_dim_name,
END OF t_appldim.
TYPES: BEGIN OF t_appldimmembers,
appl_id TYPE uj_appl_id,
dimension TYPE uj_dim_name,
member TYPE uj_dim_member,
END OF t_appldimmembers.
CLASS-METHODS: file_f4 RETURNING value(r_file) TYPE string,
directory_f4 RETURNING value(r_path) TYPE string,
get_initial_directory RETURNING value(r_path) TYPE string,
set_delimiter_listbox,
set_delimiter,
export_users_to_file,
import_users_from_file,
export_teams_to_file,
import_teams_from_file,
export_team_assign_to_file,
import_team_assign_from_file,
export_task_profiles_to_file,
import_task_profiles_from_file,
export_mem_profiles_to_file,
import_mem_profiles_from_file,
export_tap_assign_to_file,
import_tap_assign_from_file,
export_map_assign_to_file,
import_map_assign_from_file,
get_appset_data IMPORTING i_appset_id TYPE uj_appset_id
EXCEPTIONS appset_not_found .
PRIVATE SECTION.
CLASS-DATA: lv_appset_id TYPE uja_s_appset_info-appset_id.
CLASS-DATA: lv_delimiter TYPE string.
CLASS-DATA: ls_appset_info TYPE uja_s_appset_info.
CLASS-DATA: lt_appl_info TYPE uja_t_appl_info.
CLASS-DATA: lt_appl_dim TYPE TABLE OF t_appldim.
CLASS-DATA: lt_members TYPE TABLE OF t_appldimmembers.
CLASS-DATA: lt_teams_list TYPE uje_t_team.
CLASS-DATA: lt_users_list TYPE uje_t_user.
CLASS-DATA: lt_tprofs TYPE uje_t_api_profile_id.
CLASS-DATA: lt_mprofs TYPE uje_t_api_profile_id.
CLASS-DATA: lt_tasks TYPE uje_t_role_tskasg.
CLASS-DATA: lt_roles TYPE uje_t_role.
CLASS-DATA: lo_context TYPE REF TO if_uj_context.
CLASS-DATA: lt_alv_messages TYPE uj0_t_message.
CLASS-METHODS: set_global_context,
render_alv,
upload IMPORTING i_filepath TYPE any
RETURNING value(rt_strtab) TYPE stringtab,
download IMPORTING i_filepath TYPE any
it_datatab TYPE STANDARD TABLE,
user_is_valid IMPORTING i_user_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool,
team_is_valid IMPORTING i_team_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool,
tprofile_is_valid IMPORTING i_profile_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool,
mprofile_is_valid IMPORTING i_profile_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool,
role_is_valid IMPORTING i_role_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool,
task_is_valid IMPORTING i_task_id TYPE any
RETURNING value(r_boolean) TYPE abap_bool.
ENDCLASS. "lcl_application DEFINITION
SELECTION-SCREEN BEGIN OF BLOCK b1 WITH FRAME TITLE text-001.
PARAMETERS: p_export RADIOBUTTON GROUP grp1 DEFAULT 'X' USER-COMMAND chk.
PARAMETERS: p_import RADIOBUTTON GROUP grp1.
SELECTION-SCREEN END OF BLOCK b1.
SELECTION-SCREEN BEGIN OF BLOCK b2 WITH FRAME TITLE text-002.
PARAMETERS: p_appset TYPE uja_appset_info-appset_id.
PARAMETERS: p_file TYPE string LOWER CASE.
PARAMETERS: p_delmt TYPE char10 AS LISTBOX VISIBLE LENGTH 20
DEFAULT lcl_application=>lc_comma. "delimiter
SELECTION-SCREEN END OF BLOCK b2.
SELECTION-SCREEN BEGIN OF BLOCK b3 WITH FRAME TITLE text-003.
PARAMETERS: p_eusers RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_eteams RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_eteama RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_etprof RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_emprof RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_etprfa RADIOBUTTON GROUP grp2 MODIF ID exp.
PARAMETERS: p_emprfa RADIOBUTTON GROUP grp2 MODIF ID exp.
SELECTION-SCREEN END OF BLOCK b3.
SELECTION-SCREEN BEGIN OF BLOCK b4 WITH FRAME TITLE text-004.
PARAMETERS: p_iusers RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_iteams RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_iteama RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_itprof RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_improf RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_itprfa RADIOBUTTON GROUP grp3 MODIF ID imp.
PARAMETERS: p_imprfa RADIOBUTTON GROUP grp3 MODIF ID imp.
SELECTION-SCREEN END OF BLOCK b4.
INITIALIZATION.
p_file = lcl_application=>get_initial_directory( ).
lcl_application=>set_delimiter_listbox( ).
AT SELECTION-SCREEN OUTPUT.
LOOP AT SCREEN.
IF p_export = abap_true AND screen-group1 = 'IMP'.
screen-active = '0'.
ENDIF.
IF p_import = abap_true AND screen-group1 = 'EXP'.
screen-active = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
AT SELECTION-SCREEN.
CASE abap_true.
WHEN p_export.
CLEAR: p_iusers, p_iteams, p_iteama, p_itprof,
p_improf, p_itprfa, p_imprfa.
WHEN p_import.
CLEAR: p_eusers, p_eteams, p_eteama, p_etprof,
p_emprof, p_etprfa, p_emprfa.
ENDCASE.
IF sy-ucomm <> 'CHK'.
IF p_appset IS INITIAL.
MESSAGE e001(00) WITH 'Please enter an AppSet Id'.
ENDIF.
IF p_file IS INITIAL.
MESSAGE e001(00) WITH 'Please enter a valid directory or file'.
ENDIF.
IF p_delmt IS INITIAL.
MESSAGE e001(00) WITH 'Please specify a delimiter'.
ENDIF.
ENDIF.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_file.
CASE abap_true.
WHEN p_export. p_file = lcl_application=>directory_f4( ).
WHEN p_import. p_file = lcl_application=>file_f4( ).
ENDCASE.
START-OF-SELECTION.
lcl_application=>set_delimiter( ).
lcl_application=>get_appset_data(
EXPORTING
i_appset_id = p_appset
EXCEPTIONS
appset_not_found = 1 ).
IF sy-subrc <> 0.
RETURN.
ENDIF.
CASE abap_true.
WHEN p_eusers. lcl_application=>export_users_to_file( ).
WHEN p_iusers. lcl_application=>import_users_from_file( ).
WHEN p_eteams. lcl_application=>export_teams_to_file( ).
WHEN p_iteams. lcl_application=>import_teams_from_file( ).
WHEN p_eteama. lcl_application=>export_team_assign_to_file( ).
WHEN p_iteama. lcl_application=>import_team_assign_from_file( ).
WHEN p_etprof. lcl_application=>export_task_profiles_to_file( ).
WHEN p_itprof. lcl_application=>import_task_profiles_from_file( ).
WHEN p_emprof. lcl_application=>export_mem_profiles_to_file( ).
WHEN p_improf. lcl_application=>import_mem_profiles_from_file( ).
WHEN p_etprfa. lcl_application=>export_tap_assign_to_file( ).
WHEN p_itprfa. lcl_application=>import_tap_assign_from_file( ).
WHEN p_emprfa. lcl_application=>export_map_assign_to_file( ).
WHEN p_imprfa. lcl_application=>import_map_assign_from_file( ).
ENDCASE.
* CLASS lcl_application IMPLEMENTATION
CLASS lcl_application IMPLEMENTATION.
METHOD file_f4.
DATA: lt_file_table TYPE filetable.
DATA: ls_file_table LIKE LINE OF lt_file_table.
DATA: lv_rc TYPE sy-subrc.
cl_gui_frontend_services=>file_open_dialog(
CHANGING
file_table = lt_file_table
rc = lv_rc ).
CLEAR ls_file_table .
READ TABLE lt_file_table INTO ls_file_table INDEX 1.
IF sy-subrc = 0.
r_file = ls_file_table-filename.
ENDIF.
ENDMETHOD. "file_f4
METHOD directory_f4.
cl_gui_frontend_services=>directory_browse(
CHANGING
selected_folder = r_path
EXCEPTIONS
OTHERS = 4 ).
ENDMETHOD. "directory_f4
METHOD upload.
cl_gui_frontend_services=>gui_upload(
EXPORTING
filename = i_filepath
CHANGING
data_tab = rt_strtab
EXCEPTIONS
OTHERS = 19 ).
IF sy-subrc <> 0.
MESSAGE e001(00) WITH 'File not found, check file path and name'.
ENDIF.
DELETE rt_strtab WHERE table_line IS INITIAL.
ENDMETHOD. "upload
METHOD download.
DATA: lt_datatab TYPE stringtab.
DATA: ls_datatab LIKE LINE OF lt_datatab.
FIELD-SYMBOLS: <ls_data> TYPE ANY.
FIELD-SYMBOLS: <lv_field> TYPE ANY.
* Convert table to delimited string table
LOOP AT it_datatab ASSIGNING <ls_data>.
CLEAR ls_datatab.
DO.
ASSIGN COMPONENT sy-index
OF STRUCTURE <ls_data> TO <lv_field>.
IF sy-subrc <> 0.
EXIT.
ENDIF.
IF ls_datatab IS INITIAL.
ls_datatab = <lv_field>.
ELSE.
CONCATENATE ls_datatab <lv_field>
INTO ls_datatab SEPARATED BY lcl_application=>lv_delimiter.
ENDIF.
ENDDO.
APPEND ls_datatab TO lt_datatab.
ENDLOOP.
cl_gui_frontend_services=>gui_download(
EXPORTING
filename = i_filepath
CHANGING
data_tab = lt_datatab
EXCEPTIONS
OTHERS = 24 ).
IF sy-subrc <> 0.
MESSAGE e001(00)
WITH 'File not downloaded, check file path and name'.
ENDIF.
ENDMETHOD. "download
METHOD get_initial_directory.
cl_gui_frontend_services=>get_desktop_directory(
CHANGING
desktop_directory = r_path ).
cl_gui_cfw=>flush( ).
CONCATENATE r_path '\*.csv' INTO r_path.
ENDMETHOD. "get_initial_directory
METHOD export_users_to_file.
TYPES: BEGIN OF t_output,
user_id TYPE uje_user-user_id,
fullname TYPE uje_user-fullname,
email TYPE uje_user-email,
END OF t_output.
DATA: lt_user_id TYPE uje_t_api_user_id.
DATA: lt_users TYPE uje_t_user.
DATA: ls_users LIKE LINE OF lt_users.
DATA: lt_output TYPE TABLE OF t_output.
DATA: ls_output LIKE LINE OF lt_output.
lcl_application=>set_global_context( ).
CALL FUNCTION 'UJE_API_GET_LIST_USERS'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
it_user_id = lt_user_id
IMPORTING
et_user = lt_users.
REFRESH lt_output.
LOOP AT lt_users INTO ls_users.
MOVE-CORRESPONDING ls_users TO ls_output.
APPEND ls_output TO lt_output.
ENDLOOP.
* Download table
lcl_application=>download( EXPORTING i_filepath = p_file
it_datatab = lt_output ).
ENDMETHOD. "export_users_to_file
METHOD import_users_from_file.
DATA: lv_action TYPE uj_action.
DATA: lv_success TYPE uj_bool.
DATA: ls_user_info TYPE uje_s_userinfo.
DATA: lt_messages TYPE uj0_t_message.
DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
DATA: lt_team_asin TYPE uje_t_user_team.
DATA: lt_tprofiles TYPE uje_t_profile_id_act.
DATA: lt_mprofiles TYPE uje_t_profile_id_act.
DATA: lt_strtab TYPE stringtab.
DATA: ls_strtab LIKE LINE OF lt_strtab.
lt_strtab = lcl_application=>upload( p_file ).
LOOP AT lt_strtab INTO ls_strtab.
SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_user_info-user_id
ls_user_info-fullname
ls_user_info-email.
* Check if user already exists, and set action accordingly.
IF lcl_application=>user_is_valid( ls_user_info-user_id ) = abap_false.
lv_action = 'I'.
ELSE.
lv_action = 'M'.
ENDIF.
CALL FUNCTION 'UJE_API_MANAGE_USER2'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
is_user_info = ls_user_info
i_action = lv_action
it_team_asin = lt_team_asin
it_tprofile_id = lt_tprofiles
it_mprofile_id = lt_mprofiles
IMPORTING
e_success = lv_success
et_message_lines = lt_messages.
IF lv_success = 'Y'.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'S'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'User ID' ls_user_info-user_id
'has been created/updated successfully'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ELSE.
APPEND LINES OF lt_messages TO lt_alv_messages.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'User ID' ls_user_info-user_id
'not created/updated due to error'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ENDIF.
ENDLOOP.
lcl_application=>render_alv( ).
ENDMETHOD. "create_users_from_file
METHOD export_teams_to_file.
TYPES: BEGIN OF t_output,
team_id TYPE uje_s_team-team_id,
description TYPE uje_s_team-description,
END OF t_output.
DATA: lt_teams TYPE uje_t_team.
DATA: ls_teams LIKE LINE OF lt_teams.
DATA: lt_output TYPE TABLE OF t_output.
DATA: ls_output LIKE LINE OF lt_output.
CALL FUNCTION 'UJE_API_GET_TEAMS'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
IMPORTING
et_team = lt_teams.
REFRESH lt_output.
LOOP AT lt_teams INTO ls_teams.
MOVE-CORRESPONDING ls_teams TO ls_output.
APPEND ls_output TO lt_output.
ENDLOOP.
* Download table
lcl_application=>download( EXPORTING i_filepath = p_file
it_datatab = lt_output ).
ENDMETHOD. "export_teams_to_file
METHOD import_teams_from_file.
DATA: lv_action TYPE uj_action.
DATA: lv_success TYPE uj_bool.
DATA: ls_team TYPE uje_s_team.
DATA: lt_messages TYPE uj0_t_message.
DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
DATA: lt_users TYPE uje_t_user_team.
DATA: lt_tprofiles TYPE uje_t_profile_id_act.
DATA: lt_mprofiles TYPE uje_t_profile_id_act.
DATA: lt_strtab TYPE stringtab.
DATA: ls_strtab LIKE LINE OF lt_strtab.
lt_strtab = lcl_application=>upload( p_file ).
LOOP AT lt_strtab INTO ls_strtab.
SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_team-team_id
ls_team-description.
* Check if team is already a valid team, set action appropriatly
IF lcl_application=>team_is_valid( ls_team-team_id ) = abap_false.
lv_action = 'I'.
ELSE.
lv_action = 'M'.
ENDIF.
CALL FUNCTION 'UJE_API_MANAGE_TEAM2'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
is_team = ls_team
i_action = lv_action
it_users = lt_users
it_tprofile_id = lt_tprofiles
it_mprofile_id = lt_mprofiles
IMPORTING
e_success = lv_success
et_message_lines = lt_messages.
IF lv_success = 'Y'.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'S'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Team' ls_team-team_id
'has been created/updated successfully'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ELSE.
APPEND LINES OF lt_messages TO lt_alv_messages.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Team' ls_team-team_id
'not created/updated due to error'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ENDIF.
ENDLOOP.
lcl_application=>render_alv( ).
ENDMETHOD. "create_teams_from_file
METHOD export_team_assign_to_file.
TYPES: BEGIN OF t_user_assign,
user_id TYPE uje_s_user_team-user_id,
team_id TYPE uje_s_user_team-team_id,
teamleader TYPE uje_s_user_team-teamleader,
END OF t_user_assign.
DATA: lt_user_det TYPE uje_t_user_detail.
DATA: ls_user_det LIKE LINE OF lt_user_det.
DATA: ls_user_team TYPE uje_s_user_team.
DATA: lt_team_assign TYPE TABLE OF t_user_assign.
DATA: ls_team_assign LIKE LINE OF lt_team_assign.
CALL FUNCTION 'UJE_API_GET_USERDATA'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
IMPORTING
et_user = lt_user_det.
LOOP AT lt_user_det INTO ls_user_det.
LOOP AT ls_user_det-t_team_id INTO ls_user_team.
MOVE-CORRESPONDING ls_user_team TO ls_team_assign.
APPEND ls_team_assign TO lt_team_assign.
ENDLOOP.
ENDLOOP.
* Download table
lcl_application=>download( EXPORTING i_filepath = p_file
it_datatab = lt_team_assign ).
ENDMETHOD. "export_team_assign_to_file
METHOD import_team_assign_from_file.
TYPES: BEGIN OF t_user_assign,
user_id TYPE uje_s_user_team-user_id,
team_id TYPE uje_s_user_team-team_id,
teamleader TYPE uje_s_user_team-teamleader,
END OF t_user_assign.
DATA: lv_success TYPE uj_bool.
DATA: lt_user_team_temp TYPE uje_t_user_team.
DATA: ls_user_team_temp TYPE uje_s_user_team.
DATA: lt_user_team TYPE uje_t_user_team.
DATA: ls_user_team TYPE uje_s_user_team.
DATA: ls_team_assign TYPE uje_s_user_team.
DATA: lt_messages TYPE uj0_t_message.
DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
DATA: lt_tprofiles TYPE uje_t_profile_id_act.
DATA: ls_tprofiles LIKE LINE OF lt_tprofiles.
DATA: lt_mprofiles TYPE uje_t_profile_id_act.
DATA: ls_mprofiles LIKE LINE OF lt_mprofiles.
DATA: lt_tprofile_ids TYPE uje_t_api_profile_id.
DATA: ls_tprofile_ids LIKE LINE OF lt_tprofile_ids.
DATA: lt_mprofile_ids TYPE uje_t_api_profile_id.
DATA: ls_mprofile_ids LIKE LINE OF lt_mprofile_ids.
DATA: lt_strtab TYPE stringtab.
DATA: ls_strtab LIKE LINE OF lt_strtab.
DATA: ls_teams_list LIKE LINE OF lt_teams_list.
lt_strtab = lcl_application=>upload( p_file ).
LOOP AT lt_strtab INTO ls_strtab.
SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_team_assign-user_id
ls_team_assign-team_id
ls_team_assign-teamleader.
CLEAR ls_user_team.
ls_user_team-user_id = ls_team_assign-user_id.
ls_user_team-team_id = ls_team_assign-team_id.
ls_user_team-teamleader = ls_team_assign-teamleader.
TRANSLATE ls_user_team-teamleader USING 'YXyX1XxXN n 0 '. "Translate to X or space
APPEND ls_user_team TO lt_user_team.
IF lcl_application=>team_is_valid( ls_team_assign-team_id ) = abap_false.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Team' ls_team_assign-team_id 'does not yet exist.'
'No user assigments done.'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
lcl_application=>render_alv( ).
RETURN.
ENDIF.
IF lcl_application=>user_is_valid( ls_team_assign-user_id ) = abap_false.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'User' ls_team_assign-user_id 'does not yet exist.'
'No user assigments done.'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
lcl_application=>render_alv( ).
RETURN.
ENDIF.
ENDLOOP.
LOOP AT lcl_application=>lt_teams_list INTO ls_teams_list.
REFRESH lt_user_team_temp.
REFRESH lt_tprofile_ids.
REFRESH lt_mprofile_ids.
* Check that there is data for team assignment, otherwise skip
READ TABLE lt_user_team TRANSPORTING NO FIELDS
WITH KEY team_id = ls_teams_list-team_id.
IF sy-subrc <> 0.
CONTINUE.
ENDIF.
* Get existing team data for this team.
CALL FUNCTION 'UJE_API_GET_TEAMDATA'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
i_team_id = ls_teams_list-team_id
IMPORTING
et_user_team = lt_user_team_temp
et_tprofile_id = lt_tprofile_ids
et_mprofile_id = lt_mprofile_ids.
* Update with new users.
LOOP AT lt_user_team INTO ls_user_team
WHERE team_id = ls_teams_list-team_id.
MOVE-CORRESPONDING ls_user_team TO ls_user_team_temp.
APPEND ls_user_team_temp TO lt_user_team_temp.
ENDLOOP.
* Keep existing profiles.
REFRESH lt_tprofiles.
LOOP AT lt_tprofile_ids INTO ls_tprofile_ids.
ls_tprofiles-profile_id = ls_tprofile_ids-profile_id.
APPEND ls_tprofiles TO lt_tprofiles.
ENDLOOP.
REFRESH lt_mprofiles.
LOOP AT lt_mprofile_ids INTO ls_mprofile_ids.
ls_mprofiles-profile_id = ls_mprofile_ids-profile_id.
APPEND ls_mprofiles TO lt_mprofiles.
ENDLOOP.
* now update the user/team assignments
CALL FUNCTION 'UJE_API_MANAGE_TEAM2'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
is_team = ls_teams_list
i_action = 'M'
it_users = lt_user_team_temp
it_tprofile_id = lt_tprofiles
it_mprofile_id = lt_mprofiles
IMPORTING
e_success = lv_success
et_message_lines = lt_messages.
IF lv_success = 'Y'.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'S'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Team' ls_teams_list-team_id 'user assignments'
'have been updated successfully'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ELSE.
APPEND LINES OF lt_messages TO lt_alv_messages.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Team' ls_teams_list-team_id 'user assignments'
'not updated due to error'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
ENDIF.
ENDLOOP.
lcl_application=>render_alv( ).
ENDMETHOD. "import_team_assign_from_file
METHOD export_task_profiles_to_file.
TYPES: BEGIN OF t_output,
identifier TYPE char01, " Row Identifer
profile TYPE uj_profile_id,
values TYPE string,
END OF t_output.
DATA: ls_tprofs LIKE LINE OF lt_tprofs.
DATA: lv_profile TYPE uj_profile_id.
DATA: ls_profile TYPE uje_s_profile.
DATA: lt_role_id TYPE uje_t_api_role_id.
DATA: ls_role_id LIKE LINE OF lt_role_id.
DATA: lt_task_info TYPE uje_t_task_info.
DATA: ls_task_info LIKE LINE OF lt_task_info.
DATA: lt_users_asin TYPE uje_t_api_user_id.
DATA: ls_users_asin LIKE LINE OF lt_users_asin.
DATA: lt_teams_asin TYPE uje_t_api_team_id.
DATA: ls_teams_asin LIKE LINE OF lt_teams_asin.
DATA: lt_output TYPE TABLE OF t_output.
DATA: ls_output LIKE LINE OF lt_output.
LOOP AT lcl_application=>lt_tprofs INTO ls_tprofs.
lv_profile = ls_tprofs-profile_id.
* Get relevant data for task profile
CLEAR ls_profile.
REFRESH: lt_role_id, lt_task_info, lt_users_asin, lt_teams_asin.
CALL FUNCTION 'UJE_API_GET_TPROFILEDATA2'
EXPORTING
i_appset_id = lcl_application=>lv_appset_id
is_user = lcl_application=>lo_context->ds_user
i_profile_id = lv_profile
IMPORTING
es_profile = ls_profile
et_role_id = lt_role_id
et_task_info = lt_task_info
et_user_id = lt_users_asin
et_team_id = lt_teams_asin.
* Write Header row
CLEAR ls_output.
ls_output-identifier = 'H'.
ls_output-profile = lv_profile.
ls_output-values = ls_profile-description.
APPEND ls_output TO lt_output.
* Write task assigments
CLEAR ls_output.
ls_output-identifier = 'K'.
ls_output-profile = lv_profile.
LOOP AT lt_task_info INTO ls_task_info.
ls_output-values = ls_task_info-task_id.
APPEND ls_output TO lt_output.
ENDLOOP.
* Write role assigments
CLEAR ls_output.
ls_output-identifier = 'R'.
ls_output-profile = lv_profile.
LOOP AT lt_role_id INTO ls_role_id.
ls_output-values = ls_role_id-role_id.
APPEND ls_output TO lt_output.
ENDLOOP.
* Write user assignments
CLEAR ls_output.
ls_output-identifier = 'U'.
ls_output-profile = lv_profile.
LOOP AT lt_users_asin INTO ls_users_asin.
ls_output-values = ls_users_asin-user_id.
APPEND ls_output TO lt_output.
ENDLOOP.
* Write team assignments
CLEAR ls_output.
ls_output-identifier = 'T'.
ls_output-profile = lv_profile.
LOOP AT lt_teams_asin INTO ls_teams_asin.
ls_output-values = ls_teams_asin-team_id.
APPEND ls_output TO lt_output.
ENDLOOP.
ENDLOOP.
* Download table
lcl_application=>download( EXPORTING i_filepath = p_file
it_datatab = lt_output ).
ENDMETHOD. "export_task_profiles_to_file
METHOD import_task_profiles_from_file.
TYPES: BEGIN OF t_input,
identifier TYPE char01, " Row Identifer
profile TYPE uj_profile_id,
values TYPE string,
END OF t_input.
TYPES: BEGIN OF t_task_profile,
profile TYPE uje_s_profile,
roles TYPE uje_t_api_role_id,
task_info TYPE uje_t_task_info,
users_asin TYPE uje_t_api_user_id,
teams_asin TYPE uje_t_api_team_id,
END OF t_task_profile.
DATA: lt_task_profile TYPE TABLE OF t_task_profile.
DATA: ls_task_profile LIKE LINE OF lt_task_profile.
DATA: ls_alv_messages LIKE LINE OF lt_alv_messages.
DATA: lt_messages TYPE uj0_t_message.
DATA: lv_action TYPE uj_action.
DATA: lv_success TYPE uj_bool.
DATA: lv_last_profile TYPE uj_profile_id.
DATA: lt_role_id TYPE uje_t_api_role_id.
DATA: ls_role_id LIKE LINE OF lt_role_id.
DATA: lt_task_info TYPE uje_t_task_info.
DATA: ls_task_info LIKE LINE OF lt_task_info.
DATA: lt_users_asin TYPE uje_t_api_user_id.
DATA: ls_users_asin LIKE LINE OF lt_users_asin.
DATA: lt_teams_asin TYPE uje_t_api_team_id.
DATA: ls_teams_asin LIKE LINE OF lt_teams_asin.
DATA: lt_strtab TYPE stringtab.
DATA: ls_strtab LIKE LINE OF lt_strtab.
DATA: lt_input TYPE TABLE OF t_input.
DATA: ls_input LIKE LINE OF lt_input.
DATA: lt_obj_asin TYPE uje_t_profile_asin.
DATA: ls_obj_asin LIKE LINE OF lt_obj_asin.
DATA: lt_task_asin TYPE uje_t_task_id_act.
DATA: ls_task_asin LIKE LINE OF lt_task_asin.
* Upload file
lt_strtab = lcl_application=>upload( p_file ).
* Rip import file into internal table
LOOP AT lt_strtab INTO ls_strtab.
CLEAR ls_input.
SPLIT ls_strtab AT lcl_application=>lv_delimiter INTO ls_input-identifier
ls_input-profile
ls_input-values.
APPEND ls_input TO lt_input.
ENDLOOP.
* Build profile table containing all associated data
SORT lt_input STABLE ASCENDING BY profile identifier values.
LOOP AT lt_input INTO ls_input.
IF ls_input-profile <> lv_last_profile
AND lv_last_profile IS NOT INITIAL.
APPEND ls_task_profile TO lt_task_profile.
CLEAR ls_task_profile.
ENDIF.
* Based on record identifier
CASE ls_input-identifier.
WHEN 'H'. " Header
ls_task_profile-profile-profile_id = ls_input-profile.
ls_task_profile-profile-description = ls_input-values.
WHEN 'K'. " Task info
SPLIT ls_input-values AT lcl_application=>lv_delimiter INTO ls_task_info-task_id
ls_task_info-description.
IF lcl_application=>task_is_valid( ls_task_info-task_id ) = abap_false.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Task ID' ls_task_info-task_id 'is not valid.'
'No task profile updates done.'
INTO ls_alv_messages-message SEPARATED BY space.
APPEND ls_alv_messages TO lt_alv_messages.
lcl_application=>render_alv( ).
RETURN.
ENDIF.
APPEND ls_task_info TO ls_task_profile-task_info.
WHEN 'R'. " Roles
ls_role_id = ls_input-values.
IF lcl_application=>role_is_valid( ls_role_id ) = abap_false.
CLEAR ls_alv_messages.
ls_alv_messages-msgid = '00'.
ls_alv_messages-msgty = 'E'.
ls_alv_messages-msgno = '001'.
CONCATENATE 'Role ID' ls_role_id 'is not valid.'
-
Hi
I downloaded the "how to user pc mass user management tool" guide and it mentions K900417.EPM transport but i didnt see them attached to the link where i downloaded the guide, where can i get this files?
Thanks.Hi stefania
Looks like link is tricky, if you download the pdf wont work, you need to activate the pdf plugin on your browser, like firefox and read pdf from there.
I am including the link here:
http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/9007d9b9-1b9b-2d10-f985-aedb52282975
See all this [referral document|http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/40e91e46-1c9b-2d10-1c87-fac75bd7b4bd]
Hope this helps.
Edited by: Jason Lax on Dec 28, 2011 2:49 PM (Fixed broken link, added referral document) -
BPC User Management Tools in different versions
Hi all,
I am comparing the different versions of BPC from 5.1 to 10.0 and I have the following questions about user management tools:
1)
How does "User Management Server" work?
What's the difference when it is compared with "Active Directory" and "BPC NW Authorization"?
2)
I have summarized my understand on the availability of the user management tools in different versions of BPC but I don't know if it is correct.
Active Directory
Central Management Server
BPC NW Authorization
NetWeaver version
N/A
BPC 7.X, 10.0
BPC 7.X, 10.0
Microsoft version
BPC 5.1, 7.X, 10.0
BPC 7.X, 10.0
BPC 7.X, 10.0
Please kindly correct me if I am wrong.
Thanks in advance!
WinsonHi Winson,
You are incorrect for BPC NW 7.5 - it uses Active Directory users...
Vadim -
Third-Party User Management Tools
I'm looking for recommendations for third-party user management tools that can do the following:
- Identify and bulk-expire/no visibility users that are inactive for >XXX days
- Identify users with auto-forward rules
- Bulk-delete inactive accounts (from GW database only, not eDirectory accounts)
- Maybe even bulk-move inactive/expired accounts to a "dead accounts" post office?
I have an immediate mandate to clean up our environment, and I don't see how to do this in bulk with existing native tools. It's just one guy (me) versus 42 post offices and 23,000 user accounts...
Thanks!You can create your own tools using the GroupWise Administrative Object API and the GroupWise Object API.
Please refer to the Cool Solutions article I wrote ( shameless self promotion ) "Scripting GroupWise" - Scripting GroupWise | Novell User Communities for more information on the GroupWise Admin API. I suggest that you modify the script listUser.vbs to include domain name ( GWUser.PostOffice.Domain.Name ) , post office name ( GWUser.PostOffice.Name ), visibility ( GWUser.Visibility ) and last login date ( GWUser.MailboxLastLoginDate). You will need to run an audit report on each post office to update the MailboxLastLoginDate property. Import the output into Excel and sort / filter accordingly for analysis.
Setting an expiration date ( MailboxExpDate ) and / or visibility ( Visibility ) is done by assigning values to the respective properties and using the commit method - e.g GWUser.Commit
Identifying accounts with auto-forward rules can be using GroupWise Object to log into each account using a trusted application key. I posted ( more shameless self promotion ) some sample code to list proxy access in another thread - https://forums.novell.com/novell-pro....html#poststop. It is not too difficult to modify the code to iterate through rules and select those that include the action forward.
Deleting is be done using the the delete method - e.g. GWuser.Delete(eadGW) where eadGW is constant with the value 1.
I would advise against using the Administrative Object API to automate moving accounts. Best practices to avoid problems during moves involve running GWCheck against user objects until there are no errors. I perform structure, contents, contents with attclip and contents with deldupfolders checks until there are no error before moving accounts. There is also the issue of how many simultaneous moves the post office agents can handle. More accurately it is the number of simultaneous purges on the source post office that need to be monitored.
If you need more help with coding let me know.
Sincerely,
Bryan Vandenberg
Originally Posted by gregamy
I'm looking for recommendations for third-party user management tools that can do the following:
- Identify and bulk-expire/no visibility users that are inactive for >XXX days
- Identify users with auto-forward rules
- Bulk-delete inactive accounts (from GW database only, not eDirectory accounts)
- Maybe even bulk-move inactive/expired accounts to a "dead accounts" post office?
I have an immediate mandate to clean up our environment, and I don't see how to do this in bulk with existing native tools. It's just one guy (me) versus 42 post offices and 23,000 user accounts...
Thanks! -
Exchange 2013 management tools installation on windows 2012 standard edition gives error.
Exchange 2013 management tools installation on windows 2012 standard edition gives following error.
Does anyone observed this issue ?
Error:
The Exchange management tools are supported on servers running Windows Server 2012 and Windows Server 2008 R2 SP1 or later, and also on Windows 8 and Windows 7 client computers.
For more information, visit: http://technet.microsoft.com/library(EXCHG.150)/ms.exch.setupreadiness.ValidOSVersionForAdminTools.aspx
My Test lab is having
Exchange 2013 installed (xyz.local) domain and working fine.
Now i am installing Exchange Management tools on server which is member of (xyz.local) Domain (base OS : Windows 2012 standard edition : Windows updated)
Best Regards
sameer PrabhuneHi Sprabhune,
It should work.
Did you install the tool by GUI or cmd?
Please select "Automatically install Windows Server roles and features that are required to install Exchange Server" to have the Setup wizard install required Windows prerequisites.
If possible, please try to install the tool on Windows 7/8 client to test.
Exchange 2013 Prerequisites
http://technet.microsoft.com/en-us/library/bb691354.aspx
Frank Wang
TechNet Community Support -
Web-based user management tools???
Are there any pre-packaged or off-the-shelf tools one can use to manage unix users and groups in DS 5.2? (preferrably web based) I have found a few open source apps that are web-based but they don't seem to be production quality.
For now, I'm creating LDIF files and importing them or using the GUI console. This is tedius and the other sys admins that aren't familiar with ldap will find it difficult.
One of the open source tools I found was "Directory Administrator" which runs only under gnome, we don't use gnome.
Another tool is "LDAP Account Manager" which was originally built to manage samba users and their unix user/group attributes. We don't use samba and this application does not allow you to seperate the samba and unix components.
There has to be a simple web-based tool for managing unix users/groups. If any of you know of a commercial or free app, please let me know.I urege to to take a look at phpldapadmin, an open-source php/web based tool for managing ldap/directory servers. We have been using it for over a year now, and find that it is easy to install, works well, and continues to receive updates on a periodic basis. Another nice thing is that since you have the php source, it's easy to modify for local modifications.
You can find it at:
http://phpldapadmin.sourceforge.net/ -
User Management tool problem ?
Hi,
I'm facing problem in usermanagement tool,
Here is which i follow to maintain contact person details in UM tool:
1)in BP we created we maintained BP general and under internet user we maintained Roles with userid and password also and we created a relationship for this BP,and in SU01 we maintained authorization same as under roles,profiles.But when we try to see this created userid in inernet tab it is not displaying any thing under usermanagement tool in web..so,please advice where i did went wrong step as above i given details ..please reslove my problem..
Thanks&Regards,
Vasu..Hi,
Please check the Internet Sales B2B Best Practices guide for the profiles that would be required. Also, there is a Best Practices guide which talks on the authorizations as well.
Please check the same.
Regards TVS -
I have Synced 3 computers. My main one is A. I used B in July 2013 and then C in August. Now I am on B again, in September, but my Bookmarks go up to 08Jul and then start again with 13Sep, when I logged in on B. I press Sync Now, but nothing seems to happen. I unsynced B and then resynced it again, but still no bookmarks made on C in August. It might be a problem with C not syncing, but I can't tell. And in any case, if I connect B after a couple of months, will it pick up the bookmark list stored with Mozilla, or will it overwrite the Mozilla data with its own data, or will it look at the date stamp on each bookmark entry/deletion and maintain the data in the order I created/deleted it?
All I can suggest is that you open that file on the MBA and save it as a new file, then see if you can open the new one on the iMac.
-
XFCE GUI User/Password Management Tool
Hi All.
I am looking for a GUI user management tool, or at the very least and my primary need, a GUI password changer for the XFCE environment.
The goal is to give a standard user the ability to change their own password without the need to open a terminal, if possible.
Hopefully I haven't overlooked it.
Could anyone make a suggestion?
Thanks in advance.Rexilion wrote:That's not going to work. You will need root privileges to change your own password. I think you could get away with a script and some sudo magic. Need some help with that?
What?
man passwd
A normal user may only change the password for his/her own account, while the superuser may change the password for any account.
@Eldon
AFAIK XFCE itself doesn't have such a tools, but from a quick google I noticed that most people seem to be using the gnome-system-tools package. -
Error when trying to install MS Exchange 2010 Management Tools Windows 7 x64 SP1
When I try to install Exchange 2010 Management Tools on my Windows 7 Pro x64. I get the message ExSetupUI.exe has stopped working? Has anybody else gotten this message? It doesn't even load into the install screen. It is stopping before then.
Hi
Have you installed the admin tools for windows 7 and all the prerequisites? Try running the setup from an elevated prompt or "as Administrator"
for ref:
http://social.technet.microsoft.com/Forums/en-US/63880f4e-6b6e-4ea9-b3b6-8a535657288f/installing-exchange-management-tools-on-a-win-7-x64-box-getting-error-on-readiness-checks?forum=exchange2010 -
Exchange management tools error "reboot from a previous installation pending"
I am trying to install the Exchange 2010 Management Tools onto a client. We have Exchange 2010 running already elsewhere, but have been doing RDP to the server in order to add mailboxes, etc., need to have more administrators on their own Windows 7 client
computers doing remote management.
Windows 7 Enterprise (64bit) client computer in same domain as Exchange servers, UAC disabled, logged in as a domain administrator. Fresh restart. No updates pending. Noticed article
http://technet.microsoft.com/en-us/library/cc164360(v=exchg.80).aspx "A Restart from a Previous Installation is Pending" and numerous posts that indicated I should
clear "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates\UpdateExeVolatile" or clear "HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations" - but neither of these keys
exist on my computer!
Downloaded and unzipped Exchange2010-SP3-x64.exe to C:\Temp
Ran C:\Temp\setup.exe
Checked off the options: a) Error Reporting - Yes (Recommended). b) Custom Exchange Server Installation. c) Select "Management Tools". d) LEAVE UNSELECTED "Automatically install Windows Server roles and features required for Exchange".
Get the following errors
Summary: 3 item(s). 1 succeeded, 2 failed.
Elapsed time: 00:00:22
Configuring Prerequisites
Completed
Elapsed Time: 00:00:01
Management Tools Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Warning:
Setup cannot contact the primary DNS server (172.17.253.51) using TCP port 53. Check that the IP address of the DNS server is correct and that the DNS server is reachable.
Elapsed Time: 00:00:17
Languages Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Warning:
Setup cannot contact the primary DNS server (172.17.253.51) using TCP port 53. Check that the IP address of the DNS server is correct and that the DNS server is reachable.
Elapsed Time: 00:00:03
Already have reviewed many articles on this topic, none seem to apply to my situation. I am going crazy trying to solve it.As I've said this workstation meets the requirements for installation of the Management Tools. It is 64bit.
Thanks for the link to the exchangeserverpro.com installation instructions blog. It is something I had already reviewed. There are many comments with problems, so many in fact it is confusing what finally worked for people who ran into snags.
Many also reported the "reboot from a previous installation is pending" problem (that I am getting), but their solution to that problem is not obvious, since, as I originally posted, the Microsoft answer to that error message is contained in "http://technet.microsoft.com/en-us/library/cc164360(v=exchg.80).aspx"
and the registry keys do not exist on my Win7 client. The other solution in the comments seemed to be to exclude the "Automatically install Windows Server roles and features required for Exchange" during install (but so far Ed and Rajith want
me to include that option). The blog is quite old, and so I hoped the SP3 for Exchange 2010 would have fixed the installer issues identified in the comments on that blog... but apparently not!
DNS is working in our environment. The IP address in the error message points to a network load balancer (NetScaler by Citrix) and does not respond on telnet using port 53... It is our standard DHCP-provided configuration for client DNS. (Does the
Exchange installer for Management Tools have some unique DNS requirements beyond normal name resolution? If so, does the Exchange admin need DNS admin rights?) Just to remove the load balancer from the equation, I changed my Win7 client network adapter settings
to use two real, physical actual Microsoft AD domain controllers to resolve DNS. I performed an IPCONFIG /FLUSHDNS. Then re-ran the Exchange 2010 installer. The specific error for DNS has gone away now that I am not using our enterprise's standard load balancer
DNS client configuation. I really need to know why this is an Exchange management tools requirement. Any ideas?
But still no-go on getting the Exchange 2010 Management Tools to install. Here are the latest errors on the Readiness Checks:
Summary: 3 item(s). 0 succeeded, 3 failed.
Elapsed time: 00:00:25
Configuring Prerequisites
Failed
Error:
The following error was generated when "$error.Clear();
if($RoleInstallWindowsComponents)
# Install any Windows Roles or Features required for the Management Tools role
if ($RoleIsWindows8OrHigher)
if($RoleADToolsNeeded)
$ADToolsNeeded = 1
else
$ADToolsNeeded = 0
Invoke-Expression " Powershell -Command {& $RoleBinPath\InstallWindowsComponent.ps1 -ShortNameForRole AdminTools -ADToolsNeeded $ADToolsNeeded} "
else
Install-WindowsComponent -ShortNameForRole "AdminTools" -ADToolsNeeded $RoleADToolsNeeded
" was run: "The system cannot find the file specified".
The system cannot find the file specified
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex88D115&l=0&cl=cp
Elapsed Time: 00:00:01
Management Tools Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Elapsed Time: 00:00:20
Languages Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Elapsed Time: 00:00:03
If I remove the "Automatically install Windows Server roles and features required for Exchange" on the installer, I do not get the PowerShell error, just the "installation is pending" errors:
Summary: 3 item(s). 1 succeeded, 2 failed.
Elapsed time: 00:00:39
Configuring Prerequisites
Completed
Elapsed Time: 00:00:00
Management Tools Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Elapsed Time: 00:00:12
Languages Prerequisites
Failed
Error:
A reboot from a previous installation is pending. Please restart the system and rerun setup.
Click here for help...
http://technet.microsoft.com/en-US/library/ms.exch.err.default(EXCHG.141).aspx?v=14.3.123.3&e=ms.exch.err.Ex28883C&l=0&cl=cp
Elapsed Time: 00:00:02
Which puts me right back to where I started in this thread. -
NWDI advantages over other Version Management tools
Hi all,
We have our own customized applications in our landscape.We are not using NWDI.We use an external Version Management tool. I would like to stress out what are the advantages of using NWDI rather than the existing version management tool.I have been questioned many times as to what is the need of NWDI if we are not using Standard SAP packages.
I request all of the members to highlight some major advantages of using NWDI interms of customized applications and thinking about the future
Thanks,
SridarHi,
In Version management tools we can only maintain the versions i.e, backup of our developments. but in NWDI there are four different components for different reasons
1)DTR(Design Time Repository): This is used for version controlling.
2)CMS(Change Management System):Used to transport your source code from different landscape systems.
4)CBS(Central Build Service):Used to Build all the source code which we deployed.
5)SLD(System Landscape Directory):Used to store all the standard business packages required.
hope you understand the difference....for more details plzz check in sdn.
Regards,
Anil. -
I'm looking for a way to automatically add users to BPC and assign them the appropriate permissions. I plan on using an Identity Management system to create the account but can't figure out how to integrate with BPC. For example, in ABAP systems we can create the account and assign it groups; in the Portal we can add the account to Active Directory groups and assign permissions to the Active Directory group in the Portal. Is there anything like this for BPC? Any exposed webservices?
Thanks,
ChrisHI Chris,
If you want to automate the users and it's permisess you will have to have a bvast knowledge about the bpc tables that manage the users, there's the UJE_USER table that has the complete information of the user. There you can configure the user and the domains where they are avaliable, i think you will have to make an abap program for that kind of rutine. here in this document you can fin a little bit more of the bpc system tables /people/sheldon.edelstein/blog/2010/01/20/sap-businessobjects-planning-and-consolidation-version-for-netweaver--deleting-an-appset, I really don't know if there is a way to communicate directly to the active directory using a web service.
hope it helps, -
Hi experts,
What kind of control you could have in BPC using the manage data audit over an application?
As the configuration indicates you can choose the tasks and category you want to audit but i don´t know what kind of information you will have.
Can anybody give me some useful examples of auditing?
Regards.The audit functionality in BPC is designed to capture information about 6 types of user interaction with BPC. Based on security rights, the Audit report provides data on "what" has happened in the system during a specific period of time. The process must be enabled by one of the 6 functions by category, and scheduled to move from a temporary table to a reporting table on a schedule. The main goal is to use this to monitor interactions from a user / admin perspective with the tool. It doesn't provide any any other functions than capture and report the information with Webexcel.
Hope this helps.
Maybe you are looking for
-
How can i access photos on itunes
I need to delete pictures from my phone to free up space. On my phone I only have less than 300 photos/videos. On iTunes it says I have over 2000. How do I access the ones on my computer?
-
I have hidden some of my music in the cloud - how do I un do this so that I can hear it on my phone 5s again?
-
Editing a word document and reading on a Mac
Using Document to Go, I edited a word document and saved the document. I then sent this edited document to a friend who has a Mac using the new Snow Leopard operating system - he could not open the edited document, but could open the unedited, origi
-
I have gone into every help thing I could find and tried everything I could but nothing changes. I hate chrome and IE but I am going to have to switch to them if I can't get it to work. One person who seemed to have a similar problem said something a
-
I am in the process of setting up a port everything from env.A to env.B and have run into two issues..... they appear to be connected., The config. and installs are all identical .... except for the server names. Here is what I have been able to do s