Текущее время: Пт, июл 25 2025, 16:18

Часовой пояс: 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 часа


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

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


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

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