Автор Тема: Поток документов сбыта (выбрать СФ и ее сумму)  (Прочитано 15964 раз)

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

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

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Нет ни у кого примерчика (туговато что то получается что то выбрать), + поставка ...

Получается ситуация такая: есть заказ, по нему поставка, по поставке СФ, в большинстве случаев ошибочная, сторнирована, снова СФ уже по заказу, снова сторно, потом нормальная СФ но не проведенная ... ну в общем вариантов много, уже запарился, для каждого случившегося вылавливать и переделывать код...

Одним словом, ни у кого нету готовенького алгоритма, или бапишки (если работает быстренько)...

Мой пример кода, могу выложить, когда подключусь к системе...
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #1 : Апрель 21, 2011, 09:52:41 pm »
Ну и для кого создан раздел SE37? Не я понимаю если бы там было 100 и одна страница, но там их всего ТРИ... ага и на второй странице: You are not allowed to view links. Register or Login

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

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #2 : Апрель 22, 2011, 11:29:27 pm »
You are not allowed to view links. Register or Login
Ну и для кого создан раздел SE37? Не я понимаю если бы там было 100 и одна страница, но там их всего ТРИ... ага и на второй странице: You are not allowed to view links. Register or Login
О спасибо, поиск не работает, что-то, не находит... может у админов больше прав.... :)
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 768
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #3 : Апрель 23, 2011, 11:05:11 am »
You are not allowed to view links. Register or Login
О спасибо, поиск не работает, что-то, не находит... может у админов больше прав.... :)
Да нет просто страницы три, а поиск тут действительно плохо работает, может во второй версии форума исправили уже. Скоро обещают релиз.

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

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #4 : Апрель 24, 2011, 12:58:08 pm »
Небольшой примерчик, того, что мне надо было (обратите внимание, в моем случае в заказе только одна поизциия):
Код: You are not allowed to view links. Register or Login
     DATA: vbelv TYPE vbfa-vbelv,
            vbeln TYPE vbfa-vbeln, " СФ
            posnn TYPE vbfa-posnn, " поз.
            posnv TYPE vbfa-posnv.

      DATA: l_vbeln type vbak-vbeln,
      bill_num TYPE vbfa-vbeln, " СФ
      rfwrt type vbfa-rfwrt.

      l_vbeln  = '28450'. " Для теста
 
     " В моем случае, в заказе только 1 позиция
      SELECT SINGLE posnr INTO posnv
        FROM vbap
        WHERE vbeln = l_vbeln.

      SELECT SINGLE vbeln posnn INTO (vbeln,  posnn)
       FROM vbfa
       WHERE vbelv = l_vbeln AND
             posnv = posnv         AND
             vbtyp_n = 'M'         AND
             vbeln IN (
               SELECT vbeln FROM vbrk
               WHERE vbeln = vbfa~vbeln AND
                     rfbsk = 'C' AND sfakn = space AND fksto = space
             ).

      IF sy-subrc EQ 0.
         bill_num  = vbeln.
        SELECT SINGLE kzwi1 FROM vbrp
          INTO rfwrt
          WHERE vbeln = vbeln AND
                posnr = posnn.

      ENDIF.
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #5 : Апрель 24, 2011, 03:49:59 pm »
Процедуру нужно разгрузить.
1) Выбираем ссылку на позицию фактуры (VBFA~VBTYP_N = 'M') из потока VBFA по номеру заказа клиента VBAK-VBELN, который является входным параметром процедуры, как я понял. Если число позиций > 1, то SELECT SINGLE меняем на SELECT INTO TABLE.
2) По номеру фактуры/позиции выбираем данные из VBRK/VBRP, проверяя VBRK~FKSTO <> 'X'. А условие VBRK~SFAKN <> space имеет смысл лишь для сторнирующих фактур (VBFA~VBTYP_N = 'N'), там как раз стоит номер прямой фактуры, у которой SFAKN уже пустое, зато FKSNO = 'X', это обычное SAP-овское дело. А поскольку тип N ты не выбираешь, то и лишняя обработка не нужна.
Если процедура будет использоваться для обработки >= 1000 сбытовых заказов в каком-либо онлайн-отчёте (бывает в сбыте :D), то лучше внимательно прочесть вот You are not allowed to view links. Register or Login. ;)
Ясно, что серия из SELECT SINGLE вкупе с совершенно лишним и даже вредным в данном случае подзапросом существенно замедлит процесс получения конечного результата при больших объёмах данных.
« Последнее редактирование: Апрель 24, 2011, 04:01:53 pm от Dmitriy »

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #6 : Апрель 24, 2011, 04:08:37 pm »
Если вдруг понадобится дебиторка FI, то найти документы можно в таблице BKPF по ключу из константы и номера сбытовой фактуры:
Код: You are not allowed to view links. Register or Login
BKPF~AWTYP = 'VBRK' - константа
BKPF~AWKEY = VBRK-VBELN - номер сбытовой с-ф

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

  • Я НЕ ЗАНИМАЮСЬ SAP
  • Administrator
  • Full Member
  • *****
  • Сообщений: 1 367
  • Репутация: +20/-0
  • Пол: Мужской
  • https://noteifyapp.com
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • MacPlus Software
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #7 : Апрель 25, 2011, 03:39:14 pm »
You are not allowed to view links. Register or Login
Процедуру нужно разгрузить.
1) Выбираем ссылку на позицию фактуры (VBFA~VBTYP_N = 'M') из потока VBFA по номеру заказа клиента VBAK-VBELN, который является входным параметром процедуры, как я понял. Если число позиций > 1, то SELECT SINGLE меняем на SELECT INTO TABLE.
2) По номеру фактуры/позиции выбираем данные из VBRK/VBRP, проверяя VBRK~FKSTO <> 'X'. А условие VBRK~SFAKN <> space имеет смысл лишь для сторнирующих фактур (VBFA~VBTYP_N = 'N'), там как раз стоит номер прямой фактуры, у которой SFAKN уже пустое, зато FKSNO = 'X', это обычное SAP-овское дело. А поскольку тип N ты не выбираешь, то и лишняя обработка не нужна.
Если процедура будет использоваться для обработки >= 1000 сбытовых заказов в каком-либо онлайн-отчёте (бывает в сбыте :D), то лучше внимательно прочесть вот You are not allowed to view links. Register or Login. ;)
Ясно, что серия из SELECT SINGLE вкупе с совершенно лишним и даже вредным в данном случае подзапросом существенно замедлит процесс получения конечного результата при больших объёмах данных.
Спасибо за критику, жаль что ты раньше не написал ....
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login
You are not allowed to view links. Register or Login

Оффлайн Dmitriy

  • SAP ECC 6.0
  • Moderator
  • Newbie
  • *****
  • Сообщений: 380
  • Репутация: +0/-0
  • Пол: Мужской
  • Embracive Fire
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Поток документов сбыта (выбрать СФ и ее сумму)
« Ответ #8 : Апрель 25, 2011, 03:43:37 pm »
You are not allowed to view links. Register or Login
Спасибо за критику, жаль что ты раньше не написал ....
Это не критика, это рекомендации. Подправишь код, если что, там не так его много...