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

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
 Заголовок сообщения: Контировка по объекту учета результатов в тр. F-02
СообщениеДобавлено: Ср, июн 15 2011, 13:46 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 19:13
Сообщения: 74
Пол: Мужской
Добрый день!

Создание FI-документа сейчас происходит с помощью BAPI_ACC_GL_POSTING_POST.

Как можно реализовать прогаммно следующее дополнение:
в тр. F-02 -> "ОбъектУчетРез" -> заполнить МВЗ и нажать на кнопку "Деривация".

Интересует как программно выполнить аналогичные действия, которые выполняются при нажатии на кнопку "Деривация"?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контировка по объекту учета результатов в тр. F-02
СообщениеДобавлено: Ср, июн 15 2011, 14:00 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 10 2011, 11:15
Сообщения: 9
Если нужен ОУР без деривации, то можно через группу функций FIPI (ФМ POSTING_INTERFACE_DOCUMENT), расширение для контировок RKE_*, где * название поля в ОУР. Обязательно надо заполнить значение t_ftpost-fval для t_ftpost-fnam = 'BSEG-RKE_BUKRS', иначе ОУР не будет заполняться при проводке.

Деривацию обычно Z* делают, как сделали, так и будет работать, заходи в настройку деривации и смотри код, который там написан.

И вообще не используй BAPI для проводок FI, часть замещений, в т.ч. деривация, не будет отрабатывать.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контировка по объекту учета результатов в тр. F-02
СообщениеДобавлено: Ср, июн 15 2011, 14:19 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 19:13
Сообщения: 74
Пол: Мужской
Lafanian написал(а):
Деривацию обычно Z* делают, как сделали, так и будет работать, заходи в настройку деривации и смотри код, который там написан.

И вообще не используй BAPI для проводок FI, часть замещений, в т.ч. деривация, не будет отрабатывать.

Нужен ОУР с деривацией.

Подскажите пожалуйста где смотреть настройки деривации?

Т.е. Вы хотите сказать что с помощью BAPI_ACC_GL_POSTING_POST я не смогу реализовать то, что мне нужно?
Дело в том, что изначально писал не я, поэтому переделывать не особо хочется, но если выхода нет, то что в данном случае порекомендуете использовать вместо BAPI?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контировка по объекту учета результатов в тр. F-02
СообщениеДобавлено: Чт, июн 16 2011, 10:18 
Начинающий
Начинающий

Зарегистрирован:
Пт, июн 10 2011, 11:15
Сообщения: 9
tav написал:
Вы хотите сказать что с помощью BAPI_ACC_GL_POSTING_POST я не смогу реализовать то, что мне нужно?
Дело в том, что изначально писал не я, поэтому переделывать не особо хочется, но если выхода нет, то что в данном случае порекомендуете использовать вместо BAPI?


Реализовать-то можно, но либо расширив BAPI, либо уже после проводки. Рекомендую переделать на FIPI, это по сути группа ФМов, правильно делающих пакетный ввод проводки. При этом существующая деривация у тебя отработает как надо, в точности как при проводке руками через FB01. Настройку деривации и её тест можешь посмотреть в тр-ии KEDR.

Пример пакетника через FIPI смотри в документации к ФМ POSTING_INTERFACE_DOCUMENT, либо вот:
Code:
DEFINE head.
  clear t_ftpost.
  t_ftpost-stype = 'K'.
  t_ftpost-count = &1.
  t_ftpost-fnam  = &2.
  t_ftpost-fval  = &3.
  append t_ftpost.
END-OF-DEFINITION.

DEFINE posn.
  clear t_ftpost.
  t_ftpost-stype = 'P'.
  t_ftpost-count = &1.
  t_ftpost-fnam  = &2.
  t_ftpost-fval  = &3.
  append t_ftpost.
END-OF-DEFINITION.


FORM post_fipi USING pv_tabix LIKE sy-tabix
               CHANGING p_post LIKE gs_out2.
  DATA: l_hkont TYPE c LENGTH 10.
  DATA: t_blntab  LIKE  blntab OCCURS 0 WITH HEADER LINE.
  DATA: t_ftpost  LIKE  ftpost OCCURS 0 WITH HEADER LINE.
  DATA: t_fttax LIKE  fttax OCCURS 0 WITH HEADER LINE.
  DATA: l_wrbtr TYPE c LENGTH 16,
        lv_dmbe LIKE p_post-wrbtr,
        lv_sdmbe LIKE l_wrbtr.

  DATA: l_blart TYPE blart.
  DATA: l_budat TYPE c LENGTH 10.
  DATA: l_bldat TYPE c LENGTH 10.
  DATA: lv_menge TYPE c.
  DATA: lv_pernr TYPE pernr_d,
        lv_hkont_d TYPE hkont,
        lv_hkont_c TYPE hkont,
        lv_datum TYPE char11.
  DATA lf_rcode      LIKE sy-subrc.

  DATA:
        lv_tabix LIKE sy-tabix.

  FIELD-SYMBOLS:
                 <ls_out2> LIKE LINE OF gt_out2,
                 <ls_log> LIKE LINE OF gt_ret_fipi.

  FIELD-SYMBOLS: <ls_put> LIKE LINE OF gt_put,
                 <ls_tbsl> LIKE LINE OF gt_tbsl.

  DATA l_zeile TYPE n LENGTH 5.

  l_zeile = pv_tabix.
*
**  lv_mode = 'N'. "Режим выполнения пакетного ввода
  CALL FUNCTION 'POSTING_INTERFACE_START'
    EXPORTING
*   I_CLIENT                 = SY-MANDT
      i_function               = 'C' "Есть возможность просто создать пакетник в SM35 для последующего выполнения
*   I_GROUP                  = ' '
*   I_HOLDDATE               = ' '
*   I_KEEP                   = ' '
     i_mode                   = p_batch
*   I_UPDATE                 = 'S'
*   I_USER                   = ' '
      i_user             = sy-uname
*   I_XBDCC                  = ' '
   EXCEPTIONS
     client_incorrect         = 1
     function_invalid         = 2
     group_name_missing       = 3
     mode_invalid             = 4
     update_invalid           = 5
     OTHERS                   = 6
            .
  IF sy-subrc <> 0.
...
    EXIT.
  ENDIF.
*
  WRITE p_post-budat TO l_budat.
  IF p_post-bldat IS INITIAL.
    WRITE p_post-budat TO l_bldat.
  ELSE.
    WRITE p_post-bldat TO l_bldat.
  ENDIF.
  WRITE p_post-wrbtr TO l_wrbtr.                        "#EC UOM_IN_MES
  lv_dmbe = 0.
  WRITE lv_dmbe TO lv_sdmbe.

  WRITE sy-datum TO lv_datum.
  CONCATENATE 'THAT BKTXT' lv_datum INTO p_post-bktxt SEPARATED BY space.

  IF p_per = 'X'.
    l_blart = 'PX'.
  ELSE.
    l_blart = 'SA'. "'WX'.
  ENDIF.

  head: 1 'BKPF-BLART' l_blart,
        1 'BKPF-BUKRS' p_bukrs,
        1 'BKPF-BUDAT' l_budat,
        1 'BKPF-BLDAT' l_bldat,
        1 'BKPF-WAERS' p_post-waers,
        1 'BKPF-XBLNR' p_post-xblnr,
        1 'BKPF-BKTXT' p_post-bktxt.

  posn: 1 'RF05A-NEWBS' p_post-bschl_c,
        1 'RF05A-NEWKO' p_post-hkont_c,
        1 'BSEG-WRBTR'  l_wrbtr,
  1 'BSEG-DMBE2'  lv_sdmbe.
*        1 'BSEG-SGTXT'  p_post-sgtxt.
*  IF  p_post-xref1 IS NOT INITIAL.
*    posn: 2 'BSEG-XREF1'  p_post-xref1.
*  ENDIF.
  posn: 2 'RF05A-NEWBS' p_post-bschl_d,
  2 'RF05A-NEWKO' p_post-hkont_d,
  2 'BSEG-WRBTR'  l_wrbtr,
  2 'BSEG-DMBE2'  lv_sdmbe.

  CALL FUNCTION 'POSTING_INTERFACE_DOCUMENT'
    EXPORTING
      i_tcode                  = 'FBB1' "'FB01'
    IMPORTING
      e_msgid                  = sy-msgid
      e_msgno                  = sy-msgno
      e_msgty                  = sy-msgty
      e_msgv1                  = sy-msgv1
      e_msgv2                  = sy-msgv2
      e_msgv3                  = sy-msgv3
      e_msgv4                  = sy-msgv4
      e_subrc                  = lf_rcode
    TABLES
      t_blntab                 = t_blntab
      t_ftpost                 = t_ftpost
      t_fttax                  = t_fttax
    EXCEPTIONS
      account_missing          = 1
      company_code_missing     = 2
      posting_key_invalid      = 3
      posting_key_missing      = 4
      record_type_invalid      = 5
      transaction_code_invalid = 6
      amount_format_error      = 7
      too_many_line_items      = 8
      company_code_invalid     = 9
      screen_not_found         = 10
      no_authorization         = 11
      OTHERS                   = 12.

  IF sy-subrc <> 0.
...
    EXIT.
  ENDIF.

  CALL FUNCTION 'POSTING_INTERFACE_END'
* EXPORTING
*   I_BDCIMMED                    = ' '
*   I_BDCSTRTDT                   = NO_DATE
*   I_BDCSTRTTM                   = NO_TIME
   EXCEPTIONS
     session_not_processable       = 1
     OTHERS                        = 2
            .
  IF sy-subrc <> 0.
...
    EXIT.
  ENDIF.

  COMMIT WORK AND WAIT.

ENDFORM.                    " POST_FIPI


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Контировка по объекту учета результатов в тр. F-02
СообщениеДобавлено: Чт, июн 16 2011, 16:50 
Младший специалист
Младший специалист

Зарегистрирован:
Вт, янв 30 2007, 19:13
Сообщения: 74
Пол: Мужской
Lafanian, спасибо за советы. Буду переделывать на FIPI.


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

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


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

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


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

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