Текущее время: Вс, авг 03 2025, 14:47

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ! Прежде чем задавать вопрос, ознакомьтесь со ссылками ниже:

Вопросы по отличиям версий SAP, Add-On, EHP - сюда
Вопросы по SAP Front End (SAPlogon, SAPgui, guiXT и т.д.) - сюда
Вопросы по LSMW - сюда
Вопросы по архивации в SAP - сюда
Вопросы по SAP GRC - сюда
Вопросы по SAP Business Workplace (почте SAP) и SAP Office - сюда
Вопросы по miniSAP (SAP mini basis) - сюда
Вопросы по SAP HANA - сюда
Вопросы по лицензированию продуктов SAP - сюда



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Solman 7.1
СообщениеДобавлено: Ср, окт 10 2012, 08:28 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
У кого есть нулевый (не upgraded) solman 7.1 SPS6 с накаченной мастер-нотой?

Запостите, плиз, код

cl_hf_helper=>is_tp_running( )


Заранее спасибо, Иван

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Ср, окт 10 2012, 08:34 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
это сюда же, походу

viewtopic.php?f=14&t=78620

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Чт, окт 11 2012, 10:36 
Менеджер
Менеджер

Зарегистрирован:
Вт, авг 17 2004, 11:44
Сообщения: 636
Пол: Мужской
Code:
METHOD is_tp_running.
*
* include LSTPACON.
  INCLUDE /tmwflow/transport_constants.

  DATA lv_system      TYPE tmssysnam.
  DATA lv_domain      TYPE tmsdomnam.
  DATA lv_smsy_domain TYPE smsy_tmsdom.
  DATA lv_flex_active TYPE flag.
  DATA lt_requests    TYPE /tmwflow/trordec_type.
  DATA lt_tpstats     TYPE tpstats.
  DATA ls_sap_system  TYPE smsy_system_sap.
  DATA lv_long_sid    TYPE sysysid.
  DATA lv_short_sid   TYPE sysysid.
  DATA ls_track       TYPE /tmwflow/ttrckec.
  DATA lt_sys         TYPE TABLE OF tmscsys.
  DATA ls_tp_logtabs  TYPE stms_tp_logtabs.
  DATA ls_tp_logtab   TYPE stms_tp_logtab.
  DATA ls_tpstat      TYPE tpstat.

  DATA lv_request_id  TYPE if_cts_transport_entity=>ty_id.
  DATA lt_coll_id     TYPE if_cts_transport_entity=>ty_ids.
  DATA ls_result      TYPE cl_cts_transport_factory=>ty_import_status.
  DATA lt_results     TYPE cl_cts_transport_factory=>ty_import_statuses.
  DATA lt_coll        TYPE if_cts_transport_collection=>ty_collections.

  DATA lo_request     TYPE REF TO if_cts_transport_request.
  DATA lo_coll        TYPE REF TO if_cts_transport_collection.
  DATA lo_system      TYPE REF TO if_cts_system.


  DATA lo_system_cluster TYPE REF TO if_cts_system_collection.

  FIELD-SYMBOLS:
    <fs_request>      TYPE /tmwflow/trordec,
    <fs_tpstat>       TYPE tpstat.

  APPEND LINES OF it_requests_imp  TO lt_requests.
  APPEND LINES OF it_requests_nimp TO lt_requests.
  SORT lt_requests BY trorder_number.
  DELETE ADJACENT DUPLICATES FROM lt_requests COMPARING trorder_number.

  "SMSY uses Long SID.
  lv_long_sid = iv_logical_system-sysname.
  CALL FUNCTION '/TMWFLOW/GET_SYSTEM_TMS_INFO'
    EXPORTING
      iv_sysname       = lv_long_sid
*     iv_refresh       = ' '
    IMPORTING
      es_tmsdom        = lv_smsy_domain
      ev_tms_syssid    = lv_short_sid
    EXCEPTIONS
      unknown_system   = 1
      get_tms_info_err = 2
      OTHERS           = 3.
  IF sy-subrc <> 0.
    ev_running = abap_true.
    RETURN.
  ENDIF.

  lv_system = lv_short_sid.
  lv_domain = lv_smsy_domain-tmsdomnam.

*--------------------------------------------------------------------*
*  Use different api for flex enabled or not enabled project
  lv_flex_active = /tmwflow/cl_transport_util=>is_change_man_flex_active(
    iv_project_id  = iv_solman_project ).
  IF lv_flex_active = abap_true.
    /tmwflow/cl_transport_util=>get_cluster_for_system(
        EXPORTING
          iv_system    = lv_system
          iv_client    = iv_logical_system-client
          iv_project   = iv_solman_project
          iv_role_type = ''
        RECEIVING
          rs_track   = ls_track ).

    TRY.
        lo_system = cl_cts_landscape_factory=>get_system(
          system_name = lv_system
          domain_name = lv_domain
          client      = iv_logical_system-client ).

        lo_system_cluster = cl_cts_landscape_factory=>get_system_collection(
            system_collection_name = ls_track-transp_cluster
            domain_name            = ls_track-transp_domain ).

        LOOP AT lt_requests ASSIGNING <fs_request>.
          lv_request_id = <fs_request>-trorder_number.
          lo_request ?= cl_cts_transport_factory=>get_transport_entity(
              id            = lv_request_id
              source_system = lo_system ).
          lt_coll = lo_request->get_collections( ).
          LOOP AT lt_coll INTO lo_coll.
            APPEND lo_coll->get_id( ) TO lt_coll_id.
          ENDLOOP.
        ENDLOOP.

        SORT lt_coll_id.
        DELETE ADJACENT DUPLICATES FROM lt_coll_id.

        lt_results = cl_cts_transport_factory=>get_import_status(
            entity_ids = lt_coll_id
            system     = lo_system_cluster ).
      CATCH cx_cts_exception.
        ev_running = abap_true.
        RETURN.
    ENDTRY.

    LOOP AT lt_results INTO ls_result
      WHERE status = cl_cts_transport_factory=>co_imp_status_import_running.
      ev_running = abap_true.
      RETURN.
    ENDLOOP.

    RETURN.
  ENDIF.

  CHECK lv_flex_active = abap_false.
*--------------------------------------------------------------------*
* only if domain link is configured, we can get TP status in TMS API.
* otherwise we do not check TP status and assume TP is running.
*
* we could enhance it when we have developed Remote API in managed
* system to judge TP status.
*--------------------------------------------------------------------*

* get TPSTAT entries, embed logic from 'TMS_IMU_FILTER_TPSTAT'
  CALL FUNCTION 'TMS_MGR_READ_TP_LOGTAB'
    EXPORTING
      iv_system      = lv_system
      iv_domain      = lv_domain
      iv_read_tpstat = gc_x
      iv_monitor     = space
      iv_verbose     = space
    IMPORTING
      es_tp_logtabs  = ls_tp_logtabs
    EXCEPTIONS
      OTHERS         = 99.
  IF sy-subrc <> 0.
    ev_running = abap_true.
    RETURN. " no check of TP status.
  ENDIF.

  LOOP AT ls_tp_logtabs INTO ls_tp_logtab.
    LOOP AT ls_tp_logtab-tpstat INTO ls_tpstat.
*filter from export commands
      CHECK ls_tpstat-command(1)   <> 'E' AND
            ls_tpstat-command+2(1) <> 'E'.
      APPEND ls_tpstat TO lt_tpstats.
    ENDLOOP.
  ENDLOOP.

  DELETE lt_tpstats WHERE command <> 'IMPORT'.
  SORT lt_tpstats BY trkorr tarcli.

  LOOP AT lt_requests ASSIGNING <fs_request>
    WHERE status <> gc_import_finished OR
          status <> gc_import_warning.

*   there can be more than one entry
    LOOP AT lt_tpstats TRANSPORTING NO FIELDS
      WHERE trkorr = <fs_request>-trorder_number
        AND ( tarcli = iv_logical_system-client OR
              tarcli IS INITIAL ) "for 46C system we cannot get the client info
        AND ( status = 'N' OR     "gc_tp_stat_new or
              status = 'R' ).     "gc_tp_stat_running ).

      ev_running = abap_true.
      RETURN.     "one is enough!

    ENDLOOP.

  ENDLOOP.

ENDMETHOD.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Чт, окт 11 2012, 10:56 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
благодарствую!

А можно тогда сюда же код

cl_cts_transport_factory=>get_transport_entity вместе с интерфейсом метода и версией?

Заранее спасибо, Иван.

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Чт, окт 11 2012, 14:27 
Менеджер
Менеджер

Зарегистрирован:
Вт, авг 17 2004, 11:44
Сообщения: 636
Пол: Мужской
Code:
  method get_transport_entity.

* load existing transport entity

    data: buffer_entry type ty_buffer_entry,
          lid like id,
          data_source_system type ref to if_cts_system.

    lid = id.
    translate lid to upper case.

* in buffer?
    read table buffer with table key id = lid into buffer_entry.
    if buffer_entry is not initial.
      if force_reload = abap_true.
        delete table buffer with table key id = lid.
      else.
        entity = buffer_entry-ref.
        return.
      endif.
    endif.

    if force_request <> abap_true.
* load collection
      try.
          entity = cl_cts_tr_coll_dec_process=>new( cl_cts_transport_collection=>load_collection( lid ) ).
          if entity is bound.
            buffer_entry-ref = entity.
            buffer_entry-id = lid.
            append buffer_entry to buffer.
          endif.
          return.
        catch cx_cts_transport_entity.
          " nothing todo here - loading the request will happen bellow
      endtry.
    endif.

* any information for data source system?
    data_source_system = read_data_source_system( id ).
    if data_source_system is not bound.
      if source_system is bound and source_system->get_name( ) = id(3).
        clear data_source_system.
      else.
        data_source_system = source_system.
      endif.
    endif.

* load request
    try.
        if data_source_system is bound or force_read_only = abap_true.
          entity = cl_cts_transport_request_ro=>load_ro( id = lid
                                                         collection = collection
                                                         source_system = data_source_system ).
        else.
          entity = cl_cts_transport_request=>load( id = lid
                                                   collection = collection ).
        endif.
        if entity is bound.
          buffer_entry-ref = entity.
          buffer_entry-id = lid.
          append buffer_entry to buffer.
        endif.
        return.
      catch cx_cts_transport_entity.
        raise exception type cx_cts_transport_entity
          exporting
            textid     = cx_cts_transport_entity=>unknown_entity
            request_id = lid.
    endtry.

  endmethod.                    "get_transport_entity


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Пт, окт 12 2012, 06:42 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
Большое спасибо qdublin за помощь.

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Пт, окт 19 2012, 12:46 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
В общем,

Есть одна тонкость, связанная с установкой SPS6 через SUM или во время апгрейда посредством SOLMANUP:
При этом устанавливается CTS_PLUGIN, который необходимо впоследствии активировать отчетом /CTSPLUG/CTS_ACTIVATION, иначе в некоторых классах ST возникают ошибки синтаксиса. Отчет осуществляет дополнительный импорт и постобработку.
Во время апгрейда активацию, видимо, нужно запускать после импорта аддонов из теневой инстанции, поскольку нужные для активации датафайлы в этом случае генерируются не в стандартной транспортной директории, а в каталоге апгрейда.

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Пт, окт 19 2012, 14:25 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, сен 07 2007, 15:58
Сообщения: 295
Откуда: UA
Пол: Мужской
Именно об этом и написано в п.6 ноты Note 1665940 - Installing/Updating SAP CTS Plug-In 2.0


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Solman 7.1
СообщениеДобавлено: Пт, окт 19 2012, 14:52 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 12 2008, 07:40
Сообщения: 196
Откуда: Екатеринбург
Пол: Мужской
Там написано именно о том, что его надо активировать.
Почему отчет падает в дамп message_type_x после установки аддона во время апгрейда, а также о том, как достать датафайлы, нужные для этого отчета, нигде нет ни слова.

_________________
ай, каррамба


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Google [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB