Текущее время: Ср, июл 23 2025, 01:31

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Получить Conditions для Purchase Order
СообщениеДобавлено: Вт, мар 20 2007, 15:03 
Председатель
Председатель
Аватара пользователя

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Сущестует ли функциональный модуль, позволяющий получить заполненную значениями таблицу KOMV, как на вкладке Conditions
в тр. ME23N для позиций в ПО?


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
CONDITION_RECORD_READ
BAPI_PO_CHANGE


Последний раз редактировалось Lars Вт, мар 20 2007, 15:28, всего редактировалось 2 раз(а).

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

Зарегистрирован:
Чт, июн 16 2005, 10:29
Сообщения: 336
Откуда: Минск->Москва
Пол: Мужской
гляньте
Code:
CALL FUNCTION 'RV_KONV_SELECT'
        EXPORTING
          comm_head_i = ls_komk
        TABLES
          tkomv       = lt_komv.


Использовал для расчета сумм по счетам фактурам, но они то взаимосвязаны...


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Вроде CONDITION_RECORD_READ больше подходит, счас поизучаю.

'RV_KONV_SELECT' по моему просто возвращает записи из KONV, а этого недостаточно, нужны еще расчетные значения, в частности Actual Price.

Спасибо за ответы!


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

Зарегистрирован:
Пн, дек 20 2004, 16:05
Сообщения: 1080
Откуда: 4.0B
Пол: Мужской
vga написал(а):
Вроде CONDITION_RECORD_READ больше подходит, счас поизучаю.


Тяжкий он. Надо представлять какие поля заполнять для последовательности доступа. Может проще тестовыми прогонами ?


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

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
Тут на днях такая же проблема заинтересовала, написал тестовую программку с использованием ФМ PRICING - покопался в SAPLMEPO.

Code:
REPORT z_test_po_cond .

PARAMETERS:
  p_ebeln TYPE ekko-ebeln OBLIGATORY.

DATA:
  ls_komk    TYPE komk,
  ls_komp    TYPE komp,

  lt_komv    TYPE TABLE OF komv,

  ls_t001    TYPE t001,
  ls_t001w   TYPE t001w,
  ls_ekko    TYPE ekko,
  lt_ekpo    TYPE TABLE OF ekpo.

FIELD-SYMBOLS:
  <fs_ekpo> TYPE ekpo.

START-OF-SELECTION.
  CALL FUNCTION 'ME_EKKO_SINGLE_READ'
       EXPORTING
            pi_ebeln         = p_ebeln
       IMPORTING
            po_ekko          = ls_ekko
       EXCEPTIONS
            no_records_found = 1
            OTHERS           = 2.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  CALL FUNCTION 'ME_EKPO_READ_WITH_EBELN'
       EXPORTING
            pi_ebeln             = p_ebeln
       TABLES
            pto_ekpo             = lt_ekpo
       EXCEPTIONS
            err_no_records_found = 1
            OTHERS               = 2.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.


  CALL FUNCTION 'K_READ_T001'
       EXPORTING
            i_bukrs   = ls_ekko-bukrs
       IMPORTING
            e_t001    = ls_t001
       EXCEPTIONS
            not_found = 1
            OTHERS    = 2.

  IF sy-subrc <> 0.
    MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
            WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
  ENDIF.

  LOOP AT lt_ekpo ASSIGNING <fs_ekpo>.

    CALL FUNCTION 'ME_FILL_KOMK_PO'
         EXPORTING
              i_ekko = ls_ekko
              i_ekpo = <fs_ekpo>
              i_t001 = ls_t001
         IMPORTING
              e_komk = ls_komk.

    CALL FUNCTION 'T001W_SINGLE_READ'
         EXPORTING
              t001w_werks = <fs_ekpo>-werks
         IMPORTING
              wt001w      = ls_t001w
         EXCEPTIONS
              not_found   = 1
              OTHERS      = 2.

    IF sy-subrc <> 0.
      MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
              WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
    ENDIF.

    CALL FUNCTION 'ME_FILL_KOMP_PO'
         EXPORTING
              i_ekpo  = <fs_ekpo>
              i_t001w = ls_t001w
              i_ekko  = ls_ekko
              i_komk  = ls_komk
         IMPORTING
              e_komp  = ls_komp.

    CALL FUNCTION 'PRICING'
         EXPORTING
              comm_head_i = ls_komk
              comm_item_i = ls_komp
         TABLES
              tkomv       = lt_komv.

  ENDLOOP.

_________________
С уважением, Сергей Королев


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
И с предыдущим ФМ получилось, и Сергей Королев парочку ФМ подкинул для красивости заполнения контрольных структур.
Спасибо!


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

Зарегистрирован:
Чт, апр 13 2006, 12:32
Сообщения: 1503
Откуда: Питер
Коварная однако функция оказалась 'ME_FILL_KOMK_PO'.
При запуске в цикле превысила допустимый лимит в 2G оперативки и вывалилась в дамп.

Лечится:
CALL FUNCTION 'MM_REFRESH_PARTNERS'. "memory free
CALL FUNCTION 'ME_FILL_KOMK_PO'


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, мар 21 2007, 17:43 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Сб, сен 25 2004, 16:30
Сообщения: 1368
Откуда: Москва
Пол: Мужской
vga написал(а):
Коварная однако функция оказалась 'ME_FILL_KOMK_PO'.
При запуске в цикле превысила допустимый лимит в 2G оперативки и вывалилась в дамп.

Спасибо! Затейники они там все-таки...

_________________
С уважением, Сергей Королев


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

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


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

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


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

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