Текущее время: Вс, июл 27 2025, 23:30

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


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


ВНИМАНИЕ!

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



Начать новую тему Ответить на тему  [ Сообщений: 31 ]  На страницу 1, 2, 3  След.
Автор Сообщение
 Заголовок сообщения: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 13:35 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
Задача такая: есть программа для выгрузки данных в excel, нужно через селекционный экран организовать передачу номера документа в программу, и посмотреть результат в excel.

Для передачи номера использую:
Code:
DATA wa_ebeln TYPE ekpo.

SELECT-OPTIONS pa_ebeln FOR wa_ebeln-ebeln NO INTERVALS NO-EXTENSION.


При нажатии кнопки выполнить ( F8 ) возникает следующее сообщение:
Укажите либо номер адреса, либо идент. номер адреса (handle).

Подскажите с чем это может быть связано, и как бороться?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 13:53 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
polkon написал(а):
Задача такая: есть программа для выгрузки данных в excel, нужно через селекционный экран организовать передачу номера документа в программу, и посмотреть результат в excel.

Для передачи номера использую:
Code:
DATA wa_ebeln TYPE ekpo.

SELECT-OPTIONS pa_ebeln FOR wa_ebeln-ebeln NO INTERVALS NO-EXTENSION.


При нажатии кнопки выполнить ( F8 ) возникает следующее сообщение:
Укажите либо номер адреса, либо идент. номер адреса (handle).

Подскажите с чем это может быть связано, и как бороться?

Поищите, где выдается это сообщение. Это не связано с логикой экрана в части ebeln.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 13:56 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
bossjohn написал(а):
Поищите, где выдается это сообщение. Это не связано с логикой экрана в части ebeln.


В том то и дело, это выдается не ошибкой, а как системное сообщение слева внизу экрана, после нажатия кнопки "Выполнить".


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:00 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
А есть ли на сел. экране другие параметры?


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:02 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
Paul_80 написал:
А есть ли на сел. экране другие параметры?

Code:
Parameters:
  Review   as checkbox default 'X',
  Print       as checkbox.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:04 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Зашиты ли какие-либо параметры сел. экрана в Include?

Если нет, приводите листинг исходника.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:05 
Модератор
Модератор
Аватара пользователя

Зарегистрирован:
Пт, июн 16 2006, 00:43
Сообщения: 1686
Откуда: Москва <-> Красноярск
Пол: Мужской
polkon, не связано сообщение с СЭ (по карйней мере с той частью, которую вы показали). Поставьте брэйкпойнт на statement MESSAGE. И посмотрите что вам это сообщение выдает.


Пометить тему как нерешенную
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:14 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
Paul_80 написал:
Зашиты ли какие-либо параметры сел. экрана в Include?

Если нет, приводите листинг исходника.


инклудов нет. Исходник:
Code:
Data:
  it_Val  type standard table of ZWWW_VALUES with header line,
  SysDate(10),
  Num type i.
Write sy-datum to SysDate. "Системная дата в текстовый формат

it_Val-Var_Name = ''. "будет производиться поиск во всем документе,

it_Val-Var_Num = 0.   "номер строки, для нетабличных частей заполнять
"не надо

it_Val-Find_Text = '[кто]'. "уникальный текст, который будет найден и
"заменен на следующее значение

it_Val-Value = sy-uname. "значение в текстовой форме (имя пользователя)
Append it_Val.

******************************
* Метод присвоения переменной
Clear it_Val.
it_Val-Var_Name = 'Дата'. "Имя закладки
it_Val-Find_Text = ''.    "
it_Val-Value = SysDate.   "Системная дата
Append it_Val.

TYPES: BEGIN OF specification,
place_number   TYPE ekpo-ebelp,
product_code   TYPE ekpo-matnr,
product_name   TYPE makt-maktx,
quantity       TYPE ekpo-menge,
unit           TYPE ekpo-meins,
price          TYPE ekpo-netpr,
total          TYPE ekpo-netwr,
currency       TYPE ekko-waers,
date           TYPE eket-eindt,
END OF specification.

TYPES: BEGIN OF specification2,
seller              type char100,
buyer               type char100,
delivery_place      type char100,

supplier_code       TYPE ekko-llief,
preorder_number     type ekko-angnr,
confirmation_number type ekko-ihrez,
order_data          type ekko-aedat,
curr                type ekko-waers,
total_price         type ekpo-netwr,
nds                 type ekpo-netwr,
END OF specification2.


TYPES specification_table TYPE TABLE OF specification.

DATA: gs_specification_table TYPE specification2.

DATA: gv_werks TYPE werks_d.

  DATA:
   main_table       TYPE specification OCCURS 300,
   main_table2      TYPE specification2 OCCURS 300,
   gs_temp_ekko     TYPE ekko,
   temp_ekpo        TYPE ekpo,
   temp_lfa1_adrnr  TYPE lfa1-adrnr,
   temp_addr1_sel   TYPE addr1_sel,
   temp_addr1_val   TYPE addr1_val,
   temp_t001_adrnr  TYPE t001-adrnr,
   temp_t001w_adrnr TYPE t001w-adrnr.

DATA wa_ebeln TYPE ekpo.

SELECT-OPTIONS pa_ebeln FOR wa_ebeln-ebeln NO INTERVALS
                                                                     NO-EXTENSION.

START-OF-SELECTION.

Parameters:
  Review   as checkbox default 'X',
  Print    as checkbox.

SELECT SINGLE *
    FROM ekko
    INTO gs_temp_ekko
    WHERE ebeln = wa_ebeln.

  SELECT SINGLE adrnr
    FROM lfa1
    INTO temp_addr1_sel-addrnumber
     WHERE lifnr = gs_temp_ekko-lifnr.


*---------------------------------------------------------------------------------------------------*
* Поставщик
*---------------------------------------------------------------------------------------------------*
  CALL FUNCTION 'ADDR_GET'
    EXPORTING
      address_selection = temp_addr1_sel
    IMPORTING
      address_value     = temp_addr1_val.

  CONCATENATE gs_temp_ekko-lifnr temp_addr1_val-name1 temp_addr1_val-name2
  temp_addr1_val-name3 temp_addr1_val-name4 INTO gs_specification_table-seller SEPARATED BY space.
*---------------------------------------------------------------------------------------------------*

  SELECT SINGLE adrnr
    FROM t001
    INTO temp_addr1_sel-addrnumber
    WHERE bukrs = gs_temp_ekko-bukrs.

*---------------------------------------------------------------------------------------------------*
* Покупатель
*---------------------------------------------------------------------------------------------------*
  CALL FUNCTION 'ADDR_GET'
    EXPORTING
      address_selection = temp_addr1_sel
    IMPORTING
      address_value     = temp_addr1_val.
  CONCATENATE temp_addr1_val-name1 temp_addr1_val-name2
  temp_addr1_val-name3 temp_addr1_val-name4 INTO gs_specification_table-buyer SEPARATED BY space.
*---------------------------------------------------------------------------------------------------*


  gs_specification_table-preorder_number = gs_temp_ekko-angnr.      "номер предварительного заказа

  gs_specification_table-confirmation_number = gs_temp_ekko-ihrez.  "подтверждение заказа

  gs_specification_table-order_data = gs_temp_ekko-aedat.           "дата заказа



  IF temp_t001w_adrnr = ''.

    CLEAR: gv_werks.
    SELECT SINGLE werks
      FROM ekpo
      INTO gv_werks
      WHERE ebeln = wa_ebeln.

    IF sy-subrc = 0.
      SELECT SINGLE adrnr
        FROM t001w
        INTO temp_t001w_adrnr
        WHERE werks = gv_werks
         AND adrnr NE ''.
    ENDIF.

  ENDIF.

**-----------------------------------------------------------------------------------------------------*
** Место поставки товара
**-----------------------------------------------------------------------------------------------------*
  CALL FUNCTION 'ADDR_GET'
    EXPORTING
      address_selection = temp_addr1_sel
    IMPORTING
      address_value     = temp_addr1_val.
  CONCATENATE temp_addr1_val-name1 temp_addr1_val-name2
temp_addr1_val-name3 temp_addr1_val-name4 INTO gs_specification_table-delivery_place SEPARATED BY space.
*-----------------------------------------------------------------------------------------------------*


  DATA tb_line TYPE specification.
  DATA tb_line2 TYPE specification2.


SELECT * FROM ekpo INTO temp_ekpo WHERE ebeln = wa_ebeln.

  CALL METHOD z_test_class1=>number_TRANSFORM
  EXPORTING
    input = temp_ekpo-ebelp
    flag = ' '
  IMPORTING
    output = tb_line-place_number.


  tb_line-product_code = temp_ekpo-matnr.



  tb_line2-seller = gs_specification_table-seller.
  tb_line2-buyer = gs_specification_table-buyer.
  tb_line2-delivery_place = gs_specification_table-delivery_place.
  tb_line2-order_data = gs_specification_table-order_data.

  tb_line2-preorder_number = gs_specification_table-preorder_number.
  tb_line2-confirmation_number = gs_specification_table-confirmation_number .

  tb_line2-curr = gs_specification_table-curr.


  SELECT maktx FROM makt INTO tb_line-product_name WHERE matnr = temp_ekpo-matnr
                                                         AND spras = 'R'.
  ENDSELECT.
  tb_line-quantity = temp_ekpo-menge.
  tb_line-unit = temp_EKPO-MEINS.

  tb_line-price = temp_ekpo-netpr.
  tb_line-total = temp_ekpo-netwr.

  gs_specification_table-total_price = gs_specification_table-total_price + tb_line-total.
  gs_specification_table-NDS         = gs_specification_table-NDS + TEMP_EKPO-NETWR.

  IF gs_temp_ekko-waers = 'RUB'.
    tb_line-currency = 'РУБ'.
  ELSE.
    tb_line-currency = gs_temp_ekko-waers.
  ENDIF.

  IF gs_temp_ekko-waers = 'RUB'.
    tb_line2-curr = 'РУБ'.
  ELSE.
    tb_line2-curr = gs_temp_ekko-waers.
  ENDIF.

  SELECT eindt FROM eket INTO tb_line-date WHERE ebeln = gs_temp_ekko-ebeln.
  ENDSELECT.



    INSERT tb_line INTO TABLE main_table.
  gs_specification_table-total_price = gs_specification_table-total_price + TEMP_EKPO-NETWR.
  gs_specification_table-NDS         = gs_specification_table-NDS + TEMP_EKPO-NETWR.


ENDSELECT.

END-OF-SELECTION.



gs_specification_table-curr = tb_line2-curr.

tb_line2-total_price = gs_specification_table-total_price.
tb_line2-NDS = gs_specification_table-NDS.
INSERT tb_line2 INTO TABLE main_table2.

  Data:
    it_Ctl  type standard table of ZWWW_FIELD_CATALOG with header line.
  Refresh: it_Ctl.

Call function 'ZWWW_PREPARE_TABLE'
       EXPORTING
            HEADER_NAME =
               '' "имя заголовка таблицы в шаблоне
            LINE_NAME         = ''  "имя строки таблицы в шаблоне
            VAL_TYPE          = ''  "кажде поле отдельно по имени
       TABLES
            IT_ANY_TABLE      = main_table2  "внутренняя таблица с данными
            IT_VALUES         = it_Val  "таблица для 'ZWWW_OPENFORM'
            IT_FIELDS_CATALOG = it_Ctl. "описание полей


Call function 'ZWWW_PREPARE_TABLE'
     EXPORTING
       HEADER_NAME =
               'Header2' "имя заголовка таблицы в шаблоне
          LINE_NAME    = 'Строка4'  "имя строки таблицы в шаблоне
          VAL_TYPE     = 'T'
     TABLES
          IT_ANY_TABLE = main_table  "внутренняя таблица с данными
          IT_VALUES    = it_Val. "таблица для 'ZWWW_OPENFORM'

********************************************************************
* Заполнение шаблона подготовленными данными и вывод на экран
********************************************************************
  Call function 'ZWWW_OPENFORM'
    EXPORTING
      FORM_NAME   = 'ZWWW_EPPO'
      PRINTDIALOG = Print
      PROTECT     = Review

    TABLES
      IT_VALUES   = it_Val
    EXCEPTIONS
      PRINTCANCEL = 1
      others      = 99.



Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:18 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Смотрите, что передаете в ADDR_GET. Ошибка там


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:19 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
Брекпоинт показывает что здесь ошибка:
Code:
*---------------------------------------------------------------------------------------------------*
* Поставщик
*---------------------------------------------------------------------------------------------------*
  CALL FUNCTION 'ADDR_GET'
    EXPORTING
      address_selection = temp_addr1_sel
    IMPORTING
      address_value     = temp_addr1_val.

  CONCATENATE gs_temp_ekko-lifnr temp_addr1_val-name1 temp_addr1_val-name2
  temp_addr1_val-name3 temp_addr1_val-name4 INTO gs_specification_table-seller SEPARATED BY space.
*---------------------------------------------------------------------------------------------------*


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:20 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
а вот и причина
Code:
SELECT SINGLE *
    FROM ekko
    INTO gs_temp_ekko
    WHERE ebeln = wa_ebeln.

надо бы по pa_ebeln искать


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:23 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
Хм, пока писал, опередили :)
Тогда так, вместо:
Code:
DATA wa_ebeln TYPE ekpo.
SELECT-OPTIONS pa_ebeln FOR wa_ebeln-ebeln NO INTERVALS NO-EXTENSION.

Пишем:
Code:
DATA wa_ebeln TYPE ekpo-ebeln.
SELECT-OPTIONS pa_ebeln FOR wa_ebeln NO INTERVALS NO-EXTENSION.


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:28 
Старший специалист
Старший специалист

Зарегистрирован:
Пн, апр 17 2006, 21:49
Сообщения: 299
Откуда: Москва
Paul_80 написал:
Хм, пока писал, опередили :)
Тогда так, вместо:
Code:
DATA wa_ebeln TYPE ekpo.
SELECT-OPTIONS pa_ebeln FOR wa_ebeln-ebeln NO INTERVALS NO-EXTENSION.

Пишем:
Code:
DATA wa_ebeln TYPE ekpo-ebeln.
SELECT-OPTIONS pa_ebeln FOR wa_ebeln NO INTERVALS NO-EXTENSION.

Не поможет.
я выше написал как надо :)


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:32 
Специалист
Специалист

Зарегистрирован:
Чт, ноя 23 2006, 17:37
Сообщения: 197
Откуда: Москва
Пол: Мужской
bossjohn написал(а):
Не поможет.
я выше написал как надо :)

Вместе с моим уточнением еще как поможет :lol:
Вообще, конечно, код чистить надо...


Пометить тему как нерешенную
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Проблема с обработкой селекционного экрана.
СообщениеДобавлено: Ср, дек 19 2012, 14:36 
Младший специалист
Младший специалист

Зарегистрирован:
Ср, ноя 28 2012, 16:26
Сообщения: 52
Теперь код выглядит так:
Code:
DATA wa_ebeln TYPE ekpo-ebeln.
SELECT-OPTIONS pa_ebeln FOR wa_ebeln NO INTERVALS NO-EXTENSION.



* First event processed after leaving the selection screen
*AT SELECTION-SCREEN.


*AUTHORITY-CHECK OBJECT 'wa_ebeln'
*ID 'wa_ebeln' FIELD pa_ebeln.
**ID 'ACTVT' FIELD actvt_display.
*IF sy-subrc NE 0.
** Return to selection screen and display message in status bar
*MESSAGE e045(bc400) WITH pa_ebeln.
*ENDIF.

START-OF-SELECTION.

Parameters:
  Review   as checkbox default 'X',
  Print    as checkbox.

SELECT SINGLE *
    FROM ekko
    INTO gs_temp_ekko
    WHERE ebeln = pa_ebeln.

  SELECT SINGLE adrnr
    FROM lfa1
    INTO temp_addr1_sel-addrnumber
     WHERE lifnr = gs_temp_ekko-lifnr.


*---------------------------------------------------------------------------------------------------*
* Поставщик
*---------------------------------------------------------------------------------------------------*
  CALL FUNCTION 'ADDR_GET'
    EXPORTING
      address_selection = temp_addr1_sel
    IMPORTING
      address_value     = temp_addr1_val.

  CONCATENATE gs_temp_ekko-lifnr temp_addr1_val-name1 temp_addr1_val-name2
  temp_addr1_val-name3 temp_addr1_val-name4 INTO gs_specification_table-seller SEPARATED BY space.
*---------------------------------------------------------------------------------------------------*


Но меседж тот же остался.


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

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


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

Сейчас этот форум просматривают: Google [Bot]


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

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