Call manager tool

i was looking for a cisco tool for completing a callmanager 5.1 design.
something that will tell me what licenses are required if i add subsequent servers and phones and the likes.
ive gone thru the configuration tool but it couldnt help at all.
anyone could help me please

Here is one online you may need to login
this tool will help you size the server appropriately.
http://www.cisco.com/cgi-bin/CT/CCMCT/ct.cgi
please rate helpful posts.
Good luck,
Baseer.

Similar Messages

  • Integration Call Manager with Microsoft's tools

    Hello,
    My costumer has call-manager 5.1 and Cisco Unity 5.0 (voice e-mail only) working perfectly on his company.
    Besides, he has Microsoft Outlook 2007 and MS-Office Communicator with presence server.
    He wants to use MS's tools integrated with Cisco call-manager.
    Ex
    Listen to voice e-mails directly on Outlook 2007 and on UNITY.
    Use office communicator (presence) according to the status of user's phone; also implementing functions like "click-to-dial".
    Is there any kind of software or license that I should get from Cisco to implement these functions?

    Please I need help.

  • Upgrade Call Manager from 8.6.2 to 10.5

    Hello All,
    We are planning to upgrade a Cisco Call Manager Publisher node from 8.6.2 to 10.5. We want to install a new publisher on a new environment, but we are struggling with some questions.
    If we install the Pub node 10.5 can we migrate the configuration from the 8.6.2 to 10.5? Do we need a special tool for this?
    If above doesn't work, we can still migrate the existing call manager towards the new servers and start the upgrade, the only problem we face there is that we have to change the publisher's IP because we want to use a new ip addressing scheme.
    Kr,
    Yannick Vranckx

    Your best bet is to use the new tool: cisco prime collaboration deployment. This fits perfectly into what you want to do here and can easily help you with all aspect of the migration including the ip address change. You can learn how to use the tool here..
    https://www.youtube.com/watch?v=JzG4kz1_hL4

  • "Disk Utility has lost its connection with the Disk Management Tool and cannot continue. Please quit and relaunch Disk Utility."  Trying to format my iomega external HD for use with Mac

    Hi. Trying to connect iomega ext. HD. i have to reformat for Mac. When i plug in & go to Disk Utility,the external shows up and i'm supposed to click "partition". When i do, a box comes up saying ""Disk Utility has lost its connection with the Disk Management Tool and cannot continue. Please quit and relaunch Disk Utility." I quit and relaunched, same results. After googling my question, i came up with this:
    "Disk Utility has lost its connection with the Disk Management Tool and cannot continue. Please quit and relaunch Disk Utility."
    (Quitting and reopening Disk Utility does not help.)
    The following also appears in Console log:
    *** malloc[419]: Deallocation of a pointer not malloced: 0x290a410; This could be a double free(), or free() called with the middle of an allocated block; Try setting environment variable MallocHelp to see tools to help debug : for architecture i386 object: ./Applications/iTunes.app/Contents/MacOS/iTunes malformed object (unknown flavor for flavor number 0 in LC_UNIXTHREAD command 27 can't byte swap it)
    Workaround
    Quit Disk Utility.
    From the Finder's Go menu, choose Go to Folder....
    Type the following, then click OK: /Library/Receipts
    Temporarily remove these iTunes receipts from /Library/Receipts (sort the folder alphabetically as a list):
    iTunes.pkg
    iTunes4.pkg
    You can put them on the desktop, for example. Do not remove iTunesX.pkg or iTunes Phone Driver.pkg.
    Open Disk Utility and repair disk permissions again.
    Quit Disk Utility.
    Put the removed iTunes receipts back in /Library/Receipts.
    Note: This issue does not affect Disk Utility's verify or repair disk features.
    All seemed good, for a moment, until, upon going back to Disk Utility after removing itunes4.pkg and putting on desktop (i did not have itunes.pkg to remove) the same thing was happening. When i highlite my iomega ext. on left of page, disk perrmissions is grayed and does not allow me to click on it. Same problem from the start. Can somebody please help me out here? That would soooo awesome. Thanx!

    i'm just scared i will do something wrong on my own and lose my data.
    You shouldn't be scared of that, because you should already have backups. If you don't have backups, then backing up is the first priority.
    Insert the Snow Leopard DVD and restart. When you hear the chime, hold down the C key and keep holding it until the Apple logo appears on the display. You should now see the language selection screen. Select your language, then choose Utilities > Disk Utility from the menu bar. In the Disk Utility window, select the external drive (not the internal). The drive may already have a data partition, in which case there will be another icon below the drive icon. Choose the drive icon, then select the Partition tab. Create a single partition with the default options (GUID partition table, Mac OS X Extended Journaled).
    When the partitioning is done, select the startup volume on your internal drive in the DU window. Select the Restore tab. Drag the icon of the startup volume to the "Source" field. Then drag the icon of the newly-created volume on the external drive to the "Destination" field. Make sure you have this right. Then click the Restore button, and the data on your startup volume will be copied to the external drive.

  • Call Manager Migration 7.1.5 to 9.1 / Trunking : ICT vs. SIP

    Hello All,
         Currently studying for CCNA Voice and have been asked by my current employer to upgrade CUCM 7.1.5 to 9.1.1. There has been a time frame put on the deployment however I want to dig pretty deep into the deployment to learn as much as possible. I am going to start by configuring a trunk between the 2 call manager clusters. from there I will add users to the new call manager and try to convert slowly to the new call manager instead of one big cutover. I will place a route pattern over the trunk so that cucm 9.1 will route through cucm 7.1 while I slowly convert users to the new system. I will then deploy directory numbers in a Staging partition that is not associated with any CSS. Once I have all users and phones configured on the new 9.1 call manager I want to use the bulk admin tool to change the staging partition to the working internal_PT production partition. The users will be imported from LDAP.  My questions are, does this sound like a feasible plan?  Is there any other difference between a SIP trunk and ICT besides the SIP and H.323 protocol? ( I prefer SIP from what I have read) and will having the same users on both boxes interfere with call processing, if these users and phones are not active yet?

    Just for the record. I found the solution to my problem. Checking more logs I read this:
    The installation has encountered a unrecoverable internal error. For further assistance report the following information to your support provider.
    "/usr/local/cm/script/cm-dbl-ontape_backup-install RU PostInstall 9.1.2.11900-12 7.1.5.30000-1 /usr/local/cm/ /common/component/database /common/log/install/capture.txt " terminated. Exceeded max time (240)
    The system will now halt.
    So I accessed the Dissaster Recovery Section on CUCM and deleted the tape backup device that was configured there. After deleting it the upgrade went well.

  • Disk Management Tool error in Disk Utility

    Update: (first, reviewing problem that I and others have been having, including on 10.4.x systems):
    When I attempt to repair permissions on my HD with Disk Utility, I get this specific error message: "Disk Utility internal error -- Disk Utility has lost its connection with the Disk Management Tool and cannot continue. Please quit and relaunch Disk Utility" and the repair-permissions will not proceed. It fails to get the proper "correct" permissions info for that drive to allow the repair. The error log points to a file in the Library called "DiskManagementToll" The path is ~/System/Library/PrivateFrameworks/DiskManagement.framework/Resources/DiskManag ementTool)
    This problem is appearing in many forums here and elsewhere, including 10.4.x systems (like mine) and persists in a few after deleting suggested files. Is there a sophisticated solution that addresses the problem through the DiskManagementTool file by replacing some values or replacing the file from a backup vis SUDO or Root?
    Previous posts have focused on Macs running 10.3.x and with iTunes 6.0x installed. Not here, so the problem is more general. None of the "delete iTunes / plists / Chess.app" suggested fixes have worked for me. Also tried running DU from my Tiger install disk; no luck! -- still fails when it tries to determine the correct permissions.
    The "DiskManagementTool" file apparently either stores the correct file permissions or handles reading them from the receipts in the Library. If I understand things right, Disk Utility is actually a (user)-permissioned graphic front end, while DiskManagementTool is a Root-user-level tool that actually does the heavy lifting. Can I replace -- and any benefit to that -- or rewrite it with proper access?
    There is a complete crash log report in Crash Reporter, by the way. Anyone want the text, and would it help figure out what's happening?
    I've tried the suggested deletion of iTunes 6.0.2 or Chess.app and their plists (these and other steps were suggested on MacFixIt at http://www.macfixit.com/article.php?story=20060111090035797 the advice is, basically, to delete iTunes 6.0.2 and/or Chess.app and related plist files.) As I said, no luck!
    Everyone that I talk to says it MUST be the fault of some other 3rd-party disk utility software.
    For what it's worth, I HAVE run Disk Warrior -- and, the drive that's having the problem is a recent reinstall from a backup using Carbon Copy Cloner. The original disk is NOT having such a problem, only the hard drive on my iBook after the reinstall. Don't know if that gives any clues (or to how the link gets somehow disengaged between Disk Utility and the Disk Management Tool file / software).
    Any thoughts on that? What about replacing the Disk Management Tool file in the Library or forcing some kind of re-link to it? some Unix guru MUST know a fix!
    Obviously, the big worry for me is that I can't update my System to 10.4.5 or anything else without repairing permissions first. This IS a big deal. And others are having the same problem. Help?!?
    New 2 GHz dual g5 , Dual g4, & iBook G4 (recent) Mac OS X (10.4.4)

    A system problem was involved that became, briefly, a "known issue" that was solved in the next minor update. Solved, anyway, by the advice given by the last poster. Thanks! SJ

  • CDR FIles in Call Manager version 7.1.5-30000

    Good Morning:
    I have a cluster of servers Cisco Call Manager version 7.1.5.30000; 01 Publisher and 02 subscriber. The publisher server passes CDR files to a call accounting application PC-SYSTEL on another server. At one point the CDR files are no longer spend the Call Manager to the application PC-SYSTEL
    Call manager services are reviewed, the part of CDR Management in Cisco Unified Serviciability right. The only solution is doing a RESTART to PUBLISHER server,  and then again go CDR files to the application PC-SYSTEL
    Please anyone has any solution other than to give a RESTART PUBLISHER server, or is this the only way to restore this service.
    Expect your news.
    Thanks in advance for any ideas.
    Regards.
    Fernando.

    Hi Fernando,
    Please check the following.
    (1) Confirm that the billing server is configured correctly (verify the IP address). From the Cisco Unified Serviceability page, navigate to Tools > CDR Management to view the billing server parameters.
    (2) Check if you can ping the billing server from the Publisher. From the Publisher CLI, you can use the following command:
    utils network ping a.b.c.d
       where a.b.c.d is the IP address of the billing server
    (3) Check if the FTP (or SFTP) service/software running on the billing server.
    (4) Check if the billing server is running out of disk-space.
    (5) Check if the CDR Respository Manager service is running on the Publisher. If not, start the CDR Repository Manager service.
    (6) On the Publisher, check the 'preserve' and 'destinationX' (X can be 1, 2 or 3) directories for CDR flat files. For example: if transfer of CDR files to billing server is broken from Jan 6th, then use the following commands:
    file list activelog /cm/cdr_repository/preserve/20110106
    file list activelog /cm/cdr_repository/destination1/20110106
      (if multiple billing servers are configuration, the location will be similar to above, but the corresponding directories will be named destination2, destination3). This location contains symbolic links to files under preserve. CDR Repository Manager service uses these soft-links to determine what files need to be transfered to billing server.  
    If you don't observe files in either the 'preserve' or the 'destinationX' locations for the specific date, then it means that problem does not reside on the Publisher. Either the CDR records were not generated by the server that handled the call or it could mean that CDR Agent service on that server could not transfer flat files to the Publisher. Was the 'CDR Enabled Flag is enabled in CallManager service' enabled on that particular date ? Is the CDR Agent service running on the node that handled the call ?
    If you observe files in the 'preserve' directory for the specific date, try restarting the CDR Repository Manager service on the Publisher. If the file transfer to the billing server does not commence, then set the trace level for the CDR Repository Manager service to Debug, wait 10 minutes, download CDR Repository Manager logs via RTMT and engage Cisco-TAC for further troubleshooting.
    HTH
    Manish

  • How to download the database form the call manager 7 to excel?

    how to download the database from the call manager 7 to excel document?

    No, it never did - the "ask" for the DRS folks to provide unencryption capabilities for their TARs is still out there (several other BUs want this) but so far as I know there's been zero movement on it.  I've about given up hope on the DRS folks at this point - pretty clear this isn't a priority for them and I don't see much in the way of any kind of improvements on the product schedule for them at all, this included.
    As a side note I've been pushing the Connection product managers to give us off box file system access to limited directories via a proxy service and roles (i.e. similiar to the ODBC proxy but for SFTP access) - armed with this we can provide our own (far superior) disaster recovery tools that work on a pull model instead of the full push DRS is built on - this would get partial backups, individual restores, about 6x increase in performance (more actually - I have a prototype that is hovering right around 10x the speed of DRS end to end), smaller backups, requires less space and resources on the server etc... etc...  Fun stuff like doing a full backup on Sunday mornings and deltas every day of the week after that and another full backup Sunday etc... would be possible.  Imagine.
    I'll probably get more traction with that but it's a long road I'm afraid - as ever, asking your account team to enter a PERs helps - makes it more difficult for the product folks to delay on assigning engineering resources to such efforts.

  • Call Manager 4.1 web display problem

    Hi, does anyone know how to troubleshooting this kind problem?
    Call Manager 4.1 web interface does not display results for the Global Directory or Phone listing to add, delete or modify an acct. The screen does not response any key entry, but it displays well for other menu.
    Manay thanks!
    Steve

    Hi, try to restart the IIS Admin Service and World Wide Web Publishing Service from windows tool. Or you can select a partition for example and check its dependency records to find the ip phones and try to access to the phone configuration.
    Hope this help
    David

  • Is it possible to take the CDR data from a v4.2 Call Manager and copy it to a separate server where it would be made available for reporting?

    Is it possible to take the CDR data from a v4.2 Call Manager and copy it to a separate server where it would be made available for reporting? We are not interested in migrating the CDR data to v6 because of the concerns it introduces to the upgrade process. Is it possible to get the raw data and somehow serve it from a different machine? (knowing it would be 'old' data that stops as of a certain date). If so, what would be the complexity involved in doing so?
    It seems like the CDR data lives within MSSQL and the reporting interface is within the web server portion of the Call Manager... that's as far as we've dug so far.

    Hi
    It is absolutely possible to get the data - anyone you have in your org with basic SQL skills can move the data off to a standalone SQL server. This could be done most simply by backing up and restoring the DB using SQL Enterprise Manager.
    Moving the CAR/ART reporting tool would be more difficult... if you do actually use that for reporting (most people find it doesn't do what they need and don't use it for anything but basic troubleshooting, and get a third party package) then the best option may be to keep your publisher (possibly assigning it a new IP) and leave it running for as long as you need reporting.
    You would then need a new server to run your upgraded V6 CCM; you may find you need this anyway.
    Regards
    Aaron
    Please rate helpful posts...

  • Call Records from Call Manager

    I am trying to figure out how I can get call records from Call Manager. I can get CR form our PBX but cannot figure out the Call Manager... Any ideas?
    Thanks,
    Dennis

    Hello
    There are 2 ways to get call record.
    Cisco has a built-in CDR Report Analysis. This application is accessable from the CallManager
    Go to Application, Install Plugin, install the CDR Reporting and Analysis plugin in CallManager. Then go to Servicability and go to Tools then select CDR Analysis and Reporting
    Default login is admin/admin
    2nd method is via SQL Server where there is a databae call CDR . You can customize a ASP page to retrive the data you want from there
    enjoy

  • Functions Call manager express

    Hi,
    I have a contact center express with standard licenses and over call manager express.
    Can i can change the calls flow via web like in Call manager express CUE or is only for premium licenses?
    Do you know any link where i can find it?
    Thanks

    Hi Zamoranoco,
    You can change the call flows i.e.UCCX scripts by using the UCCX Editor. You need to install the Editor from UCCX Admin->Tools->Plugin page on the supported client platform.
    You can use the UCCX Admin user to login into this UCCX editor and make changes.
    Please refer the UCCX Scripting guides from the below link,
    http://www.cisco.com/en/US/products/sw/custcosw/ps1846/products_programming_reference_guides_list.html
    For supported UCCX Editor client platfrom refer the below link,
    http://www.cisco.com/en/US/docs/voice_ip_comm/cust_contact/contact_center/crs/express_compatibility/matrix/crscomtx.pdf
    Hope this helps.
    Anand
    Please rate helpful posts by clicking on the stars below the right answers !!

  • 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.'
                       

  • Error on Call Manager 7

    Hi all we have 2 Call Manager 7.1.2.31900-1 boxes. Recently we had a power outage and the servers were not shut down properly. One remaining issue we are having trouble resolving is this error below. It appears in the logs every 15 seconds or so. Any ideas on how to resolve it? I think it might be a corrupt file or file permissions but I can't access the real unix shell so how does one fix this sort of thing?
    Cisco CallManager: Not able to create Trace path /var/log/active/cm/trace/dbl/sdi/ccm/. Ensure that the path is valid and the application user has appropriate security settings for this path"
    Thanks much in advance

    Hi,
    It looks like a rebuild is needed. Please check the following
    https://tools.cisco.com/bugsearch/bug/CSCth53322/?reffering_site=dumpcr
    Symptom:
    1)System had a non-graceful shutdown.
    2)System is in a running state but part of the file system is corrupt causing certain features to fail.
    Conditions:
    Server goes down non-gracefully for any reason.
    A  non-graceful shutdown is any time the server is powered down by means  other than through the GUI or CLI command "utils system shutdown"
    Cisco recommends a UPS in the release notes already to avoid this.
    Workaround:
    Rebuild  the server if their is a non-graceful shutdown regardless if the  recovery disk was required. As any non-graceful shutdown can cause file  system corruption even if no symptoms are seen immediately.
    HTH
    Manish

  • Call Manager 3.3 Help

    I have a Cisco Call Manager 3.3 Server... I'm getting a 2600 Router with a WIC-1DSU-T1 card. Briefly tell me what else I need in terms of hardware in order to test Call Manager using Tapi programming tools, and connect to 2 dial up phone lines and my Cable Modem.
    I don't know what else I need and what connects to what.

    These documents can help you in more configurations. You might need a switch which support power over ethernet and QoS and some IP phones too.
    http://www.cisco.com/en/US/products/sw/voicesw/ps556/products_tech_note09186a008017825e.shtml
    You can find more document here
    http://www.cisco.com/pcgi-bin/Support/browse/psp_view.pl?p=Software:Cisco_Call_Manager&s=Implementation_and_Configuration

Maybe you are looking for

  • Adobe photoshop licensing for this product has expired, backup swatches and brushes.

    when i open adobe photoshop CS3 and flash CS3 a box appears saying " licensing for this product has expired. please reinstall or contact help" i have tried all the soutions and are at to "reinstalling" i dont have the disc or the code. all i am worri

  • On-line keynote platform

    Is anyone aware of an on-line teleconference provider that allows attendees to see a Keynote presentation in PLAY mode?  Go-to-meeting doesn't have program-specific options for the Mac so all they can see is the desktop - even when Keynote is in full

  • Captivate 5 on Windows - Round Trip text captions not working

    When I Export project captions to Word, edit the text captions in the Updated Text Caption Data column, save the Word document, then Import to Captivate, the edited captions do not change in Captivate. My changes to the Word document were indeed save

  • Battery failure just over 1 year

    My battery has failed after just over 1 year - Apple want to charge me £85 to replace.  Always charged with approved charger etc. Has anybody sucessfully got Apple to replace free of charge when it's just out of warantee? Anybody ever looked at EU Di

  • Rotate and move multiple objects

    Hiya! I'm looking for a way for the user to be able to freely move by clicking and dragging objects and also have the ability for the user to rotate that object once in place. Any ideas, dudes?