Текущее время: Вт, июл 22 2025, 17:43

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


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


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3, 4  След.
Автор Сообщение
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 09:15 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
Если тебе непринципиально в какое поле, можно не используя АБАП просто настроить счет ГК.

FS00 -> поставь ключ сортировки для счета 002 Doc.no., fiscal year, и теперь когда будет создаваться документ в поле присвоение (zuonr) ,будет проставляться номер документа + год


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

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
nicky555 написал:
Parazit написал:
Я, например, из 1030 делал изменение BSEG вот так:
Call function 'Z_MODIFY_ZBSEG' in update task
TABLES
T_BSEG = T_BSEG.


прикольно... а кто/что обновляет содержимое поля в остальных таблицах? :shock:



а зачем их обновлять :wink: ? вторичные индексы - ето все лишнии никому не нужные заморочки :lol: - и еще GLT0 можно сделать ракурс ведения = и в ручную править обороты ...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 09:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
nicky555 написал:
прикольно... а кто/что обновляет содержимое поля в остальных таблицах? :shock:
А кто сказал, что в моем случае это было необходимо? ;)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 09:58 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Snegurenok написал(а):
а зачем их обновлять :wink: ? вторичные индексы - ето все лишнии никому не нужные заморочки :lol: - и еще GLT0 можно сделать ракурс ведения = и в ручную править обороты ...
Вот уж кривее, чем сама САПа обходится и со вторичными индексами и с GLT0, у меня не получится. :))
Для проверки можете написать простенькую прогу, которая будет сравнивать все поля записей BSIS (BSAS) с полями BSEG. Обратите внимание на тот же ZUONR...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 11:10 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Parazit написал:
Arman написал(а):
1030 - подходит - номер уже известен...
но как внести при этом изменения в сам документ?

Например через отложенную запись IN UPDATE TASK.

Я, например, из 1030 делал изменение BSEG вот так:
Call function 'Z_MODIFY_ZBSEG' in update task
TABLES
T_BSEG = T_BSEG.

Хотя есть еще один ломовой способ обходить защиту САП
* (выдрано из ФМ OPEN_FI_PERFORM_00001030_E
Data:
MEMID(15) VALUE 'OPENFI'.

MEMID+6 = '00001030E'.

EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
T_BSEC T_BSED T_BSEG T_BSET T_BSEU
TO MEMORY ID MEMID.
*)


но лучше все же через IN UPDATE TASK.


А можно пояснить подробнее про функцию обновления?
я в 1030 написал:
Call function 'Z_MODIFY_ZBKPF' in update task
TABLES
T_BKPF = T_BKPF[].


Фун-ия 'Z_MODIFY_ZBKPF':
if ( T_bkpf-BLART = 'RV' OR T_bkpf-BLART = 'DR'
OR T_bkpf-BLART = 'ZP' ).

message i001(Z_AAB).
Loop at T_BKPF[] into T_BKPF.
T_bkpf-XBLNR = T_bkpf-belnr.
Modify T_BKPF[] from T_BKPF.
endloop.
ENDif.

Сво-ва:
вид-выполнения - модуль обновления - немедленный запуск.
Таблицы: T_BKPF like bkpf.


Поставил здесь точку прерывания, но отладчик сюда не проваливается.... Не подскажешь, где ошибка?


А Import из памяти 'OPENFI00001030E' уже есть у сапа в коде? или нужно где - то вставить?

Спасибо.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 11:47 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
nicky555 написал:
прикольно... а кто/что обновляет содержимое поля в остальных таблицах? :shock:

До меня не сразу дошел великий смысл галочки в одном отчете
брать данные из bseg или bsis.
Видимо поэтому таблички ACCTCR ACCTHD ACCTIT не в почете.


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 12:24 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Parazit, ответь, пожалуйста...


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 14:40 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
Parazit написал:
Для проверки можете написать простенькую прогу, которая будет сравнивать все поля записей BSIS (BSAS) с полями BSEG.

Прога называется RFINDEX.
2 Arman
в дебагере Параметры настройки->Отладка обновления


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 16:25 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Mike1 написал:
2 Arman
в дебагере Параметры настройки->Отладка обновления


Mike1, все равно ничего не обновляет...
не подскажешь где ощибка? я выше описал оба модуля..

спасибо.


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

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
событие 1030 настроено?
запусти ST05 если есть полномочия.


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

Зарегистрирован:
Вт, авг 17 2004, 16:09
Сообщения: 202
найдите 10 отличий
modify T_BKPF[] from T_BKPF.
&
modify BKPF from table T_BKPF[].


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

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
2 Arman
Если решил делать через модуль обновления
где у тебя код по записи в таблицу базы BKPF?
пиши что у вас в OPEN_FI_PERFORM_00001030_E


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 16:48 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Событие настроено..
Трэйс просмотреть?


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

Зарегистрирован:
Ср, сен 22 2004, 08:42
Сообщения: 1079
Откуда: Москва
Пол: Мужской
исходник вашего OPEN_FI_PERFORM_00001030_E в студию


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения:
СообщениеДобавлено: Пт, апр 21 2006, 16:56 
Менеджер
Менеджер
Аватара пользователя

Зарегистрирован:
Ср, фев 22 2006, 16:09
Сообщения: 592
Цитата:
FUNCTION OPEN_FI_PERFORM_00001030_E.
*"----------------------------------------------------------------------
*"*"Lokale Schnittstelle:
*" IMPORTING
*" VALUE(I_BKDF) LIKE BKDF STRUCTURE BKDF
*" VALUE(I_UF05A) LIKE UF05A STRUCTURE UF05A
*" VALUE(I_XVBUP) LIKE OFIWA-XVBUP DEFAULT 'X'
*" TABLES
*" T_AUSZ1 STRUCTURE AUSZ1 OPTIONAL
*" T_AUSZ2 STRUCTURE AUSZ2 OPTIONAL
*" T_AUSZ3 STRUCTURE AUSZ_CLR OPTIONAL
*" T_BKP1 STRUCTURE BKP1
*" T_BKPF STRUCTURE BKPF
*" T_BSEC STRUCTURE BSEC
*" T_BSED STRUCTURE BSED
*" T_BSEG STRUCTURE BSEG
*" T_BSET STRUCTURE BSET
*" T_BSEU STRUCTURE BSEU
*"----------------------------------------------------------------------
************************************************************************

********* SAMPLE FOR POSTING BEFORE COMMIT WORK OCCURS *****************

************************************************************************
DATA: L_AUSZ1 TYPE TABLE OF AUSZ1, "start:note530655
L_AUSZ2 TYPE TABLE OF AUSZ2,
L_AUSZ3 TYPE TABLE OF AUSZ_CLR,
L_BKPF TYPE TABLE OF BKPF,
L_BKP1 TYPE TABLE OF BKP1,
L_BSEC TYPE TABLE OF BSEC,
L_BSED TYPE TABLE OF BSED,
L_BSEG TYPE TABLE OF BSEG,
L_BSET TYPE TABLE OF BSET,
L_BSEU TYPE TABLE OF BSEU. "end:note530655

* gd_intca is filled in BTE 1025 if unique
CALL FUNCTION 'BF_FUNCTIONS_FIND'
EXPORTING
I_EVENT = '00001030'
I_INTCA = gd_intca
TABLES
T_FMRFC = FMTAB
EXCEPTIONS
NOTHING_FOUND = 4
OTHERS = 8.
CHECK SY-SUBRC = 0.

*------------------ Save interface data --------------------------------
* MEMID+6 = '00001030E'. "start:note530655
* EXPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1
* T_BSEC T_BSED T_BSEG T_BSET T_BSEU
* TO MEMORY ID MEMID.
L_AUSZ1[] = T_AUSZ1[].
L_AUSZ2[] = T_AUSZ2[].
L_AUSZ3[] = T_AUSZ3[].
L_BKPF[] = T_BKPF[].
L_BKP1[] = T_BKP1[].
L_BSEC[] = T_BSEC[].
L_BSED[] = T_BSED[].
L_BSEG[] = T_BSEG[].
L_BSET[] = T_BSET[].
L_BSEU[] = T_BSEU[]. "end:note530655

LOOP AT FMTAB.
CHECK NOT FMTAB-FUNCT IS INITIAL.
IF FMTAB-RFCDS IS INITIAL.

*------------- Open FI Interface with local destination ----------------
CALL FUNCTION FMTAB-FUNCT
EXPORTING
I_BKDF = I_BKDF
I_UF05A = I_UF05A
I_XVBUP = I_XVBUP
TABLES
T_AUSZ1 = T_AUSZ1
T_AUSZ2 = T_AUSZ2
T_AUSZ3 = T_AUSZ3
T_BKPF = T_BKPF
T_BKP1 = T_BKP1
T_BSEC = T_BSEC
T_BSED = T_BSED
T_BSEG = T_BSEG
T_BSET = T_BSET
T_BSEU = T_BSEU.
ELSE.

*------------- Open FI Interface with foreign destination --------------
CALL FUNCTION FMTAB-FUNCT
IN BACKGROUND TASK
DESTINATION FMTAB-RFCDS
EXPORTING
I_BKDF = I_BKDF
I_UF05A = I_UF05A
I_XVBUP = I_XVBUP
TABLES
T_AUSZ1 = T_AUSZ1
T_AUSZ2 = T_AUSZ2
T_AUSZ3 = T_AUSZ3
T_BKPF = T_BKPF
T_BKP1 = T_BKP1
T_BSEC = T_BSEC
T_BSED = T_BSED
T_BSEG = T_BSEG
T_BSET = T_BSET
T_BSEU = T_BSEU.
CALL FUNCTION 'START_OF_BACKGROUNDTASK'
EXPORTING
STARTDATE = SY-DATUM
STARTTIME = SY-UZEIT
EXCEPTIONS
OTHERS = 1.
ENDIF.
* IMPORT T_AUSZ1 T_AUSZ2 T_AUSZ3 T_BKPF T_BKP1 "start:note530655
* T_BSEC T_BSED T_BSEG T_BSET T_BSEU
* FROM MEMORY ID MEMID.
T_AUSZ1[] = L_AUSZ1[].
T_AUSZ2[] = L_AUSZ2[].
T_AUSZ3[] = L_AUSZ3[].
T_BKPF[] = L_BKPF[].
T_BKP1[] = L_BKP1[].
T_BSEC[] = L_BSEC[].
T_BSED[] = L_BSED[].
T_BSEG[] = L_BSEG[].
T_BSET[] = L_BSET[].
T_BSEU[] = L_BSEU[]. "end:note530655

ENDLOOP.
ENDFUNCTION.



нужно обойти ноту 530655...


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 54 ]  На страницу Пред.  1, 2, 3, 4  След.

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


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

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


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

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