SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

сумма оплаченных счетов (BSIK и BSAK)



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
Sed0Y
Специалист
Специалист


Age: 41
Joined: 17 Mar 2010
Posts: 88
Location: Ukraine - Kiev

PostPosted: Mon Sep 27, 2010 12:14 pm    Post subject: сумма оплаченных счетов (BSIK и BSAK) Reply with quote

Может кто-то уже сталкивался, как рассчитать сумму оплаченных счетов за определенные период времени?

выборку на подсчет неоплаченные (переданные на оплату) я делаю так:

Code:
    lb_data = '20100101'.
    le_data = '20100131'.

  SELECT DISTINCT a~buzei a~ebeln a~PROJK a~wrbtr a~BELNR a~GJAHR a~BUDAT awkey
    INTO CORRESPONDING FIELDS OF TABLE gt_dat
    FROM BSIK AS a
    INNER JOIN BKPF AS b ON b~BELNR = a~BELNR
    INNER JOIN lfa1 AS c ON c~lifnr = a~lifnr
    WHERE
      AUGBL = ''
    AND ZLSPR NE '*'
    AND a~BLART NE 'KZ'
    AND a~BLART NE 'KR'
    AND a~BLART NE 'TR'
    AND a~BLART NE 'WE'
      AND a~BUDAT BETWEEN lb_data AND le_data
    AND a~BLART NE 'AB'
    AND SHKZG EQ 'H'
                        .


    SELECT DISTINCT  buzei a~ebeln a~PROJK a~wrbtr a~BELNR a~GJAHR a~BUDAT awkey
    APPENDING CORRESPONDING FIELDS OF TABLE gt_dat
    FROM BSAK AS a
    INNER JOIN BKPF AS b ON b~BELNR = a~BELNR
    INNER JOIN lfa1 AS c ON c~lifnr = a~lifnr
      WHERE AUGBL = ''
      AND ZLSPR NE '*'
      AND a~BLART NE 'KZ'
      AND a~BLART NE 'KR'
      AND a~BLART NE 'TR'
      AND a~BLART NE 'WE'
      AND a~BUDAT BETWEEN lb_data AND le_data
      AND a~BLART NE 'AB'
      AND SHKZG EQ 'H'
                        .
  SORT gt_dat BY EBELN.


  LOOP AT gt_dat INTO wa_dat.
  .........
Back to top
View user's profile Send private message
Sed0Y
Специалист
Специалист


Age: 41
Joined: 17 Mar 2010
Posts: 88
Location: Ukraine - Kiev

PostPosted: Mon Sep 27, 2010 1:26 pm    Post subject: Reply with quote

вроде сделал, может кому то пригодиться или может кто-то подправит если я сделал ошибку:


Code:
SELECT DISTINCT a~buzei a~ebeln a~PROJK as PS_PSP_PNR a~wrbtr a~BELNR a~GJAHR a~BUDAT a~AUFNR
    INTO CORRESPONDING FIELDS OF TABLE T_SUMM_OPL
    FROM BSIK AS a
    INNER JOIN BKPF AS b ON b~BELNR = a~BELNR
    INNER JOIN lfa1 AS c ON c~lifnr = a~lifnr
  WHERE
    ZLSPR NE '*' AND
    a~BLART = 'KZ' AND
    ( a~BSCHL <> '39' AND a~BSCHL <> '27' ) AND
    a~BUDAT BETWEEN lb_data AND le_data.


    SELECT DISTINCT  buzei a~ebeln a~PROJK as PS_PSP_PNR a~wrbtr a~BELNR a~GJAHR a~BUDAT a~AUFNR
      APPENDING CORRESPONDING FIELDS OF TABLE T_SUMM_OPL
      FROM BSAK AS a
      INNER JOIN BKPF AS b ON b~BELNR = a~BELNR
      INNER JOIN lfa1 AS c ON c~lifnr = a~lifnr
    WHERE
      ZLSPR NE '*' AND
      a~BLART = 'KZ' AND
      ( a~BSCHL <> '39' AND a~BSCHL <> '27' ) AND
      a~BUDAT BETWEEN lb_data AND le_data.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


Age: 170
Joined: 04 Oct 2007
Posts: 1218
Location: Санкт-Петербург

PostPosted: Mon Sep 27, 2010 2:16 pm    Post subject: Reply with quote

Суровый селект.
1) Зачем из BSIK выбирать данные? Это открытые позиции.
2) Уберите join на bkpf, Вы не правильно таблицы связываете и поля из bkpf не присутствуют ни в выбираемых полях, ни в условии.


PS: в BSAK попадают уже склиренные счета. А если оплата пришла, но еще ни склирена, то ваш селект их не учитывает. Это так, для справки. Может по заданию их и не нужно отображать.

_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Sed0Y
Специалист
Специалист


Age: 41
Joined: 17 Mar 2010
Posts: 88
Location: Ukraine - Kiev

PostPosted: Mon Sep 27, 2010 2:58 pm    Post subject: Reply with quote

vga wrote:
Суровый селект.
1) Зачем из BSIK выбирать данные? Это открытые позиции.
2) Уберите join на bkpf, Вы не правильно таблицы связываете и поля из bkpf не присутствуют ни в выбираемых полях, ни в условии.


PS: в BSAK попадают уже склиренные счета. А если оплата пришла, но еще ни склирена, то ваш селект их не учитывает. Это так, для справки. Может по заданию их и не нужно отображать.


1. просто у нас они всегда открытые (как -то заведено)...
2. да и правда, я сначала думал верно было бы искать период через дату с bkpf, потом передумал, а джоин таблицы забыл убрать - спасибо!

и по поводу клиринга, у нас тоже не используется это, и не будет... (

Большое спасибо за попровку!!
Back to top
View user's profile Send private message
Dmitriy
Аналитик
Аналитик


Age: 47
Joined: 14 Nov 2008
Posts: 300
Location: Russia

PostPosted: Mon Sep 27, 2010 10:43 pm    Post subject: Reply with quote

Sed0Y wrote:
vga wrote:
Суровый селект.
1) Зачем из BSIK выбирать данные? Это открытые позиции.
2) Уберите join на bkpf, Вы не правильно таблицы связываете и поля из bkpf не присутствуют ни в выбираемых полях, ни в условии.


PS: в BSAK попадают уже склиренные счета. А если оплата пришла, но еще ни склирена, то ваш селект их не учитывает. Это так, для справки. Может по заданию их и не нужно отображать.


1. просто у нас они всегда открытые (как -то заведено)...
2. да и правда, я сначала думал верно было бы искать период через дату с bkpf, потом передумал, а джоин таблицы забыл убрать - спасибо!

и по поводу клиринга, у нас тоже не используется это, и не будет... (

Большое спасибо за попровку!!

JOIN и с LFA1 тоже можно убрать, поскольку в BSIK/BSAK поле LIFNR всегда будет заполнено существующим справочным значением. И ещё: "лишний" JOIN с BKPF написан неправильно, в будущем используйте максимально возможное число ключевых столбцов для аналогичных запросов с соединениями таблиц БД (в т.ч. и для целей оптимизации).

_________________
ABAP/4 You
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.