MSMP version - Transport

Hi All,
We have a situation where one client has already connected to GRC system to one system and configured workflows.
Now we are connecting GRC system to another 3 systems and configuring workflows.
Their configuration is completed. They have their MSMP version created with all their configurations. Now i have added few entries in the initiatoras required for newly connected systems and setup workflows required and created new MSMP version and added it to the transport request.
Does the new version I added to transport request contains only the updated entries by me or all the data.
My query is, If i transport my changes to from DEV to STG, only changes done by me will be transported to STG or all the data including things done by other client also will be in my transport request?
I assume that new version will have all the data including updated things as well as old things. So I assume that all data will be transported to next landscape.
I assume this would be the same case with BRF+ initiator i modified.
Is my understanding correct?
We are in a situation where, If other client has some more changes to be done and they come into DEV environment and made some changes and only their data needs to be moved to PRD without the changes added by us. Is this possible?
We are confused about transport requests concerning  BRF+ and MSMP workflows
Someone please advise on how to handle our situation.
BR,
Sai.

HI Sai
Have you tried putting the version into a transport and then go to SE01 to have a look at the contents. You know if the transport is the entire scope or just you changes (e.g. if table with asterisk is mentioned then it is being completely transport)
Assuming all MSMP changes originate from DEV and proper change control is in place you should ot have an issue on transporting someone elses - unless you mean that two people are maintaining MSMP at the same time and one person is not yet ready to release their change. The "unless" would depend on looking at the transport contents (possible, it limits to the Process Id and related configuration).
For BRF+, as this generates an SE37 function module, I would assume that the entire function is transport. Again you would need to look at the transport content. You would also search bpm community.
Regards
Colleen

Similar Messages

  • MSMP version

    Hello experts,
    I have a test GRC system, that all my colleagues come there and make configurations...
    Now after 1 year, many configurations are there and they cause error while i'm trying to generate new version of MSMP workflow.
    So is there anyway for me to reset/clean the version of MSMP workflow(Access request), or can we reactivate the BC Set to overwrite all the configurations ?
    Thanks in advance and best regards.

    Dear Toan,
    you have following possibilities to manually recreate the configuration:
    - Do manual copy of MSMP Workflow Configuration to your target system using transaction GRFNMW_CONFIGURE_WD in target system
    - In source system you can use transaction GRFNMW_CONFIGURE - expert mode maintenance view based configuration of MSMP Workflow - to visit and save  relevant parts of MSMP configuration to NEW transport request. The transport keys generated by GRFNMW_CONFIGURE are correct. You have to visit every referenced part of your process configuration and save it to the NEW request. Releasing transport request with transport keys generated by transaction GRFNMW_CONFIGURE won't cause any other issues (unless you violate any other limitations - i.e. if you try to modify SAP namespace entries of some configuration tables - aka. E-tables)
    Please be aware that the transaction GRFNMW_CONFIGURE is expert mode only transaction and does not have lot of validation checks implemented (opposite to transaction GRFNMW_CONFIGURE_WD which should be primarily used when maintaining MSMP Workflow configuration). Thus using GRFNMW_CONFIGURE to maintain MSMP Approval Workflow configuration requires deep expert knowledge.
    This transaction (GRFNMW_CONFIGURE) also allows deleting/modification of SAP-namespace pre-delivered entries which will cause MSMP Workflow to stop functionig properly. In such case fall back solution is to re-activate pre-delivered BC set GRC_MSMP_CONFIGURATION (transaction scpr20, expert mode activation) - this will overwrite MSMP configuration to it's post-delivery state. In some rare cases you can still have problems even after reactivating the BC set. In that case you have to compare the BC set values/entries with real content of the configuration DB tables included in this BC set. If you experience any extra entries in the DB table(s) which are not part of the BC set, you will have to delete them (i.e. programatically).
    Hope this helps.
    Regards,
    Alessandro

  • Are Financial Statement Versions Transportable?

    Hi All,
    I was wondering if financial statement versions can be transported from one client to another, and if so, how this can be done.
    Any response will be greatly appreciated!
    Thanks!!
    - Deki

    Hi..
    You can copy the FSV(any config setting) from client to other using T.code SCC1.
    Use SCC1 in the target Client. All that you need is the request number for the config of the FSV generated in the source client.
    FSV can also be transported from one server to the other.
    Please assign points if useful
    Regards
    Aravind

  • Transport products and software component version

    Hi,
    I created a Products and its Software Component Version in System Landscape Directory of XI development.
    I imported this Software Component Version into Integration Builder and developed design and configuration objects.
    The scenario is completed and now I want to transport the Products and Software Component Version to XI Production.
    Could someone please explain the transport procedure.

    Hi Shravan,
    Thanks four your instructions. I would like to have more details on the export/import procedure. Please confirm the following steps are correct:
    From SLD of XI development:
    1/ Edit new product and its software component version.
    2/ Click on icon Export: XI generates a zip file and downloads it in c drive.
    From SLD of XI Production:
    1/ Select Import utility under system catalog.
    2/ Browse and select the zip file
    In XI production there are existing third party products, and I do not want the transport of this new product causes any problem.
    Design and configuration objects will be exported/import ed after the successful transport of product and software component version transport. 
    Regards,
    Daniel

  • ECC6.0 - upgrade from EHP4 to EHP6 - cross release transports.

    Hi Experts
    We are planning to upgrade our system from ECC6.0 -EHP4 to EHP6.
    Source - ECC6.0-EHP4
    Target - ECC6.0-EHP6(Enhancement pack6)
    Current ECC version -
    SAP_BASIS 701 0014 SAPKB70114 SAP Basis Component
    SAP_APPL 604 0013 SAPKH60413 Logistics and Accounting
    We would like to know during the project if we can do a transport
    between upgraded development ECC6.0 -EHP6 to non upgrade production ECC6.0-EHP4.
    We have data from note 1090842 and 1273566.
    But last 10 lines of note 1090842 are contradictory wherein on one side it says you can do transports between Releases 7.0*, 7.3* and 7.4* and
    on other it says it can be problem if support pack levels are different on same release.(if problem can happen on same release with different pack
    level then there are greater chances of issues between different releases).Note 1273566 is clear and suggest no issues exist yet for
    technical and logical transports between suggested version 700/701 to >=702
    Also below is the extract from SUM guide - (SUM-1.0-SP07)
    RECOMMENDATION
    We strongly recommend that you perform transports only between systems of the same release or enhancement package level, and where the same business functions are activated. If you do not follow this recommendation, you do so at your own risk regarding potential problems.
    Please suggest if we need to create Dual maintainance parallel landscape during the tenure of project where two development system co-exist.One
    with current and one with upgraded version and changes need to be done on both in parallel.Support fixes and LTO’s go from non upgraded dev to non upgraded prod.
    Thanks

    Hello
    I won't perform cross version transport even if it can be possible.
    As of 7.02 cross version transport are prevented by default with option SP_TRANS_SYNC (see here under note).
    The best way is, if possible, to have a manual dual maintenance. All corrections created in the Ehp4 dev should be manually recreated in the Ehp6 dev.
    What is usually done is to upgrade at first a copy of production for test/discovery purpose, the aim is to identify most of the regressions/evolutions. This will reduce the time you will have to spend in the migrated dev to adjust your system. You then migrate dev and enter in a freeze period where you reduce activity on legacy Ehp4 system to the minimum (bug correction for prod).
    One good thing with the manual reprocessing of changes on the Ehp6 system is that this kind of constraint will help consultants to reduce their activity.
    Regards
    1742547 - Information about component version check in TMS

  • How to transport package from 4.6c to ECC6.0! Please help

    Hello everyone:
            I have a development class ZXXX in 4.6c and I need to transport it to new system running with ECC6.0? There are several programs attched to ZXXX package/DevClass and I cannot modify any of them in new system with ECC6.0 because it gives me an error "Package ZXXX does not exist"!
    Is development class from old version transportable to package in new version?
    Can I just create a new package ZXXX in new version or do I have to do anything extra if I create a new package?
    What is the best way to solve this problem?
    I would really appreciate your feedback and all the answers will be rewarded.

    Hello Mithun
    You should transport the report AND the package together.
    On your 4.6c system go to transaction SE80, right-click on the package and chose <i>Create Transport Request Entry</i>. Put the package into the transport request. Next add all reports (and other objects of the package that are referenced by your reports) into the request.
    If possible create a transport request of the following type:
    Relocation of objects w/o package change
    Import the request into your ECC 6.0 system. If you cannot use a relocation transport request go to transaction SE03 and choose function:
    Change Object Directory Entries of Objects in Request
    Change the source system of your objects (previously 4.6c system) to the current ECC 6.0 system.
    Finally, it is likely that you have to change the <b>transport layer</b> of the package to the new value used on your ECC 6.0 system.
    Change the transport layer of your package and throw the resulting transport request away.
    Regards
      Uwe

  • Compare the versions of a Report Tree

    Hi All,
    How to compare the 2 versions of the same Report Tree in the same client? I have a Report Tree and I need to identify the changes made in each versions (Transports).
    Is there any Program/Function Module that servers the purpose.
    Regards,
    Kriththika

    Hi,
    Open the program in SE38.
    Goto menu Utilities->Versions->Version Management.
    There select the two version you want compare and click on the Difference Button on the application toolbar(Second button).
    Regards,
    Sesh

  • Copy data models and reports from BW 3.1 to NW 2004s

    Hi experts,
    Our client has two BW servers: BW 3.1 and BI 7. BW 3.1 contains lots of data models and reports. And the BI 7 server is newly installed.
    Now we want to copy these data models and reports from BW 3.1 to the new BI 7 server. Are there any solutions for this?
    Thank you very much in advance.

    Hi Frank,
    Sounds like a cross version transport is needed.
    This is a solution we have used to do what you want to do:-
    Create and release a transport as per normal.
    Copy and transport the files from the source system (BW 3.1) e.g /usr/sap/trans/data & /usr/sap/trans/cofiles to the same folders on the target system.
    Basis help is needed here.
    From here onwards using stms_import should help you in the normal manner.
    Works a treat.
    Have transported the following all correctly appearing as 3.x data models in NW2004s.
    DSO objects.
    Cubes
    Transfer/Update rules
    Reports.
    Cheers,
    Pom

  • How to keep short dumps for a longer time

    Hi All,
    I need to write a program to fetch all the below mentioned fields from the system dump tables and insert into a user defind table. Please help me with the code. Thanks in advance....
    PROBLEM DESCRIPTION
    ABAP runtime errors (also known as short-dumps) are kept in the system only for two days, mainly because every short-dump can use a lot of disk space depending on short-dump type. Problem is that this reduced time frame (two days) is not allowing us to focus in solve the more frequent ones and we do not have any statistic about:
        how many are we getting
        how often
        repetitive ones
    PROPOSED SOLUTION
    We need a program to be executed in a daily job right after midnight which will take the basic information of all today’s short-dumps and store it in a custom table.
    Information to be kept:
          DATE
          TIME
          HOST
          USER
          SYSTEM
          CLIENT
          ERROR ID
          TRANSACTION
          PROGRAM NAME
          PROGRAM NAME VERSION (TRANSPORT REQUEST NUMBER)
          PROGRAM NAME VERSION TIMESTAMP (transported to PPx)
          SCREEN
          SCREEN LINE
          MAIN PROGRAM NAME
          MAIN PROGRAM NAME VERSION (TRANSPORT REQUEST NUMBER)
          MAIN PROGRAM NAME VERSION TIMESTAMP (transported to PPx)
          PROGRAM LINE NUMBER AT TERMINATION
          SAP RELEASE
          SAP KERNEL
          PATCH LEVEL
          DATABASE VERSION
    The program must have archiving capabilities implemented. In the month end run it will also perform the table house-keeping accordingly with a parameter like this:
         ERROR-ID
         MONTHS TO KEEP
    We need to have the possibility of defining different retention periods for different kind of errors, for example our friend GETWA_TOO_MANY_SEGMENT could be stored for a year and a simple CONVT_NO_NUMBER only for a month. One of the parameters should be the default one, something like 
            ERROR-ID **************
            MONTHS TO KEEP 01.

    Aruna,
    Following may be the action points for your requirements.
    1. Create Custom table with all fields you required.
    2. Create ABAP program to extract the data from SAP standard table where runtime error information is stored.
    Like: select * from snap_beg into wa_snap_beg
              where seqno = '000'
              and   datum in s_datum
              and   uzeit in s_uzeit
              and   ahost in s_ahost
              and   uname in s_uname
              and   mandt in s_mandt.......
    So SNAP_BEG is a table where you can find dump information.
    After extracting the data from this table insert it into a Custom table which you have created in Step 1.
    Use INSERT statement for this.
    3. Create transaction for this report.
    4. Schedule this program every day so that you will get all data into custom table.
    I hope this will help you.
    Regards,
    Amey

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

  • Source Code Control for Java development in 6.20

    I am new to Java development. How do you control source code (versioning/transport) for Java development with the base R/3 is 6.20. I believe Java Development Infrastructure (JDI) is only available in 6.40. Is this the correct statement? Anyone that has work on 6.40 with Java can explain?
    Let say we have this setup:
    Applications are in 6.20
    Portal will be EP 6.0
    Do we need Web AS 6.40 to develop Java for Portal with base R/3 of 6.20. Or we can use Developer Studio to create Java accessing R/3 6.20 and display in Portal 6.0. If this is the case, how do you manage transport is you are not using JDI in 6.40.

    Hi Nablan,
    I believe you are development J2EE applications. JDI only runs with WebAS 6.40 which supports J2EE spec. 1.3. The developed J2EE archive will not be able to deploy to WebAS 6.20 which only supports J2EE 1.2 spec. So if you want to deploy the created software build from JDI and deploy it to WebAS 6.20, then the answer is unfortunately no.
    But, if you just want the Portal be able to display your application in an iView inside, then maybe you can just develop and deploy your application to the WebAS 6.40 system. Then create an iView in your EP to point to the app in the 6.40 system. That way your app will not need to deploy to WebAS 6.20.
    Regards,
    Marc

  • CDB upgrade

    Hi,
    I am upgrading CRM 4.0 Server directly to CRM 7.0
    Will it also upgrade CDB database or else I need to do it manually.
    Please clarify.
    Regards,
    Srinivas Reddy

    Hi Srinivas,
    Upto my knowledge, the CDB has to be upgraded manually after the successful upgrade of the CRM system using the UPGRADE transaction.
    Some of the Pre-requisites are :
    Taken a back up of the earlier version SAP CRM  system
    Upgraded the CRM server from Old Version TO New Version
    Transported Customizing
    Applied all relevant SAP notes
    Downloaded additional customizing data from new version of CRM Enterprise to the CDB
    Note 790363 and apply all CDB upgrade-relevant notes mentioned in it
    Note 632700 to confirm that the mobile bridges are active
    Path for the Upgarde : CRM 4.0 To CRM 7.0 is as follows :
            CRM 4.0 To CRM 5.0
            CRM 5.0 To CRM 7.0
    Migration Procedure :
    Start the UPGRADE transaction in CRM
    Choose the relevant path and click Execute.
    Execute provided Upgrade Reports
    Perform a Segment-wise Download
    Execute Conntrans on upgraded mobile clients to transfer the CDB data

  • Where to configure Org Publisher in IMG?

    Hi All,
    I need to know the basics of org publisher, what is it? how is it used and most important thing how and where to configure org publisher in IMG?If anybody has any material and links please pass it on.Any kind of help is appreciated. Thankyou.

    Hi,
    OrgPublisher integrates easily with SAP.  When you install the SAP version, transports are provided that you can install in your SAP server (4.7, 5.0, 6.0 and 7.0).  A fully functional trial is available for download and good for 30 days 10,000 objects. A getting started guide, an installation guide and functional guide come with the installation. Once the transports are installed, there are two main transactions you can execute.  The transactions are:
    /n/ehr/sol71_orgpub = extracts data from SAP based on a collection of instructions called an output format. 
    /n/ehr/sol71_img = various functions, including powerful wizards that let you map fields and set filters
    The interface comes with predefined output formats.  You can copy an existing format and modify the copy to extract the desired fields you wish to display in the org chart using the wizard for Output Formats.  The field mapping contains a large number of fields and the Wizard for Additional Fields can map other fields that may not be listed in the Output Format wizard.  Table configuration is also possible for further customization.
    Once the data is extracted, you format the org chart using the OrgPublisher application and publish it as a web based solution for end users or as needed by your company.
    Let me know if you need any additional info.
    Mike

  • Error while transporting function grp from lower version to higher version

    Dear Experts,
      While transporting the function group and function modules from system A to system B, I am getting the below error
    "Program SAPLZATSCSNG_EINB, Include LEINBF10: Syntax error in line 000068
    Field 'GF_ETS_MODIFIED' is unknown. It is neitherin one of the specified tables nor defined by a 'D"
    System A is a lower version SAP system and system B is a higher version. I compared the code of Include LEINBF10 in both the systems and there is a data declaration of field GF_ETS_MODIFIED in system B. But this is missing in system A.
    Please guide me for this issue.
    Thanks in advance.

    Thankyou for your reply Rob.
    Actually I am transporting the function group and modules from my development system to the client development system.
    I dont have any other option but transport the files.
    Is there any possibility to modify the include without applying a patch or upgrading my system?
    Edited by: ShwetaD on Apr 15, 2010 10:24 PM

  • Error while Releasing a transport request - DSO 0SD_O03: Active version

    Hi all,
    I am getting below error when I am trying to release a transport request.
    Object ODSO 0SD_O03: Active version differs from modified version.
    I activated DSO again,but I was not successful to correct the error.Please help me correcting this error.
    Regards,
    Bob

    check
    match and copy while installing the business content
    Match (X) or Copy
    If the SAP delivery version and the active version can be matched, a checkbox is displayed in this column.With the most important object types, the active version and the SAP delivery version can be matched.
    When a match is performed, particular properties of the object are compared in the A version and the D version. First it has to be decided whether these properties can be matched automatically or whether this has to be done manually.
    A match can be performed automatically for properties if you can be sure that the object is to be used in the same way as before it was transferred from Business Content.
    When performing matches manually you have to decide whether the characteristics of a property from the active version are to be retained, or whether the characteristics are to be transferred from the delivery version.
    The Match indicator is set as default in order to prevent the customer version being unintentionally overwritten. If the Content of the SAP delivery version is to be matched to the active version, you have to set the Installindicator separately.
    The active version is overwritten with the delivery version if
     the match indicator is not set and
     the install indicator is set.
    check following thread
    http://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/102906a4-f13d-2e10-7199-ce316ff254b8?QuickLink=index&overridelayout=true
    Thanks and regards
    Kiran

Maybe you are looking for

  • Performance issue when inserting into spatial indexed table with JDBC

    We have a table named 'feature' which has a "sdo_geometry" column, and we created spatial index on that column, CREATE TABLE feature ( id number, desc varchar, oshape sdo_gemotry) CREATE INDEX feature_sp_idx ON feature(oshape) INDEXTYPE IS MDSYS.SPAT

  • Procedure that just won't work (newbie)

    CREATE OR REPLACE PROCEDURE NODB_LOAD AS -------------Declare neede variables--------- t_schedule_number; t_month; t_year; prev_schedule_number; differencetable = Dt; rowcount = 0; DECLARE TYPE nodb_cur IS REF CURSOR RETURN joltsdata%ROWTYPE BEGIN OP

  • Export as TIF option?

    Hello all I'm using BR CS6 and need to export 1000s of processed images in their native TIF format - no changes to the size at all. After adjusting them in Camera Raw I end up reopening them in CR in order to use the 'save images' feature where I can

  • How BITMAP INDEX SINGLE VALUE returns rows ?

    Hi guys, here is piece from serial execution plan (display_cursor) | Id  | Operation                                        | Name                         | Starts | E-Rows | A-Rows | |  48 |                  PARTITION LIST ALL              |        

  • Mac Book Pro slow after downloading Yosemite

    Downloaded Yosemite now computer is too slow. Barely able to use it but i ran an Etrecheck test and here are the results. Problem description: every EtreCheck version: 2.1.3 (106) Report generated December 15, 2014 at 8:24:59 PM PST Hardware Informat