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

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


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

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


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

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