2007 Dec 03 7:14 AM
Hi every one ,
I hav a small requirement.The scenario is
I hav a selection screen with 2 fields .
The 1st field is Eg: plant(werks)
The 2nd field is Storage Location.
Now let us say I hav selected a plant 1000.
If I press f4 in the storage location field I want the storage locations only related to the plant 1000.
Can any one pls help me out
Reward points are assured
Thanks in advance
swati
2007 Dec 03 7:22 AM
Hi swati ,
try this..
**tables:mard.
**types:begin of tp_mard,
werks type mara-matnr,
blank(1),
lgort type mara-mtart,
end of tp_mard.
**
data:t_mard type standard table of tp_mard with header line,
w_lineno TYPE sy-tabix.
**
**parameters:p_werks like mard-werks obligatory,
p_lgort like mard-lgort.
**
**AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lgort.
select werks lgort from mard into corresponding fields of table t_mard where matnr = p_werks.
**
**CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
ENDPOS_COL = 80
ENDPOS_ROW = 85
STARTPOS_COL = 60
STARTPOS_ROW = 90
TITLETEXT = 'Storage location
IMPORTING
CHOISE = w_lineno
TABLES
VALUETAB = t_mard
EXCEPTIONS
BREAK_OFF = 1
OTHERS = 2
.
**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 t_mard INDEX w_lineno.
IF sy-subrc EQ 0.
p_lgort = t_mara-lgort.
endif..
Regards,
Kaveri
Hi every one ,
I hav a small requirement.The scenario is
I hav a selection screen with 2 fields .
The 1st field is Eg: plant(werks)
The 2nd field is Storage Location.
Now let us say I hav selected a plant 1000.
If I press f4 in the storage location field I want the storage locations only related to the plant 1000.
Can any one pls help me out
Reward points are assured
Thanks in advance
swati
2007 Dec 03 7:22 AM
Hi swati ,
try this..
**tables:mard.
**types:begin of tp_mard,
werks type mara-matnr,
blank(1),
lgort type mara-mtart,
end of tp_mard.
**
data:t_mard type standard table of tp_mard with header line,
w_lineno TYPE sy-tabix.
**
**parameters:p_werks like mard-werks obligatory,
p_lgort like mard-lgort.
**
**AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_lgort.
select werks lgort from mard into corresponding fields of table t_mard where matnr = p_werks.
**
**CALL FUNCTION 'POPUP_WITH_TABLE_DISPLAY'
EXPORTING
ENDPOS_COL = 80
ENDPOS_ROW = 85
STARTPOS_COL = 60
STARTPOS_ROW = 90
TITLETEXT = 'Storage location
IMPORTING
CHOISE = w_lineno
TABLES
VALUETAB = t_mard
EXCEPTIONS
BREAK_OFF = 1
OTHERS = 2
.
**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 t_mard INDEX w_lineno.
IF sy-subrc EQ 0.
p_lgort = t_mara-lgort.
endif..
Regards,
Kaveri
2007 Dec 13 10:15 AM
2007 Dec 03 7:25 AM
hi
USE IN THIS WAY
TYPES : BEGIN OF ST_OBJID_SH,
OTYPE TYPE HRP1000-OTYPE,
OBJID TYPE HRP1000-OBJID,
END OF ST_OBJID_SH.
DATA : IT_OBJID_SH TYPE STANDARD TABLE OF ST_OBJID_SH.
DATA : WA_OBJID_SH TYPE ST_OBJID_SH.
************SELECTION SCREEN DESIGN************************
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
*SELECT-OPTIONS : S_OTYPE FOR HRP1001-OTYPE NO INTERVALS .
SELECT-OPTIONS : S_OBJID FOR HRP1001-OBJID NO INTERVALS .
SELECT-OPTIONS : DATE FOR SY-DATUM NO-EXTENSION OBLIGATORY.
SELECTION-SCREEN END OF BLOCK B1.
***********END OF SELECTION SCREEN DESIGN******************
AT SELECTION-SCREEN ON VALUE-REQUEST FOR S_OBJID-LOW.
* IF S_OBJID IS NOT INITIAL.
SELECT OTYPE OBJID FROM HRP1000
INTO TABLE IT_OBJID_SH
WHERE OTYPE = 'D'.
IF SY-SUBRC EQ 0.
* SEARCH HELP FOR QUALIFICATION.
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
* DDIC_STRUCTURE = ' '
RETFIELD = 'OBJID'
* PVALKEY = ' '
DYNPPROG = SY-REPID
DYNPNR = SY-DYNNR
DYNPROFIELD = 'S_OBJID'
* STEPL = 0
* WINDOW_TITLE =
* VALUE = ' '
VALUE_ORG = 'S'
* MULTIPLE_CHOICE = ' '
* DISPLAY = ' '
* CALLBACK_PROGRAM = ' '
* CALLBACK_FORM = ' '
* MARK_TAB =
* IMPORTING
* USER_RESET =
TABLES
VALUE_TAB = IT_OBJID_SH
* FIELD_TAB =
* RETURN_TAB = RETURN_TAB
* DYNPFLD_MAPPING =
* 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.
.IN YOUR CONDITION GIVE THAT WHERE CONDITION AS PLANT = P_PALNT NUMBER
2007 Dec 13 10:16 AM
2007 Dec 03 9:01 AM
Hi,
Refere this code, Here four fields is there, fourth field value will come based on first three fields.
&----
*& Report ZE0232_SDN_POV *
*& *
&----
*& *
*& *
&----
REPORT ZE0232_SDN_POV.
*tables
TABLES : vbak.
*type-pools
TYPE-POOLS : slis.
*data
DATA : BEGIN OF gt_table OCCURS 0,
vbeln TYPE vbak-vbeln,
erdat TYPE vbak-erdat,
erzet TYPE vbak-erzet,
ernam TYPE vbak-ernam,
auart TYPE vbak-auart,
netwr TYPE vbak-netwr,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
END OF gt_table.
DATA : gv_repid TYPE sy-repid.
DATA : BEGIN OF gt_ta OCCURS 0,
vkorg TYPE vbak-vkorg,
vtweg TYPE vbak-vtweg,
spart TYPE vbak-spart,
auart TYPE vbak-auart,
END OF gt_ta.
DATA : RET_TAB TYPE TABLE OF DDSHRETVAL WITH HEADER LINE.
DATA : t_s TYPE ddshretval OCCURS 0 WITH HEADER LINE.
PARAMETERS : p_tvko TYPE v_tvko-vkorg,
p_tvtw TYPE v_tvtw-vtweg,
p_tspa TYPE v_tspa-spart,
p_tvakz TYPE vbak-auart.
DATA: dynfields TYPE TABLE OF dynpread WITH HEADER LINE.
AT SELECTION-SCREEN ON VALUE-REQUEST FOR p_tvakz.
CLEAR: dynfields.
DYNFIELDS-FIELDNAME = 'P_TVKO'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TVTW'.
APPEND DYNFIELDS.
DYNFIELDS-FIELDNAME = 'P_TSPA'.
APPEND DYNFIELDS.
CALL FUNCTION 'DYNP_VALUES_READ'
EXPORTING
dyname = sy-cprog
dynumb = sy-dynnr
translate_to_upper = 'X'
TABLES
dynpfields = dynfields
EXCEPTIONS
INVALID_ABAPWORKAREA = 1
INVALID_DYNPROFIELD = 2
INVALID_DYNPRONAME = 3
INVALID_DYNPRONUMMER = 4
INVALID_REQUEST = 5
NO_FIELDDESCRIPTION = 6
INVALID_PARAMETER = 7
UNDEFIND_ERROR = 8
DOUBLE_CONVERSION = 9
STEPL_NOT_FOUND = 10
OTHERS = 11.
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 DYNFIELDS WITH KEY FIELDNAME = 'P_TVKO'.
P_TVKO = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TVTW'.
P_TVTW = DYNFIELDS-FIELDVALUE.
READ TABLE DYNFIELDS WITH KEY FIELDNAME = 'P_TSPA'.
P_TSPA = DYNFIELDS-FIELDVALUE.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVKO
IMPORTING
OUTPUT = P_TVKO.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TVTW
IMPORTING
OUTPUT = P_TVTW.
CALL FUNCTION 'CONVERSION_EXIT_ALPHA_INPUT'
EXPORTING
INPUT = P_TSPA
IMPORTING
OUTPUT = P_TSPA.
SELECT vkorg vtweg spart auart FROM vbak INTO TABLE gt_ta WHERE
vkorg = p_tvko AND vtweg = p_tvtw
AND spart = p_tspa.
SORT gt_ta BY auart.
DELETE ADJACENT DUPLICATES FROM gt_ta COMPARING auart.
*F4IF_INT_TABLE_VALUE_REQUEST
CALL FUNCTION 'F4IF_INT_TABLE_VALUE_REQUEST'
EXPORTING
RETFIELD = 'AUART'
DYNPROFIELD = 'P_TVAKZ'
DYNPPROG = 'SY_CPROG'
DYNPNR = SY-DYNNR
VALUE_ORG = 'S'
TABLES
VALUE_TAB = GT_TA
RETURN_TAB = RET_TAB
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.
IF HELPFULL REWARD
| User | Count |
|---|---|
| 3 | |
| 2 | |
| 2 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 | |
| 1 |