cancel
Showing results for 
Search instead for 
Did you mean: 

Error in program /CTSPLUG/CTS_ACTIVATION during support package upgrade

Former Member
0 Kudos

Dear All;

I am upgrading my solution manager 7.1 to support package 6 "SAPKITL706".

During the upgrade I get this dump:

============================================================================================================

Syntax error in program "/CTSPLUG/CL_CTS_PLUGIN_FUNC===CP ".

What happened?

Error in the ABAP Application Program

The current ABAP program "SAPLSPAM" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

The following syntax error occurred in program

"/CTSPLUG/CL_CTS_PLUGIN_FUNC===CP " in include

"/CTSPLUG/CL_CTS_PLUGIN_FUNC===CM002 " in

line 37:

"Field "IV_PROFILE" is unknown. It is neither in one of the specified t"

"ables nor defined by a "DATA" statement."

" "

" "

The include has been created and last changed by:

Created by: "SAP "

Last changed by: "SAP "

Error in the ABAP Application Program

The current ABAP program "SAPLSPAM" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

The following syntax error occurred in program

  "/CTSPLUG/CL_CTS_PLUGIN_FUNC===CP " in include

  "/CTSPLUG/CL_CTS_PLUGIN_FUNC===CM002 " in

line 37:

"Field "IV_PROFILE" is unknown. It is neither in one of the specified t"

"ables nor defined by a "DATA" statement."

" "

" "

The include has been created and last changed by:

Created by: "SAP "

Last changed by: "SAP "

Error in the ABAP Application Program

The current ABAP program "SAPLSPAM" had to be terminated because it has

come across a statement that unfortunately cannot be executed.

============================================================================================================

I checked in SCN and people suggested to run the program "/CTSPLUG/CTS_ACTIVATION" in SE38 which I did, but when I run it I get the same above dump.

A note to mention that I have CTS_PLUG release 200 SP-Level 0010 with the support package SAPK-20010INCTSPLUG.

I went to SAINT to see what plugins I may be missing, but I could not as the OCS is locked by the user I am using to do the upgrade in SPAM.

Any advice will be appreciated.

Best Regards

~Amal Aloun

Accepted Solutions (0)

Answers (1)

Answers (1)

Former Member
0 Kudos

Hello Amal,

Please find solution at note 1792850 - Installation of CTSPLUG dump: 'One of the plugins is missin'

BR,

K.

Former Member
0 Kudos

Dear Kamil;

I changed CTS Plugin in SE03 to modifiable as suggested in the note.

I tried to find the assigned correction with the note, but I could not find it. I will appreciate it if you can help me with the implementation of the note.

Note: I am using SPAM/SAINT with the upgarde.

Best Regards

~Amal Aloun

Former Member
0 Kudos

Hi Amal,

Did you try as described at note?


Users who perform the installation of CTSPLUG 200 SP04 with transaction SPAM/SAINT can continue by installing the assigned correction with SNOTE.

  • Set the system to non-modifiable again in SE03 as before
  • Continue in TA SPAM/SAINT by repeating the phase.

BR,

K.

Former Member
0 Kudos

Dear Kamil;

Sorry, I am new to note implementation. I checked the assigned correction with note 1792850, and I know that I have to replace the code:

-----------------------------------------------------------------------------------------------------------------------------------------------------

* lv_plugins_available = plugins_available(

* it_e071 = it_e071 " CTS: Table Type for E071

* ).

  lv_plugins_available = 'X'.

-----------------------------------------------------------------------------------------------------------------------------------------------------

with the code:

-----------------------------------------------------------------------------------------------------------------------------------------------------

lv_plugins_available = plugins_available(

      it_e071      = it_e071    " CTS: Table Type for E071

  ).

-----------------------------------------------------------------------------------------------------------------------------------------------------

I will appreciate it if you can help me in showing me how, and where to do the change on the code.

Best Regards

~Amal Aloun

Former Member
0 Kudos

Hello Aloun,

Please run se24 tocde paste /CTSPLUG/CL_CTS_PLUGIN_FUNC goto method tab and double click at CTS_SERVER_ACTIVATION_AI than change it according to correction instruction https://websmp230.sap-ag.de/sap(bD1wbCZjPTAwMQ==)/bc/bsp/spn/sno_corr/corr_inst_details.htm?_EVENT=C...

BR,

K.

Former Member
0 Kudos

Dear Kamil;

Thank you very much for the effort you are giving me, but I still have one issue with the same note:

I proceeded as you suggested to se24, and run /CTSPLUG/CL_CTS_PLUGIN_FUNC then went to the method tab and chose CTS_SERVER_ACTIVATION_AI

The code in this method doesnot include the code:

lv_plugins_available = plugins_available(

  it_e071 = it_e071 " CTS: Table Type for E071

  ).

Can suggest what shall I do.

Thank u in advance.

Best Regards

~Amal

Former Member
0 Kudos

Hello Amal,

I've check on SolMan 7.1 SP6 as I wrote before and found this:


lv_plugins_available = plugins_available(

  it_e071 = it_e071 " CTS: Table Type for E071

  ).

The level of SP's I've checked:

CTS_PLUG2000002
ST7100006SAPKITL706

Check SE80 tcode for inactive objects, upload more logs to investigate.

If you have option to recover DB before an upgrade than you be able to implement note using Snote.

BR,

K.

Former Member
0 Kudos

Dear Kamil;

The code I have is:

---------------------------------------------------------------------------------------------

*{   INSERT         SABK900040                                        1

*}   INSERT

method cts_server_activation_ai.

  data: ls_e071                 type e071,

        ls_e071k                type e071k,

        lv_plugins_available    type boolean,

        lv_is_delivery          type boolean,

        lv_boots_installed      type boolean value abap_false,

        lv_service_installed    type boolean value abap_false,

        lv_server_installed     type boolean value abap_false.

  data: ls_bootstrapper_plg     type cts_plugin_pool,

        ls_services_plg         type cts_plugin_pool,

        ls_server_plg           type cts_plugin_pool,

        lt_plugins              type ty_plugin_pool_entries,

        ls_plugin               type ty_plugin,

        lv_forced_activation    type flag.

  data: ls_message              type sprot_u.

  data: lv_information          type char200.

  data: lv_rc                   type char4.

*  Log the start of the method

  /ctsplug/logger=>log(

    i_type = /ctsplug/logger=>co_log_type_info

    i_information = 'CTS_SERVER_ACTIVATION_AI started'

  ).

*  Log the method input

  concatenate 'Input: tarclient' iv_tarclient 'is_upgrade:' iv_is_upgrade into lv_information separated by ' '.

  /ctsplug/logger=>log(

    i_type = /ctsplug/logger=>co_log_type_info

    i_information = lv_information

  ).

  /ctsplug/logger=>log(

    i_type = /ctsplug/logger=>co_log_type_info

    i_information = 'Start of table e071'

  ).

  loop at it_e071 into ls_e071.

    clear lv_information.

    lv_information = ls_e071.

    /ctsplug/logger=>log(

      i_type = /ctsplug/logger=>co_log_type_info

      i_information = lv_information

    ).

  endloop.

  /ctsplug/logger=>log(

    i_type = /ctsplug/logger=>co_log_type_info

    i_information = 'End of table e071, start of table e071k'

  ).

  loop at it_e071k into ls_e071k.

    clear lv_information.

    lv_information = ls_e071k.

    /ctsplug/logger=>log(

      i_type = /ctsplug/logger=>co_log_type_info

      i_information = lv_information

    ).

  endloop.

  /ctsplug/logger=>log(

    i_type = /ctsplug/logger=>co_log_type_info

    i_information = 'End of table e071k'

  ).

* Do the mandatory checks first

* is the transport that started this method a delivery transport (SAP Package) ?

  lv_is_delivery = check_if_delivery(

      it_e071      = it_e071    " CTS: Table Type for E071

  ).

  if lv_is_delivery <> 'X'.

    raise no_delivery_transport.

  endif.

*{   INSERT         SABK900040                                        2

*lv_plugins_available = 'X'.

*}   INSERT

*  initialize plugin import tools / tp interface

  if /ctsplug/cl_cts_plugin_func=>plugin_importer is initial.

    create object /ctsplug/cl_cts_plugin_func=>plugin_importer.

  endif.

* do the transport tools have all capabilities to activate CTSPLUG?

  if /ctsplug/cl_cts_plugin_func=>plugin_importer->check_r3trans( ) = ' ' or

     /ctsplug/cl_cts_plugin_func=>plugin_importer->check_tp( ) = ' '.

    raise tp_update_required.

  endif.

  evaluate_plugins(

    exporting

      i_t_e071 = it_e071

    receiving

      r_t_plugins = lt_plugins

    exceptions

      plugins_missing = 1 ).

  if  sy-subrc <> 0 or lt_plugins is initial.

    raise plugins_not_found.

  endif.

  lv_forced_activation = is_forced_activation( ).

  if iv_force_plg_import = ' ' and lv_forced_activation = ' '.

*   plugins that are already installed consistently should not be reinstalled,

*   therefore remove them from the list of plugins

    lt_plugins = remove_installed_plgns( i_plugins = lt_plugins ).

  endif.

* create the cofiles and add the requests to the buffer

  loop at lt_plugins into ls_plugin.

*   All checks passed -- prepare installation of server, client, and bootstrapper plugin now

    prepare_activation(

      exporting

        iv_plg_name = ls_plugin-plugin_id

        is_plg_pool_entry = ls_plugin

      exceptions

        permission_denied  = 1

        tp_call_failed     = 2

        others             = 6

    ).

    if sy-subrc <> 0.

*     some error occured during create_cofile or addtobuffer, exit

      raise prepare_activation_failed.

    endif.

  endloop.

* import the plugins

  activate(

    exporting

      it_plg_pool_entries = lt_plugins

    exceptions

      permission_denied   = 1

      tp_call_failed      = 2

      others              = 6

  ).

  if sy-subrc <> 0.

*   some error occured during import, log and exit

    raise activation_failed.

  endif.

  clean_buffer( ).

endmethod.

---------------------------------------------------------------------------------------

Please note that my SP level is 710 L0005

CTS_PLUG Release 200 L0010

Best Regards

~Amal

Former Member
0 Kudos

Hello Amal,

Please confirm if you checked below:

Check SE80 tcode for inactive objects, upload more logs to investigate.

If you have option to recover DB before an upgrade than you be able to implement note using Snote.

BR,

K.