Loading



+ Sapforum.Biz » Инструменты » ABAP - Инструментальные средства » SE38 - ABAP Редактор (Модератор: Dmitriy)Тема:
|- цена в документах sd



Автор Тема: цена в документах sd  (Прочитано 1204 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Martha

  • Newbie
  • *
  • Сообщений: 51
  • Reputation Power: 0
  • Martha has no influence.
цена в документах sd
« : Август 20, 2009, 03:16:37 pm »
подскажите пожалуйста функцию, чтобы вытащить цену из сбытовой поставки (итоговую) и по каждому условию

спасибо.


Оффлайн Uukrul

  • SAP R/3 4.6C
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2.151
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
    • Sapforum.BIZ
Re: цена в документах sd
« Ответ #1 : Август 20, 2009, 03:23:13 pm »
Типа это: http://sapforum.biz/index.php/topic,602.0.html правда Паганель считает что главное имя модуля, а примеры типа кому надо разберутся...

Оффлайн Паганель

  • blogger
  • Full Member
  • *
  • Сообщений: 1.319
  • Reputation Power: 0
  • Паганель has no influence.
  • Пол: Мужской
Re: цена в документах sd
« Ответ #2 : Август 20, 2009, 03:25:33 pm »
Сразу и точно не скажу, но посмотрите группу функций V61A (se38,модуль SAPLV61A)
думаю там найдете (в инклудах)

Оффлайн Uukrul

  • SAP R/3 4.6C
  • Administrator
  • Hero Member
  • *****
  • Сообщений: 2.151
  • Reputation Power: 2
  • Uukrul barely matters.Uukrul barely matters.
  • Пол: Мужской
    • Sapforum.BIZ
Re: цена в документах sd
« Ответ #3 : Август 20, 2009, 03:26:48 pm »
Сразу и точно не скажу, но посмотрите группу функций V61A (se38,модуль SAPLV61A)
думаю там найдете (в инклудах)
Там найти то просто, но вот использование этого ФМ, короче надо посидеть и посидеть  ::)

Оффлайн Паганель

  • blogger
  • Full Member
  • *
  • Сообщений: 1.319
  • Reputation Power: 0
  • Паганель has no influence.
  • Пол: Мужской
Re: цена в документах sd
« Ответ #4 : Август 20, 2009, 03:27:58 pm »
Цитата: Uukrul  link=topic=765.msg4751#msg4751 date=1250770993
Типа это: http://sapforum.biz/index.php/topic,602.0.html правда Паганель считает что главное имя модуля, а примеры типа кому надо разберутся...

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

Оффлайн Паганель

  • blogger
  • Full Member
  • *
  • Сообщений: 1.319
  • Reputation Power: 0
  • Паганель has no influence.
  • Пол: Мужской
Re: цена в документах sd
« Ответ #5 : Август 21, 2009, 12:47:30 pm »
Сейчас сделаю Вам примерчик (попробую, на скорую руку), тестировать буду на сбытовом заказе, у меня в системе нету исходящих поставок с схемами калькуляции ....


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

Оффлайн Паганель

  • blogger
  • Full Member
  • *
  • Сообщений: 1.319
  • Reputation Power: 0
  • Паганель has no influence.
  • Пол: Мужской
Re: цена в документах sd
« Ответ #6 : Август 21, 2009, 01:23:49 pm »
Вот такой простой примерчик, его можно дополнительно расширять, выбранные значения можно просмотреть в отладчике  :), я не стал заморачиватся с выводом этого всего на экран.

*&---------------------------------------------------------------------*
*& 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 /.  " что бы поставить точку останова :-)

Оффлайн Паганель

  • blogger
  • Full Member
  • *
  • Сообщений: 1.319
  • Reputation Power: 0
  • Паганель has no influence.
  • Пол: Мужской
Re: цена в документах sd
« Ответ #7 : Август 21, 2009, 01:44:09 pm »
Дополню пример, добавив 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 /.  " что бы поставить точку останова :-)



 


Facebook Comments