цена в документах sd

Автор Martha, Серпень 20, 2009, 03:16:37 ПП

Попередня тема - Наступна тема

0 Користувачі і 1 Гість дивляться цю тему.

Martha

подскажите пожалуйста функцию, чтобы вытащить цену из сбытовой поставки (итоговую) и по каждому условию

спасибо.


Uukrul

Типа это: http://sapforum.biz/index.php/topic,602.0.html правда Паганель считает что главное имя модуля, а примеры типа кому надо разберутся...

Паганель

Сразу и точно не скажу, но посмотрите группу функций V61A (se38,модуль SAPLV61A)
думаю там найдете (в инклудах)

Uukrul

Цитата: Паганель від Серпень 20, 2009, 03:25:33 ПП
Сразу и точно не скажу, но посмотрите группу функций V61A (se38,модуль SAPLV61A)
думаю там найдете (в инклудах)
Там найти то просто, но вот использование этого ФМ, короче надо посидеть и посидеть  ::)

Паганель

Цитата: Uukrul  link=topic=765.msg4751#msg4751 date=1250770993
Типа это: http://sapforum.biz/index.php/topic,602.0.html правда Паганель считает что главное имя модуля, а примеры типа кому надо разберутся...

ага, я только завтраками кормлю, все обещаю ..... ладно.... если Леди не разберется - сделаю пример, ежели разберется, может сама выложит примерчик

Паганель

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


Или у Вас получилось?

Паганель

Вот такой простой примерчик, его можно дополнительно расширять, выбранные значения можно просмотреть в отладчике  :), я не стал заморачиватся с выводом этого всего на экран.


*&---------------------------------------------------------------------*
*& Report  ZSD_TEST_PRICING
*& Тестирования BAPI PRICING
*&---------------------------------------------------------------------*
*& Автор Паганель
*&---------------------------------------------------------------------*

REPORT  zsd_test_pricing.

TABLES: komk, komp, vbak, komv.

DATA: ls_comm_head_i TYPE komk. "OCCURS 1 WITH HEADER LINE.
DATA: ls_comm_item_i TYPE komp. "OCCURS 1 WITH HEADER LINE.

DATA: ls_comm_head_e TYPE komk. "OCCURS 1 WITH HEADER LINE.
DATA: ls_comm_item_e TYPE komp. "OCCURS 1 WITH HEADER LINE.

DATA: gt_tkomv TYPE komv OCCURS 100 WITH HEADER LINE.

PARAMETERS: pa_belnr TYPE komk-belnr OBLIGATORY.

AT SELECTION-SCREEN.


SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_comm_head_i FROM vbak
  WHERE vbeln = pa_belnr.


" Для простоты делаю выбор только по 1позици,
" но не смотря на это в gt_tkomv
" выводятся записи условий для всех позиций
SELECT SINGLE * INTO CORRESPONDING FIELDS OF  ls_comm_item_i FROM vbap
  WHERE  vbeln = pa_belnr AND posnr ='1'. 
 


CALL FUNCTION 'PRICING'
  EXPORTING
    comm_head_i = ls_comm_head_i
    comm_item_i = ls_comm_item_i
  IMPORTING
     comm_head_e = ls_comm_head_e
     comm_item_e = ls_comm_item_e
  TABLES
    tkomv =  gt_tkomv .


WRITE /.  " что бы поставить точку останова :-)

Паганель

Дополню пример, добавив PRICING_AMOUNT_DETERMINATION для получения итоговой суммы,
сумма в поле KBETR, кроме этого не заполняю структуру ls_comm_item_i


*&---------------------------------------------------------------------*
*& Report  ZSD_TEST_PRICING
*& Тестирования BAPI PRICING
*&---------------------------------------------------------------------*
*& Автор Паганель
*&---------------------------------------------------------------------*

REPORT  zsd_test_pricing.

TABLES: komk, komp, vbak, komv.

DATA: ls_comm_head_i TYPE komk. "OCCURS 1 WITH HEADER LINE.
DATA: ls_comm_item_i TYPE komp. "OCCURS 1 WITH HEADER LINE.

DATA: ls_comm_head_e TYPE komk. "OCCURS 1 WITH HEADER LINE.
DATA: ls_comm_item_e TYPE komp. "OCCURS 1 WITH HEADER LINE.

DATA: gt_tkomv TYPE komv OCCURS 100 WITH HEADER LINE.

DATA: ls_tkomv LIKE komv.
DATA: ls_tkomv_e LIKE komv.

PARAMETERS: pa_belnr TYPE komk-belnr OBLIGATORY.

AT SELECTION-SCREEN.


SELECT SINGLE * INTO CORRESPONDING FIELDS OF ls_comm_head_i FROM vbak
  WHERE vbeln = pa_belnr.


" Для простоты делаю выбор только по 1позици,
" но не смотря на это в gt_tkomv
" выводятся записи условий для всех позиций
"SELECT SINGLE * INTO CORRESPONDING FIELDS OF  ls_comm_item_i FROM vbap
"  WHERE  vbeln = pa_belnr AND posnr ='1'.


CALL FUNCTION 'PRICING'
EXPORTING
  comm_head_i = ls_comm_head_i
  comm_item_i = ls_comm_item_i
IMPORTING
  comm_head_e = ls_comm_head_e
  comm_item_e = ls_comm_item_e
TABLES
  tkomv =  gt_tkomv .

WRITE /.  " что бы поставить точку останова :-)


READ TABLE gt_tkomv INTO ls_tkomv INDEX 1.

CALL FUNCTION 'PRICING_AMOUNT_DETERMINATION'
EXPORTING
  komk_i  = ls_comm_head_i
  komp_i = ls_comm_item_i
  komv_i = ls_tkomv
IMPORTING
  komv_e = ls_tkomv_e.


WRITE /.  " что бы поставить точку останова :-)