SAP R/3 форум ABAP консультантов
Russian ABAP Developer's Club

Home - FAQ - Search - Memberlist - Usergroups - Profile - Log in to check your private messages - Register - Log in - English
Blogs - Weblogs News

Вопрос по селекционному экрану



 
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP
View previous topic :: View next topic  
Author Message
polkon
Участник
Участник



Joined: 28 Nov 2012
Posts: 14

PostPosted: Wed Dec 19, 2012 1:11 pm    Post subject: Вопрос по селекционному экрану Reply with quote

Задача такая: есть программа для выгрузки данных в excel, нужно через селекционный экран организовать передачу номера документа в программу, и посмотреть результат в excel.

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

DATA wa_ebeln TYPE ekpo.

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


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

Подскажите с чем это может быть связано, и как бороться?
Back to top
View user's profile Send private message
Fami4
Специалист
Специалист


Age: 42
Joined: 04 Aug 2009
Posts: 62
Location: UA

PostPosted: Wed Dec 19, 2012 1:21 pm    Post subject: Reply with quote

так пробовали:

Code:

tables: ekpo.

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


у меня отрабатывает и ваш вариант Confused
скорее всего, ошибка не в селекционном экране
Back to top
View user's profile Send private message
polkon
Участник
Участник



Joined: 28 Nov 2012
Posts: 14

PostPosted: Wed Dec 19, 2012 2:22 pm    Post subject: Reply with quote

Но вывод в excel отдельно от селекционного экрана работает, значит нужно наладить их взаимодействие, я правильно понимаю?
Я понимаю какой номер адреса, либо идент. номер адреса (handle) просит прога.
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Wed Dec 19, 2012 2:57 pm    Post subject: Re: Вопрос по селекционному экрану Reply with quote

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

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

1.Перед нажатием кнопки F8 наберите в окне команд "/h"
2.Нажите F8, после этого в отладчике посмотрите, где выдается сообщение.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
polkon
Участник
Участник



Joined: 28 Nov 2012
Posts: 14

PostPosted: Thu Dec 20, 2012 12:50 pm    Post subject: Reply with quote

Code:
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.

PARAMETERS pa_ebeln(10) TYPE c OBLIGATORY.

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.

Здесь ошибка, но не могу понять в чем:
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.
**---------------------------------------------------------------------------------------------------*
Back to top
View user's profile Send private message
alezhu
Специалист
Специалист



Joined: 29 Apr 2012
Posts: 86
Location: Spb

PostPosted: Thu Dec 20, 2012 2:28 pm    Post subject: Reply with quote

не выбирается у Вас temp_addr1_sel-addrnumber или пустое
Back to top
View user's profile Send private message
Удав
Гуру
Гуру


Age: 48
Joined: 25 Jan 2008
Posts: 580
Location: Москва

PostPosted: Thu Dec 20, 2012 2:47 pm    Post subject: Reply with quote

После любых операторов SELECT необходимо проверять код возврата - переменную SY-SUBRC.
Посмотрите транзакцию ABAPDOCU, раздел "ABAP: доступы к БД - Open SQL - Считывание данных" для примера.

_________________
С уважением,
Удав.
Back to top
View user's profile Send private message
bimit
Специалист
Специалист



Joined: 11 Jul 2011
Posts: 56

PostPosted: Fri Dec 21, 2012 9:11 am    Post subject: Reply with quote

polkon wrote:
Code:
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.

PARAMETERS pa_ebeln(10) TYPE c OBLIGATORY.

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.

Здесь ошибка, но не могу понять в чем:
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.
**---------------------------------------------------------------------------------------------------*


Делайте проверку после селектов и будете знать выбралось что то или нет ну и проверяйте чему равны те или иные переменные, вполне возможно что у вас еще при считывании поля LIFNR из таблицы EKKO пустое. Wink
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Russian ABAP Developer's Club Forum Index -> ABAP All times are GMT + 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


All product names are trademarks of their respective companies. SAPNET.RU websites are in no way affiliated with SAP AG.
SAP, SAP R/3, R/3 software, mySAP, ABAP, BAPI, xApps, SAP NetWeaver and any other are registered trademarks of SAP AG.
Every effort is made to ensure content integrity. Use information on this site at your own risk.