Текущее время: Сб, авг 02 2025, 15:10

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


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

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


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

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