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

Количество записей PNP


Goto page Previous  1, 2
 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
flex
Специалист
Специалист



Joined: 02 Feb 2011
Posts: 50

PostPosted: Thu Jul 21, 2011 11:40 am    Post subject: Reply with quote

Сделал так. Всем спасибо!

Code:
TYPES: BEGIN OF t_index,
          pernr LIKE pernr-pernr,
        END OF t_index,
        tt_index TYPE STANDARD TABLE OF t_index.

DATA: num_of_rec TYPE i.
"FIELD-SYMBOLS: <fs_tab> TYPE tt_index.

FIELD-SYMBOLS: <pr_tab> TYPE STANDARD TABLE.
**********************************************************************
START-OF-SELECTION.

  ASSIGN ('(SAPDBPNP)pernr_tab[]') TO <pr_tab>.

GET pernr.

IF num_of_rec EQ 0.
  DESCRIBE TABLE <pr_tab> LINES num_of_rec.
ENDIF.

  n = ( tab-index / num_of_rec ) * 100.

  " отражение процесса обработки ТН
  CONCATENATE 'Обработано' n '%'
    INTO g_progress_text SEPARATED BY space.
  CALL FUNCTION 'SAPGUI_PROGRESS_INDICATOR'
    EXPORTING
      percentage = 1
      text       = g_progress_text.

  tab-pernr = pernr-pernr.
  tab-index = tab-index + 1.
  APPEND tab.

END-OF-SELECTION.
Back to top
View user's profile Send private message
vga
Мастер
Мастер


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

PostPosted: Thu Jul 21, 2011 12:51 pm    Post subject: Reply with quote

Вообще не хорошо вызывать SAPGUI_PROGRESS_INDICATOR на каждую персону. Как максимум, вызывайте на изменение процента.
_________________
Молитва - это запрос разработчику на изменение кода программы.
Back to top
View user's profile Send private message Blog Visit poster's website
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Jul 21, 2011 2:04 pm    Post subject: Reply with quote

vga wrote:
Вообще не хорошо вызывать SAPGUI_PROGRESS_INDICATOR на каждую персону. Как максимум, вызывайте на изменение процента.

А лучше не 1 %, а 10%.
Или на каждую 1000 записей.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
flex
Специалист
Специалист



Joined: 02 Feb 2011
Posts: 50

PostPosted: Thu Jul 21, 2011 2:24 pm    Post subject: Reply with quote

Очень интересно... почему-то вытаскивается всего 82 записи


Хотя выводит в конце концов 399 табельных (без повторов).

И не могу понять почему 82х8, когда поле там всего одно.

Может я просто не знаю ещё чего Embarassed

Тип таблицы пробовал и так:
Code:
FIELD-SYMBOLS: <fs_tab> TYPE ANY TABLE.

и так
Code:
FIELD-SYMBOLS: <fs_tab> TYPE STANDARD TABLE.

и даже так
Code:

TYPES: BEGIN OF t_index,
          pernr LIKE pernr-pernr,
        END OF t_index,
        tt_index TYPE STANDARD TABLE OF t_index.

FIELD-SYMBOLS: <fs_tab> TYPE tt_index.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Jul 21, 2011 2:29 pm    Post subject: Reply with quote

flex wrote:
И не могу понять почему 82х8, когда поле там всего одно.

8 - это ширина таблицы в байтах Wink
flex wrote:
почему-то вытаскивается всего 82 записи

А вы выводите поле num_of_rec в список, посмотрите в динамике, сколько в таблице index записей при каждом прогоне GET pernr.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
flex
Специалист
Специалист



Joined: 02 Feb 2011
Posts: 50

PostPosted: Thu Jul 21, 2011 2:32 pm    Post subject: Reply with quote

Quote:
8 - это ширина таблицы в байтах Wink


Да, такие мысли были Laughing
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Jul 21, 2011 2:38 pm    Post subject: Reply with quote

Попробуйте посмотреть, сколько записей в таблице index_all
_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
flex
Специалист
Специалист



Joined: 02 Feb 2011
Posts: 50

PostPosted: Thu Jul 21, 2011 3:46 pm    Post subject: Reply with quote

index_all не ассайнится...

Посидел в отладчике, заметил что в DBPNPF01 (176 строка) такой кусок:
Code:

        APPEND LINES OF index_all FROM low_value to high_value
                     TO index.
        IF sy-tabix = 0.


Там изначально в index, pernr_tab идут вообще все табельные из 3го инфо-типа, затем почему-то по 100 штук идут на проверку и ненужные отсеиваются. Что-то вроде того.

Попробовал ещё несколько таблиц типа pyindex, нашел ещё переменную pernr_count, но это все до обработки и фильтрации как я понял (ну и вытащить их тоже не получилось...

В конце концов index[] в цикле GET PERNR - END-OF-SELECTION меняет количество записей (кусками подает, как я понял)...

В общем как-то так)
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
Goto page Previous  1, 2
Page 2 of 2

 
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.