Текущее время: Вс, май 04 2025, 20:34

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


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

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


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

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