Текущее время: Пн, июл 28 2025, 14:55

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 14:16 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
добрый день.
ковырялся в BAPI BAPI_ROUTING_CREATE.
исходник выглядел так (начало):
Code:
FUNCTION bapi_routing_create.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(TESTRUN) TYPE  BAPIFLAG DEFAULT SPACE
*"     VALUE(PROFILE) LIKE  BAPI1012_CONTROL_DATA-PROFILE OPTIONAL
*"     VALUE(BOMUSAGE) LIKE  BAPI1012_CONTROL_DATA-BOM_USAGE OPTIONAL
*"     VALUE(APPLICATION) LIKE  BAPI1012_CONTROL_DATA-APPLICATION
*"       OPTIONAL
*"  EXPORTING
*"     VALUE(GROUP) TYPE  BAPI1012_TSK_C-TASK_LIST_GROUP
*"     VALUE(GROUPCOUNTER) TYPE  BAPI1012_TSK_C-GROUP_COUNTER
*"  TABLES
*"      TASK STRUCTURE  BAPI1012_TSK_C
*"      MATERIALTASKALLOCATION STRUCTURE  BAPI1012_MTK_C OPTIONAL
*"      SEQUENCE STRUCTURE  BAPI1012_SEQ_C OPTIONAL
*"      OPERATION STRUCTURE  BAPI1012_OPR_C OPTIONAL
*"      SUBOPERATION STRUCTURE  BAPI1012_SUB_OPR_C OPTIONAL
*"      REFERENCEOPERATION STRUCTURE  BAPI1012_REF_OPR_C OPTIONAL
*"      WORKCENTERREFERENCE STRUCTURE  BAPI1012_WC_REF_OPR_C OPTIONAL
*"      COMPONENTALLOCATION STRUCTURE  BAPI1012_COM_C OPTIONAL
*"      PRODUCTIONRESOURCE STRUCTURE  BAPI1012_PRT_C OPTIONAL
*"      INSPCHARACTERISTIC STRUCTURE  BAPI1012_CHA_C OPTIONAL
*"      TEXTALLOCATION STRUCTURE  BAPI1012_TXT_HDR_C OPTIONAL
*"      TEXT STRUCTURE  BAPI1012_TXT_C OPTIONAL
*"      RETURN STRUCTURE  BAPIRET2 OPTIONAL
*"----------------------------------------------------------------------
ENHANCEMENT-POINT BAPI_ROUTING_CREATE_G8 SPOTS ES_SAPLCPCC_BUS1012 STATIC.
*$*$-Start: BAPI_ROUTING_CREATE_G8--------------------------------------------------------------$*$*
ENHANCEMENT 4  MGV_GENERATED_SAPLCPCC_BUS1012.    "active version
DATA: T_MGV_FNAMES1 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
DATA: T_MGV_FNAMES2 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
DATA: T_MGV_FNAMES3 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
ENDENHANCEMENT.
*$*$-End:   BAPI_ROUTING_CREATE_G8--------------------------------------------------------------$*$*

ENHANCEMENT-POINT BAPI_ROUTING_CREATE_G6 SPOTS ES_SAPLCPCC_BUS1012.
*$*$-Start: BAPI_ROUTING_CREATE_G6--------------------------------------------------------------$*$*
ENHANCEMENT 2  MGV_GENERATED_SAPLCPCC_BUS1012.    "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
*Do not change coding between begin and end comments. ANI 20050119
T_MGV_FNAMES1-INT = 'MATERIAL'.
T_MGV_FNAMES1-EXT = 'MATERIAL_EXTERNAL'.
T_MGV_FNAMES1-VERS = 'MATERIAL_VERSION'.
T_MGV_FNAMES1-GUID = 'MATERIAL_GUID'.
APPEND T_MGV_FNAMES1.
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
  INT_TO_EXTERNAL = ' '
TABLES
  T_FNAMES = T_MGV_FNAMES1
  T_MATNR  = COMPONENTALLOCATION
  .
T_MGV_FNAMES2-INT = 'MATERIAL'.
T_MGV_FNAMES2-EXT = 'MATERIAL_EXTERNAL'.
T_MGV_FNAMES2-VERS = 'MATERIAL_VERSION'.
T_MGV_FNAMES2-GUID = 'MATERIAL_GUID'.
APPEND T_MGV_FNAMES2.
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
  INT_TO_EXTERNAL = ' '
TABLES
  T_FNAMES = T_MGV_FNAMES2
  T_MATNR  = MATERIALTASKALLOCATION
  .
T_MGV_FNAMES3-INT = 'MATERIAL'.
T_MGV_FNAMES3-EXT = 'MATERIAL_EXTERNAL'.
T_MGV_FNAMES3-VERS = 'MATERIAL_VERSION'.
T_MGV_FNAMES3-GUID = 'MATERIAL_GUID'.
APPEND T_MGV_FNAMES3.
CALL FUNCTION 'MATNR_BAPI_TABLES_CONVERSION'
EXPORTING
  INT_TO_EXTERNAL = ' '
TABLES
  T_FNAMES = T_MGV_FNAMES3
  T_MATNR  = PRODUCTIONRESOURCE
  .
*{BAPI End} generation
ENDENHANCEMENT.


как то случайно удалил стандартную реализацию расширений и стало так:
Code:
function bapi_routing_create.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*"  IMPORTING
*"     VALUE(TESTRUN) TYPE  BAPIFLAG DEFAULT SPACE
*"     VALUE(PROFILE) LIKE  BAPI1012_CONTROL_DATA-PROFILE OPTIONAL
*"     VALUE(BOMUSAGE) LIKE  BAPI1012_CONTROL_DATA-BOM_USAGE OPTIONAL
*"     VALUE(APPLICATION) LIKE  BAPI1012_CONTROL_DATA-APPLICATION
*"       OPTIONAL
*"  EXPORTING
*"     VALUE(GROUP) TYPE  BAPI1012_TSK_C-TASK_LIST_GROUP
*"     VALUE(GROUPCOUNTER) TYPE  BAPI1012_TSK_C-GROUP_COUNTER
*"  TABLES
*"      TASK STRUCTURE  BAPI1012_TSK_C
*"      MATERIALTASKALLOCATION STRUCTURE  BAPI1012_MTK_C OPTIONAL
*"      SEQUENCE STRUCTURE  BAPI1012_SEQ_C OPTIONAL
*"      OPERATION STRUCTURE  BAPI1012_OPR_C OPTIONAL
*"      SUBOPERATION STRUCTURE  BAPI1012_SUB_OPR_C OPTIONAL
*"      REFERENCEOPERATION STRUCTURE  BAPI1012_REF_OPR_C OPTIONAL
*"      WORKCENTERREFERENCE STRUCTURE  BAPI1012_WC_REF_OPR_C OPTIONAL
*"      COMPONENTALLOCATION STRUCTURE  BAPI1012_COM_C OPTIONAL
*"      PRODUCTIONRESOURCE STRUCTURE  BAPI1012_PRT_C OPTIONAL
*"      INSPCHARACTERISTIC STRUCTURE  BAPI1012_CHA_C OPTIONAL
*"      TEXTALLOCATION STRUCTURE  BAPI1012_TXT_HDR_C OPTIONAL
*"      TEXT STRUCTURE  BAPI1012_TXT_C OPTIONAL
*"      RETURN STRUCTURE  BAPIRET2 OPTIONAL
*"----------------------------------------------------------------------
enhancement-point bapi_routing_create_g8 spots es_saplcpcc_bus1012 static.

enhancement-point bapi_routing_create_g6 spots es_saplcpcc_bus1012.


как вернуть обратно?)
спасибо


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 14:24 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Случайно это как? В запрос не просилось?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 14:26 
Младший специалист
Младший специалист

Зарегистрирован:
Сб, сен 13 2008, 08:50
Сообщения: 56
SE20->Enhancement Spot = es_saplcpcc_bus1012.
Затем меню Утилиты->Версии - находим версию которая необходима и делаем ее активной.
Наверное, как то так :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 14:30 
Менеджер
Менеджер

Зарегистрирован:
Чт, янв 20 2005, 08:34
Сообщения: 573
Пол: Мужской
В SE37 меню Утилиты-Версии-Управление версиями. Может осталась предыдущая.

_________________
Волю в кулак, мышцы в узду, работай себе и не ахай!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 14:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
сохранял локально, без запроса.
теперь никак?

в se20 сама реализация существует, и видно что расположена она в BAPI_ROUTING_CREATE, но в se37 не видно реализации.
почему так?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 15:06 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Вт, июн 09 2009, 15:25
Сообщения: 24
Откуда: Москва
Пол: Мужской
Зайди в se80 -> локальные объекты. Правой клавишей на объект (расширение) -> другие функции -> изменить присвоение пакета.
После присвоения пакета попросит запрос.
И уж после этого вернёшь версию.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 15:32 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
abrukhov написал:
Зайди в se80 -> локальные объекты. Правой клавишей на объект (расширение) -> другие функции -> изменить присвоение пакета.
После присвоения пакета попросит запрос.
И уж после этого вернёшь версию.

Получится разве? Какую он версию вернет, ту которую ложил в запрос, то есть уже кривую? Если без запроса, то через версии вряд ли получится, если только перед "ковыряние" не создали локальную версию. Могу ошибаться....


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 15:49 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
не получилось
в локальные я сохранил Z-реализацию, а при удалении стандартной реализации система ничего не спрашивала.
в se80/локальные объекты видно только Z-реализацию. в итоге восстановить версию не получается.
результат таков:
в se20 видим SPOT ES_SAPLCPCC_BUS1012, в него включена реализация MGV_GENERATED_SAPLCPCC_BUS1012 в активном статусе. Проваливаемся в нее. На последней закладке видим 3 элемента реализации, например \PR:SAPLCPCC_BUS1012\EX:BAPI_ROUTING_CREATE_G8\EI. По кнопке ABAP видим код этого элемента:
Code:
Logical Position:    \PR:SAPLCPCC_BUS1012\EX:BAPI_ROUTING_CR
DATA: T_MGV_FNAMES1 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
DATA: T_MGV_FNAMES2 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.
DATA: T_MGV_FNAMES3 LIKE MGVBAPIFNAMES OCCURS 0 WITH HEADER LINE.

видно что позиция из тела этого функц. модуля.
но фактически в SE37 нет этого кода(
ничего не понимаю


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 15:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
code plug-in-ы хранятс в табл. enhcross, enhincinx,
т.е. проверить версии include-ов в котором лежат enhancement-ы.

м/б это поможет найти (закомментируйте version = 'A'), но сомнительно

Code:
* source code plug-in browser (c) trop
report
yenh

no standard page heading
line-size 140.

tables
  : progdir.

data
  : enh         type enhcross
  , enh_t       like table of enh
  , inc         type enhincinx
  , inc_t       like table of inc
  , _
  , id(2)
  , src(255)
  , src_t       like table of src
  , c(255)
  .


select-options
  : ?otype      for enh-otype    no intervals  default 'EI'
  , ?enhna      for enh-enhname
  , ?objty      for enh-obj_type
  , ?objna      for enh-obj_name
  .

parameters
  : !showsrc    as checkbox default ''.


initialization.

start-of-selection.

end-of-selection.

  select *
    from enhcross
    into table enh_t
    where otype     in ?otype
      and enhname   in ?enhna
      and obj_type  in ?objty
      and obj_name  in ?objna
      and version   eq 'A'.

  if lines( enh_t ) = 0.
    message 'Данные не найдены.' type 'S'.
    return.
  endif.


  select *
    from enhincinx
    into table inc_t
    for all entries in enh_t
    where enhname     eq enh_t-enhname
      and version     eq enh_t-version
      and id          eq enh_t-id
      and is_enh      eq ''.


  data: begin of  where
        , type    type char2
        , colon   type c
        , name    type char40
      , end of    where
      , where_t   like table of where
      .


  loop at inc_t   into inc.

    read table enh_t  into enh  with key enhname = inc-enhname  id = inc-id.
    assert sy-subrc eq 0.


    id = inc-id.
    shift id left deleting leading ` 0`.
    concatenate enh-enhmode `/` id  into c.

    write: /(12) c color = 4, (40) inc-enhname color = 4.

    read table enh_t  into enh  with key
      enhname = inc-enhname
      id      = inc-id.
      assert sy-subrc eq 0.

    clear: where, where_t.
    split inc-full_name+1 at '\' into table where_t.

    read table where_t  into where  index 1.
      delete where_t index 1.
      delete where_t where type eq 'EI'.

    case where-type.
      when 'PR'.  write: /(12) 'Program:'.
      when 'FU'.  write: /(12) 'Function:'.
      when 'TY'.  write: /(12) 'Class:'.
    endcase.

    write: (40) where-name.

    loop at where_t into where.
      case where-type.
        when 'FO'.  write: /(12) 'Form:'.
        when 'SE'.  write: /(12) 'Section:'.
        when 'ME'.  write: /(12) 'Method:'.
        when 'IN'.  write: /(12) 'Interface:'.
        when others.
          write: /(12) where-type.
      endcase.

      write: (40) where-name.

    endloop.

    clear: progdir.
    select single * from progdir where name eq inc-enhinclude and state eq 'A'.

    write: /(12) 'Changed:', progdir-cdat, progdir-cnam.

*    write: / inc-full_name.
    concatenate 'Source/' id ':' into sy-winsl.
    write: /(12) sy-winsl, inc-enhinclude color = 7. " hotspot.


*{  pdtroev show source
    if !showsrc eq 'X'.
      read report inc-enhinclude into src_t.

      loop at src_t into src  where table_line cp 'ENHANCEMENT *.'.
        condense src.
        split src at ` ` into _ src.
        split src at ` ` into src _.
        if src eq id.
          add 1 to sy-tabix.
          loop at src_t into src  from sy-tabix.
            if src cp 'ENDENHANCEMENT*.'.
              exit.
            endif.
            write: / src.
          endloop.
          exit.
        endif.
      endloop.
    endif.
*}


    skip.

  endloop.


at line-selection.

  if sy-lisel cs 'Source/'.

    condense sy-lisel.
    split sy-lisel at ` ` into sy-winsl inc-enhinclude.
      split sy-winsl at '/' into _ id.
      split id at ':' into id _.
      condense id no-gaps.

    read report inc-enhinclude into src_t.

    loop at src_t into src  where table_line cp 'ENHANCEMENT *.'.
      condense src.
      split src at ` ` into _ src.
      split src at ` ` into src _.
      if src eq id.
        add 1 to sy-tabix.
        loop at src_t into src  from sy-tabix.
          if src cp 'ENDENHANCEMENT*.'.
            exit.
          endif.
          write: / src.
        endloop.
        exit.
      endif.
    endloop.

  else.

    sy-winx1 = sy-lilli.
    read line sy-lilli line value into c.
*    write: / '[', c, ']'.

    if c cn ' 0'.
      while c+1(1) ne '/'.
        subtract 1 from sy-lilli.
        read line sy-lilli line value into c.
      endwhile.

      if c+1(1) eq '/'.
        condense c.
        split c at ` ` into c src.
        split c at `/` into _ id.
        c = src.

        read table enh_t  into enh  with key enhname = c  id = id.
        if sy-subrc eq 0.

          data: begin of        call
                , iv_pgmid      type e071-pgmid
                , iv_object     type e071-object
                , iv_obj_name   type e071-obj_name
              , end of          call.

          if sy-winx1 eq sy-lilli.
            call-iv_pgmid     = 'R3TR'.
            call-iv_object    = 'ENHO'.
            call-iv_obj_name  = enh-enhname.
          else.
            call-iv_pgmid     = 'R3TR'.
            call-iv_object    = 'PROG'.
            call-iv_obj_name  = enh-include.
          endif.

          call function 'TR_OBJECT_JUMP_TO_TOOL'
               exporting
                    iv_pgmid    = call-iv_pgmid
                    iv_object   = call-iv_object
                    iv_obj_name = call-iv_obj_name
                    iv_action   = 'SHOW'
               exceptions
                    others      = 1.

*          read report enh-include into src_t.
*          loop at src_t into src.
*            write: / src.
*          endloop.

        endif.

      endif.

    endif.


  endif.

* break pdtroev


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 16:55 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
к сожалению,
содержимое таблиц одинаково в системе с испорченным модулем и в системе с оригинальным...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 17:00 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
когда куда-то вставляется enhancement, создаётся include программа
которая состоит из блоков вида
Code:
ENHANCEMENT 1.
bla-blah
ENDENHANCEMENT.
ENHANCEMENT 2.
bla-blah
ENDENHANCEMENT.
её название сохраняется в табл. enhincinx, вот их код и надо сравнивать в se38..
но если всё сверили и всё совпадает, то возможно нет причин беспокоиться


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 17:13 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
текст этих инклюдов тоже совпадает. проверил через READ REPORT.
это также видно и в se20.
исходные тексты модуля в разных системах тоже совпадают - если смотреть через READ REPORT, в коде только строки типа
Code:
enhancement-point bapi_routing_create_g6 spots es_saplcpcc_bus1012.

а вот в самом редакторе SE37 в системе с испорченным видно только строки вида
Code:
enhancement-point bapi_routing_create_g6 spots es_saplcpcc_bus1012.

в отличие от кода в правильной системе, там:
Code:
ENHANCEMENT-POINT BAPI_ROUTING_CREATE_G6 SPOTS ES_SAPLCPCC_BUS1012.
*$*$-Start: BAPI_ROUTING_CREATE_G6--------------------------------------------------------------$*$*
ENHANCEMENT 2  MGV_GENERATED_SAPLCPCC_BUS1012.    "active version
*{BAPI Begin} generation http://intranet.sap.com/materialversion
*Do not change coding between begin and end comments. ANI 20050119
T_MGV_FNAMES1-INT = 'MATERIAL'.
T_MGV_FNAMES1-EXT = 'MATERIAL_EXTERNAL'.


как будто сам редактор не подтягивает текст из инклюдов?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Ср, апр 14 2010, 18:49 
Ассистент
Ассистент

Зарегистрирован:
Чт, мар 11 2010, 18:35
Сообщения: 33
Цитата:
как будто сам редактор не подтягивает текст из инклюдов?

Бывает такое. Попробуйте обновить GUI. Последний патч на 710 вроде 17
Хотя обычно SAP предлагает показывать или нет EnhP


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Чт, апр 15 2010, 11:54 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, сен 23 2005, 11:11
Сообщения: 963
может быть и такое, иногда пропадают новые параметры в функциях, хотя на деле работают.

попробуйте провалиться в название enhancement-а в утилите,
может там что-то можно сделать


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: удалил системные enhancement points
СообщениеДобавлено: Пт, апр 16 2010, 09:45 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 17 2006, 11:03
Сообщения: 123
поставил самый свежий sapgui - без изменений(


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.

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


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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