Текущее время: Ср, май 14 2025, 23:36

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 7 ] 
Автор Сообщение
 Заголовок сообщения: Запись в кластер.
СообщениеДобавлено: Ср, июн 29 2005, 12:32 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
Подскажите, как мне записать БД измененную таблицу PC261.
Я считал внутреннюю таблицу ФМ:
Code:
CALL FUNCTION 'CU_READ_RGDIR'
       EXPORTING
            persnr          = e_pernr
       TABLES
            in_rgdir        = rgdir.


Далее произвел изменения в ней и хочу записать обратно.
Пробовал разные варианты, возвращает sy-subrc = 0 , т.е
запись прошла нормально, но опять загрузив rgdir, видно, что ничего не поменялось :cry:

Что мне надо вписать вместо "*"?

EXPORT rgdir TO DATABASE ***(**) ID *.

Заранее спасибо.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 29 2005, 12:41 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Code:
CU_WRITE_RGDIR_NEW
?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 29 2005, 13:03 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
написал
Code:
CALL FUNCTION 'CU_WRITE_RGDIR_NEW'
       EXPORTING
         persnr                    = e_pernr
         molga                     = '33'
*        IMP_CLIENT                =
       tables
         rgdir                     = rgdir
      EXCEPTIONS
        NO_UPDATE_AUTHORITY       = 1
        OTHERS                    = 2
               .
     IF sy-subrc <> 0.


Выдало sy-subrc = 0 , но при последующенм чтении этого e_pernr.
rgdir остается старая. Внутри этого ФМ вроде тоже все нормально.
Проделывается EXPORT ...
и возвращается 0.
В чем ошибка?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 29 2005, 13:33 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Salas написал(а):
написал
Code:
CALL FUNCTION 'CU_WRITE_RGDIR_NEW'
       EXPORTING
         persnr                    = e_pernr
         molga                     = '33'
*        IMP_CLIENT                =
       tables
         rgdir                     = rgdir
      EXCEPTIONS
        NO_UPDATE_AUTHORITY       = 1
        OTHERS                    = 2
               .
     IF sy-subrc <> 0.


Выдало sy-subrc = 0 , но при последующенм чтении этого e_pernr.
rgdir остается старая. Внутри этого ФМ вроде тоже все нормально.
Проделывается EXPORT ...
и возвращается 0.
В чем ошибка?

Был не прав - этот ФМ сохраняет результат в буфере.
Для того, чтобы записать в базу - посмотри как устроен макрос RP-EXP-C2-CU-NOBUFF. (include RPC2CD09)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 29 2005, 18:45 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
Записывать в rgdir в кластер можно и напрямую - это получилось:

Code:
EXPORT rgdir TO DATABASE PCL2(CU) ID e_pernr.


Т.е. необходимо записывать в каталог кластеров CU.

Но теперь не получается уже сохранить в БД таблицу изменнную структуру
Code:
result TYPE pay99_result

считываемую ФМ
Code:
CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
      EXPORTING
        clusterid                          = 'RY'
        employeenumber                     = e_pernr
        sequencenumber                     = rgdir-seqnr
        CHANGING
          payroll_result                  = result.

Code:
EXPORT result TO DATABASE PCL2(RY) ID e_pernr.

не сохраняет.
Подскажите, в каком она кластере живет?
Или как мне её иначе перезаписать?
(ФМ:
Code:
CALL FUNCTION 'PYXX_WRITE_PAYROLL_RESULT'
не выполняет этого)


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 30 2005, 10:44 
Гость
мне кажется что модифицировать результаты в кластере рассчета будет очень НЕ правильно особенно в продуктивной системе , правильное решение написать схему корректирующую рассчет

CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'

CALL FUNCTION 'PYXX_READ_PAYROLL_RESULT'
exporting
clusterid = 'UR'
employeenumber = z_pernr
sequencenumber = z_number
read_only_buffer = ' '
read_only_international = ' '
changing
payroll_result = z_result

modify z_result

CALL FUNCTION 'PYXX_WRITE_PAYROLL_RESULT'
exporting
clusterid = 'UR'
employeenumber = z_pernr
sequencenumber = z_number
payroll_result = z_result

CALL FUNCTION 'HR_FLUSH_BUFFER_UPDATE_PCLX'

CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'


P.S. есественно слова правильно употреблены при взгляде на задачку с моей колокольни ..

с уважением Ю.Ю.


Принять этот ответ
Вернуться к началу
  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июн 30 2005, 11:56 
Специалист
Специалист

Зарегистрирован:
Пт, мар 25 2005, 13:58
Сообщения: 216
Спасибо.
Теперь все работает!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 7 ] 

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: Ahrefs [Bot]


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB