Замещением подругому это и не делаеться  

, хотя и без проблем
 на всякий случай выложу, так как эта проблема обсуждалась уже 1000 раз ...
Замещение контрольного счета в документах Контроля Счетов
1 Используем только замещение FI; передача номера счета  через текстовые поля заголовка документа:
1.	Модификация табл.GB01:
•	Строка    009 S BSEG HKONT      X   
заменить X на “ “
Через ABAP-словарь – Содержимое таблицы - /h(отладчик)
2.	Генерация c пом. Программы RGUGBR00 , выбрать все
3.	Прикладная область GBLS  - (программу – образец RGGBS000 скопировать в свою программу – Z…..000). В этой программе Z…000 создать новый EXIT , например U177
 exits-name  = 'U177'.                                                
 exits-param = c_exit_param_none.                                     
 append exits. 
и FORM  U177.
*------------------------------------------------
 form u177.                                       
if bkpf-blart = 'RE'.                          
      if bseg-koart = 'K'.                        
         if bkpf-bktxt(1) = '1'.                  
            bseg-hkont = '0060006100'.            
         endif.                                   
      endif.                                      
   endif.                                         
 endform.                                         
 *
Настройка - Финансы – Специальные регистры – Основные параметры настройки  - Пользовательские программы – Ведение пользовательских программ, зависимых от манданта :
 В рассматриваемой таблице поставить свою программу Z…000.
4.	В настройке меню FI 
-     Финансы                                                             
-     Главная бухгалтерия                                              
-     Хозяйственные операции                                        
-  Проводка по основному счету                                
        - Настройка или проверка параметров документа
*Определение замещений (Define substitutions)  определить новое замещение :
-Новые записи
БЕ 0001 момент 2 (позиция)  замещение SUB2 1 активно
Два раза щелкнуть на SUB2
Сообщение:  Замещение не существует   Создать?     Да
На следующем экране нажать на Ввод 
Ввести название замещения
Нажать Вставить запись  Выдается экран полей для замещений
Выбрать необходимые и пометить (BSEG-HKONT)
Нажать на ввод и на следующем экране
определить формулу  (условие )
BKPF-BLART = 'RE'
подставить под выбранные поля Имена пользовательских программ (U177)
Проверить
Выход по зеленой стрелке
Сохранить 
 
2. Используем дополнительно расширения пользователя для Контроля счетов логистики
1.	используем расширение LMR1M001 для контроля счетов логистики Создаем и активируем проект (например, mm1) c этим расширением.
2.	С пом. Редактора экранов создаем экран SAPLXM08 0400:
Тип экрана – подэкран
Поля Zhkont – поле ввода – вывода 10 знаков
          ZTHKONT – текстовое поле “Контрольный счет”
Логика выполнения:
process before output.                 
  module status_0400.                  
*                                      
process after input.                   
 module user_command_0400.             
process on value-request.              
  field zhkont module help_zhkont.     
Тексты модулей создаются в include ZXM08ZZZZ:
*-------------------------------------------------------------------*
*   INCLUDE ZXM08ZZZ                                                   *
*-------------------------------------------------------------------*
*&------------------------------------------------------------------*
*&      Module  STATUS_0400  OUTPUT
*&------------------------------------------------------------------*
*       text
*-------------------------------------------------------------------*
MODULE STATUS_0400 OUTPUT.
*  SET PF-STATUS 'xxxxxxxx'.
*  SET TITLEBAR 'xxx'.
 IF SY-TCODE = 'MR3M'.
LOOP AT SCREEN.
     CASE SCREEN-NAME.
   WHEN 'ZHKONT' OR 'ZTHKONT'.
      SCREEN-ACTIVE = 0.
     MODIFY SCREEN.
  ENDCASE.
ENDLOOP.
ENDIF.
ENDMODULE.                 " STATUS_0400  OUTPUT
*&------------------------------------------------------------------*
*&      Module  HELP_ZHKONT  INPUT
*&------------------------------------------------------------------*
*       text
*-------------------------------------------------------------------*
MODULE HELP_ZHKONT INPUT.
CALL FUNCTION 'FI_F4_AKONT'
     EXPORTING
          I_BUKRS        = ZBUKRS
          I_MITKZ        = 'K'
          I_AKONT        = ZHKONT
*         I_XSHOW        = ' '
     IMPORTING
*          e_akont        = zhkont
         E_AKONT0       = ZHKONT
     EXCEPTIONS
          INVALID_CALL   = 1
          NOTHING_FOUND  = 2
          INTERNAL_ERROR = 3
          OTHERS         = 4.
*modify screen.
*break-point.
ENDMODULE.                 " HELP_ZHKONT  INPUT
*&------------------------------------------------------------------*
*&      Module  USER_COMMAND_0400  INPUT
*&------------------------------------------------------------------*
*       text
*-------------------------------------------------------------------*
MODULE USER_COMMAND_0400 INPUT.
SELECT SINGLE  MITKZ    FROM  SKB1 INTO ZMITKZ
       WHERE  BUKRS  = ZBUKRS
       AND    SAKNR  = ZHKONT.
IF  NOT SY-SUBRC IS INITIAL OR ZMITKZ NE 'K'.
  MESSAGE E999(ZZ) WITH ZHKONT.
*   Счета &1  нет или счет не является контрольным
ENDIF.
EXPORT ZHKONT TO MEMORY.
ENDMODULE.                 " USER_COMMAND_0400  INPUT
3.Для исходного определения контрольного счета используем User-Exit exit_saplmr1m_003 , Который тоже принадлежит расширению LMR1M001 . Для этого кодирум include zxm08u15:
*-----------------------------------------------------------------
*   INCLUDE ZXM08U15                                              
*-----------------------------------------------------------------
*"             VALUE(I_RBKPV) TYPE  MRM_RBKPV                     
                                                                  
* Контрольный счет кредитора                                      
*break-point.                                                     
if zhkont is initial.                                             
  select single akont from  lfb1 into zhkont                      
         where  lifnr  = i_rbkpv-lifnr                            
         and    bukrs  = i_rbkpv-bukrs.                           
endif.                                                            
zbukrs = i_rbkpv-bukrs.                                           
*zhkont = lfb1-akont.                                              
В Области глобальных данных zxm08top определяем
data   zhkont like bseg-hkont.                    
data  zbukrs like bseg-bukrs.              
data  zmitkz.                              
                                           
4.Генерируем экран SAPLXM08 0400.
В программе для замещений FI исправляем form u177.                                        if bkpf-blart = 'RE'.                                 if bseg-koart = 'K'.                        
*         if bkpf-bktxt(1) = '1'.                  
*            bseg-hkont = '0060006100'.            
*         endif.                                   
import zhkont from memory. if Not zhkont is initial.    bseg-hkont = zhkont. endif       endif.                                          endif.                                         
 endform.                                         
 *
5.	Используем для операций сторно (дабы подставить такой же контрольный счет) Exit exit_saplmrmp_010. Include zxm08u16:
*----------------------------------------------------------------------*                
  *   INCLUDE ZXM08U16                                                   *                
  *----------------------------------------------------------------------*                
  *break-point.                                                                           
  tables: bkpf.                                                                           
  data:                                                                                   
  zbelnr like bkpf-belnr,                                                                 
  zawkey like bkpf-awkey.                                                                 
  if e_trbkpv-vgart = 'RS'  and e_trbkpv-tcode = 'MR8M'."сторно                           
      concatenate e_trbkpv-stblg e_trbkpv-stjah into zawkey.                              
     select single belnr bukrs  into (zbelnr, zbukrs)                                     
                    from bkpf                                                             
                    where awkey = zawkey                                                  
                    and awtyp =   'RMRP'.                                                 
     select single hkont from bseg  into zhkont where                                     
                   belnr = zbelnr                                                         
           and        gjahr = e_trbkpv-stjah                                              
           and        bukrs = zbukrs                                                      
           and        buzei = '001'.                                                      
  export zhkont to  memory.                                                               
  endif.                                                                                  
                                                                                          
                                                                                          
7Наслаждаемся новой возможностью (можно посмотреть в RUF 030)