09-07-2007 12:10 PM
HI ALL,
i have one problem with the screen..
i have selection screen parameters say
p_matnr LIKE mara-matnr OBLIGATORY ,
p_charg LIKE mchb-charg OBLIGATORY,
p_werks LIKE marc-werks OBLIGATORY,
p_vbeln LIKE LIPS-vbeln 'delivery number
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vbeln.
PERFORM get_values.
FORM get_values .
SELECT * FROM lips CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF TABLE p_it_values
WHERE mandt = sy-mandt
AND werks = p_werks
AND matnr = p_matnr
AND charg = p_charg.
here i am giving input as material and plant ,batch no( on selection screen)
here p_matnr shows space
p_charg show space
instaed of material and batch
what is the wrong pls let me knowwwwww
regards
suma
09-07-2007 12:15 PM
Hi ,
try to change the select query and check
SELECT * FROM lips INTO CORRESPONDING FIELDS OF TABLE p_it_values
WHERE mandt = sy-mandt
AND werks = p_werks
AND matnr = p_matnr
AND charg = p_charg.
Regards,
Nagaraj
09-07-2007 12:23 PM
hi
u have given at selection screen on value request for p_vbeln
so how can u get values for matnr and batch?
hope i got ur question right....
09-07-2007 12:47 PM
yes premalatha , u understood the requirement but where is the solution...
u have not written any code
regards
suma
09-07-2007 1:21 PM
hi,
check whether the database table ur selecting have required values in them or not.
in ur select statement ur using and condition which means that all conditions should be true then only select works.
with regards,
Suresh Aluri.
09-07-2007 1:37 PM
Hi,
Check for 3 things.
1. include table names in your Selection-screen program.
2. check if same fieldname are present in the the table you are using(Table structure including name and size)
3. check if the Primary key is having Unique values each time in the selection-screen.
.Thanks
Kapil
<b><REMOVED BY MODERATOR></b>
Message was edited by:
Alvaro Tejada Galindo
09-07-2007 12:24 PM
The data is not yet transfered from screen to variable .. you have to use FM DYNP_VALUES_READ.. in event AT SELECTION-SCREEN to get correct value of variable see below code to ref how to use this FM
REPORT zpwtest .
TABLES tcurt.
DATA dyfields LIKE dynpread OCCURS 1 WITH HEADER LINE.
DATA: BEGIN OF value_tab OCCURS 0,
name(10),
END OF value_tab.
DATA :field_tab LIKE dfies OCCURS 0 WITH HEADER LINE.
DATA : return_tab LIKE ddshretval OCCURS 0 WITH HEADER LINE. DATA : x
TYPE string.
PARAMETERS: p_waers LIKE tcurt-waers, "Currency
p_ltext LIKE tcurt-ltext, "Long Text
p_ktext LIKE tcurt-ktext. "Short Text
PARAMETERS: p_name(10).
*-----------------------------------------------------------------------
*--- Example of updating value of another field on the screen ----------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_waers.
CLEAR: dyfields[], dyfields.
*--- select currency
CALL FUNCTION 'HELP_VALUES_GET'
EXPORTING
fieldname = 'WAERS'
tabname = 'TCURT'
IMPORTING
select_value = p_waers.
*--- get long text for the selected currency
SELECT SINGLE ltext FROM tcurt
INTO dyfields-fieldvalue
WHERE spras = sy-langu
AND waers = p_waers.
IF sy-subrc <> 0.
CLEAR dyfields-fieldvalue.
ENDIF.
*--- update another field
dyfields-fieldname = 'P_LTEXT'.
APPEND dyfields.
CALL FUNCTION 'DYNP_VALUES_UPDATE'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = dyfields.
*-----------------------------------------------------------------------
*--- Example of reading value of another field -------------------------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_ktext.
*--- read another field
CLEAR: dyfields[], dyfields.
dyfields-fieldname = 'P_WAERS'.
APPEND dyfields.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
TABLES
dynpfields = dyfields.
READ TABLE dyfields INDEX 1.
*--- get short text and update current field
SELECT SINGLE ktext FROM tcurt
INTO p_ktext
WHERE spras EQ sy-langu
AND waers EQ dyfields-fieldvalue.
*-----------------------------------------------------------------------
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_name.
REFRESH value_tab[].
REFRESH field_tab[].
REFRESH return_tab[].
field_tab-fieldname = 'ERNAM'.
field_tab-tabname = 'VBAK'.
APPEND field_tab.
value_tab-name = 'John'.
APPEND value_tab.
value_tab-name = 'Abraham'.
APPEND value_tab.
value_tab-name = 'Lingam'.
APPEND value_tab.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
retfield = field_tab-fieldname
TABLES
value_tab = value_tab
field_tab = field_tab
return_tab = return_tab
EXCEPTIONS
parameter_error = 1
no_values_found = 2
OTHERS = 3.
IF sy-subrc = 0.
p_name = return_tab-fieldval.
ENDIF.
09-07-2007 12:27 PM
hi,
try this
tables : mara,mchb,marc,lips.
selection-screen : begin of block blk1 with frame title text-001.
parameters :p_matnr LIKE mara-matnr OBLIGATORY ,
p_charg LIKE mchb-charg OBLIGATORY,
p_werks LIKE marc-werks OBLIGATORY,
p_vbeln LIKE LIPS-vbeln .
selection-screen : end of block blk1.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vbeln.
SELECT * FROM lips CLIENT SPECIFIED INTO CORRESPONDING FIELDS OF TABLE p_it_values
WHERE mandt = sy-mandt
AND werks = p_werks
AND matnr = p_matnr
AND charg = p_charg.
loop at p_it_values.
write 😕 p_it_values.
endloop.
<b><REMOVED BY MODERATOR></b>
Message was edited by:
Vinutha YV
Message was edited by:
Alvaro Tejada Galindo
09-07-2007 12:46 PM
hi alll,
no one gives the coorect solutions.
i have tried wht ur send the code.
pls some one help regading this.........
09-07-2007 1:23 PM
Hi,
Try like this
p_matnr LIKE mara-matnr OBLIGATORY ,
p_charg LIKE mchb-charg OBLIGATORY,
p_werks LIKE marc-werks OBLIGATORY,
p_vbeln LIKE LIPS-vbeln 'delivery number
remove the below statement.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_vbeln.
start-of-selection.
PERFORM get_values.
FORM get_values .
SELECT * FROM lips INTO CORRESPONDING FIELDS OF TABLE p_it_values
WHERE mandt = sy-mandt
AND werks = p_werks
AND matnr = p_matnr
AND charg = p_charg.
Regards,
Nagaraj
09-07-2007 11:47 PM
You should perform your code in the START-OF-SELECTION event instead of AT SELECTION-SCREEN ON VALUE-REQUEST...
Also, why are you using CLIENT SPECIFIED in your SELECT
and then having WHERE mandt = sy-mandt?
You should use CLIENT SPECIFIED only when necessary, when the client is something other than sy-mandt. It is not needed here.
Leaving it out will make your code simpler, and easier to read.
START-OF-SELECTION.
PERFORM get_values.
FORM get_values.
SELECT * FROM lips
INTO CORRESPONDING FIELDS OF TABLE p_it_values
WHERE werks = p_werks
AND matnr = p_matnr
AND charg = p_charg.
etc
ENDFORM.
Good luck
Brian