[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/functions_genders.php on line 46: Undefined index: GENDER_X
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: Array to string conversion
[phpBB Debug] PHP Notice: in file /includes/replacer.php on line 22: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
SAPфорум.RU • Просмотр темы - Автоматическое копирование таблицы каждый месяц в новую таблицу
Текущее время: Вт, янв 23 2018, 10:22

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 61 ]  На страницу Пред.  1, 2, 3, 4, 5  След.
Автор Сообщение
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Вт, дек 12 2017, 16:47 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
Пока что не кольнуло и подругому у меня не получается направить свои мысли.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Вт, дек 12 2017, 17:52 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, дек 20 2007, 19:21
Сообщения: 973
ArrayВероятно таблиц станет 24!

Тут надо сразу писать масштабируемое решение. Даешь [s]пакет с пакетами[/s] таблицу с таблицами :mrgreen:
_________________
я твой сап эфай внедрял


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Вт, дек 12 2017, 19:29 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Ср, фев 21 2007, 09:50
Сообщения: 827
Откуда: Москва
Пол: Мужской
Чего вы пристали к человеку?) ему сказали делать 12 таблиц и все тут. Наверное, так и бывает. Все зависит от того, кто "у власти" на проекте :D
Есть люди, которым хоть задоказывайся, что так неправильно или неоптимально. Там просто свой незавершенный гештальт, возможно...
Есть у меня друг, который говорит, что им руководство запрещает замещения использовать. Мол, это скрыто от глаз пользователя, мало ли что вы там назамещаете.
Их концепция - это только open-fi. Вот они и замещают в 1025. Тоже скрыто от пользователя, зато концепции соответствует 8)

Автор, дерзай :pivo: Как сделать-то уже расписали, планируй фоновое и вперед.
Можно без селекционки, но тогда в начале алгоритма нужен простейший обработчик, что наступило первое (или любое последующее) число нового месяца И копирование таблицы еще не выполнялось. Последнего требования в обсуждении не увидел. Фактически нужно где-то хранить информацию о том, выполнялось ли копирование за месяц N. Потому что непустота в таблице за период N еще ничего не говорит (тут два варианта: осталась непустая с прошлого года или уже наполнилась свежими данными недавно). Но народ по природе своей пакостливый. Последующий запуск программы копирования приведет к перетиранию данных в таблице за месяц N, но попадут туда также и записи, которые были созданы после недавнего копирования, то есть должны были пойти уже в N+1.

Также весьма интересно, с какой регулярностью наполняется главная таблица? Если в нее вносятся записи на регулярной и главное очень частой основе, то где гарантия, что:
- в записываемую таблицу попадет все самое нужное, то есть действительно картина на 0.00 часов?
- в записываемую таблицу не попадет лишнее?

Тормознуло фоновое задание - попадет лишнее. Лагнули процессы, записывающие в исходную таблицу, - не попадет нужное.

А так-то да, задача с фантазией :D


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 09:06 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1161
Array. За каждый месяц хранить данные в таблице.
Программа будет копировать каждый месяц данные в таблицу с идентичной нумерацией месяца (типа table01, table02, ... , table12)
2. Дальше будет новая программа селекционник, на котором мы выбираем некоторые данные, типа конкретной детали, выбираем сегодняшние данные (таблица с данными каждый день копируется для анализа) и сравниваем с данными, которые мы сохранили в нашей таблице (выбираем через выпадающий список table01..12).
3. На выходе мы получаем временную таблицу, в которой собраны данные с двух таблиц, название детали, сколько нужно произвести и сколько произведено на данный момент и сколько нужно было произвести и произведено на начало месяца из сохраненной нашей таблицы.
Цель, получить данные для сравнительного анализа и аналитики.
Почему нужна программа - данных, минимум 2,5 млн строк.


То есть, у вас есть таблица по производству каких-то деталей. Нужно проводить анализ - сколько деталей произведено за месяц, сколько нужно произвести, сравнить ситуацию с прошлыми периодами. Лично я пока не вижу ни одной причины производить копирование таблиц для этой задачи.
Вот например
Array. Дальше будет новая программа селекционник, на котором мы выбираем некоторые данные, типа конкретной детали, выбираем сегодняшние данные (таблица с данными каждый день копируется для анализа) и сравниваем с данными, которые мы сохранили в нашей таблице (выбираем через выпадающий список table01..12).
почему это нельзя сделать так
Arrayудет программа селекционник, на котором мы выбираем некоторые данные, типа конкретной детали, выбираем сегодняшние данные и сравниваем с данными, которые хранятся в ЭТОЙ ЖЕ таблице, но за другой период
Борода с копирование отпадает, места в базе данных занимает меньше, сама выборка-сравнение работать будет примерно столько же, само решение будет более универсальным (нет ограничения на 12 месяцев).

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 14:12 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
Честно, запутался....
12 таблиц - могу. В одной все держать - не понимаю как.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 14:18 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
ArrayБорода с копирование отпадает, места в базе данных занимает меньше, сама выборка-сравнение работать будет примерно столько же, само решение будет более универсальным (нет ограничения на 12 месяцев).

ну как отпадает, если мы где-то должны же держать данные на начало месяца.
и могли отследить тенденцию "работы" цеха за отмеченный промежуток.
Данных же не будет, если мы не сохраним...

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 15:18 
Младший специалист
Младший специалист

Зарегистрирован:
Пт, июл 27 2007, 14:06
Сообщения: 98
ArrayArrayБорода с копирование отпадает, места в базе данных занимает меньше, сама выборка-сравнение работать будет примерно столько же, само решение будет более универсальным (нет ограничения на 12 месяцев).

ну как отпадает, если мы где-то должны же держать данные на начало месяца.
и могли отследить тенденцию "работы" цеха за отмеченный промежуток.
Данных же не будет, если мы не сохраним...
Ну хоть какое-то поле с датой ведь есть. Как-то ведь эти данные отбираются, чтобы вставить их в одну из 12 таблиц. А вместо вставки - сразу обрабатывать и выводить в отчет.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 15:42 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1161
В таблице должен быть атрибут, по которому можно будет судить к какому времени относиться запись - дата или месяц. По этому атрибуту можно будут судить, существовали записи на начало месяца или нет. Если в самом данных нет явной подходящей даты, то можно просто дату вставки записи сделать.
По факту этот атрибут ты пытаешься реализовать через отдельные таблицы по месяцам. Номер месяца - в названии таблицы, а нужно номер месяца в отдельную колонку. Только лучше использовать дату - будет заметно гибче.

Arrayанных же не будет, если мы не сохраним...

А куда они денутся?

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 16:36 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
в целом, я готов попробовать сделать в одной таблице, если поможете по шагам, что надо сделать?
на данный момент я создал одну таблицу отдельную такой же структуры как и заданная, за исключением последнего поля, там я храню sy-datum на время копирования
таким образом, мне нужно не затирать старые данные, а добавлять и можно прикрепиться к дате, верно?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Ср, дек 13 2017, 16:38 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
Array куда они денутся?

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

Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Чт, дек 14 2017, 08:11 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1161
Array целом, я готов попробовать сделать в одной таблице, если поможете по шагам, что надо сделать?
на данный момент я создал одну таблицу отдельную такой же структуры как и заданная, за исключением последнего поля, там я храню sy-datum на время копирования
таким образом, мне нужно не затирать старые данные, а добавлять и можно прикрепиться к дате, верно?


Да, верно. Затем при любой выборке данных их этой таблицы в разрезе определенного месяца в условиях запроса нужно дописывать условие по дате. Типа DATUM(6) = '201710' (DATUM - имя поля).
Далее, так как предполагается частое использование этого поля в качестве ключа для выборки, имеет смысл построить по нему индекс. В противном случае, по мере заполнения таблицы, будет заметно снижаться скорость выполнения запроса по дате.

Обрати внимание, что если действовать так, при анализе ты не будешь ограничен временными рамками, которые ты заложил в варианте с 12-ю таблицами. Выборку можно производить за произвольный период, глубина истории не ограничена, при этом не нужно каждый раз писать новую программу для работы с данными. Кроме того, можно пользоваться любыми другими средствами работы с данными, например, subquery.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Чт, дек 14 2017, 08:43 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Пт, сен 07 2007, 08:53
Сообщения: 1161
Arrayу они же есть только сегодняшнего дня и еще вчерашнего, дальше они по новой отрабатывают ночью.


Что это за процесс, который формирует такую таблицу? Чувствуется определенный почерк, на каждый временной период создавать отдельную таблицу :)

Опять же, можно допустить условия, когда такой подход будет оправдан. Например, данный сваливаются их внешней системы или какого-то оборудования, и мы не очень может влиять на этот процесс. Либо требуется обеспечить максимальную производительность по текущим транзакциям.

Если с этим сейчас ничего нельзя сделать, то придется делать механизм перекладки данных из дневной таблицы в общую. То, что с чего началась эта тема. Но и в этом случае, будет дневная таблица и одна общая таблица. Механизм перекладки настроить в виде процесса по расписанию. Но лучше еще ведение журнала работы этого механизма. Сделать еще одну таблицу, в которой оставлять запись о выполнении работы.

Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Пн, дек 18 2017, 12:35 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160
Затупил...
Создал таблицу одну, вместо 12.. копировал туда данные.
теперь начал программу, описал необходимые мне: назв материала, цех изг., цех потр.
Дальше... дальше я полагаю мне через left join можно сравнить две таблицы ....или как?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Пн, дек 18 2017, 12:59 
Специалист
Специалист
Аватара пользователя

Зарегистрирован:
Ср, сен 06 2017, 00:56
Сообщения: 126


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Автоматическое копирование таблицы каждый месяц в новую таблицу
СообщениеДобавлено: Вт, дек 19 2017, 12:45 
Специалист
Специалист

Зарегистрирован:
Пн, июл 17 2017, 15:11
Сообщения: 160


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

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


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

Сейчас этот форум просматривают: BingBot и гости: 24


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

Найти:
Перейти:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
[ Time : 0.371s | 21 Queries | GZIP : Off ]