Application Development and Automation Discussions
Join the discussions or start your own on all things application development, including tools and APIs, programming models, and keeping your skills sharp.
cancel
Showing results for 
Search instead for 
Did you mean: 
Read only

logic needed-pls help

Former Member
0 Likes
872

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

1 ACCEPTED SOLUTION
Read only

Former Member
0 Likes
853

Hi Kumar,

What is the issue. Can you explain more clearly.

Regards,

Atish

7 REPLIES 7
Read only

Former Member
0 Likes
854

Hi Kumar,

What is the issue. Can you explain more clearly.

Regards,

Atish

Read only

0 Likes
853

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

Read only

0 Likes
853

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

Read only

0 Likes
853

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

Read only

0 Likes
853

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

Read only

0 Likes
853

Hi Atish

Thank u very much

Regards

kumar

Read only

0 Likes
853

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.