‎2007 Jul 12 8:25 PM
Can anyone provide me with the sample code that should go when retrieving data using a program in an ABAP Query.
here is the format for the same
Report <report name>.
Tables: <list of dictionary structures to be used>.
Parameters: <name of parameters>.
Select-options: <name of select options>.
Data: < all internal tables>.
*<query head> This comment should always be after data declarations.
Beginning of a loop to retrieve each record and place it in the field string tab.
Select, do-enddo, loop, etc.
<code to format the data>.
*<query body> This comment should always be the last statement in the loop.
At this stage the data will come into the field string.
Endselect, enddo, endloop
_________________________________
Thank you
Krishna
‎2007 Jul 12 9:16 PM
Hi,
You have two possibilities to make an ABAP Query.
1. tcode: sq01
but first u have to define the user group and attach it to query
2. write a nornal ABAP Report in the format u stated.
see example
REPORT ZOLAS_ALLETESTING MESSAGE-ID 38 NO STANDARD PAGE HEADING LINE-SIZE 200.
*Tabelle strukture
TABLES:CDHDR,
CDPOS,
VBAK,
VBAP,
MARC,
T024D,
TVKO.
*Eingabe Parameters als Select-options
SELECT-OPTIONS: P_VKORG FOR VBAK-VKORG OBLIGATORY,
P_VETWEG FOR VBAK-VTWEG OBLIGATORY,
P_WERKS FOR VBAP-WERKS OBLIGATORY,
P_DATUM FOR CDHDR-UDATE OBLIGATORY.
*Alternativ zu Ranges << neu Method zu Empfehlen >>
DATA: BEGIN OF RAVKORG OCCURS 0,
SIGN LIKE P_VKORG,
LOW LIKE P_VKORG,
HIGH LIKE P_VKORG,
OPTION LIKE P_VKORG,
END OF RAVKORG.
WRITE TEXT-001.
*Layout der interne Tabelle für die Bearbeitung von Tabellen CDHDR und CDPOS
TYPES: BEGIN OF ITAB_1,
T_OBJECTCLAS LIKE CDHDR-OBJECTCLAS,
T_UDATE LIKE CDHDR-UDATE,
T_OBJECTID LIKE CDPOS-OBJECTID,
T_CHANGENR LIKE CDPOS-CHANGENR,
T_FNAME LIKE CDPOS-FNAME,
T_TABKEY LIKE CDPOS-TABKEY,
END OF ITAB_1,
*Layout der interne Tabelle für die Ausgabeliste definieren
BEGIN OF AUSGABE,
T_UDATE LIKE CDHDR-UDATE,
T_KUNNR LIKE VBAK-KUNNR,
T_PSTYV LIKE VBAP-PSTYV,
T_VBELN LIKE VBAP-VBELN,
T_POSNR LIKE VBAP-POSNR,
T_MATNR LIKE VBAP-MATNR,
T_DSNAM LIKE T024D-DSNAM, "Disponentenname
T_DISPO LIKE MARC-DISPO, "Disponent
T_DISMM LIKE MARC-DISMM, "Dispomerkmal
T_ARKTX LIKE VBAP-ARKTX,
T_KWMENG LIKE VBAP-KWMENG,
T_NETWR LIKE VBAP-NETWR,
T_WAERK LIKE VBAP-WAERK,
END OF AUSGABE.
*interne Tabellen
DATA: IT_1 TYPE ITAB_1 OCCURS 0 WITH HEADER LINE,
IT_AUSGABE TYPE AUSGABE OCCURS 0 WITH HEADER LINE,
*Hilf Variable
HILF LIKE CDPOS-TABKEY,
MERKE_VBELN LIKE VBAP-VBELN,
MERKE_POSNR LIKE VBAP-POSNR.
**heading
TOP-OF-PAGE.
FORMAT COLOR 1 INTENSIFIED OFF.
WRITE:/'*******************************************************************************************************************************************************************************************************',
/25 'DATUM: ', SY-DATUM, 60 'HFT: A B G E S A G T E A U F T R A G S P O S I T I O N E N (REPORTNAME: ZVABGESAGTEPOS)',
/'*******************************************************************************************************************************************************************************************************'.
SKIP 2.
ULINE.
**Selection----
-
START-OF-SELECTION.
CLEAR: RAVKORG,
HILF,
MERKE_VBELN,
MERKE_POSNR.
REFRESH: RAVKORG.
LOOP AT P_VKORG.
RAVKORG-SIGN = P_VKORG-SIGN.
RAVKORG-LOW = P_VKORG-LOW.
RAVKORG-HIGH = P_VKORG-HIGH.
RAVKORG-OPTION = P_VKORG-OPTION.
APPEND RAVKORG.
ENDLOOP.
SELECT * FROM TVKO WHERE VKORG IN P_VKORG. "RAVKORG.
AUTHORITY-CHECK OBJECT 'V_VBAK_VKO'
ID 'VKORG' FIELD TVKO-VKORG.
ID 'VKORG' FIELD TVKO-VKORG
ID 'VTWEG' FIELD 'DUMMY'
ID 'SPART' FIELD 'DUMMY'
ID 'ACTVT' FIELD 'DUMMY'.
IF SY-SUBRC <> 0.
MESSAGE E090(ZK).
EXIT.
ENDIF.
ENDSELECT.
SELECT * FROM CDHDR WHERE OBJECTCLAS = 'VERKBELEG' AND
UDATE IN P_DATUM ORDER BY UDATE.
SELECT * FROM CDPOS WHERE OBJECTCLAS = CDHDR-OBJECTCLAS AND
OBJECTID = CDHDR-OBJECTID AND
CHANGENR = CDHDR-CHANGENR AND
FNAME = 'ABGRU'.
MOVE CDHDR-OBJECTCLAS TO IT_1-T_OBJECTCLAS.
MOVE CDHDR-UDATE TO IT_1-T_UDATE.
MOVE CDPOS-OBJECTID TO IT_1-T_OBJECTID.
MOVE CDPOS-CHANGENR TO IT_1-T_CHANGENR.
MOVE CDPOS-FNAME TO IT_1-T_FNAME.
MOVE CDPOS-TABKEY TO IT_1-T_TABKEY.
APPEND IT_1.
ENDSELECT.
ENDSELECT.
*Ausgabeliste Header
FORMAT COLOR 2 INTENSIFIED OFF.
WRITE:
/1 'AEND-DAT',
15 'AUFT_GEB',
25 'PTYP',
30 'VERKAUFS_BEL',
45 'POS',
55 'MAT-NR',
65 'DISPO',
75 'DS-NAME',
95 'DSMM',
105 'BEZEICHNUNG',
153 ' AUFTRAGSMENGE',
180 ' NETTOWERT',
192 'WAERHG'.
ULINE.
*Ausgabe selection, bearbeitung und listen
LOOP AT IT_1.
*aus IT_1-T_TABKEY wird Positionsnummer und Verkaufsbekeg ermitteln
MOVE IT_1-T_TABKEY TO HILF.
MOVE HILF+3(10) TO MERKE_VBELN. "Offsetting
MOVE HILF+13(6) TO MERKE_POSNR.
MOVE IT_1-T_UDATE TO IT_AUSGABE-T_UDATE.
*Position und kopftabelle lesen----
-
SELECT * FROM VBAK
WHERE VBAK~VBELN = MERKE_VBELN AND
VBAK~VKORG IN P_VKORG AND
VBAK~VTWEG IN P_VETWEG.
MOVE VBAK-KUNNR TO IT_AUSGABE-T_KUNNR.
SELECT * FROM VBAP WHERE VBAP~VBELN = VBAK-VBELN AND
VBAP~POSNR = MERKE_POSNR.
MOVE VBAP-PSTYV TO IT_AUSGABE-T_PSTYV.
MOVE VBAP-VBELN TO IT_AUSGABE-T_VBELN.
MOVE VBAP-POSNR TO IT_AUSGABE-T_POSNR.
MOVE VBAP-MATNR TO IT_AUSGABE-T_MATNR.
MOVE VBAP-ARKTX TO IT_AUSGABE-T_ARKTX.
MOVE VBAP-KWMENG TO IT_AUSGABE-T_KWMENG.
MOVE VBAP-NETWR TO IT_AUSGABE-T_NETWR.
MOVE VBAP-WAERK TO IT_AUSGABE-T_WAERK.
SELECT SINGLE *
FROM MARC AS MC
WHERE MC~WERKS = VBAP-WERKS AND
MC~MATNR = VBAP-MATNR.
MOVE MARC-DISPO TO IT_AUSGABE-T_DISPO.
MOVE MARC-DISMM TO IT_AUSGABE-T_DISMM.
SELECT SINGLE *
FROM T024D AS TD
WHERE TD~WERKS = VBAP-WERKS AND
TD~DISPO = MARC-DISPO.
MOVE T024D-DSNAM TO IT_AUSGABE-T_DSNAM.
APPEND IT_AUSGABE.
*Ausgabeliste
FORMAT COLOR 2 INTENSIFIED OFF.
WRITE:/1 IT_AUSGABE-T_UDATE,
15 IT_AUSGABE-T_KUNNR,
25 IT_AUSGABE-T_PSTYV,
30 IT_AUSGABE-T_VBELN,
45 IT_AUSGABE-T_POSNR,
55 IT_AUSGABE-T_MATNR,
65 IT_AUSGABE-T_DISPO,
75 IT_AUSGABE-T_DSNAM,
95 IT_AUSGABE-T_DISMM,
105 IT_AUSGABE-T_ARKTX,
150 IT_AUSGABE-T_KWMENG,
170 IT_AUSGABE-T_NETWR,
192 IT_AUSGABE-T_WAERK.
ENDSELECT.
ENDSELECT.
ENDLOOP.
REFRESH: IT_AUSGABE, IT_1.
END-OF-SELECTION.
Reward with points if useful
Blacky
‎2007 Jul 12 9:50 PM
Thank you for your answer, but i am a functional developer and i am just trying to get the fields in structure FAGL_S_RFSSLD00_LIST to use in this query. Is it possible.
If yes what is the way to do it.
I have the program generated like this when i created the infoset
REPORT RSAQDVP_TEMPLATE .
*
----
declarations
(insert your declarations in this section)
----
data:
FAGL_S_RFSSLD00_LIST type FAGL_S_RFSSLD00_LIST ,
it_data type standard table of FAGL_S_RFSSLD00_LIST .
field-symbols: <struc> type FAGL_S_RFSSLD00_LIST .
----
selection screen statements
----
(define your selection-screen here)
!! the following comment MUST NOT BE CHANGED !!
*<QUERY_HEAD>
----
read data into IT_DATA
----
(select your data here into internal table IT_DATA)
----
output of the data
(this section can be left unchanged)
----
loop at it_data assigning <struc>.
move-corresponding <struc> to FAGL_S_RFSSLD00_LIST .
!! the following comment MUST NOT BE CHANGED !!
*<QUERY_BODY>
I just need to know what i should fill in the query head and body if I need all the fields in the structure to be selected