Created
December 5, 2011 17:18
-
-
Save antelio/1434427 to your computer and use it in GitHub Desktop.
SQL "*" for Inner join
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
DATA: wa_anek TYPE anek, | |
tb_anek TYPE TABLE OF anek, | |
wa_anep TYPE anep, | |
tb_anep TYPE TABLE OF anep, | |
tb_anep_fields TYPE TABLE OF string, | |
tb_anek_fields TYPE TABLE OF string. | |
INITIALIZATION. | |
DATA: l_string TYPE string. | |
IF tb_anek_fields[] IS INITIAL. | |
DATA: tb_dfies TYPE TABLE OF dfies, | |
wa_dfies TYPE dfies. | |
CALL FUNCTION 'DDIF_FIELDINFO_GET' | |
EXPORTING | |
tabname = 'ANEK' | |
TABLES | |
dfies_tab = tb_dfies | |
EXCEPTIONS | |
not_found = 1 | |
internal_error = 2 | |
OTHERS = 3. | |
LOOP AT tb_dfies INTO wa_dfies. | |
CONCATENATE 'K~' wa_dfies-fieldname INTO l_string. | |
APPEND l_string TO tb_anek_fields. | |
ENDLOOP. | |
ENDIF. | |
IF tb_anep_fields[] IS INITIAL. | |
CALL FUNCTION 'DDIF_FIELDINFO_GET' | |
EXPORTING | |
tabname = 'ANEP' | |
TABLES | |
dfies_tab = tb_dfies | |
EXCEPTIONS | |
not_found = 1 | |
internal_error = 2 | |
OTHERS = 3. | |
LOOP AT tb_dfies INTO wa_dfies. | |
CONCATENATE 'P~' wa_dfies-fieldname INTO l_string. | |
APPEND l_string TO tb_anep_fields. | |
ENDLOOP. | |
ENDIF. | |
START-OF-SELECTION. | |
CHECK tb_anek_fields[] IS NOT INITIAL. | |
SELECT (tb_anek_fields) FROM ( anek AS k | |
INNER JOIN anla AS a ON a~mandt = k~mandt | |
AND a~bukrs = k~bukrs AND a~anln1 = k~anln1 AND a~anln2 = k~anln2 | |
INNER JOIN anep AS p ON k~mandt = p~mandt | |
AND k~bukrs = p~bukrs AND k~anln1 = p~anln1 AND k~anln2 = p~anln2 | |
AND k~gjahr = p~gjahr AND k~lnran = p~lnran ) | |
INTO TABLE tb_anek | |
WHERE a~mandt = sy-mandt AND a~anln1 IN s_anln1 | |
AND k~budat IN s_budat AND a~anlkl IN r_anlkl AND p~afabe = '01'. | |
CHECK tb_anep_fields[] IS NOT INITIAL. | |
SELECT (tb_anep_fields) FROM ( anek AS k | |
INNER JOIN anla AS a ON a~mandt = k~mandt | |
AND a~bukrs = k~bukrs AND a~anln1 = k~anln1 AND a~anln2 = k~anln2 | |
INNER JOIN anep AS p ON k~mandt = p~mandt | |
AND k~bukrs = p~bukrs AND k~anln1 = p~anln1 AND k~anln2 = p~anln2 | |
AND k~gjahr = p~gjahr AND k~lnran = p~lnran ) | |
INTO TABLE tb_anep | |
WHERE a~mandt = sy-mandt AND k~budat IN s_budat AND a~anlkl IN r_anlkl | |
AND p~afabe = '01' AND p~zujhr = '0000' AND p~zucod = '0000' | |
AND a~anln1 IN s_anln1. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment