‎2008 Feb 07 7:08 AM
DATA:BEGIN OF I_PARTNER OCCURS 0,
VBELN LIKE VBPA-VBELN,
adrnr like vbpa-adrnr,
kunnr LIKE vbpa-kunnr,
PARVW LIKE VBPA-PARVW,
post_code1 LIKE adrc-post_code1,
po_box LIKE adrc-po_box,
name1 LIKE adrc-name1,
name2 LIKE adrc-name2,
city1 LIKE adrc-city1,
city2 LIKE adrc-city2,
country LIKE adrc-country,
street LIKE adrc-street,
str_suppl1 LIKE adrc-str_suppl1,
str_suppl2 LIKE adrc-str_suppl2,
str_suppl3 LIKE adrc-str_suppl3,
vtext like tpart-vtext,
ADRNP LIKE VBPA-ADRNP,
SMTP_ADDR LIKE ADR6-SMTP_ADDR,
END OF I_PARTNER.
......
......
.....
SELECT
VBPA~VBELN
vbpa~adrnr
VBPA~PARVW
VBPA~KUNNR
VBPA~ADRNP
TPART~VTEXT
FROM VBPA AS VBPA
INNER JOIN TPART AS TPART
ON VBPAPARVW EQ TPARTPARVW
AND SPRAS = SY-LANGU
INTO CORRESPONDING FIELDS OF TABLE I_PARTNER
WHERE
VBPA~VBELN EQ S_VBELN.
......
.....
WRITE:/
i_partner-adrnr under 'ADDRESS NUMBER',
i_partner-vbeln UNDER 'Order-No',
i_partner-parvw UNDER 'Partner-Type',
I_PARTNER-VTEXT UNDER 'Partner-Type description',
I_PARTNER-KUNNR UNDER 'Partner-no'.
ULINE.
endloop.
HERE I AM GETTING ALL THE POSSIBLE PARTNER TYPES.
I WANT TO GET THE OUT PUT ONLY WHEN THE PARTNER TYPE S ARE 'SP' 'BP' AND 'SH'.
PLEASE HELP.....
‎2008 Feb 07 7:13 AM
hi
in where clause use one more condition
SELECT
VBPA~VBELN
vbpa~adrnr
VBPA~PARVW
VBPA~KUNNR
VBPA~ADRNP
TPART~VTEXT
FROM VBPA AS VBPA
INNER JOIN TPART AS TPART
ON VBPAPARVW EQ TPARTPARVW
AND SPRAS = SY-LANGU
INTO CORRESPONDING FIELDS OF TABLE I_PARTNER
WHERE
VBPA~VBELN EQ S_VBELN
and ( VBPA~PARVW = 'SP' or
VBPA~PARVW = 'BP' or
VBPA~PARVW = 'SH' ).
regards
vijay
reward points if helpful.
‎2008 Feb 07 7:14 AM
Hi,
You can do as below:
ranges : gr_partner for tablename-fieldname.
initialization.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'SP'
append gr_partner.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'BP'
append gr_partner.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'SH'
append gr_partner.
And use this range in your select statement.(i.e partner in gr_partner).
Thanks,
Sriram Ponna.
‎2008 Feb 07 7:17 AM
I DIDNT GET YOU. PLEASE TELL ME A LIL BIT CLEARLY.
CAN YOU PLEASE WRITE A PART OF THE QUERY IF POSSIBLE AS I HAVE VERY LESS TIME ...... SORRY
‎2008 Feb 07 7:30 AM
Hi,
Both the answers are correct... iam just writing the code u needed..
ranges : gr_partner for tablename-fieldname.
initialization.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'SP'
append gr_partner.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'BP'
append gr_partner.
gr_partner-sign = 'I'.
gr_partner-option = 'EQ'
gr_partner-low = 'SH'
append gr_partner.
SELECT
VBPA~VBELN
vbpa~adrnr
VBPA~PARVW
VBPA~KUNNR
VBPA~ADRNP
TPART~VTEXT
FROM VBPA AS VBPA
INNER JOIN TPART AS TPART
ON VBPAPARVW EQ TPARTPARVW
AND SPRAS = SY-LANGU
INTO CORRESPONDING FIELDS OF TABLE I_PARTNER
WHERE
VBPA~VBELN EQ S_VBELN
and vbpa~parvw in gr_partner.
Regards,
Nagaraj