‎2008 May 16 1:56 AM
Hi
I am extracting delivery data in ALV report program.
i can able to extract all data. my issue is
it_final-bstkd field is display in oneline. Rest of the it_final fields display in one line.
my result should be in oneline. pls advise me if i am wrong.
FORM get_delivery_note_data .
SELECT vbeln vkorg kunag kunnr lfdat wadat lifnr vstel lfart
FROM likp INTO TABLE it_likp
WHERE vbeln IN s_vbeln
AND vkorg IN s_vkorg
AND wadat IN s_wadat.
IF NOT it_likp[] IS INITIAL.
SELECT vbeln werks posnr matnr lfimg erdat ernam meins vgbel
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE werks = p_werks
AND vbeln = it_likp-vbeln
AND erdat IN s_erdat
AND ernam IN s_ernam.
SELECT vbeln BSTKD FROM VBkd
INTO table IT_VBkd
FOR ALL ENTRIES IN IT_LIPS
WHERE VBELN = IT_lips-vgbel.
SELECT kunnr name1 name2 stras ort02 pstlz ort01
FROM kna1 INTO TABLE it_kna1
FOR ALL ENTRIES IN it_likp
WHERE kunnr = it_likp-kunnr.
ENDIF.
LOOP AT it_likp.
it_final-vkorg = it_likp-vkorg.
it_final-kunag = it_likp-kunag.
it_final-kunnr = it_likp-kunnr.
it_final-lfdat = it_likp-lfdat.
it_final-wadat = it_likp-wadat.
it_final-vstel = it_likp-vstel.
it_final-lfart = it_likp-lfart.
it_final-lifnr = it_likp-lifnr.
READ TABLE it_lips WITH KEY vbeln = it_likp-vbeln.
IF sy-subrc = 0.
it_final-vbeln = it_lips-vbeln.
it_final-werks = it_lips-werks.
it_final-posnr = it_lips-posnr.
it_final-matnr = it_lips-matnr.
it_final-lfimg = it_lips-lfimg.
it_final-erdat = it_lips-erdat.
it_final-ernam = it_lips-ernam.
it_final-meins = it_lips-meins.
it_final-vgbel = it_lips-vgbel.
ENDIF.
READ TABLE it_kna1 WITH KEY kunnr = it_likp-kunnr.
IF sy-subrc = 0.
it_final-name1 = it_kna1-name1.
it_final-name2 = it_kna1-name2.
it_final-stras = it_kna1-stras.
it_final-ort02 = it_kna1-ort02.
it_final-pstlz = it_kna1-pstlz.
it_final-ort01 = it_kna1-ort01.
ENDIF.
it_final-mandt = sy-mandt.
it_final-date = sy-datum.
it_final-time = sy-uzeit.
it_final-user = sy-uname.
it_final-file = p_pcfile.
APPEND it_final.
CLEAR : it_lips, it_likp, it_kna1, it_final.
ENDLOOP.
loop at it_lips.
READ TABLE it_vbkd WITH KEY vbeln = it_lips-vgbel.
if sy-subrc = 0.
it_final-bstkd = it_vbkd-bstkd.
endif.
append it_final.
endloop.
ENDFORM. " GET_DELIVERY_NOTE_DATA
‎2008 May 16 2:03 AM
Hi Kumar,
What is the issue. Can you explain more clearly.
Regards,
Atish
‎2008 May 16 2:03 AM
Hi Kumar,
What is the issue. Can you explain more clearly.
Regards,
Atish
‎2008 May 16 2:09 AM
My final table is it_final.
my report output is
mandt vkorg werks vbeln(Deli) Vbeln(so) bstkd(po)
123456
020 1200 1201 6784 4567
bstkd(123456) is displaying in one line
i want to display like
mandt vkorg werks vbeln(Deli) Vbeln(so) bstkd(po)
020 1200 1201 6784 4567 123456
‎2008 May 16 2:13 AM
Can you show your code where this output is coming.
Do you mean to say currently output is in one line and you want to split it in two or
other way round?
Regards,
Atish
‎2008 May 16 2:29 AM
Atish
My Expected output should be in oneline.
Current output BSTKD field split itno other line. So i have 2 lines
pls check my coding. u can find my issue
‎2008 May 16 2:43 AM
Hi Kumar,
Change your code like below.
FORM get_delivery_note_data .
SELECT vbeln vkorg kunag kunnr lfdat wadat lifnr vstel lfart
FROM likp INTO TABLE it_likp
WHERE vbeln IN s_vbeln
AND vkorg IN s_vkorg
AND wadat IN s_wadat.
IF NOT it_likp[] IS INITIAL.
SELECT vbeln werks posnr matnr lfimg erdat ernam meins vgbel
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE werks = p_werks
AND vbeln = it_likp-vbeln
AND erdat IN s_erdat
AND ernam IN s_ernam.
SELECT vbeln BSTKD FROM VBkd
INTO table IT_VBkd
FOR ALL ENTRIES IN IT_LIPS
WHERE VBELN = IT_lips-vgbel.
SELECT kunnr name1 name2 stras ort02 pstlz ort01
FROM kna1 INTO TABLE it_kna1
FOR ALL ENTRIES IN it_likp
WHERE kunnr = it_likp-kunnr.
ENDIF.
LOOP AT it_likp.
it_final-vkorg = it_likp-vkorg.
it_final-kunag = it_likp-kunag.
it_final-kunnr = it_likp-kunnr.
it_final-lfdat = it_likp-lfdat.
it_final-wadat = it_likp-wadat.
it_final-vstel = it_likp-vstel.
it_final-lfart = it_likp-lfart.
it_final-lifnr = it_likp-lifnr.
READ TABLE it_lips WITH KEY vbeln = it_likp-vbeln.
IF sy-subrc = 0.
READ TABLE it_vbkd WITH KEY vbeln = it_lips-vgbel.
if sy-subrc = 0.
it_final-bstkd = it_vbkd-bstkd.
endif.
it_final-vbeln = it_lips-vbeln.
it_final-werks = it_lips-werks.
it_final-posnr = it_lips-posnr.
it_final-matnr = it_lips-matnr.
it_final-lfimg = it_lips-lfimg.
it_final-erdat = it_lips-erdat.
it_final-ernam = it_lips-ernam.
it_final-meins = it_lips-meins.
it_final-vgbel = it_lips-vgbel.
ENDIF.
READ TABLE it_kna1 WITH KEY kunnr = it_likp-kunnr.
IF sy-subrc = 0.
it_final-name1 = it_kna1-name1.
it_final-name2 = it_kna1-name2.
it_final-stras = it_kna1-stras.
it_final-ort02 = it_kna1-ort02.
it_final-pstlz = it_kna1-pstlz.
it_final-ort01 = it_kna1-ort01.
ENDIF.
it_final-mandt = sy-mandt.
it_final-date = sy-datum.
it_final-time = sy-uzeit.
it_final-user = sy-uname.
it_final-file = p_pcfile.
APPEND it_final.
CLEAR : it_lips, it_likp, it_kna1, it_final.
ENDLOOP.
ENDFORM. " GET_DELIVERY_NOTE_DATA
Regards,
Atish
‎2008 May 16 2:55 AM
‎2008 May 16 4:18 AM
Hi Atish
I have one more issue in this.
Field Werks is in selection screen.
Example P_werks = 3102. program should extract 3102 data.
My current program extrace 3101 records also. pls help me out
SELECT vbeln vkorg kunag kunnr lfdat wadat lifnr vstel lfart
FROM likp INTO TABLE it_likp
WHERE vbeln IN s_vbeln
AND vkorg IN s_vkorg
AND wadat IN s_wadat.
IF NOT it_likp[] IS INITIAL.
SELECT vbeln werks posnr matnr lfimg erdat ernam meins vgbel
FROM lips INTO TABLE it_lips
FOR ALL ENTRIES IN it_likp
WHERE werks = p_werks
AND vbeln = it_likp-vbeln
AND erdat IN s_erdat
AND ernam IN s_ernam.
SELECT vbeln BSTKD FROM VBkd
INTO table IT_VBkd
FOR ALL ENTRIES IN IT_LIPS
WHERE VBELN = IT_lips-vgbel.
SELECT kunnr name1 name2 stras ort02 pstlz ort01
FROM kna1 INTO TABLE it_kna1
FOR ALL ENTRIES IN it_likp
WHERE kunnr = it_likp-kunnr.
ENDIF.
LOOP AT it_likp.
it_final-vbeln = it_likp-vbeln.
it_final-vkorg = it_likp-vkorg.
it_final-kunag = it_likp-kunag.
it_final-kunnr = it_likp-kunnr.
it_final-lfdat = it_likp-lfdat.
it_final-wadat = it_likp-wadat.
it_final-vstel = it_likp-vstel.
it_final-lfart = it_likp-lfart.
it_final-lifnr = it_likp-lifnr.
READ TABLE it_lips WITH KEY vbeln = it_likp-vbeln.
IF sy-subrc = 0.
READ TABLE it_vbkd WITH KEY vbeln = it_lips-vgbel.
if sy-subrc = 0.
it_final-bstkd = it_vbkd-bstkd.
endif.
*it_final-vbeln = it_lips-vbeln.
it_final-werks = it_lips-werks.
it_final-posnr = it_lips-posnr.
it_final-matnr = it_lips-matnr.
it_final-lfimg = it_lips-lfimg.
it_final-erdat = it_lips-erdat.
it_final-ernam = it_lips-ernam.
it_final-meins = it_lips-meins.
it_final-vgbel = it_lips-vgbel.
ENDIF.
READ TABLE it_kna1 WITH KEY kunnr = it_likp-kunnr.
IF sy-subrc = 0.
it_final-name1 = it_kna1-name1.
it_final-name2 = it_kna1-name2.
it_final-stras = it_kna1-stras.
it_final-ort02 = it_kna1-ort02.
it_final-pstlz = it_kna1-pstlz.
it_final-ort01 = it_kna1-ort01.
ENDIF.
it_final-mandt = sy-mandt.
it_final-date = sy-datum.
it_final-time = sy-uzeit.
it_final-user = sy-uname.
it_final-file = p_pcfile.
APPEND it_final.
CLEAR : it_lips, it_likp, it_kna1, it_final.
ENDLOOP.