‎2007 Jul 25 10:35 AM
Hi Folks,
Here in this below code select statement is not picking the data.May I know what is the problem.
Ignore perform ALV.
I just want to know why the simple select statement is not working.
REPORT ZMI
TABLES:MKPF,
MSEG,
EKPO,
RBKP,
RSEG,
LFA1.
TYPE-POOLS:SLIS.
TYPES:BEGIN OF X_MKPF,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
BUDAT LIKE MKPF-BUDAT,
XBLNR LIKE MKPF-XBLNR,
END OF X_MKPF.
TYPES:BEGIN OF X_FINAL,
MBLNR LIKE MKPF-MBLNR,
MJAHR LIKE MKPF-MJAHR,
BUDAT LIKE MKPF-BUDAT,
XBLNR LIKE MKPF-XBLNR,
ZEILE LIKE MSEG-ZEILE,
BUKRS LIKE MSEG-BUKRS,
LGORT LIKE MSEG-LGORT,
BWART LIKE MSEG-BWART,
MATNR LIKE MSEG-MATNR,
LIFNR LIKE MSEG-LIFNR,
BWTAR LIKE MSEG-BWTAR,
MENGE LIKE MSEG-MENGE,
EBELN LIKE MSEG-EBELN,
EBELP LIKE MSEG-EBELP,
WEBRE LIKE EKPO-WEBRE,
BELNR LIKE RSEG-BELNR,
GJAHR LIKE RSEG-GJAHR,
LFBNR LIKE RSEG-LFBNR,
LFGJA LIKE RSEG-LFGJA,
LFPOS LIKE RSEG-LFPOS,
END OF X_FINAL.
DATA:ITMKPF TYPE x_MKPF OCCURS 0 WITH HEADER LINE.
DATA:ITFINAL TYPE X_FINAL OCCURS 0 WITH HEADER LINE.
*Declarations for ALV
DATA:itfieldcat TYPE slis_t_fieldcat_alv WITH HEADER LINE.
DATA:itrepid TYPE sy-repid.
itrepid = sy-repid.
DATA:itevent TYPE slis_t_event.
DATA:itlistheader TYPE slis_t_listheader.
DATA:walistheader LIKE LINE OF itlistheader.
DATA:itlayout TYPE slis_layout_alv.
DATA:top TYPE slis_formname.
DATA:itsort TYPE slis_t_sortinfo_alv WITH HEADER LINE.
DATA :itsort1 TYPE slis_sortinfo_alv.
DATA:itprintparams TYPE slis_print_alv.
DATA:itvariant TYPE disvariant.
DATA :i(2), "month
y TYPE int4, "year
c(4).
DATA:STRING1(75),
TITLE1(75),
DATE1(10),
DATE2(10).
SELECTION-SCREEN BEGIN OF SCREEN 100 TITLE MIGO.
PARAMETERS: R1 RADIOBUTTON GROUP G1 USER-COMMAND KK1 DEFAULT 'X',
R2 RADIOBUTTON GROUP G1.
SELECTION-SCREEN BEGIN OF BLOCK B1 WITH FRAME TITLE TEXT-001.
SELECT-OPTIONS: S_BUKRS1 FOR MSEG-BUKRS MODIF ID K1,
S_PLANT FOR MSEG-WERKS MODIF ID K1,
S_BUDAT FOR MKPF-BUDAT OBLIGATORY MODIF ID K1,
S_LIFNR1 FOR LFA1-LIFNR MODIF ID K1.
SELECTION-SCREEN END OF BLOCK B1.
SELECTION-SCREEN BEGIN OF BLOCK B2 WITH FRAME TITLE TEXT-002.
SELECT-OPTIONS:S_EBELN FOR MSEG-EBELN MODIF ID K2,
S_LIFNR2 FOR LFA1-LIFNR MODIF ID K2,
S_BUKRS2 FOR MSEG-BUKRS MODIF ID K2,
S_WERKS FOR MSEG-WERKS MODIF ID K2.
SELECTION-SCREEN END OF BLOCK B2.
SELECTION-SCREEN END OF SCREEN 100.
START-OF-SELECTION.
CALL SELECTION-SCREEN 100.
AT SELECTION-SCREEN OUTPUT.
IF R1 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'K1'.
SCREEN-ACTIVE = '0'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
IF R2 = 'X'.
LOOP AT SCREEN.
IF SCREEN-GROUP1 = 'K2'.
SCREEN-ACTIVE = '0'.
SCREEN-INPUT = '0'.
ENDIF.
MODIFY SCREEN.
ENDLOOP.
ENDIF.
PERFORM GETDATA.
*PERFORM ALV.
&----
*& Form GETDATA
&----
text
----
--> p1 text
<-- p2 text
----
form GETDATA .
<b>SELECT MBLNR
MJAHR
BUDAT
XBLNR
FROM MKPF INTO CORRESPONDING FIELDS OF TABLE ITMKPF
WHERE BUDAT = S_BUDAT.</b>
IF sy-subrc NE 0.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
ENDIF.
*LOOP AT ITMKPF.
*MOVE-CORRESPONDING ITMKPF TO ITFINAL.
*SELECT MBLNR
MJAHR
ZEILE
BWART
MATNR
WERKS
LGORT
LIFNR
BWTAR
MENGE
EBELN
EBELP
FROM MSEG INTO CORRESPONDING FIELDS OF ITFINAL
WHERE MBLNR = ITMKPF-MBLNR
AND MJAHR = ITMKPF-MJAHR.
*APPEND ITFINAL.
*ENDSELECT.
*CLEAR ITFINAL.
*CLEAR ITMKPF.
*ENDLOOP.
endform. " GETDATA
&----
*& Form ALV
&----
text
----
--> p1 text
<-- p2 text
----
form ALV .
itlayout-zebra = 'X'.
itlayout-colwidth_optimize = 'X'.
itlayout-no_subtotals = ' '.
IF itfinal[] IS INITIAL.
MESSAGE 'No Values exist for the Selection.' TYPE 'S'.
STOP.
ENDIF.
DEFINE m_fieldcat.
itfieldcat-fieldname = &1.
itfieldcat-col_pos = &2.
itfieldcat-seltext_l = &3.
itfieldcat-do_sum = &4.
itfieldcat-outputlen = &5.
append itfieldcat to itfieldcat.
clear itfieldcat.
END-OF-DEFINITION.
m_fieldcat 'SL_NO' '' 'SL. NO' '' 03.
m_fieldcat 'MBLNR' '' 'Materil Doc.No' '' 10.
m_fieldcat 'MJAHR' '' 'Material Doc.Yr.' '' 04.
m_fieldcat 'BUDAT' '' 'POSTING DATE' '' 08.
m_fieldcat 'ZEILE' '' 'Item in Mat.Doc.' '' 04.
m_fieldcat 'PLANT' '' 'Plant' '' 04 .
m_fieldcat 'LGORT' '' 'Storage Location' '' 04.
m_fieldcat 'BWART' '' 'Movement Type' '' 03.
m_fieldcat 'MATNR' '' 'Material No.' '' 18.
m_fieldcat 'BWTAR' '' 'Valutaion Type' '' 10.
m_fieldcat 'LIFNR' '' 'Vendor' '' 10.
m_fieldcat 'MENGE' '' 'Quantity' '' 35.
m_fieldcat 'EBELN' '' 'PO.No' '' 10.
m_fieldcat 'EBELP' '' 'Item No.of PO Doc' '' 05.
m_fieldcat 'WEBRE' '' 'GR.Indicator' '' 01.
m_fieldcat 'XBLNR' '' 'Ref.Doc No.' '' 16.
m_fieldcat 'BELNR' '' 'Accounting Doc.No.' '' 10.
m_fieldcat 'GJAHR' '' 'Fiscal Yr.' '' 04.
m_fieldcat 'EBELN' '' 'PO.No.' '' 10.
CALL FUNCTION 'REUSE_ALV_GRID_DISPLAY'
EXPORTING
I_INTERFACE_CHECK = ' '
I_BYPASSING_BUFFER = ' '
I_BUFFER_ACTIVE = ' '
I_CALLBACK_PROGRAM = SY-REPID
I_CALLBACK_PF_STATUS_SET = ' '
I_CALLBACK_USER_COMMAND = ' '
I_CALLBACK_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_TOP_OF_PAGE = ' '
I_CALLBACK_HTML_END_OF_LIST = ' '
I_STRUCTURE_NAME =
I_BACKGROUND_ID = ' '
I_GRID_TITLE =
I_GRID_SETTINGS =
IS_LAYOUT = ITLAYOUT
IT_FIELDCAT = ITFIELDCAT[]
IT_EXCLUDING =
IT_SPECIAL_GROUPS =
IT_SORT =
IT_FILTER =
IS_SEL_HIDE =
I_DEFAULT = 'X'
I_SAVE = ' '
IS_VARIANT =
IT_EVENTS = ITEVENT[]
IT_EVENT_EXIT =
IS_PRINT =
IS_REPREP_ID =
I_SCREEN_START_COLUMN = 0
I_SCREEN_START_LINE = 0
I_SCREEN_END_COLUMN = 0
I_SCREEN_END_LINE = 0
IT_ALV_GRAPHICS =
IT_HYPERLINK =
IT_ADD_FIELDCAT =
IT_EXCEPT_QINFO =
I_HTML_HEIGHT_TOP =
I_HTML_HEIGHT_END =
IMPORTING
E_EXIT_CAUSED_BY_CALLER =
ES_EXIT_CAUSED_BY_USER =
TABLES
t_outtab = ITFINAL
EXCEPTIONS
PROGRAM_ERROR = 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.
endform. " ALV
FORM TOP.
WRITE: S_BUDAT-LOW TO DATE1,
S_BUDAT-HIGH TO DATE2.
IF R1 = 'X'.
string1 = 'GR BASED DOCUMENTS FROM :'.
CONCATENATE string1 date1 'to' date2 INTO title1 SEPARATED BY space.
walistheader-typ = 'H'.
walistheader-info = title1.
APPEND walistheader TO itlistheader.
ELSE.
string1 = 'NON GR BASED DOCUMENTS FROM :'.
CONCATENATE string1 date1 'to' date2 INTO title1 SEPARATED BY space.
walistheader-typ = 'H'.
walistheader-info = title1.
APPEND walistheader TO itlistheader.
ENDIF.
CALL FUNCTION 'REUSE_ALV_EVENTS_GET'
EXPORTING
I_LIST_TYPE = 0
IMPORTING
ET_EVENTS = ITEVENT
EXCEPTIONS
LIST_TYPE_WRONG = 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.
CALL FUNCTION 'REUSE_ALV_COMMENTARY_WRITE'
EXPORTING
it_list_commentary = ITLISTHEADER
I_LOGO =
I_END_OF_LIST_GRID =
.
ENDFORM.
‎2007 Jul 25 10:37 AM
Hi,
Use
SELECT MBLNR
MJAHR
BUDAT
XBLNR
FROM MKPF INTO CORRESPONDING FIELDS OF TABLE ITMKPF
WHERE BUDAT <b>IN</b> S_BUDAT.
Regards,
Sesh
‎2007 Jul 25 10:37 AM
Hi,
Use
SELECT MBLNR
MJAHR
BUDAT
XBLNR
FROM MKPF INTO CORRESPONDING FIELDS OF TABLE ITMKPF
WHERE BUDAT <b>IN</b> S_BUDAT.
Regards,
Sesh
‎2007 Jul 25 10:38 AM
Hi,
S_BUDAT is a select-option, not a parameter.
just write BUDAT IN S_BUDAT instead of BUDAT = S_BUDAT and your statement should work correctly.
Please reward points if this helps.
Regards,
Nicolas.
‎2007 Jul 25 10:38 AM
‎2007 Jul 25 10:39 AM
Hi Kiran,
before the line
PERFORM GETDATA.
write
START-OF-SELECTION
and see
<b>Reward points for useful Answers</b>
Regards
Anji
‎2007 Jul 25 10:39 AM
Hi,
Try using IN stmt.
SELECT MBLNR
MJAHR
BUDAT
XBLNR
FROM MKPF INTO CORRESPONDING FIELDS OF TABLE ITMKPF
WHERE BUDAT <b>IN</b> S_BUDAT.
reward if helpful
Regards
Azad.
‎2007 Jul 25 10:49 AM
Seshu,
Shame on my part.I am sorry.Silly Mistake.
Thanks,
K.Kiran.
‎2007 Jul 25 10:52 AM