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

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


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

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


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

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