В FORM f4_etnr сделал после F4IF_INT_TABLE_VALUE_REQUEST добавление:
пробую получить выбранное значение D200-ZZKDETNR через DYNP_VALUES_READ (чтобы потом определить с помощью SELECT соответствующий этому значению текст ну и затем через DYNP_VALUES_UPDATE вставить его в D200-KDTEXT)...
Но получаю, что в D200-ZZKDETNR пусто
Кроме того почему-то при использовании DYNP_VALUES_READ у меня вообще перестает показываться выбранный D200-ZZKDETNR
Age: 80 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Tue Feb 12, 2008 6:28 pm Post subject:
Получается, что dynpfields - это таблица. Вы не прочитав из нее ни одной записи, проверяете содержимое в рабочей области. Что в таблице возвращается, посмотрите значения в отладчике?
DATA: field_value LIKE LINE OF dynpfields.
......
READ TABLE dynpro_fields INDEX 1 INTO field_value.
CHECK NOT field_value-fieldvalue IS INITIAL.
x_etnr = field_value-fieldvalue.
Age: 80 Joined: 04 Oct 2007 Posts: 1218 Location: Санкт-Петербург
Posted: Wed Feb 13, 2008 12:09 pm Post subject:
Рабочий пример.
На 100 экране два поля:
EKKO-EBELN
EKKO-AEDAT
При выборе из таблицы значения EKKO-EBELN обновляется второе поле.
Code:
REPORT Z_VGA_SCREEN.
TABLES: EKKO.
data: FCODE TYPE sy-ucomm,
SCODE TYPE sy-ucomm.
INITIALIZATION.
START-OF-SELECTION.
CALL SCREEN 100.
* populate screen field from within PROCESS ON VALUE-REQUEST(F4) call
*&------------------------------------------------------------------*
*& Module help_responsibility INPUT
*&------------------------------------------------------------------*
* text
*-------------------------------------------------------------------*
MODULE help_EKKO INPUT.
DATA: dynpfields LIKE dynpread OCCURS 1 WITH HEADER LINE.
DATA: field_value LIKE LINE OF dynpfields.
DATA: return_values LIKE ddshretval OCCURS 0 WITH HEADER LINE.
DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr.
DATA: BEGIN OF it_etnr OCCURS 0,
EBELN TYPE EKKO-EBELN,
END OF it_etnr.
progname = sy-cprog.
dynnum = sy-dynnr.
SELECT * INTO CORRESPONDING FIELDS OF TABLE it_etnr
FROM ekko.
IF sy-subrc <> 0.
MESSAGE ID sy-msgid TYPE sy-msgty NUMBER sy-msgno
WITH sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4.
ENDIF.
*-------------------------------
READ TABLE return_values WITH KEY RETFIELD = 'EKKO-EBELN'.
CHECK sy-subrc IS INITIAL.
EKKO-EBELN = return_values-fieldval.
DATA: l_stepl LIKE sy-stepl.
* Adjust for scroling within table control
CALL FUNCTION 'DYNP_GET_STEPL'
IMPORTING
povstepl = l_stepl
EXCEPTIONS
stepl_not_found = 0
OTHERS = 0.
SELECT SINGLE * FROM EKKO WHERE ebeln = EKKO-EBELN.
All times are GMT + 4 Hours Goto page Previous1, 2
Page 2 of 2
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.