Текущее время: Ср, июл 23 2025, 08:12

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


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

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


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

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