Автор Тема: Редактирование записей в Z* таблице  (Прочитано 7010 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Валентина

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
Уважаемые абаперы! Изучать ABAP я начала не так давно, поэтому не обессудьте. Проблема вот какая. Несколько пользователей одновременно используют z* таблицу для изменения данных. Одна и та же запись одновременно оказаться у разных пользователей не может. Когда изменения во внутренней таблицы произведены, происходит изменение z* таблицы. Для наглядности:
Код: You are not allowed to view links. Register or Login
UPDATE zelzvi FROM TABLE lt_zelzvi.
      IF sy-subrc = 0.
          COMMIT WORK   AND WAIT.
          MESSAGE s055.
        ELSE.
          ROLLBACK WORK.
        ENDIF.
lt_zelzvi - внутренняя таблица с измененными данными. Проблема в том, что не все записи изменяются. И от чего это зависит не могу понять. И ситуацию такую сделать не могу, потому как не могу понять почему! Помогите кто чем может!

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Редактирование записей в Z* таблице
« Ответ #1 : Март 28, 2015, 10:22:38 am »
You are not allowed to view links. Register or Login
lt_zelzvi - внутренняя таблица с измененными данными. Проблема в том, что не все записи изменяются. И от чего это зависит не могу понять. И ситуацию такую сделать не могу, потому как не могу понять почему! Помогите кто чем может!
Ну раз разные пользователи, то хотелось бы узнать каким образом вы разным пользователям не даете менять одну и туже запись. Т.е. показывайте свой механизм выбора записей во внутреннюю таблицу lt_zelzvi для изменений.

Оффлайн Валентина

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Редактирование записей в Z* таблице
« Ответ #2 : Март 30, 2015, 01:51:12 pm »
select-ом выбираю данные из таблицы по введенным параметрам на селекционном экране
Код: You are not allowed to view links. Register or Login
SELECT *
  INTO CORRESPONDING FIELDS OF TABLE lt_zelzvi
  FROM zelzvi
  WHERE
  dispo IN so_dispo AND
  werks = p_werks AND
  status IN s_status AND
  elzvblnr IN s_elznr AND
  matnr IN s_matnr AND
  fevor IN s_fevor AND
  gstrs_f IN s_gstrs.

И выкидываю блокированные позиции
Код: You are not allowed to view links. Register or Login
CALL FUNCTION 'ENQUEUE_EZZELZVI'
*     EXPORTING   ELZVBLNR = ls_zelzvi-ELZVBLNR
*     EXCEPTIONS  FOREIGN_LOCK   = 1
*                 SYSTEM_FAILURE = 2.

ELZVBLNR - уникальный ключ

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Редактирование записей в Z* таблице
« Ответ #3 : Март 30, 2015, 04:15:15 pm »
You are not allowed to view links. Register or Login
Код: You are not allowed to view links. Register or Login
CALL FUNCTION 'ENQUEUE_EZZELZVI'
*     EXPORTING   ELZVBLNR = ls_zelzvi-ELZVBLNR
*     EXCEPTIONS  FOREIGN_LOCK   = 1
*                 SYSTEM_FAILURE = 2.
А это вы из кода брали? Тогда не ясно почему у вас строки закомментированны, там где ключ и остальное. Вот этот символ * показывает что строка коментирована

Оффлайн Валентина

  • Newbie
  • *
  • Сообщений: 3
  • Репутация: +0/-0
  • YearsYearsYearsYearsYearsYearsYearsYearsYears
Re: Редактирование записей в Z* таблице
« Ответ #4 : Март 31, 2015, 07:41:20 am »
да, из кода, я пробовала уже несколько вариаций, в том числе и эту. Не помогло. Вернула обратно. Боюсь совсем сломать

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 809
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
Re: Редактирование записей в Z* таблице
« Ответ #5 : Март 31, 2015, 09:58:02 am »
You are not allowed to view links. Register or Login
да, из кода, я пробовала уже несколько вариаций, в том числе и эту. Не помогло. Вернула обратно. Боюсь совсем сломать
Мда, ну раз вы вообще не понимаете что и как написано в программе, то могу только посочувствовать. Вы не правильной используете блокирование записей, поэтому затягиваете во внутреннюю таблицу данные которые изменяются другими пользователями, вот и происходит перезапись данных друг другом. Вообще очень советую начать читать с этой книги: You are not allowed to view links. Register or Login иначе толку от вашего программирования будет очень мало  :-\

Sapforum.Biz

Re: Редактирование записей в Z* таблице
« Ответ #5 : Март 31, 2015, 09:58:02 am »