Текущее время: Пт, июн 07 2024, 16:22

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: нет зарегистрированных пользователей


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

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