Текущее время: Ср, май 14 2025, 11:38

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


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


ВНИМАНИЕ!

Вопросы по исходящим поставкам - сюда



Начать новую тему Ответить на тему  [ Сообщений: 10 ] 
Автор Сообщение
 Заголовок сообщения: Средство поиска для дебитора
СообщениеДобавлено: Ср, ноя 15 2006, 09:59 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 23 2006, 13:19
Сообщения: 13
Привет всем!
На нашем предприятии возникла проблема при поиске дебитора: невозможно искать дебитора с помощью стандартного средства поиска, так как поля MCODE1 и MCODE2 не могут однозначно определить наименование организации.
Есть вариант: добавить в таблицу ADRC поле FULLNAME, куда помещать результат конкатенации полей NAME1, NAME2 и NAME3, и использовать это поле в средстве поиска. Если кто знает, подскажите, каким образом заполнить это поле в ABAPе.
Заранее благодарю за ответ.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: в
СообщениеДобавлено: Ср, ноя 15 2006, 10:22 
Директор
Директор

Зарегистрирован:
Чт, авг 18 2005, 17:00
Сообщения: 1174
Откуда: РФ
А что на вашем предприятии только по наименованию ищут дебитора?
А как же ИНН, КПП?

_________________
Покупайте отечественную продукцию! - и благополучие вернется к вам же!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Средство поиска для дебитора
СообщениеДобавлено: Ср, ноя 15 2006, 14:41 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 23 2006, 13:19
Сообщения: 13
ИНН и КПП само собой, но есть пользователи, которым нужен поиск именно по наименованию.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: а
СообщениеДобавлено: Ср, ноя 15 2006, 15:45 
Директор
Директор

Зарегистрирован:
Чт, авг 18 2005, 17:00
Сообщения: 1174
Откуда: РФ
А как будет заполняться наименование? в какой момент?
абап-программой в фоновом режиме?

_________________
Покупайте отечественную продукцию! - и благополучие вернется к вам же!


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Средство поиска для дебитора
СообщениеДобавлено: Чт, ноя 16 2006, 06:32 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 23 2006, 13:19
Сообщения: 13
Думаю, в существующих записях заполнить пакетником. А в новых ищу userexit в программе SAPMF02D.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Средство поиска для дебитора
СообщениеДобавлено: Чт, ноя 16 2006, 13:32 
Начинающий
Начинающий

Зарегистрирован:
Ср, авг 23 2006, 13:19
Сообщения: 13
Занимаюсь расширением впервые, поэтому тыкаюсь везде как котенок...
Я так понимаю, мне нужно закинуть значение поля fullname во внутреннюю таблицу I_KNA1, а ФМ передаст это значение в KNA1?


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 16 2006, 17:30 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, окт 16 2004, 11:27
Сообщения: 348
Откуда: Москау
Пол: Мужской
Коллеги!

Не парьтесь!

Не надо ничего расширять!

В средствах поиска есть поле для пользовательского ФМ!

Я с этим боролся так:
1. выгружаю во внутреннюю табличку поля:

KUNNR NAME1 NAME2 ... NAME4 (сколько надо)

2. выполняю конкатенацию NAME1 NAME2 ... NAME4 (сколько надо)

3. ищу в строке вхождение шаблона в средстве поиска

4. вывожу результат

ву-а-ля!

_________________
Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит в нём проблеск света


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 16 2006, 17:35 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, окт 16 2004, 11:27
Сообщения: 348
Откуда: Москау
Пол: Мужской
TRANSLATE L_LNAME TO UPPER CASE. " Шаблон для поиска

TRANSLATE L_LNAME USING '* '.
TRANSLATE L_LNAME USING '% '.

CONDENSE L_LNAME.

TRANSLATE L_LNAME USING ' *'. " все пробелы заменили звездами

CONCATENATE '*' L_LNAME INTO L_LNAME. " на концах шаблона тоже звезды

SELECT LIFNR NAME1 NAME2 STCD1 STCD3 FROM LFA1
INTO CORRESPONDING FIELDS OF TABLE LT_KRED
WHERE LIFNR IN LR_LIFNR AND
STCD1 IN LR_STCD1 AND
STCD3 IN LR_STCD3.

P_RC = SY-SUBRC.

CHECK P_RC = 0.

SORT LT_KRED BY LIFNR.

LOOP AT LT_KRED.
CONCATENATE LT_KRED-NAME1 LT_KRED-NAME2 INTO LT_KRED-LNAME. " Длинное имя

TRANSLATE LT_KRED-LNAME TO UPPER CASE. " В верхний регистр, чтоб искать

MODIFY LT_KRED.
ENDLOOP.

LOOP AT LT_KRED.
IF LT_KRED-LNAME CP L_LNAME. " Поиск по шаблону и удаление, что не подходит
CONTINUE.
ENDIF.

DELETE LT_KRED.
ENDLOOP.

LOOP AT LT_KRED.
IF SY-TABIX > P_CALLCTRL-MAXRECORDS. " Макс. кол-во записей тоже нужно учесть
EXIT.
ENDIF.

MOVE-CORRESPONDING LT_KRED TO LS_REC.

CONCATENATE LT_KRED-NAME1 LT_KRED-NAME2 INTO LT_KRED-LNAME.

CONDENSE LT_KRED-LNAME.

CLEAR: LS_REC-NAME1, LS_REC-NAME2.

LS_REC-NAME1 = LT_KRED-LNAME+0(35).
LS_REC-NAME2 = LT_KRED-LNAME+35(35).

LS_RECORD-STRING = LS_REC.

APPEND LS_RECORD TO PT_RECORD.
ENDLOOP.

_________________
Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит в нём проблеск света


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Чт, ноя 16 2006, 17:36 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, окт 16 2004, 11:27
Сообщения: 348
Откуда: Москау
Пол: Мужской
тут некоторые моменты не совсем раскрыты, но кто хоть раз делал такие средства поиска - поймет!

а центральное управление адресами не надо ломать...

_________________
Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит в нём проблеск света


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Средство поиска для дебитора
СообщениеДобавлено: Чт, ноя 16 2006, 17:37 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Сб, окт 16 2004, 11:27
Сообщения: 348
Откуда: Москау
Пол: Мужской
mzis_sd написал(а):
Привет всем!
На нашем предприятии возникла проблема при поиске дебитора: невозможно искать дебитора с помощью стандартного средства поиска, так как поля MCODE1 и MCODE2 не могут однозначно определить наименование организации.
Есть вариант: добавить в таблицу ADRC поле FULLNAME, куда помещать результат конкатенации полей NAME1, NAME2 и NAME3, и использовать это поле в средстве поиска. Если кто знает, подскажите, каким образом заполнить это поле в ABAPе.
Заранее благодарю за ответ.


А вот с MCOD1 и MCOD2 SAP прокосячил: не понятно, зачем тогда делали?

_________________
Тот, у кого хватит храбрости и терпения всю жизнь вглядываться во мрак, первым увидит в нём проблеск света


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

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


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

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


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

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