Hi,
I have developed a report for displaying amendment changes in a purchse order. The input are purchase order
and plant. Now they have asked for an additional input of version field, which should also have F4 field-value help.
For version field, default there is no F4 key. So, i have written code like after entering the PO number when we press the enter key, for the corresponding PO, it brings the version no in input field. But my problem is it is displaying the values for version field, but when i select some value it is not getting updated in selection-screen version field. I have attached my code below... please help me
in the below code my problem is only between
AT SELECTION-SCREEN on value-request for P_REVNO.
and
start-of-selection event...
TABLES : ekko,
ekpo,
cdhdr,
cdpos,
MEPO1325,
t001,
t166c,
t166t,
adrc,
komp, " net rate of header
konv, " net value of purchase order
zammendpodet.
TYPES : BEGIN OF ts_cdpos,
ebeln TYPE ekbe-ebeln,
ebelp TYPE ekbe-ebelp,
matnr type ekpo-matnr,
maktx type makt-maktx,
prdat type ekpo-prdat,
belnr TYPE ekbe-belnr,
budat TYPE ekbe-budat,
tkey(70),
txz01 TYPE ekpo-txz01,
ctxnr TYPE t166c-ctxnr,
desp(20) type C,
MEINS LIKE MARA-MEINS,
chtxt TYPE t166t-chtxt.
INCLUDE STRUCTURE cdpos.
TYPES : END OF ts_cdpos.
data : begin of it_makt occurs 0,
matnr like makt-matnr,
maktx like makt-maktx,
end of it_makt.
data : begin of it_maRA occurs 0,
matnr like maRA-matnr,
mEINS like maRA-mEINS,
end of it_maRA.
*Internal table declartion
DATA : it_erev TYPE TABLE OF erev WITH HEADER LINE,
it_ekko1 type table of ekko with header line,
it_konv2 type table of konv with header line,
it_ekpo TYPE TABLE OF ekpo WITH HEADER LINE,
it_ekpo1 TYPE TABLE OF ekpo WITH HEADER LINE,
it_cdhdr TYPE TABLE OF cdhdr WITH HEADER LINE,
it_t166c TYPE TABLE OF t166c WITH HEADER LINE,
it_ekbe TYPE TABLE OF ekbe WITH HEADER LINE,
IT_AMMEND TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
IT_AMMEND1 TYPE TABLE OF ZAMMENDPODET WITH HEADER LINE,
it_komp TYPE TABLE OF KOMP WITH HEADER LINE,
it_konv type table of konv with header line,
it_konv1 type table of konv with header line,
it_cdpos TYPE TABLE OF ts_cdpos WITH HEADER LINE.
data : BEGIN OF it_erev1 occurs 0,
revno TYPE erev-revno.
data : end of it_erev1.
data : begin of it_cdpos1 occurs 0.
include structure cdpos.
data : ebeln like ekko-ebeln,
item like ekpo-ebelp,
aedat like ekpo-aedat,
matnr like ekpo-matnr,
txz01 like ekpo-txz01,
desp(20) type C,
MEINS LIKE MARA-MEINS,
item1 like ekpo-netpr.
data : end of it_cdpos1.
types : dy_temp TYPE lips-lgort.
DATA : dyfields LIKE dynpread OCCURS 1 WITH HEADER LINE, dy_value TYPE dy_temp.
DATA: progname TYPE sy-repid,
dynnum TYPE sy-dynnr,
dynpro_values TYPE TABLE OF dynpread,
field_value LIKE LINE OF dynpro_values.
*Work variable declaration
DATA : v_revno TYPE erev-revno,
revno1 type zammendpodet-revno,
w_version TYPE erev-revno,
w_erdat TYPE erev-erdat,
w_eruhr TYPE erev-eruhr,
wv_eruhr TYPE erev-eruhr,
v_tabkey TYPE cdpos-tabkey,
v_temp(5),
v_olddate(8),
v_newdate(8),
v_value_old TYPE cdpos-value_old,
V_OLD TYPE EKPO-BRTWR, " OLD VALUE FOR PURCHASE ORDER
l_ind TYPE i,
temp value 0 type i,
temp1 type i,
temp2 type i,
temp3 type i,
wa_cdpos like line of it_cdpos,
wa_cdpos1 like line of it_cdpos1,
v_tabkey1 TYPE cdpos-tabkey.
PARAMETERS : p_ebeln TYPE ekko-ebeln,
p_ebelp TYPE ekpo-ebelp.
p_bukrs TYPE t001-bukrs,
p_revno type erev-revno.
INITIALIZATION.
AT SELECTION-SCREEN on value-request for P_REVNO.
CLEAR: dyfields[], dyfields.
dyfields-fieldname = 'P_REVNO'.
APPEND dyfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = dyfields.
READ TABLE dyfields INDEX 1.
SELECT revno
FROM erev
INTO TABLE it_erev1 WHERE edokn = p_ebeln.
IF sy-subrc = 0.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = 'REVNO'
dynpprog = progname
dynpnr = dynnum
dynprofield = 'P_REVNO'
value_org = 'S'
TABLES
value_tab = it_eREV1
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc 0.
MESSAGE ID SY-MSGID TYPE SY-MSGTY NUMBER SY-MSGNO
WITH SY-MSGV1 SY-MSGV2 SY-MSGV3 SY-MSGV4.
ENDIF.
ENDIF.
START-OF-SELECTION.
SELECT SINGLE *
FROM t001
WHERE bukrs EQ p_bukrs.
IF sy-subrc EQ 0.
SELECT SINGLE *
FROM adrc
WHERE addrnumber EQ t001-adrnr.
ENDIF.
SELECT SINGLE *
FROM ekko
WHERE ebeln
EQ p_ebeln
AND frgke = 2.
select * from konv into corresponding fields of table it_konv where knumv eq ekko-knumv.
useful informations will be rewarded.
thanks and regards,
subbu.,