Текущее время: Вт, июл 22 2025, 22:22

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




Начать новую тему Ответить на тему  [ Сообщений: 4 ] 
Автор Сообщение
 Заголовок сообщения: Удаление ОС со значениями
СообщениеДобавлено: Пн, окт 22 2012, 18:06 
Начинающий
Начинающий

Зарегистрирован:
Ср, окт 10 2012, 14:24
Сообщения: 15
Подскажите пожалуйста каким способом можна удалить ОСы с введенными значениями!!


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Удаление ОС со значениями
СообщениеДобавлено: Пн, окт 22 2012, 18:46 
Специалист
Специалист

Зарегистрирован:
Вт, июн 12 2012, 12:25
Сообщения: 104
Откуда: Київ/Киев
Пол: Мужской
Никаким!
Возможность удаления только если не было никаких движений.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Удаление ОС со значениями
СообщениеДобавлено: Вт, окт 30 2012, 11:19 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Вт, янв 23 2007, 11:04
Сообщения: 404
Откуда: ПровинциЯ
Dimionddddd написал(а):
Подскажите пожалуйста каким способом можна удалить ОСы с введенными значениями!!


Если вы ввели значения в AS91, при этом еще не успели сделать никаких движений по карточке и не прогнали по ней амортизацию, то можно.
Удалите все значение в AS92, проставьте дату списания и удалите с помощью транзакции AS06


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Удаление ОС со значениями
СообщениеДобавлено: Ср, окт 31 2012, 10:01 
Специалист
Специалист

Зарегистрирован:
Ср, фев 14 2007, 17:14
Сообщения: 231
shurale написал(а):
Dimionddddd написал(а):
Подскажите пожалуйста каким способом можна удалить ОСы с введенными значениями!!


Если вы ввели значения в AS91, при этом еще не успели сделать никаких движений по карточке и не прогнали по ней амортизацию, то можно.
Удалите все значение в AS92, проставьте дату списания и удалите с помощью транзакции AS06

AS06 будет все равно ругаться , т.к. запись в anlc уже появилась. Поэтому еще и anlс надо будет потереть по этой карточке.

Но это все на ваш страх и риск. Если все сделать правильно то никаких проблем не возникнет.

Эхъ . Есть у меня программа на этот случай( писал быстро поэтому она выглядит корявой):
Сначала запускаете в режиме X_DO она чистит табличку anlc и удаляет даты в anla.
Второй запуск c x_do и с x_del - в этот момент программа запускает пакетник AS06.

Но опять же используете её на свой страх и риск.


Code:
*&---------------------------------------------------------------------*
*& Report  Z_DELETE_PRE
*&
*&---------------------------------------------------------------------*
*&
*&
*&---------------------------------------------------------------------*

REPORT  z_delete_assets.

TABLES: anla,
        anlc.

DATA: gt_anla TYPE TABLE OF anla,
      gs_anlc TYPE anlc,
      gs_anla TYPE anla.

DATA: mod(1).

DATA:   bdcdata LIKE bdcdata    OCCURS 0 WITH HEADER LINE.

PARAMETER: p_bukrs TYPE bukrs OBLIGATORY DEFAULT '8000'.

SELECT-OPTIONS: s_anln1 FOR anla-anln1 OBLIGATORY,
                s_anln2 FOR anla-anln2.

PARAMETERS:  x_do AS CHECKBOX,
             x_del AS CHECKBOX.

PARAMETERS: p_e    RADIOBUTTON GROUP l1 DEFAULT 'X' USER-COMMAND rb,
            p_a    RADIOBUTTON GROUP l1.


CLEAR: mod.
CASE 'X'.
  WHEN p_e.
    mod = 'E'.
  WHEN p_a.
    mod = 'A'.
ENDCASE.


SELECT * FROM anla
  INTO TABLE gt_anla
  WHERE bukrs = p_bukrs
    AND anln1 IN s_anln1
    AND anln2 IN s_anln2.


IF sy-subrc = 0.
  LOOP AT gt_anla INTO gs_anla.
    SELECT SINGLE * FROM anlc
      INTO gs_anlc
      WHERE bukrs = p_bukrs
        AND anln1 = gs_anla-anln1
        AND anln2 = gs_anla-anln2.
    IF sy-subrc = 0.
      WRITE : 'На карточку ОС', gs_anla-anln1, '-', gs_anla-anln2, 'Уже заведены суммы'.
      IF x_do IS INITIAL.
      ELSE.
        DELETE anlc FROM gs_anlc.
        COMMIT WORK AND WAIT.
      ENDIF.
    ENDIF.
    IF x_do IS INITIAL.
      WRITE: 'Карточку ОС', gs_anla-anln1, '-', gs_anla-anln2, 'Можно удалить'.
    ELSE.
      CLEAR: gs_anla-aktiv,
             gs_anla-zugdt,
             gs_anla-zujhr,
             gs_anla-zuper.
      MODIFY anla FROM gs_anla.

      COMMIT WORK AND WAIT.
      IF x_del IS NOT INITIAL.
*        REFRESH bdcdata.
        PERFORM as06.
      ENDIF.
      WRITE: 'Карточка ОС', gs_anla-anln1, '-', gs_anla-anln2, 'Готова для удаления с помощью AS06'.
    ENDIF.
*    ENDIF.
  ENDLOOP.
ELSE.
  WRITE: 'ОС с номером', gs_anla-anln1, '-', gs_anla-anln2, 'Не существует'.

ENDIF.


*&---------------------------------------------------------------------*
*&      Form  as06
*&---------------------------------------------------------------------*
*       text
*----------------------------------------------------------------------*
FORM as06.

  CLEAR: bdcdata,
         bdcdata[].


  PERFORM bdc_dynpro      USING 'SAPLAIST' '0100'.


  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'ANLA-ANLN1'.

  PERFORM bdc_field       USING 'ANLA-ANLN1'
                                gs_anla-anln1.
  PERFORM bdc_field       USING 'ANLA-ANLN2'
                                gs_anla-anln2.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=ENTEDEL'.
  PERFORM bdc_field       USING 'ANLA-ANLN1'
                                gs_anla-anln1.
  PERFORM bdc_field       USING 'ANLA-ANLN2'
                                gs_anla-anln2.
  PERFORM bdc_field       USING 'ANLA-BUKRS'
                                p_bukrs.

  PERFORM bdc_dynpro      USING 'SAPLAIST' '0210'.
  PERFORM bdc_field       USING 'BDC_CURSOR'
                                'RA02S-XPHYS'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                'RW'.
  PERFORM bdc_field       USING 'NO_SELECTION'
                                ''.
  PERFORM bdc_field       USING 'RA02S-XPHYS'
                                'X'.

  PERFORM bdc_dynpro      USING 'SAPLSPO1' '0100'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=YES'.

  PERFORM bdc_dynpro      USING 'SAPLSPO1' '0100'.
  PERFORM bdc_field       USING 'BDC_OKCODE'
                                '=YES'.

  CALL TRANSACTION 'AS06' USING bdcdata MODE mod UPDATE 'S'.
ENDFORM.                    "as06

*----------------------------------------------------------------------*
*        Start new screen                                              *
*----------------------------------------------------------------------*
FORM bdc_dynpro USING program dynpro.
  CLEAR bdcdata.
  bdcdata-program  = program.
  bdcdata-dynpro   = dynpro.
  bdcdata-dynbegin = 'X'.
  APPEND bdcdata.
ENDFORM.                    "BDC_DYNPRO

*----------------------------------------------------------------------*
*        Insert field                                                  *
*----------------------------------------------------------------------*
FORM bdc_field USING fnam fval.
  DATA: nodata(1) TYPE c VALUE '/'.
  IF fval <> nodata.
    CLEAR bdcdata.
    bdcdata-fnam = fnam.
    bdcdata-fval = fval.
    APPEND bdcdata.
  ENDIF.
ENDFORM.                    "BDC_FIELD


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

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


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

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


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

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