Текущее время: Вс, июл 20 2025, 00:41

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


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

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


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

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