Текущее время: Вт, апр 16 2024, 08:03

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Соединение двух внутренних таблиц.
СообщениеДобавлено: Пн, дек 04 2017, 07:50 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
Kuranov.Dmitry написал(а):
1)Read table заменить на LOOP.
2) В нем аккумулировать данные для отчета
3) Запустить отчет


Добрый день.

В общем итоге сделал submit-ом, получилось что то вроде вот этого
Code:
form user_command using v_ucomm   like sy-ucomm
wa_selrow type slis_selfield.
  case v_ucomm.
    when 'ZAPAS'.
      refresh sklad.
      refresh sklad2.
      read table itab1 index wa_selrow-tabindex.
      loop at tt001w.
        refresh listtab2.
*   refresh listtabusd.
        refresh ascilistkzt2.
*    refresh ascilistusd.
*    refresh itkzt2.
        p_werks = tt001w-bwkey.
        export listobject = listtab2 to memory id '%_LIST'.
        submit rm07mlbs with matnr in r_matnr with werks = p_werks with kzlso = 'X'
      with seneg ne 'X' with mb52_xmchb = 'X' with kznul = 'X' with mb52_noval ne 'X'
      with mb52_alv_flt = 'X' exporting list to memory and return.

        call function 'LIST_FROM_MEMORY'
          tables
            listobject         = listtab2
          exceptions
            empty_list         = 1
            list_index_invalid = 2
            others             = 3.
        if sy-subrc = 0.
          read table listtab2 index 1.
          if sy-subrc = 0.
            refresh ascilistkzt2.
            call function 'LIST_TO_ASCI'
              tables
                listasci           = ascilistkzt2
                listobject         = listtab2
              exceptions
                empty_list         = 1
                list_index_invalid = 2
                others             = 3.
            if sy-subrc <> 0.
              message id sy-msgid type sy-msgty number sy-msgno
              with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.

            endif.
            clear:  x11.
            loop at ascilistkzt2.
              if sy-tabix => 4.
                refresh itkzt2.
                split ascilistkzt2-line at '|' into table itkzt2.
                x11 = 'X'.
                loop at itkzt2.
                  if sy-tabix = 2.
                    x12 = itkzt2-x.
                    shift x12 left by 1 places.
                    sklad-matnr = x12.
                  elseif sy-tabix = 3.
                    sklad-werks = itkzt2-x.
                  elseif sy-tabix = 4.
                    sklad-lgort = itkzt2-x.
                  elseif sy-tabix = 7.
                    sklad-posid = itkzt2-x.
                  elseif sy-tabix = 10.
                    sklad-meins = itkzt2-x.
                  elseif sy-tabix = 11.
                  sklad-lbkum = itkzt2-x.
*                    shift x13 left by 5 places.
*                    sklad-labst = x13.
                  elseif sy-tabix = 13.
                    sklad-waers = itkzt2-x.
                  elseif sy-tabix = 14.
                    sklad-salk3 = itkzt2-x.
                  endif.
                endloop.
                append sklad.
                delete sklad WHERE matnr = ''.
                delete adjacent duplicates from sklad.

              endif.
            endloop.
          endif.
        endif.
      endloop.

И вроде бы всё нормально, но я submit вызываю транзакцию mb52 и этот стандартный отчёт можно настраивать, каждый юзер запускает его как хочет в плане того что на селекционном экране ставит те галочки которые ему нужны, я пытаюсь в submit передать какое какие параметры, чтобы галочки на select button при запуске select-option проставились вот так к примеру mb52_alv_flt = 'X, но программа игнорирует передачу галочек в моём отчёте и берёт те настройки который были проставлены юзером при последнем пользовании транзакцией MB52. Может кто работал с submit и знает как передать на select button нужные мне значения?


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединение двух внутренних таблиц.
СообщениеДобавлено: Пн, дек 04 2017, 08:54 
Старший специалист
Старший специалист
Аватара пользователя

Зарегистрирован:
Пн, ноя 01 2004, 12:17
Сообщения: 298
Пол: Мужской
Доброе утро!

1. Создайте свой вариант транзакции и вызывайте через SUBMIT report USING SELECTION-SET variant
2. При передаче параметров не нужные галочке надо снимать:
with kznul = 'X'
param1 = ''
param = ''
3. Проверьте названия параметром :
PARAMETERS : pa_flt LIKE am07m-mb52_alv_flt "#EC SEL_WRONG
вместо mb52_alv_flt надо передавать pa_flt = 'X'.
вместо seneg ne 'X' надо negativ = ''


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Соединение двух внутренних таблиц.
СообщениеДобавлено: Пн, дек 04 2017, 11:06 
Специалист
Специалист

Зарегистрирован:
Вт, дек 06 2005, 13:24
Сообщения: 167
DATA: result_distinct LIKE STANDARD TABLE OF V_MMIM_QN.

SELECT matnr, werks, LGORT, PSPNR, PRLAB as LABST
FROM mspr
UNION DISTINCT
SELECT matnr, werks, LGORT, CAST( '00000000' as NUMC ) as PSPNR, LABST
FROM mard
INTO CORRESPONDING FIELDS OF TABLE @result_distinct.

Список полей в обоих селектах должен быть одинаковый и все работает.
Можно результирующую таблицу объявить по нужным полям.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединение двух внутренних таблиц.
СообщениеДобавлено: Пн, дек 04 2017, 11:08 
Директор
Директор
Аватара пользователя

Зарегистрирован:
Чт, янв 24 2013, 08:43
Сообщения: 780
Откуда: South Kazakhstan
Пол: Мужской
RA написал:
Доброе утро!

1. Создайте свой вариант транзакции и вызывайте через SUBMIT report USING SELECTION-SET variant
2. При передаче параметров не нужные галочке надо снимать:
with kznul = 'X'
param1 = ''
param = ''
3. Проверьте названия параметром :
PARAMETERS : pa_flt LIKE am07m-mb52_alv_flt "#EC SEL_WRONG
вместо mb52_alv_flt надо передавать pa_flt = 'X'.
вместо seneg ne 'X' надо negativ = ''

Спасибо за разъяснения, по третьему пункту сделал, вроде бы работает.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Соединение двух внутренних таблиц.
СообщениеДобавлено: Пн, дек 04 2017, 11:15 
Гуру-эксперт
Гуру-эксперт
Аватара пользователя

Зарегистрирован:
Чт, ноя 11 2004, 16:25
Сообщения: 3109
Пол: Мужской
Maksimka написал:
RA написал:
Доброе утро!

1. Создайте свой вариант транзакции и вызывайте через SUBMIT report USING SELECTION-SET variant
2. При передаче параметров не нужные галочке надо снимать:
with kznul = 'X'
param1 = ''
param = ''
3. Проверьте названия параметром :
PARAMETERS : pa_flt LIKE am07m-mb52_alv_flt "#EC SEL_WRONG
вместо mb52_alv_flt надо передавать pa_flt = 'X'.
вместо seneg ne 'X' надо negativ = ''

Спасибо за разъяснения, по третьему пункту сделал, вроде бы работает.

Или все таки вызывать защищенный вариант по п1 или же также отработать п2, так как есть такое понятие как memory id у параметров селективного экрана, может быть так что значения некоторых параметров буду заполнены в тот момент когда Вам это не нужно.


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

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


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

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


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

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