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.