Текущее время: Пн, июл 21 2025, 14:40

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Запись в кластер
СообщениеДобавлено: Чт, дек 13 2007, 19:26 
Ассистент
Ассистент

Зарегистрирован:
Пт, авг 17 2007, 15:30
Сообщения: 36
Подскажите, как можно сделать запись в кластер g1.
Пробывал макросом RP-EXP-C1-G1, не получается.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в кластер
СообщениеДобавлено: Вт, дек 18 2007, 11:47 
Директор
Директор

Зарегистрирован:
Чт, июн 21 2007, 09:01
Сообщения: 904
Откуда: УЖ 15/2
Пол: Мужской
comrade написал(а):
Подскажите, как можно сделать запись в кластер g1.
Пробывал макросом RP-EXP-C1-G1, не получается.

Как-нибудь так:
Code:
TABLES pcl1.

DATA: gs_gb  TYPE pllpb,
      gs_key TYPE pll10,
      gt_gk  TYPE TABLE OF plllk,
      gt_ge  TYPE TABLE OF pll15,
      gt_ga  TYPE TABLE OF pllga,
      gt_gp  TYPE TABLE OF pll14,
      gt_gpa TYPE TABLE OF pllpa.

pcl1-aedtm = sy-datum.
pcl1-uname = sy-uname.
pcl1-pgmid = sy-repid.
pcl1-versn = '01'.

gs_key-grunr = 1.
gs_key-pabrj = sy-datum+0(4).
gs_key-pabrp = sy-datum+4(2).

EXPORT gb FROM gs_gb
       ga FROM gt_ga
       ge FROM gt_ge
       gk FROM gt_gk
       gp FROM gt_gp
       gpa FROM gt_gpa
TO   DATABASE pcl1(g1) ID gs_key.

Смотрите также ФМ RP_UPDATE_LLOHN.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в кластер
СообщениеДобавлено: Ср, апр 15 2009, 18:23 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 15 2009, 18:02
Сообщения: 5
Возвращаясь к теме. Все же хочется воспользоваться rp-imp-c1-g1.
Вот наваял:
Code:
REPORT zhrr_delete_g1_test .

TABLES: prel, *prel, pcl1, pcl2.

DATA gv_srtfd LIKE  pcl1-srtfd.

PARAMETERS: i_srtfd    LIKE pll10.

INCLUDE:
rpc1g100
,rpppxd00
*,rpppxd10
.
DATA: BEGIN OF COMMON PART BUFFER.
INCLUDE RPPPXD10.
DATA: END OF COMMON PART.
INCLUDE
rpppxm00
.
START-OF-SELECTION.
  gv_srtfd = i_srtfd.
  CALL FUNCTION 'ENQUEUE_EPWUPD'
       EXPORTING
            relid          = 'G1'
            srtfd          = gv_srtfd
       EXCEPTIONS
            foreign_lock   = 4
            system_failure = 8.

  PERFORM read_g1.
END-OF-SELECTION.

CHECK NOT gk[] IS INITIAL.
LOOP AT gk.
  IF sy-tabix = 1.
    gk-ruw05 = 1234.
    MODIFY gk.
  ENDIF.
ENDLOOP.
PERFORM fill_gb.
PERFORM write_g1.
*---------------------------------------------------------------------*
*       FORM READ_G1                                                  *
*---------------------------------------------------------------------*
FORM read_g1.                                               "K11K085383
  g1-key = i_srtfd.
  REFRESH: ga.
  CLEAR: ga.
  rp-imp-c1-g1.
  IF rp-imp-g1-subrc NE 0.
    IF main-subrc EQ 12.
      MESSAGE a319(53) WITH 'G1'.          "Keine Cluster-Berechtigung
    ENDIF.
  ELSE.
    IF og1-version-number NE g1-version-number.
*      UPD_SUBRC = 4.
      MESSAGE a403(53) WITH og1-version-number.     "Umsetzen
    ENDIF.
  ENDIF.
ENDFORM.
*&---------------------------------------------------------------------*
*&      Form  save_data
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
*  -->  p1        text
*  <--  p2        text
*----------------------------------------------------------------------*
FORM write_g1.                                              "K11K085383
  g1-version-saprl = sy-saprl.
  g1-version-uname = sy-uname.                              "ALRK016141
  g1-version-datum = sy-datum.                              "ALRK016141
  g1-version-uzeit = sy-uzeit.                              "ALRK016141
  g1-version-pgmid = sy-repid.                              "ALRK016141
  SORT  ga BY budat ruckr.
  SORT: gp, ge, gk.
  rp-exp-c1-g1.
  IF rp-imp-g1-subrc NE 0.
    IF main-subrc EQ 12.
      MESSAGE a319(53) WITH 'G1'.          "Keine Cluster-Berechtigung
    ELSE.
*      UPD_SUBRC = 4.
      MESSAGE a404(53) WITH g1-key.        "Export-Fehler
    ENDIF.
  ENDIF.
ENDFORM.
*---------------------------------------------------------------------*
*       FORM FILL_GB                                                  *
*---------------------------------------------------------------------*
*       ........                                                      *
*---------------------------------------------------------------------*
FORM fill_gb.
  LOOP AT gk WHERE budat CO ' 0'.
    MOVE-CORRESPONDING gk TO gb.
    EXIT.
  ENDLOOP.
ENDFORM.

Но не обновляет G1. Может кто своим "острым" взглядом увидит чего тут не так?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Запись в кластер
СообщениеДобавлено: Чт, апр 16 2009, 09:25 
Младший специалист
Младший специалист

Зарегистрирован:
Пн, ноя 13 2006, 14:42
Сообщения: 93
Пол: Мужской
В процедуре write_g1 в конце надо добавить такой вызов

PERFORM UPDATE_WITH_TABLES(SAPUP50R)
TABLES tBUFF
BUFFER_DIR
PSOPER
payr_BUFFER
DEL_pclx_tab
USING 'X'.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Запись в кластер
СообщениеДобавлено: Чт, апр 16 2009, 10:57 
Начинающий
Начинающий

Зарегистрирован:
Ср, апр 15 2009, 18:02
Сообщения: 5
Спасибо, Aleqs.
Приведенное решение:
Code:
  PERFORM update_with_tables(sapup50r) TABLES tbuff
                                              buffer_dir
                                              psoper
                                              payr_buffer
                                              del_pclx_tab
                                        USING 'X'.

действительно решило проблему, но параллельно взглянул еще на другие проги и чаще используется(или мне так попалось)
PERFORM prepare_update USING 'V'. (из RPPPXM00 "R/3-модули : обращение с PCL1(2)-буферами")
И теперь код выглядит у меня так:
Code:
FORM write_g1.                                              "K11K085383
*  DATA: BEGIN OF PSOPER OCCURS 10.
*          INCLUDE STRUCTURE PRELP.
*  DATA: OPERA.
*  DATA: END OF PSOPER.
  g1-version-saprl = sy-saprl.
  g1-version-uname = sy-uname.                              "ALRK016141
  g1-version-datum = sy-datum.                              "ALRK016141
  g1-version-uzeit = sy-uzeit.                              "ALRK016141
  g1-version-pgmid = sy-repid.                              "ALRK016141
  SORT  ga BY budat ruckr.
  SORT: gp, ge, gk.
  rp-exp-c1-g1.
  IF rp-imp-g1-subrc EQ 0.
*   обновляем данные в PCL1(g1)
    PERFORM prepare_update USING 'V'.
*   а можно и так
*    PERFORM update_with_tables(sapup50r) TABLES tbuff
*                                                buffer_dir
*                                                psoper
*                                                payr_buffer
*                                                del_pclx_tab
*                                          USING 'X'.
  ELSE.
    IF main-subrc EQ 12.
      MESSAGE a319(53) WITH 'G1'.          "Keine Cluster-Berechtigung
    ELSE.
      MESSAGE a404(53) WITH g1-key.        "Export-Fehler
    ENDIF.
  ENDIF.
ENDFORM.


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

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


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

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


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

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