Автор Тема: SXPG_CALL_SYSTEM - Выполнение команд операционной системы  (Прочитано 4308 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Uukrul

  • SAP ECC 6.0 Ehp(*)
  • Administrator
  • Epic Member
  • *****
  • Сообщений: 3 762
  • Репутация: +47/-0
  • Пол: Мужской
  • YearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYearsYears
    • Sapforum.BIZ
SXPG_CALL_SYSTEM - Выполнение команд операционной системы, например нужно скопировать файлик из одного каталога сервера в другой или еще чего запустить.
Код: You are not allowed to view links. Register or Login
  DATA: mv_status   LIKE extcmdexex-status,
        mv_exitcode LIKE extcmdexex-exitcode,
        copy_command LIKE sxpgcolist-parameters.
  DATA: btcxpm_tab LIKE btcxpm OCCURS 10 WITH HEADER LINE.

  CALL FUNCTION 'SXPG_CALL_SYSTEM'
       EXPORTING
            commandname                = 'ZYCOPY'
            additional_parameters      = copy_command
       IMPORTING
            status                     = mv_status
            exitcode                   = mv_exitcode
       TABLES
            exec_protocol              = btcxpm_tab
       EXCEPTIONS
            no_permission              = 1
            command_not_found          = 2
            parameters_too_long        = 3
            security_risk              = 4
            wrong_check_call_interface = 5
            program_start_error        = 6
            program_termination_error  = 7
            x_error                    = 8
            parameter_expected         = 9
            too_many_parameters        = 10
            illegal_command            = 11
            OTHERS                     = 12.
  IF mv_status = 'E' OR sy-subrc <> 0.
*   Однако тута ошибка или команды или вызова ФМ
  ENDIF.
ZYCOPY - Определена через SM69 как ссылка на выполнение команды cp,
copy_command - Ну тут просто указываем что хотим скопировать и куда, формат параметров юниксовый который требуется командочка cp.

Короче, пока писал, так подумалось, ну для юниксовго сервака не так в тупую, а вот для виндовой машинки, открываем файлик в бинари моде и заливаем на сервер исполняемый файлик, который потом можно попытаться запустить на выполнение... чисто по приколу, посмотреть выйдет ли  ;)