Станьте участником SAPLAND и получите доступ к самым интересным публикациям SAPPRO
Зарегистрироваться
прошу прощения не корректно скопировал.
выборка из мкпф конечно же по полному первичному ключу
SELECT SINGLE *
INTO mkpf
FROM mkpf
WHERE mblnr = lmblnr
and mjahr = lmjahr.
"Я Пастернака не читал, но осуждаю...
...
И как мать, и как женщина ...."
Тестовый пример, исключительно для иллюстрации, создает движение ММ, после чего проверяет наличие созданного документа в MKPF.
Привожу пример с асинхронным сохранением, опустив заполнение параметров BAPI. В таком виде выдает результат "не ок". При замене на commit work and wait - выдает ok.
CALL FUNCTION 'BAPI_GOODSMVT_CREATE'
EXPORTING
goodsmvt_header = lmmdocheader
goodsmvt_code = lgmcode
testrun = abap_false
IMPORTING
goodsmvt_headret = lmmdocheader_ret
materialdocument = lmblnr
matdocumentyear = lmjahr
TABLES
goodsmvt_item = lt_mmdocitems
return = lt_bapiret.
COMMIT WORK.
SELECT SINGLE *
INTO mkpf
FROM mkpf
WHERE mblnr = lmblnr.
IF sy-subrc = 0.
WRITE: / 'ok'.
ELSE.
WRITE: / 'не ok'.
ENDIF.
WRITE:/ lmblnr.
2. Код в студию, что вы и как проверяли. Если боитесь за авторство схематично блоки кода.
Это я за просто так вывел косяки в вашей заметке. Вы же на это не смогли привести ни одного аргумента.
1) Вы так и не сказали , в каком месте я не правильно прочитал хелп, упомянув при этом что "место правильное, но понимаю я его не правильно"
2) пример из вашей статьи я воспроизвел с COMMIT WORK AND WAIT. Все работает как часы согласно хелпа.
3) вы сделали выводы о том как я работаю , приписав мне слова, которых я не говорил (начиная о сферических кэшах(при том, что я дал ссылку на конкретную статью об оракле) и заканчивая выводами о моем стиле программирования, при том что не видели не единой строки моего кода)
4) Чего стоит ваш пассаж ниже в камменте о хэш-табле, когда вы как-то незаметно начинаете говорить о БД, не смотря на то что речь шла именно о хэш-табле, т.е. объекте которого в БД просто нет.
Прекрасный показатель вашего уровня дискуссий и ваших статей\книг и лекций.
PS: по поводу отсылки к Василию Ковальскому: я вообще в экстазе. Так и представляю, как Василий, читая курс BC414 на космодаминской набережной, долго рассказывает то, как изложено в хелпе и курсе, а потом на вопрос слушателя "А вот Точенюк в своей книге и статьях говорит, что синхронное обновление в хелпе определено не верно" удивленно смотрит на вопрошающего.
Ага.
За бесплатно - лично для вас НЕТ. Учите английский и матчасть. Сторону копания я вам указал, дальше вопрос закрыт :-)
Саша он не будет читать, он английский знает... а я его не знаю, поэтому приходится все что прочитано проверять на практике :-)
На создаваемый - естественно не будет.
И кстати говоря, я совершенно спокойно могу ставить блокировки на не существующий в базе объект.
И соответственно у вас опять в мануале чушь написана: вы предлагаете с помощью установки блока проверить, а создался ли этот док, при том, что при его создании как раз блокировки не будет вообще, а система на не существующие номера блокировки ставить позволяет.
Для хранения блокировок и их чтения\записи используются си-щные функции ядра. Поэтому БД там не читается. Вам исходник приведенного мной ФМ кинуть, если вы не в силах его посмотреть в системе сами?
1. А с чего вы решили что я там в примерах да еще на разных системах, с разным количеством пользователей, а записи точно в кэще будут, потому что они наиболее частыми оказались? Не ну опять же не вопрос, теоретизируйте дальше, у меня практические выкладки и проверены они на разных системах с разными интервалами выполнения запросов. Но для вас это ни что. Я вообще-то вас не убеждаю.
3. Ну выражаясь вашими словами, мне за это лично вы не платите,поэтому не очень понимаю почему я вам обязан что-то объяснять так чтобы вы именно поняли. Я и так достаточно за бесплатно вас проконсультировал, вы считаете что я пишу ерунду, еще десяток людей который участвовали в написании книги тоже несут пургу. Ну дальше как бы смысла продолжать. Кстати про описанную ниже функцию чтения записей блокирования для проверки объектов, это пять... вы даже не очень понимаете сами что предлагаете, ну да это не важно вы же я так понял прожженный абапер. Любитель циклических вызовов разных ФМ-ов. Не возражаю, пишите и дальше в таком же духе. Да в и вообще оптимизация вещь вредная, кому не хватает купят сервер по мощнее, базу побыстрее и т.д.
Ну что вам сказать... с чего вы решили что блокировка на создаваемый объект будет в буфере блокирования при создании записи? В справке прочитали? А при изменении, ну замерьте что быстрее будет установка/снятие блокировки или чтение таблицы? Вы кстати ее как читать будете? В цикле пока там запись не пропадет? Успехов... так сказать.
1. А с чего вы решили что я там в примерах да еще на разных системах, с разным количеством пользователей, а записи точно в кэще будут, потому что они наиболее частыми оказались? Не ну опять же не вопрос, теоретизируйте дальше, у меня практические выкладки и проверены они на разных системах с разными интервалами выполнения запросов. Но для вас это ни что. Я вообще-то вас не убеждаю.
3. Ну выражаясь вашими словами, мне за это лично вы не платите,поэтому не очень понимаю почему я вам обязан что-то объяснять так чтобы вы именно поняли. Я и так достаточно за бесплатно вас проконсультировал, вы считаете что я пишу ерунду, еще десяток людей который участвовали в написании книги тоже несут пургу. Ну дальше как бы смысла продолжать. Кстати про описанную ниже функцию чтения записей блокирования для проверки объектов, это пять... вы даже не очень понимаете сами что предлагаете, ну да это не важно вы же я так понял прожженный абапер. Любитель циклических вызовов разных ФМ-ов. Не возражаю, пишите и дальше в таком же духе. Да в и вообще оптимизация вещь вредная, кому не хватает купят сервер по мощнее, базу побыстрее и т.д.
Ну что вам сказать... с чего вы решили что блокировка на создаваемый объект будет в буфере блокирования при создании записи? В справке прочитали? А при изменении, ну замерьте что быстрее будет установка/снятие блокировки или чтение таблицы? Вы кстати ее как читать будете? В цикле пока там запись не пропадет? Успехов... так сказать.
Т.е. ответить на вопрос "что же именно я понял не правильно?" вы не в состоянии? Ок. Так и зафиксируем. Объяснить - не способны.
1) Еще раз. Не бесконечный кэш. В кэше остаются данные которые читаются чаще всего. Прочитали строку А при поиске с индексом 5 раз - Она осталась в кэше. прочитали ту же строку но с поиском в фуллскане - она все равно останется, как часто читаемая.
3) Т.е. так и записываем объяснить что же я не правильно понял в хелпе - вы не можете.
И это я еще не упомянул про ваш вредный совет использовать установку-снятие блокировки, вместо простого вызова ENQUEUE_READ
1. Не вопрос. Про сферический кэш СУБД убедили, он бесконечный и в нем все остается.
2. Не вопрос, как раза если задача утилитарная, то и опыт ее экстраполируется на другие утилитарные задачи. Этот опыт и рекомендации и описаны. Применять их или нет, ваше право.
3. Тоже не вопрос, пребывайте и дальше в своих заблуждениях, опровергается это очень просто тестовым примером, минут за 30. Проводка документов ММ через стандартную BAPI, с последующим чтением проведенного документа. Что и описано в примерах. Для вас это не убедительно, опять же ваше право. Я это проверил практически, вы чисто теоретически прочитав английский курс/справку и не поняв что там написано, пытаетесь меня убедить в обратном. Ну тоже не вопрос, считайте и дальше что вы правильно поняли написанное в курсе/справке.
Ну зачем же мне приводить вашу же ссылку. Ссылка правильная, а вот что в ней написано вы понимаете не правильно. Оставайтесь в своем заблуждении и далее.
1. Не вопрос. Про сферический кэш СУБД убедили, он бесконечный и в нем все остается.
2. Не вопрос, как раза если задача утилитарная, то и опыт ее экстраполируется на другие утилитарные задачи. Этот опыт и рекомендации и описаны. Применять их или нет, ваше право.
3. Тоже не вопрос, пребывайте и дальше в своих заблуждениях, опровергается это очень просто тестовым примером, минут за 30. Проводка документов ММ через стандартную BAPI, с последующим чтением проведенного документа. Что и описано в примерах. Для вас это не убедительно, опять же ваше право. Я это проверил практически, вы чисто теоретически прочитав английский курс/справку и не поняв что там написано, пытаетесь меня убедить в обратном. Ну тоже не вопрос, считайте и дальше что вы правильно поняли написанное в курсе/справке.
Так почитайте :-)
Комментарий от
Владимир Гридасов
| 04 декабря 2014, 09:09
А есть ли опыт интеграции с MES или PDM системами. Интересно было бы почитать какие задачи были поставлены и как они решались.