Централизованное массовое архивирование изменений для деловых партнеров

Я думаю, что это длинный выстрел, но вот моя проблема:

Я хотел бы пометить сразу многих деловых партнеров для архивирования в фоновом режиме.

Есть BAPI_BUPA_CENTRAL_CHANGE и BUPA_CENTRAL_CHANGE, но оба они используют в качестве параметров импорта отдельных деловых партнеров. Я думаю, что зацикливание и вызов этой функции не имели бы смысла, поскольку у меня было бы всего 50 000 фоновых заданий. Я хотел бы иметь одну фоновую работу со всеми деловыми партнерами. Передача стандартной таблицы, а не структуры приводит к сбросу функции. Есть ли способ получить больше данных в структуру или другой способ сделать это?

    ls_central-centralarchivingflag = 'X'.
    ls_central_x-centralarchivingflag = 'X'.
   CALL FUNCTION 'BAPI_BUPA_CENTRAL_CHANGE' IN BACKGROUND TASK
    EXPORTING
    businesspartner                   = ls_partner_bapi   (Here, many bpartners)
    centraldata                       = ls_central
    centraldata_x                     = ls_central_x
    TABLES
    return                            = lt_return.

person Atos    schedule 12.04.2017    source источник
comment
Почему вы предполагаете, что у вас будет 50 тысяч фоновых заданий вместо цикла внутри одного фонового задания? Зачем вообще нужно вызывать функциональный модуль в фоновой задаче? (примечание: задача != работа!)   -  person vwegert    schedule 12.04.2017
comment
Цикл внутри одной фоновой задачи — это то, что я хотел, но он не выполнялся. Я сделал функциональный модуль для работы в фоновом режиме, передавая таблицу, а затем зацикливая ее внутри FM с вызовом BUPA в цикле, но ничего не появилось в SM37 или SM58, и никаких изменений в БД не было сделано даже с функциями фиксации/фиксации .   -  person Atos    schedule 12.04.2017
comment
И без более подробной информации о возвращаемых значениях никто никогда не узнает, почему...   -  person vwegert    schedule 12.04.2017
comment
Я недостаточно знаю, чтобы дать вам возвращаемые значения или даже увидеть их. Он ничего не возвращал. Я не утаиваю информацию :) Но! Мое решение состоит в том, чтобы записать всех партнеров в таблицу БД из программы анализа, а затем иметь вторую программу, которую я могу запустить в фоновом режиме, выбирать непосредственно из этой БД и помечать этих партнеров для архивирования. Поскольку для запуска обоих требуется некоторое время, для меня нормально (лучше) делать их по отдельности. Выполнение их всех сразу на переднем плане - это то, что в первую очередь привело к дампу - слишком много, чтобы их можно было изменить таким образом в этой системе.   -  person Atos    schedule 12.04.2017
comment
Всегда предпочтительнее использовать стандартный функционал, чем кучу Z-конструкций.   -  person Suncatcher    schedule 12.04.2017
comment
Я согласен, но решения принимаю не я :D Я хотел просто экспортировать их в Excel и загрузить на экран выбора MASS.   -  person Atos    schedule 12.04.2017


Ответы (1)


Вместо этого используйте инструмент массового обслуживания (tcode MASS или MASSD). Его можно использовать для пакетного изменения любых объектов, в том числе деловых партнеров.

введите здесь описание изображения

Вот руководство по изменению фона задача с MASS.

person Suncatcher    schedule 12.04.2017
comment
Спасибо за это, привело меня к решению, которое я могу использовать. (в моем комментарии к исходному вопросу) :) - person Atos; 12.04.2017