Текущее время: Чт, июн 19 2025, 01:26

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 17 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: User Exit
СообщениеДобавлено: Чт, дек 06 2007, 09:35 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Добрый день всем!

Нужно осуществлять небольшую проверку, во время подтверждения ТЗ(lt12). :?

Как "отловить" user exit?

О том, что есть "user exit" представление есть, но весьма скудное :oops: Если кто-нибудь поделится информацией буду весьма признателен.

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: User Exit
СообщениеДобавлено: Чт, дек 06 2007, 09:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
east написал:
Добрый день всем!

Нужно осуществлять небольшую проверку, во время подтверждения ТЗ(lt12). :?

Как "отловить" user exit?

О том, что есть "user exit" представление есть, но весьма скудное :oops: Если кто-нибудь поделится информацией буду весьма признателен.

С ПОМОЩЬЮ ВОТ ЕНТОЙ ПРОГИ ЛОВИ-ТЕ.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 10:43 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Программа отличная. Осталось узнать как ее использовать :)

У меня не оч. понятная мне синтаксическая ошибка возникает при попытке активировать данную программу.

Цитата:
The offset and length fields in the token table are not filled until the "WITH ANALYSIS" is declared. The token table should use STOKES or STOKEN as the line type, for space reasons.

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 10:49 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
east написал:
Программа отличная. Осталось узнать как ее использовать :)

У меня не оч. понятная мне синтаксическая ошибка возникает при попытке активировать данную программу.

Цитата:
The offset and length fields in the token table are not filled until the "WITH ANALYSIS" is declared. The token table should use STOKES or STOKEN as the line type, for space reasons.

ДАВАЙТЕ КУСОК КОДА, ГДЕ ВОЗНИКАЕТ ОШИБКА


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 10:51 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Ошибка на статменте:
Цитата:
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
overflow into c_overflow
with includes. "#EC


Может я что-то неверно делаю? :oops: Программу активирую как выполняемую :?

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 11:24 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Пт, авг 04 2006, 20:56
Сообщения: 1006
Откуда: 37 МИКРОРАЙОН
Пол: Мужской
east написал:
Ошибка на статменте:
Цитата:
scan abap-source sourcetab tokens into i_stoken
statements into i_sstmnt
keywords from keywords
overflow into c_overflow
with includes. "#EC


Может я что-то неверно делаю? :oops: Программу активирую как выполняемую :?

вот это КАК РАЗ НАДО ЗАКОММЕНТАРИТЬ :D
ладно не мучайтесь, думаю трудно вам будет, вот работоспособный код для поиска USER-EXIT и BADI, думаю поможет еще кому-нибудь:
Code:
REPORT z_find_exit_badi .

TABLES : tstc,

tadir,

modsapt,

modact,

trdir,

tfdir,

enlfdir,

sxs_attrt ,

tstct.

DATA : jtab LIKE tadir OCCURS 0 WITH HEADER LINE.

DATA : field1(30).

DATA : v_devclass LIKE tadir-devclass.

PARAMETERS : p_tcode LIKE tstc-tcode,

p_pgmna LIKE tstc-pgmna .

DATA wa_tadir TYPE tadir.

START-OF-SELECTION.

  IF NOT p_tcode IS INITIAL.

    SELECT SINGLE * FROM tstc WHERE tcode EQ p_tcode.

  ELSEIF NOT p_pgmna IS INITIAL.

    tstc-pgmna = p_pgmna.

  ENDIF.

  IF sy-subrc EQ 0.

    SELECT SINGLE * FROM tadir

    WHERE pgmid = 'R3TR'

    AND object = 'PROG'

    AND obj_name = tstc-pgmna.

    MOVE : tadir-devclass TO v_devclass.

    IF sy-subrc NE 0.

      SELECT SINGLE * FROM trdir

      WHERE name = tstc-pgmna.

      IF trdir-subc EQ 'F'.

        SELECT SINGLE * FROM tfdir

        WHERE pname = tstc-pgmna.

        SELECT SINGLE * FROM enlfdir

        WHERE funcname = tfdir-funcname.

        SELECT SINGLE * FROM tadir

        WHERE pgmid = 'R3TR'

        AND object = 'FUGR'

        AND obj_name EQ enlfdir-area.

        MOVE : tadir-devclass TO v_devclass.

      ENDIF.

    ENDIF.

    SELECT * FROM tadir INTO TABLE jtab

    WHERE pgmid = 'R3TR'

    AND object IN ('SMOD', 'SXSD')

    AND devclass = v_devclass.

    SELECT SINGLE * FROM tstct

    WHERE sprsl EQ sy-langu

    AND tcode EQ p_tcode.

    FORMAT COLOR COL_POSITIVE INTENSIFIED OFF.

    WRITE:/(19) 'Transaction Code - ',

    20(20) p_tcode,

    45(50) tstct-ttext.

    SKIP.

    IF NOT jtab[] IS INITIAL.

      WRITE:/(105) sy-uline.

      FORMAT COLOR COL_HEADING INTENSIFIED ON.
* Sorting the internal Table
      SORT jtab BY object.

      DATA : wf_txt(60) TYPE c,

      wf_smod TYPE i ,

      wf_badi TYPE i ,

      wf_object2(30) TYPE c.

      CLEAR : wf_smod, wf_badi , wf_object2.
* Get the total SMOD.
      LOOP AT jtab INTO wa_tadir.

        AT FIRST.

          FORMAT COLOR COL_HEADING INTENSIFIED ON.

          WRITE:/1 sy-vline,

          2 'Enhancement/ Business Add-in',

          41 sy-vline ,

          42 'Description',

          105 sy-vline.

          WRITE:/(105) sy-uline.

        ENDAT.

        CLEAR wf_txt.

        AT NEW object.

          IF wa_tadir-object = 'SMOD'.

            wf_object2 = 'Enhancement' .

          ELSEIF wa_tadir-object = 'SXSD'.

            wf_object2 = ' Business Add-in'.

          ENDIF.

          FORMAT COLOR COL_GROUP INTENSIFIED ON.

          WRITE:/1 sy-vline,

          2 wf_object2,

          105 sy-vline.

        ENDAT.

        CASE wa_tadir-object.

          WHEN 'SMOD'.

            wf_smod = wf_smod + 1.

            SELECT SINGLE modtext INTO wf_txt

            FROM modsapt

            WHERE sprsl = sy-langu

            AND name = wa_tadir-obj_name.

            FORMAT COLOR COL_NORMAL INTENSIFIED OFF.

          WHEN 'SXSD'.
* For BADis
            wf_badi = wf_badi + 1 .

            SELECT SINGLE text INTO wf_txt

            FROM sxs_attrt

            WHERE sprsl = sy-langu

            AND exit_name = wa_tadir-obj_name.

            FORMAT COLOR COL_NORMAL INTENSIFIED ON.

        ENDCASE.

        WRITE:/1 sy-vline,

        2 wa_tadir-obj_name HOTSPOT ON,

        41 sy-vline ,

        42 wf_txt,

        105 sy-vline.

        AT END OF object.

          WRITE : /(105) sy-uline.

        ENDAT.

      ENDLOOP.

      WRITE:/(105) sy-uline.

      SKIP.

      FORMAT COLOR COL_TOTAL INTENSIFIED ON.

      WRITE:/ 'No.of Exits:' , wf_smod.

      WRITE:/ 'No.of BADis:' , wf_badi.

    ELSE.

      FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

      WRITE:/(105) 'No userexits or BADis exist'.

    ENDIF.

  ELSE.

    FORMAT COLOR COL_NEGATIVE INTENSIFIED ON.

    WRITE:/(105) 'Transaction does not exist'.

  ENDIF.

AT LINE-SELECTION.

  DATA : wf_object TYPE tadir-object.

  CLEAR wf_object.

  GET CURSOR FIELD field1.

  CHECK field1(8) EQ 'WA_TADIR'.

  READ TABLE jtab WITH KEY obj_name = sy-lisel+1(20).

  MOVE jtab-object TO wf_object.

  CASE wf_object.

    WHEN 'SMOD'.

      SET PARAMETER ID 'MON' FIELD sy-lisel+1(10).

      CALL TRANSACTION 'SMOD' AND SKIP FIRST SCREEN.

    WHEN 'SXSD'.

      SET PARAMETER ID 'EXN' FIELD sy-lisel+1(20).

      CALL TRANSACTION 'SE18' AND SKIP FIRST SCREEN.

  ENDCASE.

PS: Вставьте и все у вас получится :D


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 11:44 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Я уже большой :oops: и закомментировать поле смогу :oops:
:lol: :lol: :lol:
Спасибо за помощь! Все работает.
Осталось научиться использовать user-exit-ы :)

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, дек 06 2007, 23:48 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
east написал:
Осталось научиться использовать user-exit-ы :)


http://www.sap-img.com/abap/a-short-tut ... -exits.htm


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 07 2007, 09:31 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Спасибо Вам, Jelena! :oops:
Спасибо не только за данную информацию, но и за прекрасный курс по расширениям, который нашел в своих архивах следуя Вашим наставлениям в подобных темах форума:)

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 14 2007, 13:08 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Вернулся к User Exit-ам.. :( Чет как-то нехорошо все получается..

Опишу свои действия:

Захожу в CMOD, создаю проект расширения. Далее нужно выполнить присвоение расширений: По /h в lt 12 нашел call customer-function с удовлетворяющими меня exporintg/importing данными. Захожу в программу поиска расширений, запускаю поиск по транзакции lt12, просматриваю через SMOD. Ни в одном из представленных расширений моей exit_saplqaat_002 нет :?

На этом вот месте и возникает вопрос:)

Может кто скажет в чем я не прав. :roll:

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 14 2007, 13:37 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
east написал:
Вернулся к User Exit-ам.. :( Чет как-то нехорошо все получается..

Опишу свои действия:

Захожу в CMOD, создаю проект расширения. Далее нужно выполнить присвоение расширений: По /h в lt 12 нашел call customer-function с удовлетворяющими меня exporintg/importing данными. Захожу в программу поиска расширений, запускаю поиск по транзакции lt12, просматриваю через SMOD. Ни в одном из представленных расширений моей exit_saplqaat_002 нет :?

На этом вот месте и возникает вопрос:)

Может кто скажет в чем я не прав. :roll:


А не знаю как Вы искали в SMOD по транзакции, но писк (F4) по имени компонента (exit_saplqaat_002) выдал расширение QAAT0001

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 14 2007, 13:59 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
east написал:
...запускаю поиск по транзакции lt12, просматриваю через SMOD. Ни в одном из представленных расширений моей exit_saplqaat_002 нет...


sy-uname написал(а):
А не знаю как Вы искали в SMOD по транзакции, но писк (F4) по имени компонента (exit_saplqaat_002) выдал расширение QAAT0001


Вопрос не в том в каком именно расширении лежит функциональный модуль exit_saplqaat_002 :oops:
Мне насоветовали огромную кучу программ, с подобными наименованиями, вроде 'Z_USEREXITS', выполняющих примерно одни действия. В поиске по транзакции из любой из этих программ расширения с именем 'QAAT0001' не обозначено:?

Мне интересны дальнейшие мои действия. Здесь возможны варианты, к примеру следущие:
1. думать над тем что и как я неверно делаю. :?
2. забить на результат выпонения программ, присвоить расширение QAAT0001, включить в нужный include свою функцию и радоваться жизни :)

Второй вариант мне нравится намного больше, но вот вопрос: будет ли это работать?

_________________
С уважением, Сергей С.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, дек 14 2007, 17:44 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
east написал:
...
Мне насоветовали огромную кучу программ, с подобными наименованиями, вроде 'Z_USEREXITS', выполняющих примерно одни действия. В поиске по транзакции из любой из этих программ расширения с именем 'QAAT0001' не обозначено:?

Мне интересны дальнейшие мои действия. Здесь возможны варианты, к примеру следущие:
1. думать над тем что и как я неверно делаю. :?
2. забить на результат выпонения программ, присвоить расширение QAAT0001, включить в нужный include свою функцию и радоваться жизни :)

Второй вариант мне нравится намного больше, но вот вопрос: будет ли это работать?


Начните с help.sap.com |service.sap.com - что там написано по поводу расширения 'QAAT0001', exit_saplqaat_002 и кучи программ "наименованиями, вроде 'Z_USEREXITS'".
Банальная-же установка точек остановки на вызове данного UE и последующий прогон транзакций не должен рассматриваться из за своей примитивности, прямолинейности и т.п.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, дек 17 2007, 20:57 
Президент
Президент

Зарегистрирован:
Пт, апр 28 2006, 22:39
Сообщения: 2514
Откуда: North Taxolina, USA
Пол: Женский
Похоже, что QAAT0001 имеет какое-то отношение к Quality Assurance, inspection и т.п. У нас, например, это вообще не используется. А нельзя ли огласить, что вы, собственно, пытаетесь изобразить в user-exit? Какова конечная цель?

Глядя на список user-exit'ов в LT12, сдается мне, что надо проверки делать раньше. Ну или может там какие-нибудь BADI имеются для этих целей. :?

Дополнение: Не нашла ни одного user exit, который бы однозначно подходил для проверок во время TO confirmation. Есть user exit при сохранении (MWMTO002), но для проверок это наверное уже поздновато. Возможно придется либо забить, либо шаманить с другими user exits. В интернете нашла только пост одного бедолаги на каком-то левом сайте с такой же проблемой - ему тоже посоветовали CMOD.

В SPRO есть неплохое описание user exits в WM - см. Logistics Execution -> Warehouse Management -> Tools. Там же есть некоторые BADI (см. System Modifications), но, судя по описанию, все они не в тему.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, дек 18 2007, 10:20 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, сен 17 2007, 10:48
Сообщения: 190
Откуда: Нальчик, РФ
Пол: Мужской
Нужно отcледить подтверждение ТЗ. Ни одно из найденных мной расширений lt12 не подходит для такой проверки в полной мере (может я и не прав, конечно).
В итоге есть большое желание выбрать последний из UE EXIT_SAPLV50P_001 расширение V50PSTAT
Цитата:
*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(IS_LIKP) LIKE LIKP STRUCTURE LIKP
*" VALUE(IS_LIPS) LIKE LIPSVB STRUCTURE LIPSVB
*" CHANGING
*" REFERENCE(CF_EPSILON) TYPE FLOAT


С одной стороный не передается номер ТЗ, что не есть хорошо в моем случае(хотя, наверное, можно как-нибуть уйти от этой проблемы). С другой стороны CF_EPSILON, он же epsilon на входе можно было бы использовать в качестве флага, чтоб include не выполнялся при втором и полседующих проходах.

Подозреваю, что это ужасно тупо всилу своей примитивности, но другого способа я не не вижу, а точнее сказать не знаю.

Если кто подсксажет умное решение, буду весьма признателен.Спасибо.

_________________
С уважением, Сергей С.


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

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


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

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


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

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