Текущее время: Пн, июл 28 2025, 06:13

Часовой пояс: 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 часа


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

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


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

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