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

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




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: AVC и условия платежа
СообщениеДобавлено: Чт, май 29 2008, 12:20 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 29 2008, 10:25
Сообщения: 10
Добрый день. Подскажите пожалуйста, каким образом можно настроить активный контроль, чтоб он проверял доступность средств для платежей в рассрочку (ММ-х заказов с условиями платежа). У меня AVC проверяет наличие средств относительно деблокирований. В каждом месяце осуществляется планирование /корректировка плановых данных и деблокируется сумма на месяц. Получается, человек может заключить договор и первый платеж по нему "втиснуть" в запланированную и деблокированную на месяц сумму. Как я могу настроить AVC , чтоб система проверяла, запланированны ли все последующие выплаты. Заранее извиняюсь, если обьясняю коряво :oops: , у меня это первый проект и только начинаю осваивать этот блок настроек.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, май 29 2008, 22:23 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Чт, окт 20 2005, 08:45
Сообщения: 1651
Пол: Мужской
по операциям распишите что происходит ибо непонятно :?
и непонятно чего хотите контролировать? план???


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, май 30 2008, 12:00 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 29 2008, 10:25
Сообщения: 10
В нашем проектном решении БО=БП. Проводим в текущем периоде Заказ на поставку либо Контракт с определенными условиями оплаты, каким образом будет контролтроваться бюджет обязательств? Сумма заказа сопоставляется с суммой деблокированного на этот месяц БО. Тоесть выходит, что в этом месяце в БО должна быть запланированна общая сумма по заказу, а в БП, который уточняется ежемесячно она будет проводиться несколькими платежами. Следовательно в конце текущего месяца финансисту необходимо будет переносами распределить невостребованную сумму БП на след месяцы для последующих выплат.... :roll: Невозможно никак настроить эту разбивку автоматически?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 02 2008, 12:47 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 29 2008, 10:25
Сообщения: 10
Добрый день. Необходимо настроить контроль наличия помесячно в пределах годового бюджета. На форуме уже была эта тема, но из нее ничего конкретно неясно, кроме того, что сделать это можно с помощью BADI FMAVC_ENTRY_FILTER ,сейчас с ним разбираюсь.
По этой теме выкладывался файл с примером реализации данного Badi но он к сожалению уже недоступен. Буду очень признательна за любую информацию по данной теме.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Ср, июн 04 2008, 10:20 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 29 2008, 10:25
Сообщения: 10
Уважаемые форумчане, все еще жду ответа. Создала по 12 регистров для БО и БП, присвоила им профиль отклонений и стратегии деривации (для каждого вида бюджета). Теперь по-идее я должна каким-то образом прописать правилами деривации наследование этих регистров, можно ли это сделать с помощью доступа в таблицу FMAVCT :?:
Также есть BADI FMAVC_ENTRY_FILTER с методами BUDGET_FILTER и POSTING_FILTER, которая согласно хелпу позволяет:

- выборочно исключать определенные записи данных бюджета и фактических данных из контроля наличия;

- модифицировать отдельные значения записей бюджета или фактических данных посредством сождания регистров контроля наличия.
:idea: Поделитесь плз опытом реализации (внедрения) этого BADI


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, июн 06 2008, 11:23 
Гуру-модератор
Гуру-модератор

Зарегистрирован:
Чт, окт 20 2005, 08:45
Сообщения: 1651
Пол: Мужской
Как посмотрю тема АКН в разрезе периодов пользуется популярностью...
В связи с этим выкладываю здесь реализацию коллеги LS.
Сразу предупреждаю, что реализация сыровата, поэтому потребуется определенная работа напильником :)

Code:
1. создать структуру FMAVC_S_FILTER_BADI_AVC_LINE (SE11):

Short Description: Structure for the BAdI FMAVC_ENTRY_FILTER: AVC Line

Component      Component Type
ALDNR         BUAVC_ALDNR
ARCTY         BUAVC_ARCTY
CEFFYEAR_AVC   GNJHR
ACO_ADDRESS      FMAVC_S_DIMENSIONS
CHECKHORIZON   BUAVC_CHECKHORIZON
CURRENCY      FM_WAERS
RPMAX         RPMAX



2. Создать структуру FMAVC_S_FILTER_BADI_VALUES (SE11):

Short Description: Structure for the BAdI FMAVC_ENTRY_FILTER: AVC Values

Component      Component Type   Reference Table    Ref. Field
LVAL01      LVALXX9      FM01         WAERS
LVAL02      LVALXX9      FM01         WAERS
LVAL03      LVALXX9      FM01         WAERS
LVAL04      LVALXX9      FM01         WAERS
LVAL05      LVALXX9      FM01         WAERS
LVAL06      LVALXX9      FM01         WAERS
LVAL07      LVALXX9      FM01         WAERS
LVAL08      LVALXX9      FM01         WAERS
LVAL09      LVALXX9      FM01         WAERS
LVAL10      LVALXX9      FM01         WAERS
LVAL11      LVALXX9      FM01         WAERS
LVAL12      LVALXX9      FM01         WAERS
LVAL13      LVALXX9      FM01         WAERS
LVAL14      LVALXX9      FM01         WAERS
LVAL15      LVALXX9      FM01         WAERS
LVAL16      LVALXX9      FM01         WAERS


3. Создать BAdi definition FMAVC_ENTRY_FILTER (SE18):

Definition short Text: Enhance the Filter Settings for Availability Control (FM)

Закладка 'Interface'

Даблклик на интерфейсе IF_EX_FMAVC_ENTRY_FILTER:

Создать след. методы:

Method      Level         Description
BUDGET_FILTER   Instance Method   Apply filter exit for budget values
POSTING_FILTER   Instance Method   Apply filter exit for posting values

Параметры для метода BUDGET_FILTER:

Parameter      Type      Typing   Associated Type
I_S_BUDGET_LINE   Importing   Type      FMKU_S_LINE
I_S_AVC_LINE   Importing   Type      FMAVC_S_FILTER_BADI_AVC_LINE
E_FLG_SKIP_ENTRY   Exporting   Type      XFELD
C_S_AVC_VALUES   Changing   Type      FMAVC_S_FILTER_BADI_VALUES

Параметры для метода POSTING_FILTER:

Parameter      Type      Typing   Associated Type
I_S_POSTING_LINE   Importing   Type      FMAVC_S_ACTUALS_LINE
I_S_AVC_LINE   Importing   Type      FMAVC_S_FILTER_BADI_AVC_LINE
E_FLG_SKIP_ENTRY   Exporting   Type      XFELD
C_S_AVC_VALUES   Changing   Type      FMAVC_S_FILTER_BADI_VALUES

Активировать и вернуться к BAdi Definition.
Нажать кнопку 'Check' :)
Нажать Regenerate (Меню: Utilities/Regeneration).


4. Модифицировать класс CL_FMAVC_LEDGER (SE24):

4.1. Новые атрибуты:

Attribute           Level               Visibility Typing       Associated type Initial Value
C_NAME_FILTER_BADI  Constant             Protected  Type       EXIT_DEF        'FMAVC_ENTRY_FILTER'
G_REF_FILTER_BADI   Instance Attribute  Protected  Type Ref To  IF_EX_FMAVC_ENTRY_FILTER

4.2. Новый метод:

Method          Level         Visibility  Description
FILTER_EXIT_UPD_APPLY Instance Method  Protected   Apply filter for posting data

Параметры:

Parameter         Type      Typing   Associated Type
I_S_ORIG_ENTRY      Importing   Type      FMAVC_S_ACTUALS_LINE
E_FLG_SKIP_ENTRY      Exporting   Type      XFELD
C_S_ENTRY_BUFFER_LINE   Changing   Type      ANY


Код:

METHOD filter_exit_upd_apply.

  DATA: l_f_avc_line   TYPE fmavc_s_filter_badi_avc_line,
        l_f_avc_values TYPE fmavc_s_filter_badi_values.

  FIELD-SYMBOLS: <avc_area>  TYPE avc_area,
                 <address>   TYPE address,
                 <category>  TYPE category,
                 <check_att> TYPE check_att,
                 <values>    TYPE values.

  CLEAR e_flg_skip_entry.

  IF me->g_ref_filter_badi IS INITIAL.
    CALL METHOD cl_exithandler=>get_instance
      EXPORTING
        exit_name              = me->c_name_filter_badi
        null_instance_accepted = seex_true
      CHANGING
        instance               = me->g_ref_filter_badi
      EXCEPTIONS
        OTHERS                 = 1.
    IF sy-subrc <> 0.
      CLEAR me->g_ref_filter_badi.
      MESSAGE x012(01).
    ENDIF.
  ENDIF.

  CHECK NOT ( me->g_ref_filter_badi IS INITIAL ).

  ASSIGN COMPONENT: 'AVC_AREA'
                    OF STRUCTURE c_s_entry_buffer_line
                    TO <avc_area>,
                    'ADDRESS'
                    OF STRUCTURE c_s_entry_buffer_line
                    TO <address>,
                    'CATEGORY'
                    OF STRUCTURE c_s_entry_buffer_line
                    TO <category>,
                    'CHECK_ATT'
                    OF STRUCTURE c_s_entry_buffer_line
                    TO <check_att>,
                    'VALUES'
                    OF STRUCTURE c_s_entry_buffer_line
                    TO <values>.


  MOVE: <avc_area>-rldnr          TO l_f_avc_line-aldnr,
        <category>-rrcty          TO l_f_avc_line-arcty,
        <category>-ceffyear       TO l_f_avc_line-ceffyear_avc,
        <address>-dimensions      TO l_f_avc_line-aco_address,
        <check_att>-check_horizon TO l_f_avc_line-checkhorizon,
        <check_att>-currency      TO l_f_avc_line-currency,
        <values>-rpmax            TO l_f_avc_line-rpmax.

  MOVE-CORRESPONDING <values> TO l_f_avc_values.

  CALL METHOD me->g_ref_filter_badi->posting_filter
    EXPORTING
      i_s_posting_line = i_s_orig_entry
      i_s_avc_line     = l_f_avc_line
    IMPORTING
      e_flg_skip_entry = e_flg_skip_entry
    CHANGING
      c_s_avc_values   = l_f_avc_values.

  MOVE-CORRESPONDING l_f_avc_values TO <values>.

ENDMETHOD.

4.3. Модифицировать IF_FMAVC_LEDGER~COLLECT_UPD:

4.3.1 Replace:

        l_matching_record         TYPE xfeld.

      By:

        l_matching_record         TYPE xfeld,
        l_skip_record             TYPE xfeld.       

4.3.2 After:

      CALL METHOD me->avc_area_fill
        EXPORTING
          i_s_orig_entry        = l_f_collect-line
        CHANGING
          c_s_entry_buffer_line = <collect_buffer_line>.


      Insert:

***********************************************************************
*--- Apply the filter BAdI for posting data:
***********************************************************************
      CALL METHOD me->filter_exit_upd_apply
        EXPORTING
          i_s_orig_entry        = l_f_collect-line
        IMPORTING
          e_flg_skip_entry      = l_skip_record
        CHANGING
          c_s_entry_buffer_line = <collect_buffer_line>.

      CHECK l_skip_record IS INITIAL.


.....

ЕЖЕМЕСЯЧНЫЙ АVC:


1. Cоздать BADI ZFMAVC_ENTRY_FILTER (SE19):

Definition name:          FMAVC_ENTRY_FILTER
Implementation short text:    Monthly AVC

Код для метода IF_EX_FMAVC_ENTRY_FILTER~POSTING_FILTER:

METHOD if_ex_fmavc_entry_filter~posting_filter.

  DATA: values TYPE zfmavc_s_filter_badi_values.

  IF i_s_avc_line-aldnr > 'H'  AND
     i_s_avc_line-aldnr < 'HZ'.

    values = c_s_avc_values.
    CLEAR    c_s_avc_values.

    CASE i_s_avc_line-aldnr.
      WHEN 'H1'.
        c_s_avc_values-lval01 = values-lval01.
      WHEN 'H2'.
        c_s_avc_values-lval02 = values-lval02.
      WHEN 'H3'.
        c_s_avc_values-lval03 = values-lval03.
      WHEN 'H4'.
        c_s_avc_values-lval04 = values-lval04.
      WHEN 'H5'.
        c_s_avc_values-lval05 = values-lval05.
      WHEN 'H6'.
        c_s_avc_values-lval06 = values-lval06.
      WHEN 'H7'.
        c_s_avc_values-lval07 = values-lval07.
      WHEN 'H8'.
        c_s_avc_values-lval08 = values-lval08.
      WHEN 'H9'.
        c_s_avc_values-lval09 = values-lval09.
      WHEN 'HA'.
        c_s_avc_values-lval10 = values-lval10.
      WHEN 'HB'.
        c_s_avc_values-lval11 = values-lval11.
      WHEN 'HC'.
        c_s_avc_values-lval12 = values-lval12.
    ENDCASE.

  ENDIF.

ENDMETHOD.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пн, июн 30 2008, 09:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Пн, апр 25 2005, 11:34
Сообщения: 237
dante14 написал:
Как посмотрю тема АКН в разрезе периодов пользуется популярностью...
В связи с этим выкладываю здесь реализацию коллеги LS.


Данная реализация описана в ноте 1079276, за исключением BADI ZFMAVC_ENTRY_FILTER конечно.

Вот только вопрос - будет ли она работать для классического бюджета или только BCS?

Если нет, то есть ли нечто подобное для классики?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, июл 31 2008, 17:34 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Чт, май 29 2008, 10:25
Сообщения: 10
Разбирался-разбирался наш ABAP-ер с этой Badi да так и не разобрался :? Данная Бади разбрасывает значения в определенную ячейку таблицы в зависимости от регистра, однако, каким же образом будет определяться регистр, если для каждого из них в СПРО прописаны одинаковые настройки. Все введенные данные у меня по очереди проводятся в каждом из 12 регистров, а точка прерывания, установленная в Бади срабатывает только при запуске FMAVCREINIT :shock: Тут на форуме многие интересовались данной проблематикой, очень жду советов как же все-таки организовать контроль наличия с разбивкой по периодам :!:


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re:
СообщениеДобавлено: Чт, сен 24 2009, 18:11 
Ассистент
Ассистент

Зарегистрирован:
Чт, апр 16 2009, 17:38
Сообщения: 48
Пол: Женский
DM написал(а):
Данная реализация описана в ноте 1079276

Есть у кого-нибудь эта нота? Очень нужна именно ссылка на SAP в решении, а на портале она сейчас недоступна :cry:


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

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


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

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


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

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