Текущее время: Чт, июл 24 2025, 06:23

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


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


Вопросы по ППМ (MRP) - сюда.
Вопросы по классификации - сюда.
Вопросы по входящим поставкам - сюда.



Начать новую тему Ответить на тему  [ Сообщений: 16 ]  На страницу 1, 2  След.
Автор Сообщение
 Заголовок сообщения: Объем заказа в ME21N
СообщениеДобавлено: Вт, авг 12 2008, 17:19 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
Добрый день, коллеги!

Вопрос скорее по АБАПу и все же вдруг кто-то знает - где храняться те цифры, которые пользователь вносит на центральном (1211) экране? Мне нужно особым образом проверять внесенные данные, решил делать через бадишку ZSPR_PROCESS_PO, чтобы получить нужные данные делаю следующее:
Code:
DATA:
          l_cl_po_item_handle_mm TYPE REF TO cl_po_item_handle_mm,
          ls_eban2 TYPE t_type,
          ls_mpur TYPE mmpur_model_type,
          l_if_model_mm TYPE REF TO if_model_mm.
* получаем ссылку на таблицу с ссылками на заполненные поля
    ASSIGN ('(SAPLMEGUI)dyn_1211items[]') TO <fs1>.
* проходим по заполненным полям экрана 1211
    LOOP AT <fs1> INTO ls_mpur.
      MOVE ls_mpur-model TO l_if_model_mm.
* разыменование ссылки
      ASSIGN ('L_IF_MODEL_MM') TO <fs2>.
      IF sy-subrc = 0.
        l_cl_po_item_handle_mm ?= <fs2>.
        IF l_cl_po_item_handle_mm IS BOUND.
        * * *


после чего по идее появляется возможность обращаться к строкам как к экземплярам класса. Но я так и не смог найти в каком из атрибутов хранятся введенные данные(

Возможно выбранный мной путь вообще неверен - буду рад дельной подсказке)


Последний раз редактировалось тихая SAP`а Вт, авг 12 2008, 17:45, всего редактировалось 1 раз.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:25 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Code:

CALL METHOD im_header->get_items
    RECEIVING
      re_items = lt_items.
LOOP AT lt_items INTO ls_items.
    ls_mepo = ls_items-item->get_data( ).
ENDLOOP.   


Как-то так :)

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:47 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
Эмм, боюсь что я не совсем понял что есть im_header :oops:


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:55 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
а вы какой метод бапишки используете?

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 17:59 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
Добавляю свой код в метод PROCESS_ITEM.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 18:05 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Тогда еще проще

Code:
CALL METHOD im_item->get_data
    RECEIVING
      re_data = l_mi.


im_item - входной параметр этого метода.
В результате в l_mi будет позиция заказа[/quote]

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 18:13 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
Под номером заказа имелся ввиду номер позиции документа закупки?
Если да, то он хранится в атрибуте PO_ITEM_NUMBER и обратиться я к нему могу напрямую l_CL_PO_ITEM_HANDLE_MM->PO_ITEM_NUMBER. И получить выборкой другие параметры заказа тоже могу но мне нужно то, что пользователь только что ввел на экране - это не пишется в ekpo или eban - во всяком случае на момент вызова доступной мне бадишки(


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 12 2008, 18:15 
Гуру-модератор
Гуру-модератор
Аватара пользователя

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Я про номер заказа вообще ничего не писал.
В приведенном мною коде в переменную l_mi попадет именно текущее содержимое позиции заказа (которое на экране).
Попробуйте.

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объем заказа в ME21N
СообщениеДобавлено: Ср, авг 13 2008, 07:25 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
тихая SAP`а написал(а):
Мне нужно особым образом проверять внесенные данные, решил делать через бадишку ZSPR_PROCESS_PO


Предложить решение можно, исходя из того, что ты хочешь сделать, а какой код написан - это дело третье.

Начнем с того, что такой бадишки не существует (ZSPR_PROCESS_PO). Другими словами, нужно указывать, что ты взял в качестве образца. Мы тут конечно все экстрасенсы (да и других бадишек с подобным названием всего одна - me_process_po_cust), но все же :)

Второе - это что именно ты хочешь сделать? Особым образом проверять внесенные данные - это как? Выполняешь проверки данных позиции? И если проверка не удалась, выводишь сообщение? Не понятно.

И третье. Зачем ты занимаешься геморроем (берешь хендлер, делаешь assign и прочую муть) если вот, данные с экрана 1211 все у тебя как на ладони: ME_PROCESS_PO -> PROCESS_ITEM -> IM_ITEM -> GET DATA или ME_PROCESS_PO -> PROCESS_HEADER -> IM_HEADER -> GET_ITEMS.

Вообще говоря, по бади есть целый параграф faq, рекомендую ознакомиться. Да и на sdn достаточно материалов (эта тема,например), прочитав которые, у тебя не возникнет подобных вопросов.

_________________
Eritis sicut Deus, scientes bonum et malum...


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

Зарегистрирован:
Вт, май 17 2005, 13:35
Сообщения: 4871
Откуда: Москва
Пол: Мужской
Судя по характерному ZSPR_PROCESS_PO у меня сложилось впечатление, что мы с автором вопроса работаем на проекте в одной и той же компании :)

_________________
Удача - результат нашего желания (© А. Нортон)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Объем заказа в ME21N
СообщениеДобавлено: Ср, авг 13 2008, 09:09 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
SAA написал:
Начнем с того, что такой бадишки не существует (ZSPR_PROCESS_PO).

БАДИшка действительно нестандартная - мой промах. В итоге пошел по пути ME_PROCESS_PO -> PROCESS_ITEM -> IM_ITEM -> GET DATA
За ссылки отдельное спасибо :)

LKU написал:
Судя по характерному ZSPR_PROCESS_PO у меня сложилось впечатление, что мы с автором вопроса работаем на проекте в одной и той же компании :)

:roll: :o


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 14:24 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
Задача разрастается по мере выполнения 8)

Никак не найду способ обратиться из item`а, представляющего собой позицию заявки, к списку партий поставки - все это происходит в me21n.


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

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
ME_PROCESS_PO_CUST~PROCESS_SCHEDULE

иногда бывает очень полезно залезть и посмотреть все самому, на самом деле

_________________
Eritis sicut Deus, scientes bonum et malum...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:36 
Начинающий
Начинающий

Зарегистрирован:
Пн, июл 21 2008, 11:05
Сообщения: 17
PROCESS_SCHEDULE видел, но он не подходит, так как данные нужны внутри PROCESS_ITEM


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Вт, авг 19 2008, 15:40 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Чт, май 19 2005, 12:34
Сообщения: 1941
Откуда: НК
Пол: Мужской
тихая SAP`а написал(а):
PROCESS_SCHEDULE видел, но он не подходит, так как данные нужны внутри PROCESS_ITEM

внутри PROCESS_SCHEDULE есть данные позиции, метод GET_ITEM

и опять же, прежде чем задавать такого рода вопросы, крайне рекомендую внимательно изучить все. например, посмотреть методы, присвоенные типу IF_PURCHASE_ORDER_ITEM_MM
GET_SCHEDULES там есть :)

_________________
Eritis sicut Deus, scientes bonum et malum...


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

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


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

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


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

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