Автор Тема: Вызов транзакции (проги) со своей и последующий забор данных  (Прочитано 36371 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Хотелось бы вызвать ту же mb5b и после того как она отработает, считать данные с ее таблички в которую она сохраняет.

по аналогии с ASSIGN ('(SAPMM07M)xmseg[]') TO <fs_mseg>.

для RM07MLBD_FORM_02
G_T_BELEGE1

не подскажете возможно ли это, и как это сделать?
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Откуда начать копать? Это типа продолжение темы You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
В общем случае задача не имеет решения, так как вызов ASSIGN ('(SAPMM07M)xmseg[]') TO <fs_mseg> работает в контексте транзакции из экзита и к этому моменту данные есть в памяти. В твоем же случае ситуация такая что программа уже отработала и локальных и прочих данных уже нет. Для MB51 например при правильном вызове эта транзакция сохраняет данные через IMPORT TO MEMORY поэтому ее результат можно считать. Можно ли для MB5B такое же... ну при беглом просмотре кода, ничего похожего не найдено.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Жаль конечно  :(
Тогда переходим к обсуждению темы про подлом стандартных транзакций ....тока где-то нету ее
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Жаль конечно  :(
Тогда переходим к обсуждению темы про подлом стандартных транзакций ....тока где-то нету ее
А ее перенесли сюда, ну что же тогда тут и продолжаем
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Жаль конечно  :(
Тогда переходим к обсуждению темы про подлом стандартных транзакций ....тока где-то нету ее
Называется SE38 а там копируешь стандартную программу в свою и делаешь с ней чего хочешь, вот тебе и все подлом...

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Называется SE38 а там копируешь стандартную программу в свою и делаешь с ней чего хочешь, вот тебе и все подлом...

Это то же решение, правда один недостаток: если будут обновления (изменения логики выбора, исправления ошибок), и они затронут mb5b, твою прогу они не затронут.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Есть еще такой момент, разобраться в отчете и уже написать в своем все нужные выборки, т.е. безо всяких вызовов делаешь свой собственный отчет "с нуля".

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Это то же решение, правда один недостаток: если будут обновления (изменения логики выбора, исправления ошибок), и они затронут mb5b, твою прогу они не затронут.
Поэтому нужно разбираться в mb5b.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Поэтому нужно разбираться в mb5b.

Не понял ..... что ты имел ввиду?
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Тебе же в своем отчете нужны данные mb5b? Вот если разобраться в коде и написать в своем отчете его, то и получишь нужные тебе результаты. Можно готовое вставлять, можно п/п использовать, даже не копируя. Варианты, в общем, есть!

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Это то же решение, правда один недостаток: если будут обновления (изменения логики выбора, исправления ошибок), и они затронут mb5b, твою прогу они не затронут.
Если ты сломаешь любую стандартную транзакцию, то обновления ей уже не грозят...

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Если ты сломаешь любую стандартную транзакцию, то обновления ей уже не грозят...

Я имел ввиду расширение, т.е. UserExit или что-то подобное ....
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
You are not allowed to view links. Register or Login
Я имел ввиду расширение, т.е. UserExit или что-то подобное ....
Для подобного вида транзакций это можно сделать только через неявную точку расширения, где воткнуть EXPORT, а потом в своем отчете IMPORT.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Ну где-то так как написал тут: You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Для MB51 например при правильном вызове эта транзакция сохраняет данные через IMPORT TO MEMORY поэтому ее результат можно считать. Можно ли для MB5B такое же... ну при беглом просмотре кода, ничего похожего не найдено.

То есть речь идет об SUBMIT *** AND RETURN EXPORTING LIST TO MEMORY?

You are not allowed to view links. Register or Login
ну при беглом просмотре кода, ничего похожего не найдено.
А по каким критериям определяется можно ли использовать EXPORTING LIST TO MEMORY ?

Кстати вот нашел (для другой транз. правда) You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Ну так экспорт через память можно только тогда, когда формирование отчета выполняется через операторы WRITE, т.е. абап списком. Если, же отчет ALV, то и экспортировать нечего. В твоем случае MB5B таки можно экспортировать в память.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Ураааааааааа .........  :)
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Следующий вопрос: может кто знает как потом значения вытянуть после того как експортировали в память?
Нашел только ф-ию LIST_FROM_MEMORY но .....

Делаю так:
Код: You are not allowed to view links. Register or Login
FORM call_mb5b
      USING
             zwerks LIKE  z_mkpf_mseg-werks
             zmatnr LIKE mara-matnr
             bdate_rest TYPE sy-datum.
           "  edate_rest TYPE sy-datum.
*      CHANGING
*        brest_menge TYPE z_mkpf_mseg-menge " остаток на начало
*        brest_dmbtr TYPE z_mkpf_mseg-dmbtr
*        erest_menge TYPE z_mkpf_mseg-menge " остаток на конец
*        erest_dmbtr TYPE z_mkpf_mseg-dmbtr.

  SUBMIT RM07MLBD
  WITH MATNR = zmatnr
  WITH WERKS = zwerks
  WITH BUDAT = bdate_rest
  EXPORTING LIST TO MEMORY AND RETURN.

  DATA: ABAPLIST LIKE ABAPLIST OCCURS 0.
  CALL FUNCTION 'LIST_FROM_MEMORY'
  TABLES
    LISTOBJECT = ABAPLIST
  EXCEPTIONS
    NOT_FOUND = 1
    OTHERS = 2.

*if sy-batch = space.
  CALL FUNCTION 'DISPLAY_LIST'
  EXPORTING
    FULLSCREEN = 'X'
  IMPORTING
    USER_COMMAND = SY-UCOMM
  TABLES
    LISTOBJECT = ABAPLIST
  EXCEPTIONS
    EMPTY_LIST = 1
    OTHERS = 2.
ENDFORM.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
You are not allowed to view links. Register or Login
Нашел только ф-ию LIST_FROM_MEMORY но .....
Что но?

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Что-что  :), таким образом как в примере выше, я могу просто вывести ALV List такой же как и в mb5b
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
А дальше типа так, получаешь вменяемый текст и из него пытаешься выцепить нужные тебе данные...
Код: You are not allowed to view links. Register or Login
DATA: BEGIN OF lt_list OCCURS 1,
  str(1000) TYPE c,
END OF lt_list.

CALL FUNCTION 'LIST_TO_ASCI'
* EXPORTING
*   LIST_INDEX               = -1
*   WITH_LINE_BREAK          = ' '
* IMPORTING
*   LIST_STRING_ASCII        =
*   LIST_DYN_ASCII           =
 TABLES
   listasci                 = lt_list
   listobject               = abaplist
 EXCEPTIONS
   empty_list               = 1
   list_index_invalid       = 2
   OTHERS                   = 3.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Парсинг строк отчета думаю сам напишешь? Если задавать как у тебя завод, материал... то там вообще будет все просто, с вытаскиванием запаса.

Оффлайн Паганель

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
You are not allowed to view links. Register or Login
Парсинг строк отчета думаю сам напишешь? Если задавать как у тебя завод, материал... то там вообще будет все просто, с вытаскиванием запаса.

Сложновато будет, нет какого-то у тебя примерчика, да и не понятно как к строке достучатся, там как я понял какая то табличка непонятной структуры
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Табличка очень понятной структуры... что видно из аттачмента. Получить данные можно где-то так... при условии что задаешь поиск по материал/завод, то все будет работать.
Код: You are not allowed to view links. Register or Login
DATA: l_start LIKE mseg-menge,
      l_plus LIKE mseg-menge,
      l_minus  LIKE mseg-menge,
      l_end LIKE mseg-menge,
      l_index LIKE sy-tabix.
LOOP AT lt_list.
  IF lt_list-str(8) = 'Запас на'.
    l_start = lt_list-str+20(25).

    l_index = sy-tabix + 1.
    READ TABLE lt_list INDEX l_index.
    l_plus = lt_list-str+20(25).

    l_index = sy-tabix + 1.
    READ TABLE lt_list INDEX l_index.
    l_minus = lt_list-str+20(25).

    l_index = sy-tabix + 1.
    READ TABLE lt_list INDEX l_index.
    l_end = lt_list-str+20(25).

    EXIT.
  ENDIF.
ENDLOOP.

WRITE: / l_start,
       / l_plus,
       / l_minus,
       / l_end.
« Последнее редактирование: Март 26, 2009, 12:01:41 am от Uukrul »